Commit Graph
139 Commits
Author SHA1 Message Date
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
tdurieuxandClaude 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
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
Thomas Durieux fd0dd0adbd chore(deps): upgrade dependencies and remove production vulnerabilities 2026-10-08 10:21:00 +00: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 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 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 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 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 d28799f234 fix: reconnect anonymizations to recreated source repositories 2026-09-29 23:09:51 +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 eaa84e3af5 Add optional authenticated review-service capabilities endpoint 2026-09-27 12:51:28 +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
Thomas Durieux 383dad7e20 fix: prevent path traversal through hashed asset routes 2026-09-15 20:26:42 +00:00
Thomas Durieux c9c729c2c5 fix: restore public file streaming and contain ZIP failures 2026-09-14 15:06:29 +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 5e5cc6e0c2 fix: renew public grants and verify source identity and visibility 2026-09-13 15:05:43 +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 3667e8e3cd fix: preserve anonymous sessions during GitHub sign-in 2026-09-10 16:15:39 +02:00
Thomas Durieux a60ad6a921 feat: add read-only GitHub App access alongside OAuth 2026-09-09 22:08:12 +02:00
tdurieux 74bd6bb779 fix: restore scripts and video playback on project pages 2026-09-08 18:01:32 +02:00
tdurieux 8ad0ec65f0 chore: upgrade Express to 5.2.1 2026-09-08 16:22:23 +02:00
Thomas Durieux 530e388e46 fix: archive ownerless repositories without assigning ownership (#800) 2026-09-08 14:03:09 +02:00
Thomas Durieux 3fb376dd53 fix: encrypt stored GitHub credentials (#797) 2026-09-08 13:04:28 +02:00
tdurieux b1cb9093bb fix: close streaming responses after upstream errors 2026-09-06 09:19:18 +02:00
tdurieux 38a09188ad fix: expire conference repositories before completing expiration 2026-09-06 09:18:42 +02:00
tdurieux 4643e9f838 fix: preserve and anonymize truncated folder warnings 2026-09-06 09:18:28 +02:00
tdurieux 9c18526d52 fix: decode and validate webview file paths 2026-09-06 09:17:56 +02:00
tdurieux 67eb83674c fix: sandbox repository webview documents 2026-09-06 09:17:52 +02:00