7e6c8c30cc
Build and Deploy Verso / deploy (push) Successful in 14m6s
When typst watch detects a file change and compiles before the CLSI resolver is registered (ResourceWriter writes files → typst compiles → runTypst is called), _resolveAllPending was discarding the result because pendingResolvers was empty. This caused two symptoms: 1. output.log only contained "compiled with errors" (no diagnostics) because the result carrying the full stdout was thrown away. 2. Every other manual compile failed with "compilation already gone" because the missed result caused a timeout, which killed the watcher and triggered a watcher restart cycle (success → miss → timeout → kill → restart → success → miss → ...). Fix: when _resolveAllPending fires with no pending resolvers, store the result in entry.pendingResult. _waitForNextCompile checks this field first and resolves immediately if a cached result is present. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>