Skip to content

Restore bounded rich untracked status and diffs - #1607

Merged
ymichael merged 2 commits into
mainfrom
bb/support-rich-untracked-files-thr_ucrs7947uc
Aug 14, 2026
Merged

Restore bounded rich untracked status and diffs#1607
ymichael merged 2 commits into
mainfrom
bb/support-rich-untracked-files-thr_ucrs7947uc

Conversation

@ymichael

@ymichael ymichael commented Aug 14, 2026

Copy link
Copy Markdown
Collaborator

Summary

  • enrich ordinary untracked workspace status with exact line counts when the snapshot fits both a 50-file and 8 MiB budget
  • keep watcher invalidation cheap and content-free while retaining rich file paths and statuses for larger snapshots
  • return an exact bounded leading slice for diffs above 500 files, with an explicit truncated signal instead of rejecting the diff
  • preserve full-diff rename classification while bounding both name-status and numstat streams
  • keep tracked and untracked stats independent, enrich eligible files around nested repositories, and cap optional status enrichment with a 10-second deadline
  • surface exact line counts for the shown truncated slice in the app and preserve truncation in the CLI
  • bump the host daemon protocol to 123 and the plugin SDK to 0.4.6 after rebasing over the versions already claimed on main

Why

2292db1 correctly bounded process count, output buffers, and untracked content work, but it removed useful line stats from every untracked status and made all diffs above the ceiling unavailable. This keeps those resource guarantees while restoring exact presentation for ordinary cases and useful partial results for oversized diffs.

Verification

  • affected typechecks across app, CLI, host daemon, server, contracts, host workspace, domain, plugin SDK, and templates
  • app: 2,722 tests passed
  • host daemon: 562 tests passed
  • host workspace: 213 tests passed
  • CLI: 449 tests passed
  • plugin SDK: 86 tests passed
  • domain: 141 tests passed
  • templates and targeted host-daemon contract suites passed
  • git diff --check

AGENT GENERATED: by GPT-5.6

@ymichael
ymichael force-pushed the bb/support-rich-untracked-files-thr_ucrs7947uc branch from c7a88e4 to 4bf374e Compare August 14, 2026 18:25
@ymichael
ymichael merged commit f74640a into main Aug 14, 2026
10 checks passed
@ymichael
ymichael deleted the bb/support-rich-untracked-files-thr_ucrs7947uc branch August 14, 2026 19:05
budah1987 added a commit to budah1987/bb that referenced this pull request Aug 15, 2026
Brings BBamir up to date with upstream through f1dbedd.

Conflict resolutions (BBamir-preserving unless noted):
- host-workspace: re-merged workspace.ts hunk by hunk so BBamir's
  path-scoped diffs/commits, publish/update-from-target, and merge-base
  caching survive alongside upstream's bounded untracked line stats and
  abort-signal cancellation (get-bb#1496, get-bb#1607).
- app UI: skipped upstream get-bb#1559 (unified new-thread/secondary-panel
  layout) for the five views BBamir rewrote, and re-merged those files
  against pre-get-bb#1559 upstream so every other upstream fix still lands.
- ui/sidebar: kept BBamir's Command Center drawer (the mobile swipe
  subsystem stays deleted) and ported upstream's windowed-list content
  ref plus the get-bb#1261 offcanvas visibility fix.
- thread header: kept BBamir's workflow actions and project/branch
  context, added upstream's inline rename (get-bb#1453) and split-dimming
  setting (get-bb#1605).
- archive toast: kept BBamir's toast shape, adopted upstream's
  grace-period-aligned undo duration (get-bb#1016).
- composer attachments: took upstream's shared useDraftAttachmentUploads
  and folded BBamir's format validation into it, so the thread-detail
  composer gains the check too.

Also migrates the six BBamir-only plugins from @bb/plugin-sdk to
@get-bb/plugin-sdk and regenerates the bundled SDK types, templates,
and lockfile.
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