refactor(desktop): classify preview exports - #10268
Conversation
ApprovabilityVerdict: Approved at Macroscope's review found this PR approvable — The PR only narrows internal preview module exports and documents retained Effect service constructors; helper implementations, constants, defaults, and runtime behavior remain unchanged. No product defaults or static-analysis suppressions are introduced, and no repository consumers of the removed exports were found. No code changes detected at 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. |
8c23fca to
97ae73e
Compare
Dismissing prior approval to re-evaluate 97ae73e
97ae73e to
3dc5b7c
Compare
|
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 (4)
Included review availability: 6 reviews are currently available. Your included PR review attempts over the past 7 days set your current allowance at 10 reviews per hour. 📝 WalkthroughWalkthroughThe preview modules now document canonical service constructors and restrict internal constants, data builders, and error type guards to module scope. ChangesPreview API surface cleanup
Estimated code review effort: 1 (Trivial) | ~5 minutes Merge Risk: ⚪ Minimal · up to Desktop preview modules now clarify the public service constructors and keep internal helpers private without changing runtime behavior. No merge-blocking risk remains. Suggested reviewers: 🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✨ Finishing Touches📝 Generate docstrings
🧪 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
Preview and browser-import modules had ten unclassified runtime exports. This marks three canonical Effect service constructors as intentional public APIs, narrows six local implementation values, and removes one unused PreviewManager predicate while retaining exported schemas and types.
This is layer 4 of 5 in the desktop Knip cleanup stack.
Verification after the full stack: desktop typecheck; desktop Knip export audit; 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.
Summary by CodeRabbit
Documentation
Refactor