* 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
* Add libraries support to presets
* Add directx 5 to lego island preset
* Move libraries to named globals
* Fix bug preventing changing the version of a library
* Add script to download libraries, and download directx
* Add libraries endpoint
* Allow compiling with a library
* Add new libraries tab in frontend
* Add libraries support in CI
* Better look for the libraries
* Give pretty names to libraries
* Move Libraries to live under CompilerOpts
* typechecking hackery
* Make libraries trigger autorecomp and set the unsaved flag
* Fix libraryVersions
* Add new libraries download script to CI, docker and docs
---------
Co-authored-by: Ethan Roseman <ethteck@gmail.com>
* Initial clangd support
Tidy up languageserver.ts
Add CompilerCommand option
* Codemirror tooltip newline handling
* Force github login through redirects instead of popup window
* Gracefully exit LS when scratch unloads
* Break scratch language out to api, move language server integration to new hook
* Fix broken import
* Fix languageServer.ts import warnings
(and rename languageserver.ts to languageServer.ts)
* Format on Alt-Shift-F
* Add default, site-wide .clang-format
* Allow source to reference context definitions
* Remove overzealous IIFEs
* Clean up yaml imports, useLanguageServer state
* Remove webpack yaml-specific config
* Fix default-clang-format.yaml loading
* Add editor option to enable / disable language server
* Change language server setting text
* Add ability to select small language server, version bump
* EditorSettings clean
* EditorSettings 2: Electric Boogaloo (sponsored by tailwind)
* Fix tooltip appearance
* Remove alignment settings from default-clang-format.yaml
* Remove references to preferSmallLanguageServer
---------
Co-authored-by: ConorBobbleHat <c.github@firstpartners.net>
Co-authored-by: Mark Street <streetster@gmail.com>
* add projects list
* new project page
* mypy
* allow '.' in github identifiers
* implement project create
* project settings
* disallow anons from being project members
* uploadable project icon
* docker attempt
* fix tests
* add tests
* add description form
* refactor to add useEntity and FieldSet
* move FieldSet out of subdirectory
* use same page for project tabs
* scroll up to UnderlineNav when tab changes
* stylelint
* configure vscode mypy extension
* mypy
* fix mypy and dmypy
dmypy does not support follow_imports=silent. Instead we explicitly
disable most checks for asm_differ and m2c, which
has the same effect
* remove redundant mypy flags
* FieldSet style tweaks
* give UnderlineNav horiz padding
* fix swr mutate of project header
* few tweaks to help docker (#550)
* eth changes
* use POST/DELETE rather than PUT for project members
* add migration
* fix pr creation
* simplify project platform derivation
Co-authored-by: Mark Street <22226349+mkst@users.noreply.github.com>
Co-authored-by: Ethan Roseman <ethteck@gmail.com>
* Begin implementing random pseudonyms for anonymous users
* Switch pseudonyms from [Adjective] / [Person] to [Adjective] / [Animal]
* Have the migration assign all users pseudonyms
(instead of lazily upon profile use)
* Tweak path handling, None checks
* add 'parent' url to TerseScratchSerializer
* add family page
* link to family in AboutScratch
* bump react-laag
* ui to edit diff label
* use User-Agent Client Hints API if supported
* fix pwa icons
* use carets instead of slashes between breadcrumbs
* use breadcrumbs on project function page
* fix save problem
* allow diff_label on compile
* a
* change placeholder
* new diff flags fix
* diff flags stuff
Co-authored-by: Ethan Roseman <ethteck@gmail.com>
* Fix settings bugs
-woff was being filtered out of compiler flags upon scratch creation
diff_flags was being passed incorrectly to the backend
* filter less stuff
* fix tests
* Trying to add a new section
* objdump section is no longer borken
* objdump section is a bit more independent from the compilerargs one
* add objdump_flags to database
* Allow to save objdump flags on change
* Actually pass the objdump flags to objdump
* Allow adding objdump flags to presets
* add short description to compilers.json
* filter_objdump_flags
* Introduce GCCMIPSCompiler class
* Add -M gekko / broadway by default for gc/wii compilers
* format autogenerated file
* type annotation
* Disable enum trailing comma warnings on Majora's Mask
* wip
* flags as array, backend parsing, frontend cleanup
* style scratch options
* loose ends
* only show diff opts section if there are any options to show
* fix mypy
Co-authored-by: Ethan Roseman <ethteck@gmail.com>
Co-authored-by: Alex Bates <alex@nanaian.town>