Commit Graph
824 Commits
Author SHA1 Message Date
Thomas DurieuxandClaude Opus 5.5 579ce970c7 feat(ui): redesign the viewer, landing, author and admin screens
Viewer: full-height app bar with a Help menu, search + ZIP sidebar, one
toolbar for README and code, reading mode with a scroll-tracking outline,
docked find for Markdown and code, and redaction slots (a blank stone slot
holding the term number) in prose, headings, code, the tree and the path.

Landing and FAQ: live redaction demo, serif display headings, teal accent.

Author screens: My work table with copy/open/edit actions, a usage meter,
a single-container New anonymization flow with a sticky submit bar, themed
form controls, and consistent GitHub connection cards.

Admin: underline tabs, severity-first errors chart and list, error tiles
that filter (older pages load until matches appear), queue and overview
health states, and shared toolbar heights and borders.

Fixes: guarded localStorage access, failed README images render a
placeholder, phone hover states no longer stick, and UI tests updated for
the new copy and markup.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-08 10:52:10 +00:00
Thomas Durieux 76e5804404 feat: migrate backend to Go with streaming and provider support 2026-11-04 14:21:36 +00:00
Thomas Durieux b09ef0e5b0 fix: persist pull request conferences and reconcile runtime tests 2026-11-02 05:55:47 +00: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 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
Thomas Durieux 0002e8d1a1 fix: serialize repository refreshes and recover stale downloads 2026-09-27 06:34:05 +00:00
Thomas Durieux 3c41a00137 Merge pull request #841 from tdurieux/fix/repository-refresh-feedback
fix: report repository refresh failures and reject busy updates
2026-09-27 08:18:18 +02:00
Thomas Durieux 9c95cfb463 build: include refreshed dashboard assets 2026-09-27 06:17:04 +00:00
Thomas Durieux 7ada28f9e3 fix: report repository refresh failures and reject busy updates 2026-09-27 06:09:19 +00:00
Thomas Durieux c65dccd837 Merge pull request #835 from tdurieux/codex/fix-large-notebook-downloads
fix: prevent large notebook download timeouts
2026-09-23 06:00:09 +02:00
tdurieux 0e7a8899b5 fix: prevent large notebook download timeouts 2026-09-23 11:27:17 +08:00
Thomas Durieux 4eba5072ca Merge pull request #833 from tdurieux/fix/hashed-asset-path-traversal
fix: prevent path traversal through hashed asset routes
2026-09-15 22:29:58 +02:00
Thomas Durieux 383dad7e20 fix: prevent path traversal through hashed asset routes 2026-09-15 20:26:42 +00:00
Thomas Durieux 48af564ed5 Merge pull request #832 from tdurieux/fix/streamer-public-repository-context
fix: restore public file streaming and contain ZIP failures
2026-09-14 17:37:51 +02:00
Thomas Durieux 2e6b79b30d fix: address streamer review edge cases 2026-09-14 15:23:13 +00:00
Thomas Durieux c9c729c2c5 fix: restore public file streaming and contain ZIP failures 2026-09-14 15:06:29 +00:00
Thomas Durieux ecba15ce2e Merge pull request #831 from tdurieux/codex/test-repository-pages-access
fix: read public repositories without scoped App token minting
2026-09-14 16:55:12 +02:00
tdurieux 2d153dd353 fix: read public repositories without scoped App token minting 2026-09-14 16:50:18 +02:00
tdurieux 8b9f79502b test: cover repository loading with restricted Pages settings 2026-09-14 16:44:53 +02:00