Commit Graph

102 Commits

Author SHA1 Message Date
Mark Street 2ede66fb44 Avoid POST-ing to /compile on initial scratch load (#1734) 2025-11-08 08:12:12 +00:00
Mark Street 842c644f8d Let browsers cache /api/scratch for 5 seconds (#1721) 2025-11-03 10:25:25 +09:00
Mark Street a5e77271b2 Allow filtering of user's scratches based on platform, preset or comp… (#1720)
Allow filtering of user's scratches based on platform, preset or compiler
2025-11-02 17:48:02 +00:00
Mark Street 1f0dc00a1d Remove 'num_scratches' from platform endpoint (#1688) 2025-09-29 17:19:15 +09:00
Mark Street 1b7fe4dcdb 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
2025-09-26 21:19:22 +01:00
Mark Street 80fbb78e81 Remove 'include_presets' from /api/platform endpoint (#1683)
* Remove 'include_presets' from /api/platform endpoint

* 🐶 ruff ruff

* Remove broken test
2025-09-26 21:47:17 +09:00
Ethan Roseman 50a2b836b9 Migrate from poetry/black to uv/ruff (#1673)
* Migrate from poetry/black to uv/ruff

* fixes

* path change

* path pt 2

* ah

* mkst tweaks (#1674)

* mkst tweaks

* tweaks++

* doh

* tweak harder

---------

Co-authored-by: Mark Street <22226349+mkst@users.noreply.github.com>
2025-09-22 19:23:55 +09:00
Mark Street 87a58959da Add cache-control headers (#1669)
* Add cache-control headers

* Tweaks
2025-09-19 21:44:09 +09:00
Mark Street 4db4b1a16f Add ?target_only=1 to /export endpoint (#1605)
* Add ?target_only=1 to /export endpoint

* fixup tests
2025-06-12 19:46:19 +09:00
Mark Street 3e690177b4 Replace PE with COFF format(s) for whole object uploads (#1582) 2025-06-07 15:52:01 +01:00
Mark Street 5be4dfbf5b Fix N+1 scratch list (#1569)
* Avoid N+1 querying on scratch lists

* Move select_related to ScratchViewSet instead
2025-05-30 08:07:37 +01:00
Mark Street b2f603a280 Remove unused etag behaviour (#1560) 2025-05-26 19:52:47 +09:00
Mark Street ef476232b9 Optimize 'family' query (330ms -> 16ms) (#1559)
* Optimize 'family' query

* Avoid LIKE '%%' clause in Scratch list

* mypy

* black

* explicitly DONT ORDER BY sub queries

* slightly cleaner order_by()
2025-05-26 18:38:48 +09:00
Mark Street 50596070b0 Check scratch.family_id rather than just scratch.family (#1558) 2025-05-26 08:22:03 +01:00
Mark Street 64ca105145 Add 'family' slug to track ultimate ancestor for a Scratch (#1548)
* Add 'family' slug to track ultimate ancestor for a Scratch

* Ensure parent is not None in family filter

* Break migration into batches

* ensure family is not empty when finding family members
2025-05-24 19:55:35 +01:00
Mark Street 15ba3a6d2a Optimise API calls for platform/compiler/presets (#1544)
* Optimise API calls for platform/compiler/presets

* Appease mypy

* rename new routes

* Slightly simplify api routes

* black

* PR feedback
2025-05-21 07:58:14 +01:00
Mark Street fba410aa08 Search bar now also searches for users and presets (#1517)
* Search bar now also searches for users and presets

* tidy code up a bit

* biome
2025-04-15 01:23:13 +09:00
Mark Street 663b7cd27c Bugfix API 'preset?search=xxx' behaviour (#1516)
* Bugfix API 'preset?search=xxx' behaviour

* Fixup #2
2025-04-10 09:33:05 +01:00
Luke Street 2979267924 Experimental objdiff-web integration (#1480) 2025-03-13 07:34:01 +00:00
Ethan Roseman 3e1f2c7b94 Change profile logging, stop reporting number of profiles (#1469) 2025-02-13 18:34:38 +09:00
Mark Street 21bf635468 Optimise Preset's num_scratches annotation (#1465) 2025-02-12 12:32:02 +00:00
Mark Street 0dad215db2 Sort preset page (#1455)
* Rename Sort -> SortScratch

* Allow presets to be ordered by num_scratches

* Add sorting to /preset page

* tweak title

* yarn lint

* Update frontend/src/components/PresetList.tsx

Co-authored-by: Alex Bates <alex@bates64.com>

* make num_scratches gray again

---------

Co-authored-by: Alex Bates <alex@bates64.com>
2025-02-11 14:52:49 +09:00
Mark Street 290bc500d1 Try to fix error when yandex bot hits api/user/scratches (#1454)
* Try to fix error when yandex bot hits api/user/scratches

* no owner means no scratches

* Add 'curl' to list of user agents to avoid creating profiles for
2025-02-11 14:52:26 +09:00
Mark Street b93a5f053c Ensure parents are considered family 👪 (#1440)
* Ensure parents are considered family 👪

* consistency for asm-based scratches

* more consistency?

* again?
2025-02-08 22:55:09 +09:00
LagoLunatic d9a6459d7a Fix scratches being grouped into the same family even if targeting different functions in the same object (#1403)
* Update dead link to Poetry installation instructions

* Fix scratches being grouped into the same family even if targeting different functions in the same object
2025-01-01 22:50:09 +09:00