Repository navigation
fix(settings): hide Guest links without T3 Connect - #474
Conversation
|
| Layer / File(s) | Summary |
|---|---|
Fix the saved-usage test clock apps/server/src/usage/UsageService.test.ts |
The test uses it.effect and sets the clock to 2026-08-02T12:00:00Z before setup. |
Cloud-only guest links
| Layer / File(s) | Summary |
|---|---|
Gate guest links on cloud availability apps/web/src/components/settings/LabsSettingsPanel.tsx, apps/web/src/components/settings/settingsSearchCatalog.ts, apps/web/src/components/settings/settingsSearch.test.ts |
The Beta section renders only when cloud public config is present. The guest-links catalog entry is marked cloudOnly, and the test checks that guest-links is filtered when controls are unavailable. |
Estimated code review effort: 2 (Simple) | ~8 minutes
Change: Bug fix
Suggested reviewers: juliusmarminge
Merge Risk: 
Low · up to 2a360
-
Guest links settings remain hidden for some already-linked, directly paired environments. Restore access for those environments while keeping the empty Beta section hidden elsewhere.
Pre-merge checks: 
5
-
Full details: Docstring Coverage
-
Explanation
Docstring coverage is 100.00% which is sufficient. The required threshold is 80.00%. Docstring coverage is scoped to functions touched by this diff with cyclomatic complexity of at least 2. Documentation-only edits and deletions within surviving functions are included; unchanged diff context and fully deleted functions are excluded. Analyzed 1 functions across 4 files.
Full details: Description check
-
Explanation
The description follows the repository template closely. It covers Summary, Why, Validation, Risk and Recovery, UI Changes, Release and Deployment Impact, Upstream Alignment, and Checklist, and it gives concrete detail for each. The change is hidden Guest links row and empty Beta section in builds without T3 Connect configuration, plus search exclusion through the cloud-only filter. Validation lists the commands run, the test counts, and a manual macOS desktop check. The description states that native mobile lint does not apply. Release impact is stated as none beyond a future build. The UI section has before and after images. The template's attribution footer is present in the form of 'Implementation: GPT-6.1 Sol via Codex', which matches the requested footer. Two minor gaps remain. The 'Validation' checklist items are marked as passed, but the 'vp check' and typecheck claims refer to an original preflight that predates the test-clock fix, and the description says the affected packages were checked again, which covers this. The Checklist item for regression coverage says the search visibility has coverage, which the summary supports through the settingsSearch test change. The description does not clearly state whether the 'vp check' and 'vp run typecheck' commands were rerun after the final commit. It also does not state the exact commit under review in the Summary section, though it mentions commit 2a360a1 under Validation. Overall the description is mostly complete and specific.
-
Finishing Touches
-
Generate docstrings
-
- Commit to this branch
- Create a new PR
Generate unit tests (beta)
-
- Commit to this branch
- Create a new PR
-
- Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.
Cross-model reviewImplementation (PR footer): GPT-6.1 Sol via Codex autoreview scoped-clean: no accepted/actionable findings in the selected Git scope and priority Automated cross-model review, updated 2026-11-02T18:03:22+00:00. |
dbalders
left a comment
There was a problem hiding this comment.
TritonAI Review
Model: api-glm-5.3 · Reasoning: high.
No actionable findings in the inspected changes.
Reviewed 89a5a98f52ef60611bc70e3d4dd3e39dd8702f65 against dd0d5acfd1f1172f99aafc0650be29ef56f9c41f.
Reviewed 3 file(s) together as one PR.
Changes
PR: Hides the Labs "Beta" section (Guest links) in builds without T3 Connect cloud configuration by conditionally rendering the section in LabsSettingsPanel, and marks the "guest-links" settings-search catalog entry as cloudOnly so it is excluded from search via the existing cloud-only filter. Updates the settings search test to assert "guest-links" is gated. The change is focused, matches the PR intent, and follows existing patterns (hasCloudPublicConfig gate, cloudOnly flag, gatedIds test set).
CI snapshot
Check runs:
- Windows Regression Tests: status=completed conclusion=skipped app=
- Sync PR size label definitions: status=completed conclusion=skipped app=
- Label PR size: status=completed conclusion=success app=
- Mobile Native Static Analysis: status=completed conclusion=skipped app=
- Macroscope - UI Consistency: status=completed conclusion=skipped app=
- CodeRabbit: status=completed conclusion=neutral app=
- Macroscope - Effect Service Conventions: status=completed conclusion=skipped app=
- Macroscope - Correctness Check: status=completed conclusion=skipped app=
- Release Smoke: status=in_progress conclusion=none app=
- Test Server 1: status=in_progress conclusion=none app=
- Test Server 2: status=in_progress conclusion=none app=
- Test Server 5: status=in_progress conclusion=none app=
- Preflight: status=in_progress conclusion=none app=
- Rust: status=in_progress conclusion=none app=
- Test Server 3: status=in_progress conclusion=none app=
- Test Server 4: status=in_progress conclusion=none app=
- Test: status=in_progress conclusion=none app=
- Prepare PR size config: status=completed conclusion=success app=
- Mobile Native Changes: status=completed conclusion=success app=
- Native fingerprint diff: status=completed conclusion=success app=
- Windows Test Scope: status=completed conclusion=success app=
CI is reported separately. This code review does not claim to have run tests.
Comment /triton-review to request a fresh review. Findings are advisory; GitHub branch protection remains authoritative.
dbalders
left a comment
There was a problem hiding this comment.
TritonAI Review
Model: api-glm-5.3 · Reasoning: high.
No actionable findings in the inspected changes.
Reviewed 2a360a1daa6bf9db6e6fc88e04df78a75d3213f3 against dd0d5acfd1f1172f99aafc0650be29ef56f9c41f.
Reviewed 4 file(s) together as one PR.
Changes
PR: This PR hides the Guest links beta row (and the now-empty Beta section) in Labs settings when the build has no T3 Connect cloud configuration, and marks the guest-links settings search entry as cloud-only so it is excluded from search in non-cloud builds, updating the gated-ids test accordingly. Separately, it converts the saved-usage retention test from it.live to it.effect and pins the Effect TestClock to 2026-08-02 so the August 2026 fixture stays within the 92-day retention window regardless of the real wall clock; production behavior is unchanged. The changes are small, focused, and follow existing patterns (the cloudOnly catalog flag and gated search test already existed for t3-connect).
CI snapshot
Check runs:
- Mobile Native Static Analysis: status=completed conclusion=skipped app=
- Mobile Native Changes: status=completed conclusion=success app=
- Test Server 4: status=in_progress conclusion=none app=
- Test Server 3: status=in_progress conclusion=none app=
- Release Smoke: status=in_progress conclusion=none app=
- Test Server 1: status=in_progress conclusion=none app=
- Test Server 2: status=in_progress conclusion=none app=
- Rust: status=in_progress conclusion=none app=
- Test Server 5: status=in_progress conclusion=none app=
- Preflight: status=in_progress conclusion=none app=
- Test: status=in_progress conclusion=none app=
- Macroscope - UI Consistency: status=completed conclusion=skipped app=
- Macroscope - Effect Service Conventions: status=completed conclusion=skipped app=
- CodeRabbit: status=in_progress conclusion=none app=
- Native fingerprint diff: status=completed conclusion=success app=
- Macroscope - Correctness Check: status=completed conclusion=skipped app=
- Remove preview download: status=completed conclusion=skipped app=
- Deploy web preview: status=completed conclusion=skipped app=
- Windows Regression Tests: status=in_progress conclusion=none app=
- Sync PR size label definitions: status=completed conclusion=skipped app=
- Label PR size: status=completed conclusion=success app=
- Publish anonymous download: status=completed conclusion=skipped app=
- Deploy relay preview: status=completed conclusion=skipped app=
- Build macOS Apple Silicon preview: status=completed conclusion=skipped app=
- Windows Test Scope: status=completed conclusion=success app=
- Native fingerprint diff: status=completed conclusion=cancelled app=
- Prepare PR size config: status=completed conclusion=success app=
CI is reported separately. This code review does not claim to have run tests.
Comment /triton-review to request a fresh review. Findings are advisory; GitHub branch protection remains authoritative.
Thread transfer impact✅ Thread transfer remains within every enforced ceiling.
Baseline: 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. |
Summary
Hide the Guest links row and its empty Beta section in builds without T3 Connect configuration, and exclude it from settings search using the existing cloud-only filter.
Why
Harness showed a Guest links beta switch even though it does not use T3 Connect. The unsupported control should stay hidden.
The existing saved-usage retention test now uses a clock matched to its August fixture. Its live clock had aged that fixture beyond the 92-day retention cutoff and blocked CI; production usage behavior is unchanged.
Validation
vp checkpassed in the original preflight.vp run typecheckpassed in the original preflight; affected packages passed again throughvp run check:changedafter the test-clock fix.vp run preflight:server: 501 files, 5,767 tests, 6 existing skips. Earlier non-server workspace tests passed.2a360a1daa. CodeRabbit's request to restore the no-cloud remote-server toggle was explicitly declined as outside the requested Harness behavior.Risk and Recovery
Users of an already-linked remote server will also have this control hidden in clients without cloud configuration; that is intentional for this Harness request. No stored settings, permissions, production usage code, or data migrations change. Revert this PR to restore the previous visibility.
UI Changes
Before (user-provided capture):
After:
Release and Deployment Impact
None beyond including the UI change in a future Harness build. No release, deployment, signing, packaging, or version changes.
Upstream Alignment
Intentional Harness difference: cloud-dependent Guest links controls stay hidden when T3 Connect is not configured. The configured-cloud path is preserved.
Checklist
Implementation: GPT-6.1 Sol via Codex