Commit Graph
144 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 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 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 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 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 d28799f234 fix: reconnect anonymizations to recreated source repositories 2026-09-29 23:09:51 +00: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 7ada28f9e3 fix: report repository refresh failures and reject busy updates 2026-09-27 06:09:19 +00:00
tdurieux 0e7a8899b5 fix: prevent large notebook download timeouts 2026-09-23 11:27:17 +08:00
Thomas Durieux 383dad7e20 fix: prevent path traversal through hashed asset routes 2026-09-15 20:26:42 +00: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
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
Thomas Durieux 878dda1d37 fix: restore legacy hashbang repository links 2026-09-14 14:32:00 +00:00
Thomas Durieux 8abdaf7119 Merge pull request #828 from tdurieux/fix/public-repository-app-access
fix: allow GitHub App access to public repositories without installation
2026-09-13 19:06:25 +02:00
Thomas Durieux dc026e2ee8 fix: revalidate scoped public tokens throughout repository reads 2026-09-13 15:16:45 +00:00
Thomas Durieux 5e5cc6e0c2 fix: renew public grants and verify source identity and visibility 2026-09-13 15:05:43 +00:00
Thomas Durieux 8efb9bd506 fix: allow GitHub App access to public repositories without installation 2026-09-13 08:42:55 +00:00
Thomas Durieux 7cdf0f5e8d fix: distinguish repository publication and settings dates 2026-09-13 08:42:54 +00:00
tdurieux 99a50cad7b feat: unify GitHub sign-in and connect OAuth for gists 2026-09-10 18:20:56 +02:00
tdurieux 68d9c54fcf fix: keep GitHub access controls beside the source URL 2026-09-10 18:04:56 +02:00
tdurieux 3667e8e3cd fix: preserve anonymous sessions during GitHub sign-in 2026-09-10 16:15:39 +02:00
tdurieux df81d7db56 style: restore mobile sign-in and compact access controls 2026-09-10 16:07:02 +02:00
Thomas Durieux 4e52f42009 Merge pull request #814 from tdurieux/feat/github-app-dual-auth
Add read-only GitHub App access alongside OAuth
2026-09-10 06:27:36 -07:00
tdurieux 19f819949e perf: avoid anonymization timeouts for absent literal terms 2026-09-10 14:49:01 +02:00
Thomas Durieux a60ad6a921 feat: add read-only GitHub App access alongside OAuth 2026-09-09 22:08:12 +02:00