tdurieux and Claude Fable 5.1
8e9b5b9a45
feat: make the dashboard readable at a glance
...
The dashboard showed the anonymize date under "Expired", a dash in the
Expires column for 54 of 60 rows, raw status codes such as
branch_not_found, and a chip reading "REMOVED" that actually meant
"removed items are hidden". Muted text sat at 3.5:1 contrast, keyboard
focus was invisible, numbers were left-aligned, and a legacy record
without an identifier rendered as an empty link to /pr/undefined/.
This rewrites the dashboard template and controller and tightens the
theme tokens:
- Status sub-line is labelled ("anonymized on Sep 6, 2026"); Expires
shows Never, the date, or "Expired on <date>".
- Conference folded into the name cell as a tag; Views right-aligned;
every column header is a keyboard-sortable button with aria-sort.
- Sort/Status buttons show their state; chips read "Hiding Removed";
result count and Clear filters; empty state with a way out.
- Status filter covers Ready, In progress, Error, Expired, Removed.
Stuck downloads say so; codes map to sentences; statuses to labels.
- Lists load in parallel and merge once behind a skeleton; broken
records are flagged instead of linking nowhere.
- Actions menu: View, View page, Edit, Force update, divider, Remove,
all as buttons rather than href="#" anchors.
- Theme: warm dark canvas, muted text >= 4.5:1 in both modes, semantic
status tokens, 11/13/14/16px type scale, mono only for identifiers,
6px/10px/pill radii, :focus-visible ring, quota bars in ink until a
limit is near, unlimited shown as such.
- Mobile: no 9px text, filter row wraps in two lines, meta on one line.
Adds scripts/dev-mock.js to serve the dashboard with fixture data and
test/dashboard-ui.test.js covering the filters, template invariants and
token contrast.
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com >
2026-09-08 20:20:17 +02:00
tdurieux
9f00641529
fix: preserve the year in default conference end dates
2026-09-06 10:47:59 +02:00
tdurieux
681f72f75c
fix: inject the translator for profile save errors
2026-09-06 10:47:53 +02:00
tdurieux
793e926463
fix: cancel status polling when the view is destroyed
2026-09-06 10:47:47 +02:00
tdurieux
cac76ad7b6
fix: select the PR diff tab after content loads
2026-09-06 10:47:32 +02:00
tdurieux
5c6e5b6519
fix: anonymize PR comment authors and bodies in previews
2026-09-06 10:47:26 +02:00
tdurieux
66e4be0a0c
fix: reload PR and Gist views when resource IDs change
2026-09-06 10:47:20 +02:00
tdurieux
a6e17e18d9
fix: clear failed searches without racing subsequent requests
2026-09-06 10:47:09 +02:00
tdurieux
a27f9f34d6
fix: reload explorer state when repository identity changes
2026-09-06 10:47:03 +02:00
tdurieux
b6c0d3a8ed
fix: ignore stale file responses after viewer navigation
2026-09-06 10:46:57 +02:00
tdurieux
b2dfda1838
fix: sanitize Org previews before trusting rendered HTML
2026-09-06 10:46:44 +02:00
tdurieux
cf58aa330b
fix: handle prototype property names in repository trees
2026-09-06 10:46:38 +02:00
tdurieux
d793d2c7c6
fix: bind file tree names without compiling repository content
2026-09-06 10:46:32 +02:00
tdurieux
b070d7e281
fix: evaluate document creation timestamps per instance
2026-09-06 09:19:33 +02:00
tdurieux
f312105ec3
fix: fetch private pull request diffs through authenticated API
2026-09-06 09:19:28 +02:00
tdurieux
4aecc1d92f
fix: fetch complete content for truncated Gist files
2026-09-06 09:19:23 +02:00
tdurieux
b1cb9093bb
fix: close streaming responses after upstream errors
2026-09-06 09:19:18 +02:00
tdurieux
38a09188ad
fix: expire conference repositories before completing expiration
2026-09-06 09:18:42 +02:00
tdurieux
6777537d44
fix: restrict S3 deletion to exact keys and descendants
2026-09-06 09:18:37 +02:00
tdurieux
5e84bfaa5b
fix: surface partial S3 object deletion failures
2026-09-06 09:18:32 +02:00
tdurieux
4643e9f838
fix: preserve and anonymize truncated folder warnings
2026-09-06 09:18:28 +02:00
tdurieux
8d2921b406
fix: respect backpressure when resolving Git LFS pointers
2026-09-06 09:18:24 +02:00
tdurieux
9c18526d52
fix: decode and validate webview file paths
2026-09-06 09:17:56 +02:00
tdurieux
67eb83674c
fix: sandbox repository webview documents
2026-09-06 09:17:52 +02:00
tdurieux
3e275311f1
fix: derive file ETags from current source content
2026-09-06 09:17:47 +02:00
tdurieux
c14a548cb9
fix: enforce content policies using original file types
2026-09-06 09:17:42 +02:00
tdurieux
7210db2b61
fix: catch authentication failures in async route handlers
2026-09-06 09:17:37 +02:00
tdurieux
11eb160d2b
fix: prevent stale downloads from reviving removed repositories
2026-09-06 09:17:33 +02:00
tdurieux
2af66cd1b6
fix: authorize coauthors by stable GitHub identity
2026-09-06 09:17:01 +02:00
tdurieux
8ec656c201
fix: authorize access before returning cached GitHub metadata
2026-09-06 09:16:57 +02:00
tdurieux
a401bb21d6
fix: reject OAuth linking across different GitHub identities
2026-09-06 09:16:53 +02:00
tdurieux
50d606d0c1
fix: bound regex execution during anonymization
2026-09-06 09:16:48 +02:00
tdurieux
b3f86513dd
fix: prevent anonymization leaks across stream boundaries
2026-09-06 09:16:44 +02:00
tdurieux
900516f225
fix: omit source content length for rewritten file responses
2026-09-06 09:16:23 +02:00
tdurieux
12c07641e0
fix: persist and recover repository removals for banned owners
2026-09-06 09:16:20 +02:00
tdurieux
f5f44c2511
fix: preserve removal intent when Redis enqueue fails
2026-09-06 09:16:17 +02:00
tdurieux
12b0bb52c0
fix: ignore stale removal jobs after repository restoration
2026-09-06 09:16:13 +02:00
dependabot[bot]
f18d2de93c
chore(deps-dev): bump @humanfs/node from 0.16.7 to 0.16.8 ( #795 )
...
Bumps [@humanfs/node](https://github.com/humanwhocodes/humanfs/tree/HEAD/packages/node ) from 0.16.7 to 0.16.8.
- [Release notes](https://github.com/humanwhocodes/humanfs/releases )
- [Changelog](https://github.com/humanwhocodes/humanfs/blob/main/packages/node/CHANGELOG.md )
- [Commits](https://github.com/humanwhocodes/humanfs/commits/node-v0.16.8/packages/node )
---
updated-dependencies:
- dependency-name: "@humanfs/node"
dependency-version: 0.16.8
dependency-type: indirect
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-09-03 05:00:33 +02:00
dependabot[bot]
75ce46b70e
chore(deps): bump serialize-javascript and mocha ( #794 )
...
Bumps [serialize-javascript](https://github.com/yahoo/serialize-javascript ) to 7.1.1 and updates ancestor dependency [mocha](https://github.com/mochajs/mocha ). These dependencies need to be updated together.
Updates `serialize-javascript` from 6.0.2 to 7.1.1
- [Release notes](https://github.com/yahoo/serialize-javascript/releases )
- [Commits](https://github.com/yahoo/serialize-javascript/compare/v6.0.2...v7.1.1 )
Updates `mocha` from 10.8.2 to 12.0.0
- [Release notes](https://github.com/mochajs/mocha/releases )
- [Changelog](https://github.com/mochajs/mocha/blob/main/CHANGELOG.md )
- [Commits](https://github.com/mochajs/mocha/compare/v10.8.2...v12.0.0 )
---
updated-dependencies:
- dependency-name: serialize-javascript
dependency-version: 7.1.1
dependency-type: indirect
- dependency-name: mocha
dependency-version: 12.0.0
dependency-type: direct:development
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-09-02 07:30:19 +02:00
dependabot[bot]
6b27578006
chore(deps): bump sanitize-html from 2.17.5 to 2.17.7 ( #793 )
...
Bumps [sanitize-html](https://github.com/apostrophecms/apostrophe/tree/HEAD/packages/sanitize-html ) from 2.17.5 to 2.17.7.
- [Changelog](https://github.com/apostrophecms/apostrophe/blob/main/packages/sanitize-html/CHANGELOG.md )
- [Commits](https://github.com/apostrophecms/apostrophe/commits/HEAD/packages/sanitize-html )
---
updated-dependencies:
- dependency-name: sanitize-html
dependency-version: 2.17.7
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-09-02 07:15:41 +02:00
Archit Rastogi
420fa9e450
fix: clip overflowing conference link in dashboard table ( #790 )
...
The Conference cell is a grid item with the default min-width:auto,
so a long unbroken URL forces the grid track wider than its
minmax(140px, 1fr) size and bleeds visually into the Status column.
Clip it with overflow:hidden/ellipsis and expose the full value via
a title attribute.
2026-08-26 21:47:23 +02:00
dependabot[bot]
7298f5cd76
chore(deps): bump brace-expansion ( #786 )
...
Bumps and [brace-expansion](https://github.com/juliangruber/brace-expansion ). These dependencies needed to be updated together.
Updates `brace-expansion` from 1.1.14 to 1.1.18
- [Release notes](https://github.com/juliangruber/brace-expansion/releases )
- [Commits](https://github.com/juliangruber/brace-expansion/compare/v1.1.14...v1.1.18 )
Updates `brace-expansion` from 2.1.0 to 2.1.4
- [Release notes](https://github.com/juliangruber/brace-expansion/releases )
- [Commits](https://github.com/juliangruber/brace-expansion/compare/v1.1.14...v1.1.18 )
Updates `brace-expansion` from 5.0.5 to 5.0.9
- [Release notes](https://github.com/juliangruber/brace-expansion/releases )
- [Commits](https://github.com/juliangruber/brace-expansion/compare/v1.1.14...v1.1.18 )
---
updated-dependencies:
- dependency-name: brace-expansion
dependency-version: 1.1.18
dependency-type: indirect
- dependency-name: brace-expansion
dependency-version: 2.1.4
dependency-type: indirect
- dependency-name: brace-expansion
dependency-version: 5.0.9
dependency-type: indirect
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-08-21 09:41:03 +02:00
Thomas Durieux
74ed0c6d51
fix: keep route overflow out of the page body ( #785 )
2026-08-20 14:52:45 +02:00
Thomas Durieux
adb0dcaec2
fix: reactivate removed repositories after edits ( #784 )
2026-08-20 14:33:09 +02:00
Thomas Durieux
7b585fdefd
Fix BullMQ removal processor arguments ( #783 )
2026-08-20 14:23:21 +02:00
Thomas Durieux
35c3b1804b
Fix repository cleanup after removal and expiration ( #782 )
2026-08-20 12:52:19 +02:00
Thomas Durieux
46e956a779
fix: reactivate repositories with future expiration ( #781 )
2026-08-20 12:29:52 +02:00
Thomas Durieux
7aa9557905
perf: cut MongoDB scans in repository workflows ( #780 )
...
* Add repository name index
* Optimize repository file counts
* Optimize MongoDB query workloads
2026-08-20 12:29:26 +02:00
dependabot[bot]
a30457993d
chore(deps-dev): bump js-yaml from 4.2.0 to 4.3.1 ( #772 )
...
Bumps [js-yaml](https://github.com/nodeca/js-yaml ) from 4.2.0 to 4.3.1.
- [Changelog](https://github.com/nodeca/js-yaml/blob/4.3.1/CHANGELOG.md )
- [Commits](https://github.com/nodeca/js-yaml/compare/4.2.0...4.3.1 )
---
updated-dependencies:
- dependency-name: js-yaml
dependency-version: 4.3.1
dependency-type: indirect
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-08-11 00:03:20 +02:00
dependabot[bot]
d53aba129e
chore(deps): bump sanitize-html from 2.17.4 to 2.17.5 ( #767 )
...
Bumps [sanitize-html](https://github.com/apostrophecms/apostrophe/tree/HEAD/packages/sanitize-html ) from 2.17.4 to 2.17.5.
- [Changelog](https://github.com/apostrophecms/apostrophe/blob/main/packages/sanitize-html/CHANGELOG.md )
- [Commits](https://github.com/apostrophecms/apostrophe/commits/sanitize-html@2.17.5/packages/sanitize-html )
---
updated-dependencies:
- dependency-name: sanitize-html
dependency-version: 2.17.5
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-08-07 00:08:30 +02:00