80 Commits

Author SHA1 Message Date
Luke Street 0a64331e4b Experimental objdiff-web integration 2025-03-06 23:07:52 -07:00
Bruno Macabeus 135f4b6036 Replace classnames with clsx (#1479)
* Replace `classnames` with `clsx`

* fix python code formatting
2025-03-04 11:54:52 -06:00
Ethan Roseman a5249f922c Update deps (#1387)
* Backend updates

* frontend updates
2024-12-09 01:28:54 +09:00
Mark Street 0903b91722 Friendly hovertext for TimeAgo (#1344)
* Friendly hovertext for TimeAgo

* lint

* Alias TimeAgo as ReactTimeAgo

* bugfix
2024-09-14 23:09:40 +01:00
Luke Street 2c2f876e22 Experimental objdiff integration (client-side) (#1329)
* Experimental objdiff integration (client-side)

* Work around next.js stupidity

* Port performance improvements to main diff view
2024-08-23 14:43:26 +09:00
Marijn van der Werf e39edca120 Remove dead code (#1179)
* Remove unused files

* Remove unused symbols

* Remove more unused/not-working items

* Remove unused dependencies

* promments

---------

Co-authored-by: Ethan <ethteck@gmail.com>
2024-03-30 01:38:24 +09:00
WhenGryphonsFly 7228eb0137 Fix indentation when braces are on new lines (#1164)
* Roll our own cpp LRLanguage

This fixes a bug when using a coding style with braces on a new line. Previously, it was inconsistent whether braces were indented (GNU style) or not (Allman style). This commit standardizes on Allman style.

* Fix try-catch and do-while recognition

Both sections are needed; `indentOnInput` is required to call the indent checker, and `DoStatement` is required to provide the correct indent to the indent checker.

* Add copyright line from upstream because I am forgetful

* style changes

---------

Co-authored-by: Ethan <ethteck@gmail.com>
2024-03-24 17:21:29 +00:00
Ethan a499743f02 Fix type issues, updates 2024-03-21 17:29:47 +09:00
Ethan Roseman f1e6763603 Update frontend & backend deps and remove several tsc errors (#1119)
* Update frontend & backend deps and remove several tsc errors

* css & remove sharp

* more issues fixed

* fix login page

* more changes

* remove svg thing

* smalls

* more

* Fix tsc error
2024-03-21 14:23:50 +09:00
Ethan Roseman f9a3e527d2 Add progress bar to the scratch editor (#1124)
* Add progress bar to the scratch editor

* all your metadataBase are belong to us

* Don't empty the bar on failed compilations, color scaling

* some changes

* new component, editor option

* a smidge of padding

---------

Co-authored-by: Mark Street <streetster@gmail.com>
2024-03-14 02:13:27 +09:00
wearr 5232d82fc9 Add setting for vim bindings to be used (#1134) 2024-03-14 01:24:33 +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
Alex Bates eca9cc324d upgrade frontend dependencies (#875)
* upgrade frontend dependencies

* fix ts lints

* don't cache server GETs

* fix opened nav having white border
2023-10-03 19:19:49 +09:00
ConorB 3b39a6d3af Add clangd language server support (#739)
* 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>
2023-06-04 14:15:27 +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
ConorB 4003446137 Switch from @shopify/web-worker to postMessage for useCompareExtension (#717)
* Switch from @shopify/web-worker to postMessage for useCompareExtension

* Type safety

* make formatting consistent

---------

Co-authored-by: ConorBobbleHat <c.github@firstpartners.net>
2023-03-27 10:07:15 +09:00
Alex Bates d81d131a43 Update dependencies (#705)
* misc changes

* remove yarn.lock

* update poetry lockfile

* fix env variables in browser

---------

Co-authored-by: Ethan Roseman <ethteck@gmail.com>
2023-03-20 00:33:01 +09:00
Alex Bates 4cf3e416e5 Use Next.js 13 app directory & Tailwind CSS (#626)
- Use Next.js 13 app directory for all routes except projects
- Add Tailwind (resolves #619) and use it for most components
- New footer
- Adjust navbar (logotype, buttons moved to right)
- Improve the styling of the search box
- New /settings/account page
- /credits grabs contributors list for this repo from GitHub's API
- ResolveĀ #634
- New welcome page header with scrolling platform icons
2023-01-03 12:41:05 +00:00
Alex Bates 04a5a32c07 Upgrade to Next.js 13 (#618)
Resolves #610.
2022-12-19 23:11:57 +09:00
ConorB 44c0ecd6cc Move logic of useCompareExtension to a Web Worker (#605)
Closes #545.
2022-12-17 17:08:56 +00:00
Ethan Roseman 9651b7dcf2 A few issues (#603)
Fixes #312 - removes login event from plausible
Fixes #249 - adds the course db models
Fixes #583 - allow viewing target asm even when the scratch doesn't
initially compile

Update frontend & backend deps
2022-12-14 23:40:41 +09:00
Ethan Roseman acf47167b3 update everything (#599) 2022-12-08 22:48:08 +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 00cf81c7b9 Fit scratch toolbar onto one row when possible (#548)
* refactor scratch actions to its own component

* move toolbar actions into nav area

* fit ScratchToolbar on one line where possible

* fix HydrationError

* reduce wasted space by calculating layout in js

* avoid layout shift when edit time changes

* move edit time next to scratch name

* stop showing "Active now" after time

* align edit time on baseline

* drop 'Edited' prefix
2022-09-21 17:20:44 +09:00
Alex Bates b17d647999 update next-pwa and next-translate (#549) 2022-09-21 16:10:15 +09:00