fix(mobile): make Android subscription usage widgets scrollable - #13474
juliusmarminge merged 4 commits into
Conversation
ApprovabilityVerdict: Not approved Macroscope's review found this PR not approvable — The PR replaces Android's static widget rows with a native scrollable collection and changes shared provider filtering, empty states, and Android version availability. These changes alter existing user-facing defaults across production widget paths, despite focused tests and no schema or infrastructure impact. You can add or adjust custom eligibility rules. Learn more. |
|
Navigate logical layers of code changes, visualize relationships, and explore their blast radius. No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Repository: pingdotgg/t3code/.coderabbit.yaml Review profile: CHILL Plan: Advanced Run ID: 📒 Files selected for processing (8)
🚧 Files skipped from review as they are similar to previous changes (1)
Included review availability: Your plan provides up to 10 included reviews per hour; 9 remain after this review. 📝 WalkthroughWalkthroughThe snapshot builder now selects eligible providers and supports platform-specific window limits. The Android widget now displays rows through a collection view and uses version-based receiver availability. ChangesSubscription Usage Widgets
Priority: ⬇️ Low Estimated code review effort: 3 (Moderate) | ~25 minutes Change: Bug fix Sequence Diagram(s)sequenceDiagram
participant SubscriptionUsageWidget
participant RemoteViews
participant AndroidWidgetHost
SubscriptionUsageWidget->>RemoteViews: Set RemoteCollectionItems and collection adapter
RemoteViews->>AndroidWidgetHost: Provide collection rows for display
Merge Risk: ⚪ Minimal · up to The Android widget changes and provider filtering have no identified issue requiring a fix before merge. Normal checks can proceed. 🚥 Pre-merge checks | ✅ 4 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (4 passed)
Full details: Docstring CoverageExplanation Docstring coverage is 11.11% which is insufficient. The required threshold is 80.00%. Docstring coverage is scoped to functions touched by this diff. Analyzed 9 functions across 5 files. (4 skipped: 4 unsupported.)
✨ Finishing Touches 💡 1🛠️ Fix failing CI checks 💡
🧪 Generate unit tests (beta)
Comment |
Servers report default-enabled drivers such as Claude even when their CLI is missing, so the widget still showed a Claude placeholder. Only show providers that are installed and not API-key accounts without subscription limits. The Android widget now requires Android 12L (API 32), where the platform collection API needs no compat service. This drops core-remoteviews and its service. The header counts limits, not placeholder rows. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
## What's Changed * fix(web): sidebar Back always returns to the main app by @t3dotgg in pingdotgg/t3code#13516 * fix(desktop): desktop updates reconnect in seconds, not minutes by @t3dotgg in pingdotgg/t3code#12006 * fix(connect): remove tunnels after hosts go offline by @t3dotgg in pingdotgg/t3code#9386 * fix(mobile): capture a lit 6.9-inch lock screen in the agent-activity showcase by @juliusmarminge in pingdotgg/t3code#13522 * feat(grok): offer one-click updates through `grok update` by @juliusmarminge in pingdotgg/t3code#13523 * fix(mobile): make Android subscription usage widgets scrollable by @tris203 in pingdotgg/t3code#13474 * fix(web): keep sidebar terminal pulses in sync by @t3dotgg in pingdotgg/t3code#12962 * feat(web): add iPhone Duo 3D controls by @juliusmarminge in pingdotgg/t3code#12813 * fix(relay): export tunnel cleanup counters to Axiom by @juliusmarminge in pingdotgg/t3code#13528 * fix(server): Grok accounts with no usage yet no longer vanish from Limits by @jakeleventhal in pingdotgg/t3code#12799 * fix(server): report the Grok account email so usage limits merge across environments by @jakeleventhal in pingdotgg/t3code#12588 * feat(web): add usage page keybinding by @jakeleventhal in pingdotgg/t3code#9434 * chore: clear Effect language service suggestions by @juliusmarminge in pingdotgg/t3code#13536 * ci(relay): add a forced manual relay deploy by @juliusmarminge in pingdotgg/t3code#13550 * fix(web): selected text stays visible on a revealed file line by @t3dotgg in pingdotgg/t3code#13548 * fix(web): collapsed composer bar stops flipping its labels while you scroll by @t3dotgg in pingdotgg/t3code#13555 * fix(clients): sync status no longer flickers when opening running threads by @t3dotgg in pingdotgg/t3code#13551 * fix(server): newer Codex models get T3 Code's instructions again by @t3dotgg in pingdotgg/t3code#13547 **Full Changelog**: pingdotgg/t3code@v0.0.43-nightly.20260924.2223...v0.0.43-nightly.20260925.2237 Upstream release: https://github.com/pingdotgg/t3code/releases/tag/v0.0.43-nightly.20260925.2237
What Changed
Android subscription widgets now scroll inside their container, show the entry count in the header using the app's existing
Title (N)convention, and label the timestamp “Last checked”. Tapping a row still opens Usage → Limits.Why
With Codex and OpenCode configured, the widget invented a Claude placeholder and appended a misleading “+N more” to the date. Its height estimate also left usable space empty and hid real limits. Snapshots now include only configured usage-capable providers or connected usage-source accounts, and Android receives the complete list. iOS keeps its existing bounded timeline and handles the newly possible empty snapshot.
UI Changes
Android 16 emulator, identical compact widget size and synthetic usage data. “One provider” means one usage-capable provider: Codex plus OpenCode configured. The header count is usage entries, not providers.
scroll.mp4
Validation
Checklist
Implemented with GPT-6 via Codex.
Summary by CodeRabbit
New Features
Bug Fixes
Documentation