11 Commits

Author SHA1 Message Date
Ethan Roseman c80abfaa05 Platform page & preset page (#906)
* 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>
2023-11-13 22:23:12 +09:00
Ethan Roseman 4ae89872e2 Presets in the DB (#897)
* 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
2023-10-27 23:40:59 +09:00
Ethan Roseman 796a5f4746 Updates, problems panel bugfix (#745)
* Backend updates, mypy fixes

* new migration (oops), some fixes

* Frontend updates

* cleanup

* Prevent problems panel from starting open if there are no problems

(fixes #703)

* update again

* oopz

* stylelint

* Update checkout version

* Fix test

* Fix test - device.ts still being used on the server :/

* fix cod
2023-05-08 23:56:45 +09:00
Alex Bates 2e96373ac7 Projects list, creation, settings pages (#542)
* 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>
2022-10-07 20:12:18 +09:00
Alex Bates 5abadc1596 Only request public_repo GitHub scope when making a PR (#529)
* remove public_repo requirement for login

* request public_repo on pull request create if needed
2022-09-15 10:34:06 +09:00
Matt Kempster 963179a9bf Allow submitting PRs from scratches (#391)
* [scratch][projects] Allow submitting PRs from scratches

* Fix up mypy and test

* Move .exists() call to get_dir() in GitHubRepo

* Fix tests

* Minor cleanup

* Frontend lint

* WIP of project function

* Get tests working again

* Move PR stuff to its own viewset

* Reform commit and PR titles

* Fix mypy errors

* Remove breakpoint

* fix

* fix tests

* mypy

* remove suspense from UserAvatarList

* fix tests after mypy

* mypy

* wip pr scratch basket

* implement pr basket

* adjust basket scratch padding

* require public_repo scope

* don't allow function to be added to pr basket twice

* fix pr backend

* only allow matched funcs to be added to pr

* add margin between attempt scratchlist items

* fix mypy issues

* fix eslint issue

* possibly fix test

* pr comments

* fix tests

* remove double import

* fix stylelint

* mock GitHubRepo.get_sha()

Co-authored-by: Alex Bates <alex@nanaian.town>
2022-09-14 13:59:57 +01:00
Ethan Roseman f50b3c32b8 disallow_untyped_defs for mypy (#477)
* Make mypy happy

* failing tests

* working

* use consistent annotation format

* remove comments
2022-07-03 23:43:59 +09:00
Ethan Roseman 6b1ee90acd Compiler/platform refactor (#396)
* foyst

* clang & agbcc

* more

* wii/gc

* more

* fix

* more

* references

* fixes

* CI fix

* nabbed em

* gcc2.7.2kmc

* meowp

* Tweak Dockerfile + other bits (#398)

* Tweak Dockerfile + other bits

* Capitalise

* Enable/disable compiler downloads via Environment variables

* appease black

* migration

* flags / presets in Compiler

* fixed tests

* /compilers

* mypy cheese

* upd8s

* name

* frontend goodness

* i18n

* cleaners

Co-authored-by: Mark Street <22226349+mkst@users.noreply.github.com>
Co-authored-by: Mark Street <streetster@gmail.com>
2022-03-14 02:33:19 +09:00
Alex Bates 65f5685870 Add project descriptions (#381)
* add project description to db
* display project description & repo link on frontend
* add PUT/PATCH project-detail
2022-02-20 14:42:36 +00:00
Ethan Roseman eb7534be0d Black (#380)
* Initial format

* action

* git subrepo pull --force backend/asm_differ

subrepo:
  subdir:   "backend/asm_differ"
  merged:   "ee239a2b"
upstream:
  origin:   "https://github.com/simonlindholm/asm-differ"
  branch:   "main"
  commit:   "ee239a2b"
git-subrepo:
  version:  "0.4.3"
  origin:   "https://github.com/ingydotnet/git-subrepo"
  commit:   "2f68596"

* git subrepo pull --force backend/mips_to_c

subrepo:
  subdir:   "backend/mips_to_c"
  merged:   "6704d61f"
upstream:
  origin:   "https://github.com/matt-kempster/mips_to_c"
  branch:   "master"
  commit:   "6704d61f"
git-subrepo:
  version:  "0.4.3"
  origin:   "https://github.com/ingydotnet/git-subrepo"
  commit:   "2f68596"

* vscode

* fix

* .
2022-02-20 23:21:38 +09:00
Alex Bates 1968531ca4 Projects MVP (#292)
Co-authored-by: Matt Kempster <kidpixel@gmail.com>
Co-authored-by: Mark Street <streetster@gmail.com>
2022-02-18 17:48:51 +00:00