-
Notifications
You must be signed in to change notification settings - Fork 49
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Version 3 #470
base: master
Are you sure you want to change the base?
Commits on Aug 8, 2020
-
refactor(server): move most server code to be self-contained
Move configuration for TypeScript, configuration for NYC, and tests to inside of the server/ directory.
Configuration menu - View commit details
-
Copy full SHA for e18d060 - Browse repository at this point
Copy the full SHA e18d060View commit details -
feat(client): add initial client webpack setup
Hoist shared TS ESLint config options to project root Import from react / use react types to make typescript happy. Add prefresh config: Webpack 5 support for prefresh has not yet landed, but set up the configuration anyways.
Configuration menu - View commit details
-
Copy full SHA for f45e55f - Browse repository at this point
Copy the full SHA f45e55fView commit details -
Split lint script into separate server and client lint jobs, use `types` option in tsconfig to restrict global type loading, explicitly define `process.env` in client.
Configuration menu - View commit details
-
Copy full SHA for 99eda61 - Browse repository at this point
Copy the full SHA 99eda61View commit details
Commits on Aug 9, 2020
-
feat(client): initial storybook/jest setup
Roll back to Webpack 4 because Storybook does not support Webpack 5 for the near future (see storybookjs/storybook#11326 (comment)). Use @storybook/react (which includes React as a dependency) instead of Preact because the Storybook build breaks when using theme-ui (most likely because of the bundled React dependency).
Configuration menu - View commit details
-
Copy full SHA for 7db6f0c - Browse repository at this point
Copy the full SHA 7db6f0cView commit details -
Configuration menu - View commit details
-
Copy full SHA for 1df715a - Browse repository at this point
Copy the full SHA 1df715aView commit details -
feat(client): finish setting up Jest
Factor out Babel config to babel.config.js so Jest can also use it. Also set up globals handled by ProvidePlugin in Jest. @types/history@2 added as a dependency to force yarn to not hoist @types/history@^4.7 required by @types/reach__router, which is required by storybook somewhere. This ensures TypeScript resolves 'history' as @types/history@^4.7 instead of history@^5, which would otherwise happen if yarn hoisted @types/history.
Configuration menu - View commit details
-
Copy full SHA for 664c787 - Browse repository at this point
Copy the full SHA 664c787View commit details -
Configuration menu - View commit details
-
Copy full SHA for 474b680 - Browse repository at this point
Copy the full SHA 474b680View commit details -
refactor(server): switch to Jest for tests
Jest is running with TypeScript Babel preset to transpile server code and run against the TS sources; as a result, the leaderboard worker needed to be mocked out, since worker_process bypasses the transpiler.
Configuration menu - View commit details
-
Copy full SHA for b9aa83b - Browse repository at this point
Copy the full SHA b9aa83bView commit details -
Configuration menu - View commit details
-
Copy full SHA for b116605 - Browse repository at this point
Copy the full SHA b116605View commit details -
Configuration menu - View commit details
-
Copy full SHA for fff6b23 - Browse repository at this point
Copy the full SHA fff6b23View commit details -
Configuration menu - View commit details
-
Copy full SHA for 8b37554 - Browse repository at this point
Copy the full SHA 8b37554View commit details -
Configuration menu - View commit details
-
Copy full SHA for e174530 - Browse repository at this point
Copy the full SHA e174530View commit details -
Always run codecov collect step if the tests ran (regardless of success / failure), and run client tests too.
Configuration menu - View commit details
-
Copy full SHA for 6f1df1b - Browse repository at this point
Copy the full SHA 6f1df1bView commit details -
Configuration menu - View commit details
-
Copy full SHA for 2ae2d84 - Browse repository at this point
Copy the full SHA 2ae2d84View commit details -
Configuration menu - View commit details
-
Copy full SHA for d49195d - Browse repository at this point
Copy the full SHA d49195dView commit details -
Configuration menu - View commit details
-
Copy full SHA for c75672f - Browse repository at this point
Copy the full SHA c75672fView commit details -
Configuration menu - View commit details
-
Copy full SHA for 5e02035 - Browse repository at this point
Copy the full SHA 5e02035View commit details -
Configuration menu - View commit details
-
Copy full SHA for e949f32 - Browse repository at this point
Copy the full SHA e949f32View commit details -
Configuration menu - View commit details
-
Copy full SHA for 0032e9a - Browse repository at this point
Copy the full SHA 0032e9aView commit details -
refactor: clean up typescript config
Use project references for server (source and test), and also pull shared config options up where possible.
Configuration menu - View commit details
-
Copy full SHA for 55f5aaf - Browse repository at this point
Copy the full SHA 55f5aafView commit details -
refactor(server): modularize config loading
Split config loading steps into individual exported functions; this allows for fine-grained control over config in tests by mocking the `load` module. Tests are set up to load config from its own conf.d, but inherit critical environment settings like database connections from the current (actual) config.
Configuration menu - View commit details
-
Copy full SHA for 7e398c0 - Browse repository at this point
Copy the full SHA 7e398c0View commit details
Commits on Aug 10, 2020
-
Configuration menu - View commit details
-
Copy full SHA for 87ed1ab - Browse repository at this point
Copy the full SHA 87ed1abView commit details -
Configuration menu - View commit details
-
Copy full SHA for b210dbe - Browse repository at this point
Copy the full SHA b210dbeView commit details -
fix(client): switch snapshot renderer
Use preact-render-to-string since preact-render-to-json does not actually render components in Preact X. Also add stories for navbar components.
Configuration menu - View commit details
-
Copy full SHA for 90b1456 - Browse repository at this point
Copy the full SHA 90b1456View commit details -
Configuration menu - View commit details
-
Copy full SHA for 65a3f69 - Browse repository at this point
Copy the full SHA 65a3f69View commit details -
Make client Jest config explicitly specifiy CWD for babel, so it can be run from any directory. Set top-level `test` script to use `--projects`, and also add a pre-commit hook to run Jest in only-changed mode.
Configuration menu - View commit details
-
Copy full SHA for 7e3f39a - Browse repository at this point
Copy the full SHA 7e3f39aView commit details -
test(server): improve config mocking
Use mock factory to ensure config mocking works in all environments; this fixes crashes with the full app startup integration test (and therefore also fixes CI tests). Also add `--forceExit` to lint-staged command.
Configuration menu - View commit details
-
Copy full SHA for 23c36eb - Browse repository at this point
Copy the full SHA 23c36ebView commit details -
Configuration menu - View commit details
-
Copy full SHA for 16bc62c - Browse repository at this point
Copy the full SHA 16bc62cView commit details -
Configuration menu - View commit details
-
Copy full SHA for 2980861 - Browse repository at this point
Copy the full SHA 2980861View commit details -
Configuration menu - View commit details
-
Copy full SHA for eb77872 - Browse repository at this point
Copy the full SHA eb77872View commit details
Commits on Aug 11, 2020
-
Configuration menu - View commit details
-
Copy full SHA for 83a7ce5 - Browse repository at this point
Copy the full SHA 83a7ce5View commit details -
Configuration menu - View commit details
-
Copy full SHA for e067e5f - Browse repository at this point
Copy the full SHA e067e5fView commit details -
Configuration menu - View commit details
-
Copy full SHA for 2bfff94 - Browse repository at this point
Copy the full SHA 2bfff94View commit details -
Configuration menu - View commit details
-
Copy full SHA for 457e43b - Browse repository at this point
Copy the full SHA 457e43bView commit details -
Configuration menu - View commit details
-
Copy full SHA for a81e70d - Browse repository at this point
Copy the full SHA a81e70dView commit details -
feat(client): improve TextInput
Add handler for `invalid` event, clear user-agent styles on invalid, and make cursor when mousing over empty TextInput more consistent.
Configuration menu - View commit details
-
Copy full SHA for b33c821 - Browse repository at this point
Copy the full SHA b33c821View commit details -
feat(client): add disabled state to TextInput
Also fix label positioning when TextInput has content - this now uses an extra span for positioning.
Configuration menu - View commit details
-
Copy full SHA for 1610960 - Browse repository at this point
Copy the full SHA 1610960View commit details -
Configuration menu - View commit details
-
Copy full SHA for 6cd54ad - Browse repository at this point
Copy the full SHA 6cd54adView commit details -
Configuration menu - View commit details
-
Copy full SHA for 71d6bd2 - Browse repository at this point
Copy the full SHA 71d6bd2View commit details -
Configuration menu - View commit details
-
Copy full SHA for df58df8 - Browse repository at this point
Copy the full SHA df58df8View commit details -
Configuration menu - View commit details
-
Copy full SHA for b44a247 - Browse repository at this point
Copy the full SHA b44a247View commit details -
Configuration menu - View commit details
-
Copy full SHA for e3a9a60 - Browse repository at this point
Copy the full SHA e3a9a60View commit details -
chore: run Jest pre-commit hook in CI mode
This ensures that missing snapshots fail the pre-commit hook
Configuration menu - View commit details
-
Copy full SHA for 24b90a9 - Browse repository at this point
Copy the full SHA 24b90a9View commit details -
Configuration menu - View commit details
-
Copy full SHA for e3b4a24 - Browse repository at this point
Copy the full SHA e3b4a24View commit details -
Configuration menu - View commit details
-
Copy full SHA for 27e04b9 - Browse repository at this point
Copy the full SHA 27e04b9View commit details -
Configuration menu - View commit details
-
Copy full SHA for e85d3f3 - Browse repository at this point
Copy the full SHA e85d3f3View commit details -
refactor(client): update stories to Args/Controls format
Update storybook to release 6.0.2, and use new Args CSF in stories. Also set default values in component function declarations instead of using `??` for defaults.
Configuration menu - View commit details
-
Copy full SHA for ce2d5ba - Browse repository at this point
Copy the full SHA ce2d5baView commit details -
Configuration menu - View commit details
-
Copy full SHA for 1a24905 - Browse repository at this point
Copy the full SHA 1a24905View commit details -
Configuration menu - View commit details
-
Copy full SHA for c74913b - Browse repository at this point
Copy the full SHA c74913bView commit details
Commits on Aug 12, 2020
-
Configuration menu - View commit details
-
Copy full SHA for 7bd5af1 - Browse repository at this point
Copy the full SHA 7bd5af1View commit details -
Configuration menu - View commit details
-
Copy full SHA for 1c299a9 - Browse repository at this point
Copy the full SHA 1c299a9View commit details -
Configuration menu - View commit details
-
Copy full SHA for 9520783 - Browse repository at this point
Copy the full SHA 9520783View commit details
Commits on Aug 16, 2020
-
Configuration menu - View commit details
-
Copy full SHA for 3bf1e24 - Browse repository at this point
Copy the full SHA 3bf1e24View commit details -
Configuration menu - View commit details
-
Copy full SHA for 7b3316e - Browse repository at this point
Copy the full SHA 7b3316eView commit details -
Configuration menu - View commit details
-
Copy full SHA for aedff6d - Browse repository at this point
Copy the full SHA aedff6dView commit details -
refactor: use lerna / yarn workspaces
Move all sources to exist as packages linked through lerna / yarn workspaces. Most lint / test dependencies are kept in the top-level package.json. Code changes: - server now recursively searches its parent directories for a conf.d if the path is not explicitly provided
Configuration menu - View commit details
-
Copy full SHA for 7099384 - Browse repository at this point
Copy the full SHA 7099384View commit details -
Running a build is now a prerequisite for the `dev` script (instead of being invoked directly).
Configuration menu - View commit details
-
Copy full SHA for 66ebeb7 - Browse repository at this point
Copy the full SHA 66ebeb7View commit details -
Configuration menu - View commit details
-
Copy full SHA for 02bb0da - Browse repository at this point
Copy the full SHA 02bb0daView commit details -
Configuration menu - View commit details
-
Copy full SHA for 6b6d870 - Browse repository at this point
Copy the full SHA 6b6d870View commit details -
Configuration menu - View commit details
-
Copy full SHA for 6513503 - Browse repository at this point
Copy the full SHA 6513503View commit details -
Configuration menu - View commit details
-
Copy full SHA for 45b0cbb - Browse repository at this point
Copy the full SHA 45b0cbbView commit details -
fix(build): improve Docker build
Update Node version, use Alpine for prepare step, and pretty-print the final package.json.
Configuration menu - View commit details
-
Copy full SHA for 4c45b3c - Browse repository at this point
Copy the full SHA 4c45b3cView commit details -
ci: run Docker build (but don't push) on all CI runs
This change should ensure that the Docker build isn't broken by PRs.
Configuration menu - View commit details
-
Copy full SHA for 63f0bd7 - Browse repository at this point
Copy the full SHA 63f0bd7View commit details -
fix(deps-dev): clean up root devDeps
Copy Babel deps used by Jest to root, and move webpack loaders to client.
Configuration menu - View commit details
-
Copy full SHA for 64f6b71 - Browse repository at this point
Copy the full SHA 64f6b71View commit details
Commits on Aug 17, 2020
-
build(client): centralize Babel config
Load Storybook Babel config from main client babel.config.js, and move react-refresh plugin to be inline inside the webpack config (since that is the only place where it is used). This fixes Storybook failing to load stories. Also enable bugfixes mode in @babel/preset-env for smaller bundle sizes.
Configuration menu - View commit details
-
Copy full SHA for 29fc9ce - Browse repository at this point
Copy the full SHA 29fc9ceView commit details -
Configuration menu - View commit details
-
Copy full SHA for e710a02 - Browse repository at this point
Copy the full SHA e710a02View commit details -
Configuration menu - View commit details
-
Copy full SHA for 6571b22 - Browse repository at this point
Copy the full SHA 6571b22View commit details -
Configuration menu - View commit details
-
Copy full SHA for 874fc3a - Browse repository at this point
Copy the full SHA 874fc3aView commit details -
Merge pull request #487 from redpwn/refactor/lerna
refactor: use lerna / yarn workspaces
Configuration menu - View commit details
-
Copy full SHA for 918efce - Browse repository at this point
Copy the full SHA 918efceView commit details -
Configuration menu - View commit details
-
Copy full SHA for 0dce9f7 - Browse repository at this point
Copy the full SHA 0dce9f7View commit details -
Configuration menu - View commit details
-
Copy full SHA for 64acb2f - Browse repository at this point
Copy the full SHA 64acb2fView commit details -
Configuration menu - View commit details
-
Copy full SHA for 5254025 - Browse repository at this point
Copy the full SHA 5254025View commit details -
fix(client): fix @types/history hoist-blocking dep
@types/history must be kept at an outdated / incompatible version to prevent hoisting of @types/reach__router#@types/history to root; fix this, and add a typechecking job to CI.
Configuration menu - View commit details
-
Copy full SHA for f29c931 - Browse repository at this point
Copy the full SHA f29c931View commit details -
Configuration menu - View commit details
-
Copy full SHA for 78643eb - Browse repository at this point
Copy the full SHA 78643ebView commit details -
Configuration menu - View commit details
-
Copy full SHA for 84bb072 - Browse repository at this point
Copy the full SHA 84bb072View commit details -
Merge pull request #495 from redpwn/feature/card
feat(client): add Card component
Configuration menu - View commit details
-
Copy full SHA for 0989e42 - Browse repository at this point
Copy the full SHA 0989e42View commit details -
Configuration menu - View commit details
-
Copy full SHA for ac2b981 - Browse repository at this point
Copy the full SHA ac2b981View commit details -
feat(client): add form handling to login card
This ensures pressing Enter on the input will work as intended.
Configuration menu - View commit details
-
Copy full SHA for 3f1f216 - Browse repository at this point
Copy the full SHA 3f1f216View commit details -
fix(client): improve LoginCard styling
Add more space in card, and make CTF title a prop. Also adjust theme to use base preset.
Configuration menu - View commit details
-
Copy full SHA for 673e400 - Browse repository at this point
Copy the full SHA 673e400View commit details
Commits on Aug 18, 2020
-
refactor(client): clean up LoginCard styling
Use Box with margin top instead of abusing grid for positioning recover link, and disable submit button when no code has been entered.
Configuration menu - View commit details
-
Copy full SHA for 864e7ce - Browse repository at this point
Copy the full SHA 864e7ceView commit details -
feat(client): improve base theme styles
Add hover / click styles to links, set cursor to pointer on buttons.
Configuration menu - View commit details
-
Copy full SHA for 47c62aa - Browse repository at this point
Copy the full SHA 47c62aaView commit details -
fix(client): prevent layout shift with showError on TextInput
When showError is true, always display the div for the error message, even if the message is currently empty, to minimize layout shift when an error appears.
Configuration menu - View commit details
-
Copy full SHA for 7303a3d - Browse repository at this point
Copy the full SHA 7303a3dView commit details
Commits on Aug 19, 2020
-
fix(client): add pre-commit hook to check snapshots
Fix an un-updated snapshot from previous commit, and add snapshot tests explicitly to test in pre-commit hook. This may cause a duplicate test run of snapshot tests, but it seems the majority of the time, the snapshot test does *not* run when it should.
Configuration menu - View commit details
-
Copy full SHA for 6472557 - Browse repository at this point
Copy the full SHA 6472557View commit details -
Configuration menu - View commit details
-
Copy full SHA for 2622ec0 - Browse repository at this point
Copy the full SHA 2622ec0View commit details -
Configuration menu - View commit details
-
Copy full SHA for dbdf0fa - Browse repository at this point
Copy the full SHA dbdf0faView commit details -
Configuration menu - View commit details
-
Copy full SHA for 8fcf458 - Browse repository at this point
Copy the full SHA 8fcf458View commit details -
Configuration menu - View commit details
-
Copy full SHA for 3328c1d - Browse repository at this point
Copy the full SHA 3328c1dView commit details -
Configuration menu - View commit details
-
Copy full SHA for a83ad67 - Browse repository at this point
Copy the full SHA a83ad67View commit details -
Configuration menu - View commit details
-
Copy full SHA for ca479c9 - Browse repository at this point
Copy the full SHA ca479c9View commit details -
Configuration menu - View commit details
-
Copy full SHA for 218cc5e - Browse repository at this point
Copy the full SHA 218cc5eView commit details -
Configuration menu - View commit details
-
Copy full SHA for ad13e16 - Browse repository at this point
Copy the full SHA ad13e16View commit details
Commits on Aug 20, 2020
-
Configuration menu - View commit details
-
Copy full SHA for 7bb882f - Browse repository at this point
Copy the full SHA 7bb882fView commit details -
Configuration menu - View commit details
-
Copy full SHA for e373240 - Browse repository at this point
Copy the full SHA e373240View commit details -
Configuration menu - View commit details
-
Copy full SHA for 2ab5425 - Browse repository at this point
Copy the full SHA 2ab5425View commit details -
Configuration menu - View commit details
-
Copy full SHA for efe9a32 - Browse repository at this point
Copy the full SHA efe9a32View commit details -
Configuration menu - View commit details
-
Copy full SHA for cd573a3 - Browse repository at this point
Copy the full SHA cd573a3View commit details -
Configuration menu - View commit details
-
Copy full SHA for d253c67 - Browse repository at this point
Copy the full SHA d253c67View commit details -
fix(server): misc cleanup + const enum support
Pull out common Redis client options into object, use const enum for Opaque tag type, and set up Jest / Babel to support const enums. Also add the Babel plugin to client build.
Configuration menu - View commit details
-
Copy full SHA for 5aa1596 - Browse repository at this point
Copy the full SHA 5aa1596View commit details -
Configuration menu - View commit details
-
Copy full SHA for 22e1dc8 - Browse repository at this point
Copy the full SHA 22e1dc8View commit details -
Merge pull request #500 from redpwn/refactor/ts-leaderboard
refactor(server): refactor all cache and leaderboard to use TS
Configuration menu - View commit details
-
Copy full SHA for 1158945 - Browse repository at this point
Copy the full SHA 1158945View commit details
Commits on Sep 8, 2020
-
Configuration menu - View commit details
-
Copy full SHA for b7248bf - Browse repository at this point
Copy the full SHA b7248bfView commit details -
Configuration menu - View commit details
-
Copy full SHA for 5a1c111 - Browse repository at this point
Copy the full SHA 5a1c111View commit details -
chore: revert Prettier formatting on HTML
Prettier messes with our HTML (which contains Mustache templating, EJS, templating, and code which must be minified) unacceptably; revert this.
Configuration menu - View commit details
-
Copy full SHA for fd8b2ba - Browse repository at this point
Copy the full SHA fd8b2baView commit details -
Configuration menu - View commit details
-
Copy full SHA for 2ce782b - Browse repository at this point
Copy the full SHA 2ce782bView commit details
Commits on Sep 9, 2020
-
Merge pull request #499 from redpwn/chore/formatting-overhaul
chore: formatting overhaul
Configuration menu - View commit details
-
Copy full SHA for 1608e9c - Browse repository at this point
Copy the full SHA 1608e9cView commit details
Commits on Sep 10, 2020
-
build(deps): update dependencies
Important major version upgrades: typescript 3.9.7 -> 4.0.2
Configuration menu - View commit details
-
Copy full SHA for 2a49693 - Browse repository at this point
Copy the full SHA 2a49693View commit details -
Pipes inside inline code are interpreted literally by python-markdown, but are interpreted as table separators by Prettier. Switch to placing the pipes outside the inline code so both Prettier and mkdocs parse them the same.
Configuration menu - View commit details
-
Copy full SHA for 17d89ec - Browse repository at this point
Copy the full SHA 17d89ecView commit details -
ci: enforce commit message conventions on PRs
Add script to run in CI on pull request to enforce commit message summary lines match the conventions specified in CONTRIBUTING.md.
Configuration menu - View commit details
-
Copy full SHA for aa642f5 - Browse repository at this point
Copy the full SHA aa642f5View commit details -
docs: update branch naming conventions
Remove branch name examples with prefixes / conventions that are no longer used.
Configuration menu - View commit details
-
Copy full SHA for 01cce9f - Browse repository at this point
Copy the full SHA 01cce9fView commit details -
fix(ci): fix refs for commit check job
Use full commit SHAs as arguments and fetch the entire git history in the commit message check CI job. Also make sure the script dies correctly if the `git log` command fails.
Configuration menu - View commit details
-
Copy full SHA for 725e859 - Browse repository at this point
Copy the full SHA 725e859View commit details -
docs: add docs for sponsors cards
Added description about the options that were missing. Cherry-picked and squashed from PR #520 Co-authored-by: Ethan Wu <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 72127ff - Browse repository at this point
Copy the full SHA 72127ffView commit details
Commits on Sep 11, 2020
-
Merge pull request #522 from redpwn/ci/commit-check
ci: enforce commit message conventions
Configuration menu - View commit details
-
Copy full SHA for b6fe3a2 - Browse repository at this point
Copy the full SHA b6fe3a2View commit details -
Merge pull request #523 from redpwn/docs/sponsor-card
docs: add docs for sponsors cards
Configuration menu - View commit details
-
Copy full SHA for d14e66e - Browse repository at this point
Copy the full SHA d14e66eView commit details
Commits on Sep 16, 2020
-
Docker images use node 14, so update CI jobs to match.
Configuration menu - View commit details
-
Copy full SHA for ac4da21 - Browse repository at this point
Copy the full SHA ac4da21View commit details
Commits on Sep 17, 2020
-
Merge pull request #528 from redpwn/ci/update-node
ci: update node to 14
Configuration menu - View commit details
-
Copy full SHA for 8b44d87 - Browse repository at this point
Copy the full SHA 8b44d87View commit details
Commits on Nov 6, 2020
-
fix(server): fix type on cache leaderboard.getRange
`division` was incorrectly marked as required.
Configuration menu - View commit details
-
Copy full SHA for 5d5b8b5 - Browse repository at this point
Copy the full SHA 5d5b8b5View commit details
Commits on Nov 9, 2020
-
test(server): switch to inline snapshots
Change restrict exception snapshots to be inline.
Configuration menu - View commit details
-
Copy full SHA for 6b3fd01 - Browse repository at this point
Copy the full SHA 6b3fd01View commit details -
Configuration menu - View commit details
-
Copy full SHA for 7b5f0a3 - Browse repository at this point
Copy the full SHA 7b5f0a3View commit details
Commits on Nov 25, 2020
-
test(server): add some restrict test cases
No coverage change, but add tests that would catch substring-only matchers that don't ensure that there are no extra bits in emails.
Configuration menu - View commit details
-
Copy full SHA for 4dcffb9 - Browse repository at this point
Copy the full SHA 4dcffb9View commit details
Commits on Jan 16, 2021
-
fix(server): fix type on leaderboard cache args
`division` was incorrectly marked as required in `getRange` and `getGraph`.
Configuration menu - View commit details
-
Copy full SHA for 5e11701 - Browse repository at this point
Copy the full SHA 5e11701View commit details -
fix(server): correct nullability on some argument types
Some functions' arguments which were typed using properties of `User` inadvertently copied those properties as being potentially undefined; fix this via `NonNullable`/`SetRequired`. `getUserByNameOrCtftimeId`, which needs at least one of `name` or `ctftimeId`, has not been properly typed and is currently left as both properties nullable.
Configuration menu - View commit details
-
Copy full SHA for c9b564f - Browse repository at this point
Copy the full SHA c9b564fView commit details -
fix(server): allow partial object when updating challenge
Change types for `updateChallenge` to allow a partial `Challenge` object.
Configuration menu - View commit details
-
Copy full SHA for 65ec330 - Browse repository at this point
Copy the full SHA 65ec330View commit details -
build(types): set up api-type builder
Ignore file shenanigans: duplicate api-types ignore rules to root with correct paths, symlink root eslintignore into each (relevant) package directory, and run the code generation in the CI lint job so linting of other packages has correct type information.
Configuration menu - View commit details
-
Copy full SHA for e660662 - Browse repository at this point
Copy the full SHA e660662View commit details -
feat(server): implement route handler helpers
Implement `makeFastifyRoute` to create a fastify route object from a route object and a handler function. The handler function takes the same arguments as before, except with an added `res` property which contains factory functions for all valid response kinds. Schema transformer for fast-json-schema removes the entire schema when there is a `oneOf` at the top level with `rawJson`, because fast-json-schema does not support it, and pushes the `oneOf` down for standard format responses.
Configuration menu - View commit details
-
Copy full SHA for 7aa257a - Browse repository at this point
Copy the full SHA 7aa257aView commit details -
feat(server): add route configuration and a few definitions
A small set of routes and responses added by hand for testing.
Configuration menu - View commit details
-
Copy full SHA for 5f1d5d9 - Browse repository at this point
Copy the full SHA 5f1d5d9View commit details -
feat(server): autogenerate responses and routes
Generated responses do not have schemas (some were added manually); schemas still need to be written for most responses. Generated routes do not have permissions. Co-authored-by: Robert Chen <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 70b6c2f - Browse repository at this point
Copy the full SHA 70b6c2fView commit details -
refactor(server): migrate route handlers + write schemas
BREAKING: - GET /leaderboard/graph -> changed success response kind for route from `goodLeaderboard` to `goodLeaderboardGraph` - GET /users/me -> changed success response kind for route from `goodUserData` to `goodUserSelfData` - GET /admin/challs -> changed success response type for route from `goodChallenges` to `goodAdminChallenges` - GET /admin/challs/:id -> changed success response type for route from `goodChallenges` to `goodAdminChallenge` Other: - DELETE /admin/challs/:id -> Removed `void` response payload. - Also typed user utilities. Routes in the registration flow have not been converted to TS yet due to issues with typing their implementation - they are migrated to the new route declaration mechanism, but remain as JS.
Configuration menu - View commit details
-
Copy full SHA for c0a086b - Browse repository at this point
Copy the full SHA c0a086bView commit details -
refactor(server): finalize migration
Migrate API fastify plugin, tests, and delete old responses file. Refactored helper functions to export utilities to allow the use of response factories outside of routes; changed how the casting of the factory return methods is done.
Configuration menu - View commit details
-
Copy full SHA for bdff9a2 - Browse repository at this point
Copy the full SHA bdff9a2View commit details -
feat(server): allow for overriding of route schemas
Merge the `schema` property on the `extraOptions` argument of `makeFastifyRoute` to allow for schemas with constraints based on config. Also move some object-related utility functions into util/object, and add tests.
Configuration menu - View commit details
-
Copy full SHA for 7273fb5 - Browse repository at this point
Copy the full SHA 7273fb5View commit details -
fix(server): add back config-based parameter constraints
Add back elements of request parameter schemas which were based on server config.
Configuration menu - View commit details
-
Copy full SHA for 13e9e8a - Browse repository at this point
Copy the full SHA 13e9e8aView commit details
Commits on Jan 17, 2021
-
Configuration menu - View commit details
-
Copy full SHA for 5c5100d - Browse repository at this point
Copy the full SHA 5c5100dView commit details
Commits on Jan 19, 2021
-
fix(server): add periods to all response messages
Add periods to response messages which were lacking them.
Configuration menu - View commit details
-
Copy full SHA for 4c26f5d - Browse repository at this point
Copy the full SHA 4c26f5dView commit details -
fix(server): ensure failure responses are in schemas
For response kinds which are not part of the declared route (`badBody` and `errorInternal`, which both should not occur when the API is used correctly and is functioning correctly, and thus aren't included in the definitions for generating types), ensure they are added to the response schema fed to fast-json-stringify when appropriate. Without this, such implicit kinds which contain `data` can fail to serialize correctly.
Configuration menu - View commit details
-
Copy full SHA for 46b5074 - Browse repository at this point
Copy the full SHA 46b5074View commit details -
Configuration menu - View commit details
-
Copy full SHA for 6dbf4f5 - Browse repository at this point
Copy the full SHA 6dbf4f5View commit details
Commits on Jan 20, 2021
-
Merge pull request #544 from redpwn/refactor/api-types
Put API route definitions and types into a shared package
Configuration menu - View commit details
-
Copy full SHA for 3e73b55 - Browse repository at this point
Copy the full SHA 3e73b55View commit details
Commits on Jan 21, 2021
-
Configuration menu - View commit details
-
Copy full SHA for c80d1c9 - Browse repository at this point
Copy the full SHA c80d1c9View commit details -
refactor(server): clean up getting array element types
When getting the element type of an array type, use `Type[number]` where applicable. One instance of `ArrayValue` in database/util.ts was kept to work with the type potentially not being an array.
Configuration menu - View commit details
-
Copy full SHA for 7e02306 - Browse repository at this point
Copy the full SHA 7e02306View commit details
Commits on Mar 28, 2021
-
Merge pull request #552 from redpwn/refactor/array-index
refactor(server): clean up getting array element types
Configuration menu - View commit details
-
Copy full SHA for c04a945 - Browse repository at this point
Copy the full SHA c04a945View commit details -
build(deps): batch dependency upgrade (incomplete)
Batch upgrade dependencies and fix a few low-hanging-fruit issues (mostly types related). Major upgrade to webpack 5 (storybook currently broken as a result).
Configuration menu - View commit details
-
Copy full SHA for e665e4d - Browse repository at this point
Copy the full SHA e665e4dView commit details -
build(client): webpack config improvements
Load preact/debug automatically, and add some other small improvements.
Configuration menu - View commit details
-
Copy full SHA for 1aceeba - Browse repository at this point
Copy the full SHA 1aceebaView commit details -
build(client): add size-plugin
Add size-plugin in production builds with writing to file disabled.
Configuration menu - View commit details
-
Copy full SHA for 1e4ec09 - Browse repository at this point
Copy the full SHA 1e4ec09View commit details -
fix(client): fix jest config for new jsx runtime
Make sure new runtime entrypoints are properly aliased, and remove redundant / now unused global definitions.
Configuration menu - View commit details
-
Copy full SHA for a6a0611 - Browse repository at this point
Copy the full SHA a6a0611View commit details -
build(client): initial sb6.2/builder-webpack5 migration
Migrate to storybook 6.2 beta with webpack 5 builder.
Configuration menu - View commit details
-
Copy full SHA for 9100cd1 - Browse repository at this point
Copy the full SHA 9100cd1View commit details -
build(client): fix SB emotion conflicts
Storybook uses emotion v10 while theme-ui uses v11, causing conflicts (see system-ui/theme-ui#1530). Work around this by aliasing emotion packages to the v11 equivalents inside storybook's manager.
Configuration menu - View commit details
-
Copy full SHA for b3aedfc - Browse repository at this point
Copy the full SHA b3aedfcView commit details -
fix(client): update Card for theme-ui 0.6
Update tests to test when running theme-ui both with and without CSS variables, update Card to use functional form of ThemeProvider theme and also update `rawColors` accordingly when theme-ui is running with CSS variables.
Configuration menu - View commit details
-
Copy full SHA for 3ec9d47 - Browse repository at this point
Copy the full SHA 3ec9d47View commit details -
test(client): remove storyshots due to bad output
Currently the effort of maintaining storyshots snapshots is not worth the benefit they give due to the low quality of the snapshots produced from Preact (shallow rendering often doesn't render the important parts, and internal props from various libraries tend to leak out; using enzyme and emotion's seralizer has a whole other set of issues including no top-level fragments and implementation detail leakage; hooks at the top level in the story function seem to crash all test renderers). Remove storyshots entirely for now.
Configuration menu - View commit details
-
Copy full SHA for ff6c56f - Browse repository at this point
Copy the full SHA ff6c56fView commit details -
build(deps): remove unnecessary @types/history
We used to have an outdated @types/history to prevent hoisting of the dep on @types/history from @types/reach__router (see commit f29c931); however, now @types/reach__router does not depend on @types/history, so we can safely remove it without breaking type resolution for `history` proper.
Configuration menu - View commit details
-
Copy full SHA for c9c6ea1 - Browse repository at this point
Copy the full SHA c9c6ea1View commit details -
Configuration menu - View commit details
-
Copy full SHA for 60be0ed - Browse repository at this point
Copy the full SHA 60be0edView commit details -
fix(api-types): make sure schemas are not modified by compiler
json-schema-to-typescript seems to mutate the schema it's compiling, so clone it before passing it to the `compile()` function to ensure nothing on the original gets modified. This fixes `id` properties mysteriously showing up.
Configuration menu - View commit details
-
Copy full SHA for eb667ce - Browse repository at this point
Copy the full SHA eb667ceView commit details
Commits on Mar 29, 2021
-
fix(deps): add missing dep from server to @rctf/api-types
Also remove empty `dependencies` in root package.json
Configuration menu - View commit details
-
Copy full SHA for 0e66f7e - Browse repository at this point
Copy the full SHA 0e66f7eView commit details -
Merge pull request #559 from redpwn/dependencies/batch
batch dependency upgrade + related fixes
Configuration menu - View commit details
-
Copy full SHA for 4594c42 - Browse repository at this point
Copy the full SHA 4594c42View commit details
Commits on May 9, 2021
-
build(deps): upgrade to yarn 2
No package version changes, only Yarn 2 migration (without pnp)
Configuration menu - View commit details
-
Copy full SHA for 66e57e1 - Browse repository at this point
Copy the full SHA 66e57e1View commit details -
build(deps): upgrade most deps
A few majors held back for another commit, Prettier re-run; theme-ui was upgraded with a breaking deprecation that will be fixed in the next commit.
Configuration menu - View commit details
-
Copy full SHA for 72a1577 - Browse repository at this point
Copy the full SHA 72a1577View commit details -
test(client): update deprecated theme-ui key
`useCustomProperties` is now under `theme.config`.
Configuration menu - View commit details
-
Copy full SHA for e67f2e6 - Browse repository at this point
Copy the full SHA e67f2e6View commit details
Commits on May 10, 2021
-
build: update tooling for yarn 2
Fix CI and Docker build to use yarn 2 commands, run `yarn dedupe` on pre-commit and CI, and update a few more configs for yarn 2 paths and conventions.
Configuration menu - View commit details
-
Copy full SHA for c348869 - Browse repository at this point
Copy the full SHA c348869View commit details -
chore: update git config for yarn 2
Disable diffs and auto merging on vendored yarn code, disable diffs on yarn.lock, and remove .yarn/sdks from repo.
Configuration menu - View commit details
-
Copy full SHA for b4eaf41 - Browse repository at this point
Copy the full SHA b4eaf41View commit details -
fix(server): sync request serializer with upstream
Merge in changes to Fastify request log serializer from upstream Fastify. This fixes a deprecation warning.
Configuration menu - View commit details
-
Copy full SHA for 4682e1e - Browse repository at this point
Copy the full SHA 4682e1eView commit details -
test(client): use
screen
queriesInstead of using the object returned by `render`, query using the global `screen` as recommended by Kent C. Dodds. https://kentcdodds.com/blog/common-mistakes-with-react-testing-library#not-using-screen
Configuration menu - View commit details
-
Copy full SHA for f2623b1 - Browse repository at this point
Copy the full SHA f2623b1View commit details -
test(client): use getBy* when target is expected to exist
Since the `getBy*` functions throw when they cannot find an element, prefer them for querying for elements that should exist (except when the test is explicitly for whether or not the element exists). This removes most of the null checks in the test code.
Configuration menu - View commit details
-
Copy full SHA for a8318fc - Browse repository at this point
Copy the full SHA a8318fcView commit details -
Since yarn 2 uses an internal shell parser[1] which supports environment variables, we no longer need to use cross-env for cross-platform environment variable setting. [1]: https://github.com/yarnpkg/berry/tree/%40yarnpkg/shell%2F2.4.1/packages/yarnpkg-shell
Configuration menu - View commit details
-
Copy full SHA for 4e693ba - Browse repository at this point
Copy the full SHA 4e693baView commit details -
Configuration menu - View commit details
-
Copy full SHA for 35c8258 - Browse repository at this point
Copy the full SHA 35c8258View commit details -
Configuration menu - View commit details
-
Copy full SHA for de549a1 - Browse repository at this point
Copy the full SHA de549a1View commit details -
Configuration menu - View commit details
-
Copy full SHA for 1c9b6f2 - Browse repository at this point
Copy the full SHA 1c9b6f2View commit details -
build(docker): docker build bugfixes
Fix .yarn being included twice, add dockerignore entries for yarn to hopefully prevent some churn (using the ignore list recommended for PnP zero-install).
Configuration menu - View commit details
-
Copy full SHA for f5e28fe - Browse repository at this point
Copy the full SHA f5e28feView commit details -
refactor(server): derive handler type off of FastifyInstance
When casting the handler functions exported from individual routes, derive the target type by inspecting the `route` method of the FastifyInstance we are registering them on. Since we adjust the instance type to better match `http.Server`, this fixes a type mismatch that appears when compiling on some platforms when trying to register the handlers.
Configuration menu - View commit details
-
Copy full SHA for b0c5d50 - Browse repository at this point
Copy the full SHA b0c5d50View commit details -
Merge pull request #566 from redpwn/dependencies/yarn-2-batch
migrate to yarn 2 + batch dependency upgrade
Configuration menu - View commit details
-
Copy full SHA for d5b7219 - Browse repository at this point
Copy the full SHA d5b7219View commit details
Commits on May 27, 2021
-
Configuration menu - View commit details
-
Copy full SHA for 1a144b1 - Browse repository at this point
Copy the full SHA 1a144b1View commit details -
Configuration menu - View commit details
-
Copy full SHA for bd66c14 - Browse repository at this point
Copy the full SHA bd66c14View commit details -
Configuration menu - View commit details
-
Copy full SHA for 105c1f7 - Browse repository at this point
Copy the full SHA 105c1f7View commit details -
Configuration menu - View commit details
-
Copy full SHA for ee7433c - Browse repository at this point
Copy the full SHA ee7433cView commit details -
feat(server): rank users with only tiebreakEligible: false
Break ties between users with solves on challenges not marked `tiebreakEligible: false` the same, but also rank users with only solves on challenges marked `tiebreakEligible: false` via solve times on those challenges. This does not change existing rankings, but adds users with only solves on these challenges to the leaderboard as well. Co-authored-by: Philip Papurt <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 6ea38c0 - Browse repository at this point
Copy the full SHA 6ea38c0View commit details -
refactor(server): hide leaderboard intermediate info
Remove intermediate calculation bookkeeping data from the types returned out of the leaderboard worker. This change also strips the data from the objects, resulting in the creation of a new JS object per leaderboard entry, but keeps snapshots cleaner. We may wish to consider doing this in only snapshot serialization in the future.
Configuration menu - View commit details
-
Copy full SHA for 459e651 - Browse repository at this point
Copy the full SHA 459e651View commit details -
refactor(server): leverage narrowing on cache typing
Small refactor of implementation of leaderboard cache `getRange` to leverage type narrowing on the range parameters to eliminate a pair of casts. Also restrict the `all` parameter to `true` only.
Configuration menu - View commit details
-
Copy full SHA for edd3fda - Browse repository at this point
Copy the full SHA edd3fdaView commit details
Commits on Jun 3, 2021
-
Merge pull request #572 from redpwn/chore/cherrypick-master
chore: cherry-pick changes from master
Configuration menu - View commit details
-
Copy full SHA for f07ce6f - Browse repository at this point
Copy the full SHA f07ce6fView commit details -
Configuration menu - View commit details
-
Copy full SHA for 0340e71 - Browse repository at this point
Copy the full SHA 0340e71View commit details -
Configuration menu - View commit details
-
Copy full SHA for c7177be - Browse repository at this point
Copy the full SHA c7177beView commit details -
Merge pull request #574 from redpwn/refactor/improve-cache-typing
refactor(server): leverage narrowing on cache typing
Configuration menu - View commit details
-
Copy full SHA for a0db61c - Browse repository at this point
Copy the full SHA a0db61cView commit details -
Configuration menu - View commit details
-
Copy full SHA for 7073b67 - Browse repository at this point
Copy the full SHA 7073b67View commit details -
Configuration menu - View commit details
-
Copy full SHA for 8f9a369 - Browse repository at this point
Copy the full SHA 8f9a369View commit details -
Merge pull request #573 from redpwn/chore/backport-543
chore: backport ranking users with only tiebreakEligible: false
Configuration menu - View commit details
-
Copy full SHA for 57cfb66 - Browse repository at this point
Copy the full SHA 57cfb66View commit details
Commits on Jun 16, 2021
-
refactor(server): remove cast for now-fixed fastify bug
`fastify-static`'s types have been fixed, making the previous cast unnecessary now; remove it.
Configuration menu - View commit details
-
Copy full SHA for d2bcc01 - Browse repository at this point
Copy the full SHA d2bcc01View commit details
Commits on Oct 30, 2021
-
test(server): fix test config endTime being in past
Previously `endTime` was set to 2021-06-10, which is now in the past and causing tests regarding flag submission to fail since the CTF is now closed. Year 3000 should be good enough right?
Configuration menu - View commit details
-
Copy full SHA for eedd1e8 - Browse repository at this point
Copy the full SHA eedd1e8View commit details