Skip to content

perf: unblock startup and Chat loading - #42

Closed
klioen wants to merge 2 commits into
mainfrom
perf/startup-chat-project-loading
Closed

klioen wants to merge 2 commits into
mainfrom
perf/startup-chat-project-loading

Conversation

@klioen

@klioen klioen commented Sep 23, 2026

Copy link
Copy Markdown
Owner

Summary

  • initialize persisted Worktree watchers in the background with active-first ordering and bounded concurrency
  • return newly added Projects after durable catalog persistence instead of waiting for watcher readiness
  • open historical Chat sessions by exact ID instead of rescanning all transcripts
  • coalesce duplicate in-flight Chat attachments and route buffered events to the latest subscriber
  • bound Chat snapshots to the newest 2,000 timeline items before IPC transfer
  • add privacy-safe AppState, watcher batch, Project open, and Chat attach timing diagnostics

Safety

  • watcher generation/disposal guards prevent late initialization from reviving closed Worktrees
  • exact session restore canonicalizes and confines paths to the SDK session root and validates header cwd
  • session-bound Pi services and settings are not shared across conversations
  • diagnostics contain only fixed codes, durations, counts, booleans, and allowlisted error types

Validation

  • focused performance/domain suite: 6 files, 52 tests passed
  • pnpm check: 63 files, 390 tests passed; 18 release tests passed
  • pnpm bundle: app signature, App smoke, and DMG smoke passed
  • git diff --check

@klioen

klioen commented Sep 24, 2026

Copy link
Copy Markdown
Owner Author

Closed at maintainer request; the performance optimization branch is being removed.

@klioen klioen closed this Sep 24, 2026
@klioen
klioen deleted the perf/startup-chat-project-loading branch September 24, 2026 09:44
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant