You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Commit 88b4f45
Browse filesBrowse the repository at this point in the historyBrowse files
fix(file-search): stop requeueing skipped artifacts, and fix public share, live-doc persist and cleanup edge cases (#9110)
* fix(file-search): keep a skipped build published so rendered reads stop requeueing it
A skipped publication retired its build and cleared the revision's build id,
so a compiled document whose index build skipped never matched its rendered
artifact key: every rendered read requeued it, and the worker downloaded,
compiled and skipped it again. Skipped builds now stay published with their
bound artifact key (and no text), and the artifact-current checks accept a
skipped revision. Failed revisions still requeue.
* fix(public-shares): answer a shared Project page with a foreign embed as not found
renderSimPageDocument throws ProjectPageForeignEmbedError for a Project page
that embeds another owner's file. The authenticated artifact read maps it to
not_found, but the public content and inline reads let it escape as a 500.
Map it the same way at both public render sites.
* fix(file-doc): let the workspace document persist take a full snapshot
The relay's workspace persist ran behind the proxy with the default 10 MB body
cap, so a collaborative state above ~7.5 MiB (12 MiB is allowed) was refused
with 413 while the Project persist route took it. Exclude the workspace
persist from the proxy matcher and give it the same bypassesProxy body cap,
now shared from collab-doc state, and the same off-app-host refusal.
* chore(knip): drop the stale ignore for the v2 Project file search contract
Its only export is now imported by the v2 route and the OpenAPI spec.
* fix(memory): let a rejected key spend memory cleanup attempts
A 401 from the worker waited hourly without consuming an attempt, like a
missing route, so a permanently revoked self-hosted key kept its cleanup rows
pending forever. A 401 still waits an hour but now spends an attempt, so it
dead-letters after the default attempts (about ten hours), past a worker
rollout. 404, 405 and 501 keep waiting for free.
* fix(public-shares): log expected public file share client errors as warnings
The public file share routes logged every caught error at ERROR, including
classified client failures such as a missing share (404) or a password
exchange against a non-password share (400). Log a classified 4xx as a
warning and keep ERROR for unclassified failures.
* fix(public-shares): import the error logger in the OTP route
* test(file-search): skip on a corrupt compiled document the parsers reject
0 commit comments