Commit Graph

251 Commits

Author SHA1 Message Date
David Poeschl
2a9a120b5d
Merge pull request #15 from dpoeschl/SidebarBackgroundColor
Extension: make sidebar background color use theme color
2024-03-11 08:26:04 -07:00
dpoeschl
85b511457c Extension: make sidebar background color use theme color 2024-03-06 19:50:34 -08:00
fde6b0019b [extension] Format 2024-03-05 19:31:11 -05:00
David Poeschl
4a3ff56e7a
VSCode Extension: Sidebar UI showing team's submissions, automatically updating and showing alerts as submissions are judged (#14)
* Add an Output Panel channel named "BWContest Log"

* Allow client logout when no contest

And make login/logout error messages clearer

* Show contest name & team name in Code extension side panel

* submission icons for sidebar panel

* Start VSCode extension "onStartupFinished"

instead of waiting for Sidebar to be opened

* VSCode: Sidebar UI for up-to-date problem/submissions status

- VSCode: poll API every 30 seconds to get contest metadata and all submission metadata for the logged in team
- The Sidebar now shows all problems in the contest, along with their submissions and overall status, which automatically updates as submissions are submitted & judged
- Web: "contestState" API to get all info for an activeTeam via their token
- Update submit API to return the submission id, allowing the VSCode UI to immediately render it as Pending without waiting for a polling cycle
-

* Add "Compilation Failed" message to submissions that fail to build

* Contest Import - Option to create repos & immediately activate the imported contest

Useful for testing with old contests (including the submissions)

* Test/Submit panel, use fixed-width font in input/output areas

* Fix build error for 'pluralize'

* Clear all state & halt polling loops on logout, restart them on login

* Improve the debug fastPolling option

- Toggleable via package.json config
- Setting the option changes the initial state as well as ability to toggle states

