Commit Graph
888 Commits
Author SHA1 Message Date
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
Thomas Durieux f32b2c6eb7 fix: abort ZIP responses when the streamer fails 2026-10-07 10:34:43 +00:00
Thomas Durieux b72631bbbe fix: preserve PDF.js rendering in asset builds 2026-10-07 10:34:33 +00:00
Thomas Durieux 2fb4b8fabd Merge pull request #852 from tdurieux/fix/reconnect-recreated-repository
fix: reconnect anonymizations to recreated source repositories
2026-09-30 07:02:44 +02:00
Thomas Durieux d28799f234 fix: reconnect anonymizations to recreated source repositories 2026-09-29 23:09:51 +00:00
Thomas Durieux d3a8b4a8a7 Return artifact consent through registered POST callbacks 2026-09-27 15:59:36 +00:00
Thomas Durieux 09f94137cd Give the disposable MongoDB fixture room for its journal 2026-09-27 15:24:22 +00:00
Thomas Durieux 7fe60a89aa Add scoped completion exchange service transport 2026-09-27 15:18:49 +00:00
Thomas Durieux d909bf281b Exchange owner consent codes for immutable pending bindings 2026-09-27 15:06:14 +00:00
Thomas Durieux e4334bc9a7 Add isolated artifact owner consent page 2026-09-27 14:56:06 +00:00
Thomas Durieux 7b60979c96 Protect artifact consent HTTP requests with current sessions and CSRF 2026-09-27 14:36:46 +00:00
Thomas Durieux 5485f57e02 Retain session-bound artifact owner consent under current authority 2026-09-27 14:16:57 +00:00
Thomas Durieux b776ff7e5a Add bounded authenticated review intent HTTPS consumer 2026-09-27 13:50:20 +00:00
Thomas Durieux 83e8d45192 fix: close rejected artifact service requests before body draining 2026-09-27 13:13:04 +00:00
Thomas Durieux 31dfe0f604 Record clean-install upstream build and full test results 2026-09-27 13:03:02 +00:00
Thomas Durieux eaa84e3af5 Add optional authenticated review-service capabilities endpoint 2026-09-27 12:51:28 +00:00
Thomas Durieux c5fe95ea0e Merge pull request #842 from tdurieux/fix/repository-refresh-concurrency
fix: serialize repository refreshes and recover stale downloads
2026-09-27 08:45:15 +02:00
Thomas Durieux 083544bf68 fix: preserve active downloads and atomically prepare refreshed snapshots 2026-09-27 06:41:39 +00:00