Commit Graph
851 Commits
Author SHA1 Message Date
Thomas Durieux 6c8aae6ca5 Merge commit 'refs/security-review/pr846' into HEAD 2026-10-08 16:28:53 +00:00
Thomas Durieux a269348bbb Merge commit 'refs/security-review/pr845' into HEAD 2026-10-08 16:28:53 +00:00
Thomas Durieux 1ea077bd77 Give the disposable MongoDB fixture room for its journal 2026-10-08 16:28:53 +00:00
Thomas Durieux c1d192cb7f Merge commit 'refs/security-review/pr846' into HEAD
# Conflicts:
#	public/script/main.js
2026-10-08 16:25:32 +00:00
Thomas Durieux 5e84a7e1a3 Merge commit 'refs/security-review/pr845' into HEAD 2026-10-08 16:25:01 +00:00
Thomas Durieux 243396515e Merge commit 'refs/security-review/pr844' into HEAD 2026-10-08 16:25:00 +00:00
Thomas Durieux 37a87a0fba Merge commit 'refs/security-review/pr843' into HEAD 2026-10-08 16:25:00 +00:00
Thomas Durieux c24f6d4e94 Revalidate consent sessions after request body upload 2026-10-08 16:24:40 +00:00
Thomas Durieux 9fa9838dea Merge remote-tracking branch 'origin/main' into HEAD 2026-10-08 16:24:40 +00:00
Thomas Durieux 51c779dffa fix: install native dependencies for the Docker runtime (#881) 2026-10-08 14:12:57 +01:00
Thomas Durieux 8b54456558 Merge pull request #879 from tdurieux/fix/ui-polish
fix: make the reviewer explorer readable and its errors legible
2026-10-08 14:55:13 +02:00
Thomas Durieux adfc855f95 Merge pull request #880 from tdurieux/feat/ui-refine
feat: give reviewers a clearer explorer and the UI one visual system
2026-10-08 14:53:07 +02:00
tdurieuxandClaude Opus 5.5 be2f979296 fix: keep redaction marks correct with custom masks, Prism and Mermaid
- The mask from /api/options is stored once loaded; code markers and
  rendered Markdown are refreshed when it arrives instead of keeping the
  XXXX default.
- Mermaid sources are left untouched so diagrams still parse.
- Fenced code blocks are marked from a Prism complete hook, after Prism
  has rewritten their HTML.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-08 14:46:13 +02:00
tdurieuxandClaude Opus 5.5 80944954d6 fix: bring the admin pages in line with the rest of the app
- Overview: error-volume bars render (the fills were inline spans), the
  cumulative users chart is scaled to its range and labels it, latencies
  over a second read in seconds, and charts and daily numbers use the
  accent instead of four unrelated colours.
- Labels, table headers and state chips drop the mono caps; queue stat
  values drop the serif.
- Error rows keep their content aligned; row metadata wraps instead of
  truncating every item; "1 term" is singular.
- Errors filter uses the shared segmented control; breadcrumbs include
  Admin; user detail spaces its status and actions, uses the accent for
  Generate and says when no access token is stored.
- The jobs table scrolls inside its card on phones.
- Mock server: admin fixtures for every admin endpoint (ADMIN=1).

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-10-08 14:46:03 +02:00
tdurieuxandClaude Opus 5.5 cfd7b73de4 fix: send queue job payloads to the admin page as objects
BullMQ's asJSON() stringifies data, failedReason, stacktrace and
returnvalue. The Queues page reads them as objects, so payload repo IDs
never showed, failure reasons kept their JSON quotes, and a stack trace
rendered one block per character.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-10-08 14:46:01 +02:00
tdurieuxandClaude Opus 5.5 fd1bce74b4 fix: clean up the admin queue controls
The range picker drew a border around every segment inside the group's
border, and Drain used a filled pill that made the most destructive
action the loudest. Segments are now borderless inside one outline with
a tinted selection, all header controls share one height, and Drain and
Clear all use a red outline. Queue labels drop the mono caps. ADMIN=1
signs the mock server in as an administrator.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-10-08 14:46:01 +02:00
tdurieuxandClaude Opus 5.5 57412d0610 feat: refine the reviewer explorer and the visual system
- Explorer: redacted terms are highlighted in Markdown and code, the
  sidebar shows when the link expires, "Download repository" is the one
  primary action, and signed-out reviewers get a header without Sign in
  or the source-code link.
- Status: a ready anonymization leads with a copyable share link; the
  support links sit flat inside their section.
- One primary colour (accent) for actions and progress; mono is kept for
  IDs, hashes and paths; settings are plain sections instead of cards.
- Font sizes snap to one scale (10-40px); rem values keep following the
  reader's browser font size.
- Ko-fi button uses a dark surface in dark mode instead of a white pill.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-10-08 14:45:54 +02:00
tdurieuxandClaude Opus 5.5 e524fc4588 feat: expose a repository's expiration date to the explorer
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-10-08 14:45:45 +02:00
tdurieuxandClaude Opus 5.5 69f9029301 fix: address review on explorer actions, wrapping and breakpoints
- File-level errors keep the breadcrumb and repository actions; only
  repository-level failures (no file list) hide the bar.
- Code wrapping follows the viewport when it crosses 992px.
- Settings and FAQ tables of contents stack at the same breakpoint as
  their grids, so they no longer stay sticky over stacked content.
- The sign-in page keeps its 480px cap.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-08 14:45:41 +02:00
tdurieuxandClaude Opus 5.5 361f761f92 fix: tidy the phone layouts
- Wrap long code lines in the explorer below 992px; the declared
  useWrapMode option was never applied.
- Light editor and gutter use the page colour, like dark mode.
- New anonymization uses the same 18px inset as other pages.
- Settings, new conference and FAQ section links scroll in one row
  instead of wrapping under a lone underline.
- Page intros are no longer clamped to two lines.
- Status page actions stack full width without the anonymize form's
  sticky bar styling; dropdown labels no longer split apart.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-10-08 12:43:24 +02:00
tdurieuxandClaude Opus 5.5 f8b2ea38a1 fix: polish explorer, error states and page alignment
- Explorer: 13px code, page-coloured dark editor, padded Markdown with a
  readable width, full repository ID on hover, sidebar footer kept clear
  of the floating Ko-fi button.
- Explorer errors render as a card with links home and to the FAQ; the
  empty action bar and Raw/Download buttons are hidden.
- Unknown error codes show the generic message instead of the raw
  ERRORS.<code> key.
- All app pages share one content column; New anonymization starts at
  the top instead of floating mid-screen.
- Status page: spaced action buttons, aligned status pill, no second
  Ko-fi embed under the support cards.
- Claim placeholders; consistent notebook option on new conferences.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-10-08 12:36:15 +02:00
tdurieuxandClaude Opus 5.5 9d5dc2b229 chore: add explorer fixtures and varied stats history to the mock server
The mock now serves a small file tree, README and source file for
anonymous_github-C72C plus a missing-repo error, so explorer pages can
be reviewed without the live site. Stats history grows unevenly so the
landing sparklines show realistic bars.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-10-08 12:35:29 +02:00
Thomas Durieux 079bc8a762 Merge pull request #878 from tdurieux/chore/dependency-upgrades
chore(deps): upgrade dependencies and remove production vulnerabilities
2026-10-08 12:28:30 +02:00
Thomas Durieux fd0dd0adbd chore(deps): upgrade dependencies and remove production vulnerabilities 2026-10-08 10:21:00 +00:00
Thomas Durieux 9435a99b6c fix: prevent admin user crashes and match performance styling (#877) 2026-10-08 10:59:49 +01:00
Thomas Durieux a9760eab39 perf: avoid needless downloads and track request latency (#876)
* perf: avoid needless downloads and track request latency

* fix: correct request timing and monitoring revalidation
2026-10-08 10:38:33 +01:00
Thomas Durieux db966356ec fix: support gists through GitHub App login (#875)
* fix: prompt OAuth reconnection when gist credentials are rejected

* fix: support gist reads through GitHub App user grants

* test: adapt truncated gist regression to provider selection

* fix: address gist reconnect visibility and token renewal review

* fix: verify App authorization before revoking OAuth
2026-10-08 10:26:13 +01:00
Thomas Durieux 4fd31a59c8 fix: avoid timeouts for safe ZIP anonymization (#873) 2026-10-08 08:20:26 +01:00
Thomas Durieux 40c369641b fix: keep ZIP downloads flowing through compression (#872) 2026-10-08 04:31:52 +01:00
Thomas Durieux 6434337923 perf: bound request work and resource usage (#866)
* perf: bound request work and resource usage

* fix: address performance review regressions

* fix: guard content expiration and dashboard state

* fix: tolerate cache outages and retire derived paths

* fix: revalidate expiration claims and status pagination

* fix: retry interrupted repository metadata cleanup

* fix: retire obsolete content cache storage

* fix: activate tree metadata and recheck expiration claims

* fix: fence cache publication across expiration

* fix: recover staged trees and enforce cache lifecycle cleanup

* fix: prune expired transforms during database outages

* fix: finish conference removals and reload expiration candidates
2026-10-08 03:38:19 +01:00
Thomas Durieux 32722169a2 Merge pull request #865 from tdurieux/fix/dashboard-ui-consistency
fix: unify app styling and compact mobile project lists
2026-10-07 17:29:48 +02:00
Thomas Durieux a7e3826da7 fix: restore visible Ko-fi support across screen sizes 2026-10-07 15:02:53 +00:00
Thomas Durieux 282efdc16e fix: make dashboard UI consistent and compact on mobile 2026-10-07 14:54:49 +00:00
Thomas Durieux adc9dbd439 Merge pull request #863 from tdurieux/fix/editor-mode-fallback
fix: fall back to plain text for unsupported editor modes
2026-10-07 14:36:59 +02:00
Thomas Durieux 45153886e3 fix: derive editor modes from shipped assets for ES2020 browsers 2026-10-07 12:33:44 +00:00
Thomas Durieux 06717e364b Merge pull request #864 from tdurieux/fix/source-stream-error-logging
fix: distinguish upstream stream failures from storage errors
2026-10-07 14:28:13 +02:00
Thomas Durieux e5dac99598 fix: distinguish upstream stream failures from storage errors 2026-10-07 12:24:23 +00:00
Thomas Durieux 64ae393200 fix: fall back to plain text for unsupported editor modes 2026-10-07 12:24:21 +00:00
Thomas Durieux d68c9e6106 Merge pull request #861 from tdurieux/fix/app-reinstall-recovery
fix: reconnect resources after GitHub App reinstall
2026-10-07 14:05:24 +02:00
Thomas Durieux e268bce1c7 fix: recover stale pull requests and refresh renamed repository caches 2026-10-07 11:58:56 +00:00
Thomas Durieux ccccf07491 fix: save renamed source together with reconnected access 2026-10-07 11:41:48 +00:00
Thomas Durieux e6073941b9 fix: verify reconnects through supported GitHub routes and protect active jobs 2026-10-07 11:24:59 +00:00
Thomas Durieux 61a155fd2e Merge pull request #860 from tdurieux/fix/zip-proxy-errors
fix: abort ZIP responses when the streamer fails
2026-10-07 13:23:26 +02:00
Thomas Durieux dda4160560 Merge pull request #859 from tdurieux/fix/pdf-rendering-build
fix: preserve PDF.js rendering in asset builds
2026-10-07 13:23:23 +02:00
Thomas Durieux a7ae790640 fix: recover renamed repositories by ID and hide archived actions 2026-10-07 11:10:30 +00:00
Thomas Durieux 6c0d335e98 fix: let compressed proxy errors finish flushing 2026-10-07 11:09:04 +00:00
Thomas Durieux 37426d0c48 fix: validate PDF.js syntax before publishing assets 2026-10-07 11:09:03 +00:00
Thomas Durieux 2eff3fcd82 Merge pull request #862 from tdurieux/fix/anonymizer-large-files
perf: index anonymization terms before scanning large files
2026-10-07 13:07:10 +02:00
Thomas Durieux b50e6c4565 perf: index anonymization terms before scanning large files 2026-10-07 10:57:09 +00:00
Thomas Durieux 3140ad3c45 fix: reconnect resources after GitHub App reinstall 2026-10-07 10:34:55 +00:00