Repository navigation
Wake native projections and resolve renamed document links promptly - #196
Merged
Merged
Conversation
canvascoding
marked this pull request as ready for review
October 31, 2026 19:48
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Native Move commits a workspace invalidation, but the projection runtime waits for its thirty-second recovery scan. Subscribe the existing durable projector to that committed hint, coalesce concurrent scans, preserve a late hint across the final promise continuation, and rescan after reconnect. A separate instrumented listener pool leaves the application slot usable. Durable reads, fenced materialization and current authorization remain authoritative.
The fresh-image browser run also exposed a visible-link delay: after the server returns complete resolved links, collaboration changes the editor target while its lookup waits for the ten-second background interval. Newly displayed/changed Wiki and exact Markdown targets now use the existing interactive priority. Repeated invalidation of the same target stays background-paced; shared-fetch coalescing and server backoff are preserved. No test timeout is increased.
The package script change triggers dependency security, exposing two advisories in the unchanged lock. Pin minimatch to 11.0.1 and only the glob 13 branch to 14.0.2; retain the legacy glob 7 consumers and regenerate license evidence. No CI/audit gate is disabled. The regenerated lock drops an unused optional nested Undici peer record; the actual installation retains root Undici 7.30.1, satisfying OpenAI's optional peer.
The versioned CommonJS patch now targets Minimatch 11. Two dev-only patches adapt the actual nested Glob 7 traversals to Matcher test/pattern and retain one row per brace expansion, including nonull. Native ESM and the corrected matching engine remain unchanged. A fresh normal installation applies all six patches with error-on-fail.
In the actual warm 200-document public rename measured at the projection runtime correction, preview through physical checkpoint drops from 90.116 to 62.503 seconds; the job itself still takes about 62 seconds. SQL/leases decrease from 14,580/1,073 to 14,367/950. Summed query time does not improve and observed peak ready connections increase from four to six. This removes projection waiting; remaining job/query optimization stays open.
Also separate public job completion from physical projection timing, and align the preexisting fence-test stub with the actual publication callback position.
Validation:
Evidence and reproduction: docs/architecture/document-service-projection-wakeup-2026-10-31.md. Regular test:all, remaining performance packages, API-key implementation, complete API/SDK acceptance and release/deployment remain required by the central plan. Review Center and Undo feature work remain excluded.