3cdb93cd01
The first interactive submit fired session.generateTitle() before startPendingSubmission() painted the optimistic user row, and tinyTitleClient.generate() spawned the local tiny-title subprocess synchronously in #ensureWorker() before its first await. With a local providers.tinyModel configured, subprocess-spawn latency therefore landed ahead of the first frame, stalling the first prompt. Paint the pending row before starting titling, and prewarm an idle, unref'd worker at TUI startup via a no-op ping (no model load) so the first submit reuses a live subprocess. Fixes #6462