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
Thanks for this, the performance wins here are real and I want them. My main concern is scope: the PR bundles several independent efforts (vertical tab virtualization, the bulk-operation deferral in PseudoTerminal, lazy progress indicators, title-update debouncing) together with some small, obviously-safe refactors. That makes the risky parts hard to review with confidence because they're interleaved with the trivial ones.
To shrink the diff, I've pulled three of the safe, self-contained changes straight to master:
393f7dc42 - fork child processes off the main thread (the legacy/monoserver dispatch_sync -> dispatch_async; also fixes the monoserver completion passing an unassigned savedStatus/nil instead of the real status + error code)
e917e2a92 - hoist the repeated [aTab sessions] calls in the tab close-confirm path
1a0e706da - early-return in -[PTYTab setObjectCount:] when the count is unchanged
If you rebase on latest master these should drop out of your diff.
Could you split the rest into separate PRs? Roughly: (1) the vertical-tab virtualization in PSMTabBarControl/styles/drag assistant, and (2) the bulk-operation deferral in PseudoTerminal/PTYTab/PTYTabView. Those are each big and independent enough to want their own before/after profiling and their own review. The lazy-indicator and title-debounce changes are also separable if you'd rather land them incrementally.
One heads-up: -[PTYTab isProcessing] and -setLabelAttributesForActiveTab: drop the ![self isForegroundTab] guard, which is a user-visible behavior change (activity spinner now animates on the foreground tab), not a cleanup. Let's discuss that one on its own rather than fold it in.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Tuning for: