fix(swift-ios): load file folders on demand - #11688
Conversation
Bugbot is paused — on-demand spend limit reachedBugbot uses usage-based billing for this team and has hit its on-demand spend limit. A team admin can raise the spend limit in the Cursor dashboard, or wait for the next billing cycle to continue. |
ApprovabilityVerdict: Not approved Macroscope's review found this PR not approvable — This PR changes the production iOS file browser from recursive indexed loading to per-folder on-demand RPCs, adding caching, refresh, stale-request handling, path normalization, and ignored-file presentation. The new request parameter also activates a materially different downstream filesystem-listing path, so the behavior change warrants human review. You can add or adjust custom eligibility rules. Learn more. |
Thread transfer impact✅ Thread transfer remains within every enforced ceiling.
Baseline: unavailable · PR result: Scenario and decoded snapshot size10 historical turns, 5 command tools per turn, 878.9 KiB retained MCP result per historical turn, and a 1.05 MiB retained result in the measured turn.
Updated in place by a trusted workflow. PR artifacts are strictly validated and never executed. |
The SwiftUI file browser fetched the whole workspace for each folder and could not show ignored files.
Request only the opened folder, cache its listing, and dim ignored entries. Keep older servers usable, route requests through the thread environment and worktree, and keep cached entries with Retry after failed refreshes. Older loads cannot overwrite newer results.
Ports the folder API change. Includes the stale-refresh behavior from the earlier SwiftUI refresh fix. That PR is still open.
Verification: 15 focused native tests passed with zero failures. Covers loading, retries, stale results, cache scope, ignored entries, old servers, and Windows paths. Swift syntax parsing and git diff --check pass. UI evidence is pending the shared verification pass.
Created with Codex.