* Don't create profiles for requests with no User-Agent
* simpler?
* comment
* Try passing a user agent in tests
* mypy
* Use BaseTestCase over TestCase/APITestCase
* fixed 1
* fixed the other 2...
* Try to fix the overabundance of profiles
and dep updates
* thanksh, stubs
* stop using deleted password generation method in tests
* Fix silly test stuff
* fix filtering
* Move some github details into model
* Nevermind - just don't rely on the API at all lol
* comment
* tidying
* remove unneeded mock
* remove the 'small' profile
* Use random token for claiming scratches
* Fix migration dep
* Fix claim_token serialization & address PR comments
* Improve error handling
* Update backend tests
* reformat
* Update another test
* Minor update to ClaimableScratchSerializer
* Support binary `target_obj` in scratch creation
Also support `--disassemble=` in `diff_flags`,
so the scratch can be limited to a single function
within the object.
Resolves https://github.com/decompme/decomp.me/issues/215
* Test fixes
* Validate uploaded file size & magic
Remove `-D` from `skip_flags_with_args`,
we want to keep defines.
* Platform page & preset page
* Fix mypy
* improve styles
* move presetUrl to its own file and fix star import
* oops
* Show number of scratches on platform / preset page
* Remove url field stuff & leftovre ProjectFunction stuff
* Remove more projectfunction stuff
* black
* Attempting to remove most url and html_url
* oops
* mypy
* fixz
* suggz
---------
Co-authored-by: Alex Bates <alex@nanaian.town>
* Organize tests, update settings, backend deps
* Remove project import code from backend
* Remove some frontent project code
* more progress, project cleanup
* more preset work
* .
* upd8z
* Admins can delete scratches & preset migration
* bye, source presets
* fixes & changes
* Preset in admin panel & rename migration
* mypy
* Fix perset viewset & tests
* Change compilers hash files
* test annotations so Windows doesn't run them
* Mark nits
* Preset auto ID field
* scratch as reference (1/?)
* backend fixes to preset (2/3)
* Use preset ID instead of name in frontend
* update frogger preset
* I broke one of the ten commandments of react
* finishing touches (3/3 lol)
* Update serializers.py