ci(knip): enforce desktop exports - #10269
Conversation
ApprovabilityVerdict: Approved at Macroscope's review found this PR approvable — The PR only documents and expands the existing Knip unused-export check to include the desktop workspace. Its effect is limited to local/CI static-analysis results and does not change application runtime behavior or production deployment. 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. |
2cb40e7 to
7f282e2
Compare
7f282e2 to
fae727e
Compare
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. |
Dismissing prior approval to re-evaluate fae727e
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: CHILL Plan: Team Run ID: 📒 Files selected for processing (2)
Included review availability: 8 reviews are currently available. Your included PR review attempts over the past 7 days set your current allowance at 10 reviews per hour. 📝 WalkthroughWalkthroughThe ChangesKnip coverage
Estimated code review effort: 1 (Trivial) | ~2 minutes Merge Risk: ⚪ Minimal · up to Desktop runtime-export checks are added to the existing Knip command, and the development documentation reflects that coverage. The change is ready to merge. Suggested reviewers: 🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✨ Finishing Touches🧪 Generate unit tests (beta)
Comment |
## What's Changed * fix(mobile): keep pending messages in the chat timeline by @juliusmarminge in pingdotgg/t3code#10449 * fix(mobile): show connection status in the floating pill instead of a second one by @juliusmarminge in pingdotgg/t3code#10440 * fix: use Pierre icons consistently for attachments by @juliusmarminge in pingdotgg/t3code#10475 * feat(mobile): open the thread screen as soon as a new task is submitted by @juliusmarminge in pingdotgg/t3code#10435 * fix(devcontainer): make repository setup work by @saphid in pingdotgg/t3code#7875 * fix(projects): prevent invalid script IDs from crashing threads by @saphid in pingdotgg/t3code#10019 * fix(mobile): hide changed-files navigator and restore refresh in raw diff fallback by @lnieuwenhuis in pingdotgg/t3code#9828 * fix(ios): scroll short source files from blank space by @juliusmarminge in pingdotgg/t3code#10178 * feat(mobile): start a new thread on an existing branch by @StiensWout in pingdotgg/t3code#10359 * fix(mobile): improve font-size slider performance and prevent maximum update depth errors by @bbernag in pingdotgg/t3code#7138 * fix(web): keep composer toolbar controls anchored during transitions by @juliusmarminge in pingdotgg/t3code#10478 * fix(web): resize the floating preview from any edge by @juliusmarminge in pingdotgg/t3code#10467 * fix(mobile): prevent chat from disappearing when scrolling by @juliusmarminge in pingdotgg/t3code#10479 * fix(mobile): smooth composer status pill resizing by @juliusmarminge in pingdotgg/t3code#10484 * fix(mobile): release initial scroll target after dragging by @juliusmarminge in pingdotgg/t3code#10483 * fix(mobile): animate thread lifecycle transitions consistently by @juliusmarminge in pingdotgg/t3code#10487 * fix(mobile): restore assistant message bottom padding by @juliusmarminge in pingdotgg/t3code#10491 * fix(mobile): preserve chat rows when toggling commands by @juliusmarminge in pingdotgg/t3code#10492 * feat(web): group onboarding project import by repository by @t3dotgg in pingdotgg/t3code#10493 * fix(web): remove inserted citations on cancel by @extoci in pingdotgg/t3code#10518 * fix(mobile): match Working status color to desktop by @baptisteArno in pingdotgg/t3code#10515 * fix(mobile): wait for native thread scroll before reveal by @juliusmarminge in pingdotgg/t3code#10486 * fix(web): tolerate servers that predate git identity in project import by @juliusmarminge in pingdotgg/t3code#10547 * fix(web): restore settled PR colors on hover by @flamboh in pingdotgg/t3code#10023 * fix(web): keep popup triggers steady when pressed by @dominic-r in pingdotgg/t3code#10468 * fix(web): keep project favicon shape consistent across sizes by @sameerr03 in pingdotgg/t3code#10502 * fix(claude): report usage limits on retried turns by @StiensWout in pingdotgg/t3code#10549 * refactor(desktop): classify backend exports by @juliusmarminge in pingdotgg/t3code#10265 * refactor(desktop): classify electron exports by @juliusmarminge in pingdotgg/t3code#10266 * refactor(desktop): classify app exports by @juliusmarminge in pingdotgg/t3code#10267 * refactor(desktop): classify preview exports by @juliusmarminge in pingdotgg/t3code#10268 * ci(knip): enforce desktop exports by @juliusmarminge in pingdotgg/t3code#10269 * fix(web): remove excess sidebar thread spacing by @maria-rcks in pingdotgg/t3code#10569 * fix(web): make settings project scopes searchable and scrollable by @maria-rcks in pingdotgg/t3code#10570 * fix(web): use `tabular-nums` with the ui font for sidebar timer by @extoci in pingdotgg/t3code#10592 * fix(web): correct pending question attachment message by @dominic-r in pingdotgg/t3code#10599 * fix(mobile): restore brand artwork in the Android adaptive icon by @juliusmarminge in pingdotgg/t3code#10598 * fix(mobile): configure iOS Keychain access group by @VedankPurohit in pingdotgg/t3code#3665 * fix(web): remember Composer Fast mode across new chats by @aravhawk in pingdotgg/t3code#2981 * fix(server): disable executable capabilities in Claude metadata generation by @maxwellyoung in pingdotgg/t3code#4169 * Add stop thread keybinding command by @jakeleventhal in pingdotgg/t3code#4308 ## New Contributors * @bbernag made their first contribution in pingdotgg/t3code#7138 * @baptisteArno made their first contribution in pingdotgg/t3code#10515 * @aravhawk made their first contribution in pingdotgg/t3code#2981 **Full Changelog**: pingdotgg/t3code@v0.0.39...v0.0.40 Upstream release: https://github.com/pingdotgg/t3code/releases/tag/v0.0.40
## What's Changed * fix(mobile): wait for native thread scroll before reveal by @juliusmarminge in pingdotgg/t3code#10486 * fix(web): tolerate servers that predate git identity in project import by @juliusmarminge in pingdotgg/t3code#10547 * fix(web): restore settled PR colors on hover by @flamboh in pingdotgg/t3code#10023 * fix(web): keep popup triggers steady when pressed by @dominic-r in pingdotgg/t3code#10468 * fix(web): keep project favicon shape consistent across sizes by @sameerr03 in pingdotgg/t3code#10502 * fix(claude): report usage limits on retried turns by @StiensWout in pingdotgg/t3code#10549 * refactor(desktop): classify backend exports by @juliusmarminge in pingdotgg/t3code#10265 * refactor(desktop): classify electron exports by @juliusmarminge in pingdotgg/t3code#10266 * refactor(desktop): classify app exports by @juliusmarminge in pingdotgg/t3code#10267 * refactor(desktop): classify preview exports by @juliusmarminge in pingdotgg/t3code#10268 * ci(knip): enforce desktop exports by @juliusmarminge in pingdotgg/t3code#10269 * fix(web): remove excess sidebar thread spacing by @maria-rcks in pingdotgg/t3code#10569 * fix(web): make settings project scopes searchable and scrollable by @maria-rcks in pingdotgg/t3code#10570 * fix(web): use `tabular-nums` with the ui font for sidebar timer by @extoci in pingdotgg/t3code#10592 * fix(web): correct pending question attachment message by @dominic-r in pingdotgg/t3code#10599 * fix(mobile): restore brand artwork in the Android adaptive icon by @juliusmarminge in pingdotgg/t3code#10598 * fix(mobile): configure iOS Keychain access group by @VedankPurohit in pingdotgg/t3code#3665 * fix(web): remember Composer Fast mode across new chats by @aravhawk in pingdotgg/t3code#2981 * fix(server): disable executable capabilities in Claude metadata generation by @maxwellyoung in pingdotgg/t3code#4169 * Add stop thread keybinding command by @jakeleventhal in pingdotgg/t3code#4308 ## New Contributors * @aravhawk made their first contribution in pingdotgg/t3code#2981 **Full Changelog**: pingdotgg/t3code@v0.0.40-nightly.20260907.1359...v0.0.40-nightly.20260907.1372 Upstream release: https://github.com/pingdotgg/t3code/releases/tag/v0.0.40-nightly.20260907.1372
The desktop export audit was clean locally but was not part of the long-term Knip gate. This adds apps/desktop to the runtime-export check and updates the maintainer guidance; exported types and Effect schemas remain allowed.
This is layer 5 of 5 in the desktop Knip cleanup stack.
Verification: vp run knip:check; desktop typecheck; 831 desktop tests; changed-file lint and format checks. The native libsecret test cannot start on this machine because the system libsecret-1 development package is unavailable.
Model: gpt-6 astra. Harness: Codex in T3 Code.
Note
Add
apps/desktoptoknip:checkexport coverageExtends the
knip:checkscript in package.json to scanapps/desktopfor unused runtime exports, alongside the existingapps/webandpackages/workspaces. Updates the related docs in docs/operations/development.md. Risk: any currently-unused desktop exports will now fail the Knip check in CI.Macroscope summarized fae727e.
Summary by CodeRabbit
Documentation
Chores