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
37d10eed20
fix: contain upstream failures and back off repeated retries
2026-10-09 03:48:05 +00: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
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
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
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
tdurieux
3e275311f1
fix: derive file ETags from current source content
2026-09-06 09:17:47 +02:00
tdurieux
c14a548cb9
fix: enforce content policies using original file types
2026-09-06 09:17:42 +02:00
tdurieux
7210db2b61
fix: catch authentication failures in async route handlers
2026-09-06 09:17:37 +02:00
tdurieux
2af66cd1b6
fix: authorize coauthors by stable GitHub identity
2026-09-06 09:17:01 +02:00
tdurieux
a401bb21d6
fix: reject OAuth linking across different GitHub identities
2026-09-06 09:16:53 +02:00
tdurieux
12c07641e0
fix: persist and recover repository removals for banned owners
2026-09-06 09:16:20 +02:00
tdurieux
f5f44c2511
fix: preserve removal intent when Redis enqueue fails
2026-09-06 09:16:17 +02:00
Thomas Durieux
adb0dcaec2
fix: reactivate removed repositories after edits ( #784 )
2026-08-20 14:33:09 +02:00
Thomas Durieux
35c3b1804b
Fix repository cleanup after removal and expiration ( #782 )
2026-08-20 12:52:19 +02:00
Thomas Durieux
46e956a779
fix: reactivate repositories with future expiration ( #781 )
2026-08-20 12:29:52 +02:00
Thomas Durieux
7aa9557905
perf: cut MongoDB scans in repository workflows ( #780 )
...
* Add repository name index
* Optimize repository file counts
* Optimize MongoDB query workloads
2026-08-20 12:29:26 +02:00
tdurieux
f0fdd9250b
fix: improve pdf rendering and html
2026-08-06 14:35:21 -07:00
Thomas Durieux
f040557ae8
fix: preserve state across backend updates ( #756 )
2026-07-22 04:29:58 +02:00
Thomas Durieux
beef8387ae
fix: close account authorization gaps ( #755 )
2026-07-22 04:29:04 +02:00