Skip to content

cromper (third time's the charm)#2042

Open
ethteck wants to merge 59 commits into
mainfrom
cromper-3
Open

cromper (third time's the charm)#2042
ethteck wants to merge 59 commits into
mainfrom
cromper-3

Conversation

@ethteck

@ethteck ethteck commented Jul 17, 2026

Copy link
Copy Markdown
Member

(this is currently unfinished and is in draft state)

This PR adds a new entirely separate service for handling the various processes involves in running the site: assembling, compiling, diffing, and running decompilers.

The backend still talks to this service directly, as well as the frontend server, but now the client can also talk directly to this server to do decompilation tasks, incremental compilations, etc.

There's several reasons we are separating these into a separate service:

  • The django server can be freed of many of its responsibilities
  • The new service is async (woo), so requests will no longer block each other
  • The backend is now much leaner, allowing for possible future rewrites and optimizations without worrying about all this compiler junk

Todo:

  • Make compiler, library, and platform endpoints singular
  • Deserialize back into proper objects in Django
  • Django tests pass
  • Fixup frontend /platform endpoint to fetch platform data from cromper (or update api.ts to be able to call cromper?)
  • Sort out compiler flags
  • Update nginx config
  • health checks from django <> cromper?
  • 'super' endpoint to do initial scratch creation in 1 go (TBD: profile first to determine if necessary)

mkst and others added 23 commits October 21, 2025 18:06
* Fix diff cell background color setting (#1681)

* Remove 'include_presets' from /api/platform endpoint (#1683)

* Remove 'include_presets' from /api/platform endpoint

* 🐶 ruff ruff

* Remove broken test

* Fix 500 when creating scratches with a preset that have libraries (#1685)

* Fix 500 when creating scratches with a preset that have libraries

* Allow users to specify libraries when creating scratches

* Add validation to user-supplied libraries

* 🐕

* mypy, yourpy, ourpy

* woof

* Remove plausible (#1686)

* Remove 'num_scratches' from platform endpoint (#1688)

* Split handlers out of main.py

* Move wrappers into wrappers/ dir

* Rudimentary 'Library' support in cromper

* ruff

* Band-aid fix for /platform

* PR feedback

* Pass config to Handlers instead of using self.application...

* 'Platforms' instance + few bugfixes

* remove /library endpoint from django

* fixup presets with libraries

* clean up dead func

* missed one

* Make cromper urls more explicit

* Remove duplicated Library class
@ethteck
ethteck requested a review from bates64 as a code owner July 17, 2026 16:36
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants