Thomas Durieux
2b20abe0a5
fix: cover streamed access errors without alerting on outages
2026-10-09 06:00:16 +00:00
Thomas Durieux
85b9a50d4d
fix: address owner notification review findings
2026-10-09 05:42:19 +00:00
Thomas Durieux
95f8aef30a
feat: notify owners when GitHub access needs attention
2026-10-09 05:22:41 +00:00
Thomas Durieux
66b71583d4
fix: count native resets and test deferred public downloads
2026-10-09 04:07:31 +00:00
Thomas Durieux
37d10eed20
fix: contain upstream failures and back off repeated retries
2026-10-09 03:48:05 +00:00
Thomas Durieux
eb4fbb6b15
Merge commit 'refs/security-review/pr849' into HEAD
...
# Conflicts:
# src/server/service/review-consent-http.ts
2026-10-08 16:26:12 +00:00
Thomas Durieux
7fc0a79a7a
Merge commit 'refs/security-review/pr848' into HEAD
2026-10-08 16:25:33 +00:00
Thomas Durieux
89d7a92072
Merge commit 'refs/security-review/pr847' into HEAD
2026-10-08 16:25:33 +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
tdurieux and Claude 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
tdurieux and Claude 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
tdurieux and Claude 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
tdurieux and Claude 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
tdurieux and Claude 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
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
d3a8b4a8a7
Return artifact consent through registered POST callbacks
2026-09-27 15:59:36 +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