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
session archive: drop redundant index-lock wrappers and own-key the platform facts lookup #1325
So a busy archive surfaces in two ways. One is a { status: 'busy' } result from the wrapper. The other is Error('Session archive is busy…') from the method (src/session-flow/sync.ts:449). If writeArchive returned the status and the wrappers were dropped, the AsyncLocalStorage re-entry that exists only for this nesting could go too.
Inherited keys in sessionPlatformFacts
sessionPlatformFacts('constructor'), 'toString' and '__proto__' return an inherited property instead of undefined, because the lookup indexes a plain object (src/session-flow/adapters/platform-facts.ts:127). The one production caller validates the tool first, so nothing reaches it today. An Object.hasOwn check would close it and remove the cast on that line.
changed the title [-][bug] session push: concurrent pushes race on git, and a failed archive write leaves orphan files[/-][+]session archive: drop redundant index-lock wrappers and own-key the platform facts lookup[/+]on Oct 23, 2026
Hi, I'd like to work on this. I'll keep the change scoped to the two remaining items: reject inherited keys in sessionPlatformFacts, then remove the redundant external index-lock wrappers while preserving the existing busy result/error behavior and concurrency coverage. I'll verify the full call graph before removing the AsyncLocalStorage re-entry path, and include focused regressions plus typecheck/lint/test results.
Status: #1375 covers both remaining items (own-key lookup in sessionPlatformFacts, and removing the external index-lock wrappers and the re-entry path) and is approved at ea4ca4a. It closes this issue when it merges. The two publication bugs were fixed earlier in #1334.
Activity
[-][bug] session push: concurrent pushes race on git, and a failed archive write leaves orphan files[/-][+]session archive: drop redundant index-lock wrappers and own-key the platform facts lookup[/+]XY-code1 commentedon Oct 25, 2026
Hi, I'd like to work on this. I'll keep the change scoped to the two remaining items: reject inherited keys in sessionPlatformFacts, then remove the redundant external index-lock wrappers while preserving the existing busy result/error behavior and concurrency coverage. I'll verify the full call graph before removing the AsyncLocalStorage re-entry path, and include focused regressions plus typecheck/lint/test results.
SaulMoro commentedon Oct 25, 2026
Status: #1375 covers both remaining items (own-key lookup in
sessionPlatformFacts, and removing the external index-lock wrappers and the re-entry path) and is approved at ea4ca4a. It closes this issue when it merges. The two publication bugs were fixed earlier in #1334.