812b895507Merge pull request 'refactor(server): split admin posts, uploads, wiki and pages into capability routers (PR 3)' (#104) from refactor/admin-router-split-3 into mainColby Whitlock2026-07-28 00:36:27 +00:00
00ad16858arefactor(server): split admin posts, uploads, wiki and pages into capability routerswtclaude2026-07-27 19:24:07 -05:00
493843241eMerge pull request 'refactor(server): split admin moderation, bot-activity and activity into capability routers (PR 2)' (#103) from refactor/admin-router-split-2 into mainColby Whitlock2026-07-28 00:12:02 +00:00
bd53a0b8a4refactor(server): split admin moderation, bot-activity and activity into capability routerswtclaude2026-07-27 18:53:15 -05:00
0e11e28ccaMerge pull request 'build(swagger): normalize and sort generated OpenAPI path keys' (#101) from build/swagger-normalize-paths into mainColby Whitlock2026-07-27 21:00:57 +00:00
f7c98b8ba3Merge pull request 'refactor(server): split admin users, account, invites and auth providers into capability routers' (#102) from refactor/admin-router-split-1 into build/swagger-normalize-pathsColby Whitlock2026-07-27 21:00:03 +00:00
8ad892725frefactor(server): split admin users, account, invites and auth providers into capability routerswtclaude2026-07-27 15:54:00 -05:00
1a61cd1638build(swagger): normalize and sort generated OpenAPI path keyswtclaude2026-07-27 15:49:31 -05:00
0dc5af0d8bMerge pull request 'feat(security): soak the tightened CSP on report-only, with a same-origin sink' (#100) from feature/csp-report-only into mainColby Whitlock2026-07-27 20:31:31 +00:00
9b74999610feat(security): soak the tightened CSP on report-only, with a same-origin sinkwtclaude2026-07-27 15:19:26 -05:00
49b70ee04dMerge pull request 'chore(server): freeze the URL surface with a generated route manifest (PR 0)' (#99) from chore/route-manifest into mainColby Whitlock2026-07-27 20:07:29 +00:00
1079b3fc05chore(server): freeze the URL surface with a generated route manifestwtclaude2026-07-27 14:55:38 -05:00
cbe54fcc91Merge pull request 'ci(docs): auto-sync PROJECT_TREE.md to the docs repo on push to main' (#98) from chore/sync-project-tree-ci into mainColby Whitlock2026-07-22 21:31:48 +00:00
9f9bcc6f6eci(docs): auto-sync PROJECT_TREE.md to the docs repo on push to mainwtclaude2026-07-22 16:21:22 -05:00
ebfae765d9Merge pull request 'fix(moderation): windowValue must not fall back to the 30d total on a null column' (#97) from fix/window-value-null-column into mainColby Whitlock2026-07-22 18:15:46 +00:00
c075ab981cfix(moderation): windowValue must not fall back to the 30d total on a null columnwtclaude2026-07-22 13:14:02 -05:00
bcdba4ce0aMerge pull request 'fix(admin): restore digit match in discordId route validation' (#96) from fix/discord-id-validation-regex into mainColby Whitlock2026-07-22 18:11:42 +00:00
e08c0c9736fix(admin): restore digit match in discordId route validationwtclaude2026-07-22 13:01:12 -05:00
5fe7032567Merge pull request 'fix(ntfy): publish ntfy host port so the external reverse proxy can reach it' (#95) from fix/ntfy-published-port into mainColby Whitlock2026-07-22 09:08:13 +00:00
4151f7d44efix(ntfy): publish ntfy host port so the external reverse proxy can reach itwtclaude2026-07-22 03:57:32 -05:00
4f1a4902e8Merge pull request 'fix(player): open the player self-service surface to staff' (#94) from fix/staff-player-self-service into mainColby Whitlock2026-07-22 08:36:13 +00:00
14dfc122bafix(player): open the player self-service surface to staffwtclaude2026-07-22 02:17:29 -05:00
514bc9d23cMerge pull request 'feat(auth): trusted devices, recovery codes, and admin MFA management' (#93) from feature/trusted-devices-mfa into mainColby Whitlock2026-07-22 05:09:04 +00:00
4c13706958Merge pull request 'chore(dev): stub OAuth IdP tooling for local mobile SSO testing' (#91) from feat/m10-native-sso-fix into mainColby Whitlock2026-07-21 21:42:57 +00:00
2306545574chore(dev): add viewport meta to the stub IdP picker pagewtclaude2026-07-21 16:28:46 -05:00
1edef8e6dbMerge pull request 'fix(footer): point Shard Status link to /site/shard' (#90) from fix/footer-shard-status-link into mainColby Whitlock2026-07-21 19:10:48 +00:00
dc90df9ffffix(footer): point Shard Status link to /site/shardwtclaude2026-07-21 14:09:47 -05:00
68126efc0bMerge pull request 'refactor(server): dedupe shard-state shaping, upsert builder, and config DB models' (#89) from refactor/dedupe-shardstate-config-db into mainColby Whitlock2026-07-21 17:49:31 +00:00
401db8f75crefactor(server): dedupe shard-state shaping, upsert builder, and config DB modelswtclaude2026-07-21 12:35:39 -05:00
9b0f2d93d8Merge pull request 'chore(quality): resolve SonarQube code smells across website' (#88) from chore/sonar-code-smells into mainColby Whitlock2026-07-21 14:27:56 +00:00
12d50fd615chore(quality): resolve SonarQube code smells across websitewtclaude2026-07-21 04:35:39 -05:00
4993470fa2Merge pull request 'ci(sonarqube): populate the "Unit Tests" measure via a test-execution report' (#87) from ci/sonar-test-execution-report into mainColby Whitlock2026-07-21 06:26:40 +00:00
2f3e8f7df5ci(sonarqube): report test execution so the Unit Tests measure populateswtclaude2026-07-21 01:12:51 -05:00
68a4e9295bMerge pull request 'test: meaningful unit tests for server models/controllers + client logic' (#86) from test/coverage-meaningful-gaps into mainColby Whitlock2026-07-21 05:55:46 +00:00
886a504152test(client): unit-test the pure-logic modules + wire coverage into CI/Sonarwtclaude2026-07-21 00:38:53 -05:00
35e5269ec5test(server): unit-test auth, invite, password-reset, and public controllerswtclaude2026-07-21 00:33:01 -05:00
99fd9acddbtest(server): unit-test pages, shardState, and moderation model logicwtclaude2026-07-21 00:26:01 -05:00
b474303052Merge pull request 'ci(sonarqube): generate and report server test coverage' (#85) from ci/sonar-test-coverage into mainColby Whitlock2026-07-21 04:57:06 +00:00
e515fc0c9dci(sonarqube): generate and report server test coveragewtclaude2026-07-20 23:46:44 -05:00
c73273f1bcMerge pull request 'fix(security): add SPA CSP, drop x-powered-by, strengthen dedupe hash' (#84) from fix/security-headers-csp into mainColby Whitlock2026-07-21 04:13:41 +00:00
82bf2c972cMerge pull request 'ci(sonarqube): non-blocking SonarQube analysis on push to main' (#83) from ci/sonarqube-analysis into mainColby Whitlock2026-07-21 02:54:14 +00:00
c54bb54834ci(sonarqube): add non-blocking SonarQube analysis on push to mainwtclaude2026-07-20 21:43:00 -05:00
86420661b5Merge pull request 'fix(db): strip inline -- comments before splitting schema statements' (#82) from fix/schema-loader-inline-comment-split into mainColby Whitlock2026-07-21 00:31:13 +00:00
d37c3a46a9Merge pull request 'feat(auth): native SSO authorization bridge for the Android app (M9 Part 1)' (#80) from feature/mobile-sso-bridge into mainColby Whitlock2026-07-20 22:27:22 +00:00
e3dd5358b6feat(auth): Active Devices — view/revoke mobile sessionswtclaude2026-07-20 17:01:47 -05:00
61f4591a6bfeat(auth): native SSO authorization bridge for the Android appwtclaude2026-07-20 16:55:06 -05:00
31b72859ceMerge pull request 'feat(settings): surface push.ntfyUrl in /public/settings for the app' (#79) from feat/settings-push-ntfy-url into mainColby Whitlock2026-07-20 20:55:56 +00:00
a789ee3ac9feat(settings): surface push.ntfyUrl in /public/settings for the appwtclaude2026-07-20 15:25:40 -05:00
4fa73d3ccfMerge pull request 'feat(push): M7 backend — opt-in push notifications via self-hosted ntfy' (#78) from feat/push-notifications-backend into mainColby Whitlock2026-07-20 15:27:59 +00:00
896773b8a5Merge pull request 'Moderation appeals (Phase 6c) + Discord auto-reversal (Phase 6d)' (#74) from feature/moderation-appeals into mainColby Whitlock2026-07-19 05:18:18 +00:00
60e6a60842Merge branch 'main' into feature/moderation-appealsColby Whitlock2026-07-19 03:49:39 +00:00
9ac1f35fa0Merge pull request 'docs: generalize deployment section to any reverse proxy' (#73) from docs/reverse-proxy-generic into mainColby Whitlock2026-07-19 03:20:01 +00:00
5639117936Merge pull request 'fix(brand): link "Runic Gateway" footer badge to Gitea org' (#70) from fix/branding-footer-link into mainColby Whitlock2026-07-18 23:36:46 +00:00
50133155d6fix(brand): link "Runic Gateway" footer badge to Gitea orgClaude2026-07-18 18:16:51 -05:00
bdce23f9b6Merge pull request 'feat(brand): default emblem — favicon, hero medallion, footer credit' (#69) from feature/branding into mainColby Whitlock2026-07-18 22:20:27 +00:00