Commit Graph
955 Commits
Author SHA1 Message Date
Thomas Durieux ba3382b1d7 Merge pull request #929 from tdurieux/fix/ui-mobile-bugs
fix(ui): mobile viewer, code-block redactions and anonymize preview
2026-11-08 21:30:27 +01:00
Thomas DurieuxandClaude Opus 5.5 5bad2a2597 fix(ui): mobile viewer, code-block redactions and anonymize preview
- Anonymize preview renders redactions as the viewer's numbered slots
- Code-block slots keep the width of XXXX-n and sit on the text line
- README no longer overflows on phones (grid forced two columns)
- Status bar always hides under the file header: no second Files button
  or breadcrumb on repos with a website or for owners; Open website and
  Edit anonymization move to the file menu
- Loading state no longer repeats the path visually
- Phone usage popover opens inside the screen
- Home closing band: no double divider, tighter gap above the footer
- File drawer closes after opening a file on phones

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-08 20:29:50 +00:00
Thomas Durieux 91f57879fb Merge pull request #928 from tdurieux/fix/restore-node-main
fix: restore Node deployment and keep Go on its branch
2026-11-08 20:21:06 +01:00
Codex bff2e343fd fix: restore Node deployment and keep Go on its branch 2026-11-08 19:16:38 +00:00
Thomas Durieux 1983441c68 Merge pull request #927 from tdurieux/feat/ui-polish-2
feat(ui): polish from design review rounds 92-121
2026-11-08 19:17:29 +01:00
Thomas DurieuxandClaude Opus 5.5 9872cace5e feat(ui): polish from design review rounds 92-121
- Phone viewer: Contents menu for README headings, theme toggle in the header,
  GitHub icon on sign-in, 12px Ace font
- File ⋯ menu: file details line, Find for HTML, View raw, Download ZIP,
  Copy file path
- Redaction slots inside highlighted code blocks; fix regex lastIndex reuse
  in the redaction walker
- Landing and FAQ copy: plainer headings, trust items, closing CTA band
- Explorer ZIP button label, snapshot text cleanup

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-08 18:14:47 +00:00
Thomas Durieux c63d153a5f Merge pull request #926 from tdurieux/feat/ui-redesign
feat(ui): redesign the reviewer viewer, landing, author and admin screens
2026-11-08 15:08:23 +01:00
Thomas DurieuxandClaude Opus 5.5 c685d833ab Merge origin/main into feat/ui-redesign
Backend, scripts, docs and their tests take main's newer code where both
sides changed the same lines (the shared blob cache, GitHubStream and
markdown fixes landed on main after the Go migration branch was cut).
The Dockerfile keeps the Go build from the migration, plus main's
owner-alert-protocol label; .gitignore keeps both sides' entries.

Frontend keeps the redesign and folds in main's features: Stripe billing
in the New anonymization submit bar, GitHub access repair, redaction
syntax help, the preview expand toggle, configurable redaction mask,
folder counts, reviewer-route header rules, link expiry (now in the
viewer's snapshot details) and the explorer error card. main's
narrow-only wrap logic is dropped because the redesign wraps on desktop
and scrolls sideways on phones.

Tests: 1534 passing with SESSION_SECRET set (as in CI). Three main tests
were updated for the agreed viewer design (no site header in the viewer,
no repository-wide file count).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-08 14:07:33 +00:00
Thomas DurieuxandClaude Opus 5.5 53cac6ac39 feat(ui): follow-up polish from design review rounds 88-91
One-row phone toolbar, errors page opens on server errors, one-row submit
bar, publish warning after a source loads, three-column FAQ with a help
card, queue range control in the Throughput card, shared admin table cards,
dark-mode contrast and a stronger phone code scroll cue.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-08 13:36:59 +00:00
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 19ce699003 Merge pull request #925 from tdurieux/fix/unavailable-submodule-commit
fix: keep repositories readable with invalid submodule commits
2026-11-06 13:08:11 +01:00
Thomas Durieux 6df74e80ac fix: keep repositories readable with invalid submodule commits 2026-11-06 12:01:25 +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 6926ddbd39 Merge pull request #922 from tdurieux/fix/donation-paying-customers
fix: hide donation links for paying customers
2026-11-04 14:51:41 +01:00
Thomas Durieux 823314b5c2 fix: hide donation links for customers with paid access 2026-11-04 13:26:45 +00:00
Thomas Durieux 096b5e9a7b Merge pull request #921 from tdurieux/fix/inline-donation-link
fix: keep donations accessible without covering page content
2026-11-04 12:11:32 +01:00
Thomas Durieux c9d326142a fix: keep donation access in the header without covering content 2026-11-04 10:54:25 +00:00
Thomas Durieux b98c2c05f8 Merge pull request #920 from tdurieux/fix/website-budgets-folder-counts
fix: isolate website limits and scope explorer counts
2026-11-03 16:36:12 +01:00
Thomas Durieux 7ffbfd09d7 fix: count dollar-prefixed directories as literal paths 2026-11-03 15:09:10 +00:00
Thomas Durieux d4b9fd85e7 fix: isolate website limits and scope explorer counts 2026-11-03 15:03:23 +00:00
Thomas Durieux 77e22a87e8 Merge pull request #916 from tdurieux/feature/paid
feat: add paid author and conference hosting with Stripe
2026-11-03 09:48:06 +01:00
Thomas Durieux c511e9faff test: exercise streaming traversal in nested tree regression 2026-11-03 08:41:48 +00:00
Thomas Durieux c15811e57f Merge remote-tracking branch 'origin/main' into review/merge-readiness-916 2026-11-03 08:33:14 +00:00
Thomas Durieux c32125fc2e fix: coordinate deployments when shared cache writers are active 2026-11-03 08:33:12 +00:00
Thomas Durieux 860169f27b merge: preserve billing admission with bounded tree preparation 2026-11-03 08:33:12 +00:00
Thomas Durieux 99a2bff1ba Merge pull request #918 from tdurieux/fix/large-repository-heap-cleanup
fix: bound large repository tree memory and cleanup
2026-11-03 09:32:21 +01:00
Thomas Durieux 70735bd80c fix: enforce resolved storage quotas across shared cache paths 2026-11-03 08:26:43 +00:00
Thomas Durieux e71e6b6389 merge: reconcile paid hosting with shared cache and main 2026-11-03 08:26:43 +00:00
Thomas Durieux 97e5b50cf0 merge: integrate main after progress fence and cache merges 2026-11-03 08:25:43 +00:00
Thomas Durieux 88cd1b4cdb Merge pull request #915 from tdurieux/feat/shared-blob-cache
perf: deduplicate cached files across projects and track cache reuse
2026-11-03 09:23:07 +01:00
Thomas Durieux 110f5a5d3b Merge pull request #917 from tdurieux/fix/anonymization-timeout-retries
perf: skip unmatched regex scans in large anonymized files
2026-11-03 09:23:04 +01:00
Thomas Durieux 6915aff6f1 Merge pull request #919 from tdurieux/fix/download-progress-fences
fix: preserve publication fences during download progress
2026-11-03 09:22:50 +01:00
Thomas Durieux bb366b370b fix: handle settings saves before repository cleanup 2026-11-02 22:16:16 +00:00
Thomas Durieux abfe153cdc fix: preserve saved snapshot during source replacement 2026-11-02 22:10:28 +00:00
Thomas Durieux e96d235cc7 fix: fence tree retirement before lifecycle changes 2026-11-02 22:05:03 +00:00
Thomas Durieux 314d961960 fix: retain concurrently published path indexes for cleanup 2026-11-02 21:57:33 +00:00
Thomas Durieux af23ad9eb5 fix: bound large repository tree memory and cleanup 2026-11-02 21:57:33 +00:00
Thomas Durieux 19b1d5b546 test: declare timer used by progress race regression 2026-11-02 21:55:05 +00:00
Thomas Durieux 807e38dfc7 fix: preserve publication fences during download progress 2026-11-02 21:52:30 +00:00
Thomas Durieux 3c89d3c939 perf: skip unmatched regex scans in large anonymized files 2026-11-02 21:48:40 +00:00
Thomas Durieux 47a436ee4e fix: admit dated repositories before offering checkout 2026-11-02 21:46:26 +00:00
Thomas Durieux 4dc4454459 fix: protect reactivation claims and retain historical purchase prices 2026-11-02 21:39:17 +00:00
Thomas Durieux afd7a8ff3b fix: retain replacement reservations and bound expiration extensions 2026-11-02 21:27:11 +00:00
Thomas Durieux d7a5243054 fix: admit replacement sources and account for resolved storage 2026-11-02 21:18:43 +00:00
Thomas Durieux 6eb4406575 chore: document Vue avatar detector false positive 2026-11-02 21:13:37 +00:00
Thomas Durieux ded6f905fd merge: reconcile paid hosting with latest main 2026-11-02 21:12:29 +00:00
Thomas Durieux 036eddfa0e fix: preserve paid hosting deadlines, quotas and review snapshots 2026-11-02 21:03:29 +00:00
Thomas Durieux 7d7f95506a fix: translate billing environment mismatch errors 2026-11-02 20:50:02 +00:00
Thomas Durieux 410863d253 feat: add paid author and conference hosting with Stripe 2026-11-02 20:49:03 +00:00
Thomas Durieux f39b83c0da fix(cache): retry contended fill lease renewals 2026-11-02 14:06:27 +00:00