* Web project 'npm run format'
2024-03-05 17:50:16 -05:00
1c78b90643 [web] Implement public scoreboard with updating 2024-02-26 19:52:47 -05:00
a4efcdd6e9 [web] Update deps 2024-02-26 14:35:18 -05:00
366fe93405 Initial public scoreboard 2024-02-26 13:52:55 -05:00
46974efdc1 Merge branch 'main' of https://github.com/orosmatthew/bw-hspc-contest-env 2024-02-17 15:49:31 -05:00
11b5106f12 [sandbox] Add eslint 2024-02-17 15:49:30 -05:00
78af9a8909 Merge branch 'main' of https://github.com/orosmatthew/bw-hspc-contest-env 2024-02-17 15:43:39 -05:00
2d839e279d [extension] Copy runners from sandbox 2024-02-17 15:43:38 -05:00
722ff8c199 [sandbox] Create separate build dir for cpp 2024-02-17 15:12:54 -05:00
79d48d3f8b Merge branch 'main' of https://github.com/orosmatthew/bw-hspc-contest-env 2024-02-17 15:06:50 -05:00
bd1623c09c [sandbox] Catch broken pipes 2024-02-17 15:06:49 -05:00
084ef0fdc4 Merge branch 'main' of https://github.com/orosmatthew/bw-hspc-contest-env 2024-02-17 15:02:34 -05:00
17d9a6e0a4 [extension] Add cpp support 2024-02-17 15:02:33 -05:00
6e673cf390 [sandbox] Add cpp build 2024-02-17 15:01:29 -05:00
245b987db9 [web] Refactor docker stuff 2024-02-17 14:02:30 -05:00
1df2feeed7 [extensions] Upgrade engine spec 2024-02-07 19:33:11 -05:00
27b16f76a8 Merge branch 'main' of https://github.com/orosmatthew/bw-hspc-contest-env 2024-01-31 21:09:33 -05:00
df916b2622 [web] Add CPP templates 2024-01-31 21:09:32 -05:00
8f91b6848b [extension] Fix import 2024-01-31 18:27:25 -05:00
face74b314 [web] Ability to add team with CPP 2024-01-22 21:49:34 -05:00
f393636629 [web] Fix color for CPP badge 2024-01-22 21:46:54 -05:00
9bcfec40c9 [web] Fix deleting contests with submissions 2024-01-22 21:43:37 -05:00
9ee581c4e3 [web] Improve confirm modals 2024-01-22 21:38:58 -05:00
aef88bd90b Merge branch 'main' of https://github.com/orosmatthew/bw-hspc-contest-env 2024-01-22 20:56:54 -05:00
2343a340b1 [web] Update deps 2024-01-22 20:56:53 -05:00
dependabot[bot]
9e7efabf16
Bump vite from 5.0.11 to 5.0.12 in /web (#13)
Bumps [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite) from 5.0.11 to 5.0.12.
- [Release notes](https://github.com/vitejs/vite/releases)
- [Changelog](https://github.com/vitejs/vite/blob/v5.0.12/packages/vite/CHANGELOG.md)
- [Commits](https://github.com/vitejs/vite/commits/v5.0.12/packages/vite)

---
updated-dependencies:
- dependency-name: vite
  dependency-type: direct:development
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-01-20 09:58:07 -05:00
baf2ad8b21 [web] Update Dockerfile 2024-01-16 20:19:18 -05:00
17cacf0f9e [web] Update docker compose example 2024-01-16 19:54:32 -05:00
128f0f2f33 [web] Increase body size limit 2024-01-16 19:43:14 -05:00
d2d686133c [web] Format and add CPP to db 2024-01-16 17:20:21 -05:00
6b955857bf Merge branch 'ImportContest' 2024-01-16 17:08:21 -05:00
dpoeschl
1fc04f7617 Contest Import feature
Useful for testing web UI with real data from historical contests
2024-01-16 12:55:48 -08:00
a0c72f83d4 Merge branch 'main' of https://github.com/orosmatthew/bw-hspc-contest-env 2024-01-15 18:39:47 -05:00
f5e8990c0a [sandbox] Add C# for sandbox 2024-01-15 18:39:47 -05:00
85d3b66b40 [extension] Fix tree kill import 2024-01-15 15:42:30 -05:00
213f3381d2 [extension] Update deps 2024-01-15 15:39:36 -05:00
2060d079c8 [sandbox] Update deps 2024-01-15 15:35:13 -05:00
23ca322e41 [web] Upgrade breaking dep svelte node adapter 2024-01-15 15:33:51 -05:00
3d15ebd80c [web] Fix broken team link 2024-01-15 15:32:44 -05:00
23ed2cda74 [web] Update deps 2024-01-15 15:31:18 -05:00
dependabot[bot]
f16613abf9
Bump follow-redirects from 1.15.2 to 1.15.4 in /extension/bwcontest (#11)
Bumps [follow-redirects](https://github.com/follow-redirects/follow-redirects) from 1.15.2 to 1.15.4.
- [Release notes](https://github.com/follow-redirects/follow-redirects/releases)
- [Commits](https://github.com/follow-redirects/follow-redirects/compare/v1.15.2...v1.15.4)

---
updated-dependencies:
- dependency-name: follow-redirects
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-01-10 13:57:11 -05:00
27d2132bfa [sandbox] Update deps 2023-12-19 16:59:34 -05:00
a19950a094 [web] Upgrade major deps (Sveltekit 2) 2023-12-19 16:58:34 -05:00
48f97a8ffb [web] Update non-major deps 2023-12-19 16:49:17 -05:00
David Poeschl
17515af25c
Include detailed run result info in DB & show in admin site (#10)
* Send detailed submission run result info to site/database

* Show SubmissionStateReason on site

* Mark Build/TLE errors as graded immediately

* Remove superfluous log
2023-12-19 16:40:31 -05:00
dependabot[bot]
9175386c87
Bump vite from 4.5.0 to 4.5.1 in /web (#8)
Bumps [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite) from 4.5.0 to 4.5.1.
- [Release notes](https://github.com/vitejs/vite/releases)
- [Changelog](https://github.com/vitejs/vite/blob/v4.5.1/packages/vite/CHANGELOG.md)
- [Commits](https://github.com/vitejs/vite/commits/v4.5.1/packages/vite)

---
updated-dependencies:
- dependency-name: vite
  dependency-type: direct:development
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-12-17 11:31:05 -05:00
David Poeschl
79fd96e1d3
Sandbox: Ensure runs are serialized, add detailed logging (#9)
Specific fixes to ensure runs are serialized:

- Added missing await when starting clone/run
- The runJava method now has a single exit path that can only execute when the process has guaranteed been 'close'd. The timeout detection previously sent SIGKILL and assumed it worked, but it was not working on my machine and the student code would continue to run indefinitely after returning.
- To get the SIGKILL to kill the submitted app's process, I added end/destroy calls to the process stdin/stdout/stderr streams.

Added lots of logging while diagnosing these issues, and it seems useful to keep. As part of this, the contest/team names are now included in the 'submissions' web api.

Also, I've structured the result data in more detail within the Sandbox, tracking whether a run succeeded or the way in which it failed. I'm collapsing these back down to just a string "output" with the preexisting failure markers (e.g. "[Timeout after 30 seconds]"), but would like to pass this over to the site/DB in a structured form eventually.
2023-12-17 11:30:16 -05:00