Skip to content

feat: show in-app web apps only to already-connected users - #5438

Closed
YellowSnnowmann wants to merge 2 commits into
tinyhumansai:mainfrom
YellowSnnowmann:feat/gate-webapps-visibility-5423
Closed

YellowSnnowmann wants to merge 2 commits into
tinyhumansai:mainfrom
YellowSnnowmann:feat/gate-webapps-visibility-5423

Conversation

@YellowSnnowmann

@YellowSnnowmann YellowSnnowmann commented Aug 7, 2026

Copy link
Copy Markdown
Collaborator

Summary

  • The in-app web apps (Accounts webview rail) are being removed from the app after 31 August 2026. This hides the feature from users who never connected one and shows a persistent removal notice to those who have. No code is removed — visibility + notice only.
  • Sidebar rail: dropped the "Add apps" button + AddAccountModal; already-connected apps still show and can be reconnected (select tile) or disconnected (right-click). Zero connected → only the agent tile.
  • Deep-link accounts step (OpenhumanLinkModal): now connected-only and disconnect-only — no way to add a service you weren't already using.
  • New non-dismissable WebAppsSunsetNotice, shown only when ≥1 app is connected, mounted beside the other shell banners.
  • webAppsSunset.* copy added to every supported locale.

Problem

New users shouldn't pick up a feature that's about to disappear, and existing users need a clear heads-up. The app had no way to gate the web-apps entry points by "has this user connected one?".

Solution

The durable "already connected" signal is the persisted Redux accounts slice (survives session drops), so a channel that dropped its session still shows for reconnect while a never-connected one shows nothing. All add-new entry points are removed; a non-dismissable banner names the 31 August 2026 date.

Submission Checklist

  • Tests added or updated (happy path + failure/edge) — rail, notice, and deep-link step; 23 tests pass
  • Diff coverage ≥ 80% — new component/rail/modal changes are covered by Vitest (frontend-only diff)
  • Coverage matrix updated — N/A: visibility-gating change, no new feature IDs
  • All affected feature IDs listed under Related — N/A: no matrix rows affected
  • No new external network dependencies introduced
  • Manual smoke checklist updated — N/A: no release-cut surface touched
  • Linked issue closed via Closes #NNN

Impact

  • Frontend-only (desktop app UI). No Rust/backend changes.
  • CI note: the local pre-push hook runs full Rust clippy over the core + Tauri shell, which can't run in a fresh worktree without the vendored submodules (incl. the large CEF submodule) initialized. This diff touches zero Rust, so that check is not applicable here; frontend format/lint/typecheck/i18n and the changed-file tests all pass locally, and CI's Rust lanes correctly skip for this frontend-only diff.

Related


AI Authored PR Metadata (required for Codex/Linear PRs)

N/A — not a Codex/Linear-authored PR.

Validation Run

  • pnpm --filter openhuman-app format:check
  • pnpm typecheck
  • Focused tests: SidebarAppRail, WebAppsSunsetNotice, OpenhumanLinkModal.accounts (23 pass)
  • Rust fmt/check (if changed) — N/A: no Rust changed
  • Tauri fmt/check (if changed) — N/A: no Rust changed

The in-app web apps (Accounts webview rail) are being removed from the app
after 31 August 2026. Hide the feature from users who never connected one and
show a persistent removal notice to those who have.

- Remove the "Add apps" button + AddAccountModal from the sidebar rail and the
  deep-link accounts step; already-connected apps still show and can be
  reconnected or disconnected. Zero connected -> only the agent tile.
- Add a non-dismissable WebAppsSunsetNotice, shown only when at least one app is
  connected, mounted beside the other shell banners.
- Add webAppsSunset.* copy to every supported locale.

Closes tinyhumansai#5423
@coderabbitai

coderabbitai Bot commented Aug 7, 2026

Copy link
Copy Markdown
Contributor

Warning

Review limit reached

You’ve reached a temporary PR review limit under our Fair Usage Limits Policy.

Your recent review volume is higher than typical usage, so adaptive limits are currently applied.

Next review available in: 48 minutes

Enable usage-based reviews in Billing to review now. Otherwise, wait until the next included review is available.
You're only billed for reviews past your plan's rate limits ($0.25/file).

How can I continue?

After more reviews become available, a review can be triggered using the @coderabbitai review command as a PR comment. Alternatively, push new commits to this PR.

To avoid repeated limits, reduce automatic review volume by pausing incremental auto-reviews earlier, using label-based review opt-in, excluding WIP or generated PR titles, or requesting reviews manually when the PR is ready. If your team needs uninterrupted high-volume reviews, an organization admin can enable usage-based reviews.

How do review limits work?

CodeRabbit enforces per-developer PR review limits for each organization. Most developers receive the normal plan review availability.

For paid Pro and Pro+ PR reviews, CodeRabbit uses adaptive limits for sustained high-volume activity. When a developer's recent PR review activity reaches the 95th percentile or higher among CodeRabbit users, additional reviews become available more gradually as earlier reviews age out of the rolling window.

Please refer docs for additional details.

Review details
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: 446cce2f-9bcb-4e86-81f0-0e0c5843e393

📥 Commits

Reviewing files that changed from the base of the PR and between 8deb5f2 and dcd7998.

📒 Files selected for processing (21)
  • app/src/App.tsx
  • app/src/components/OpenhumanLinkModal.tsx
  • app/src/components/__tests__/OpenhumanLinkModal.accounts.test.tsx
  • app/src/components/accounts/WebAppsSunsetNotice.test.tsx
  • app/src/components/accounts/WebAppsSunsetNotice.tsx
  • app/src/components/layout/shell/SidebarAppRail.test.tsx
  • app/src/components/layout/shell/SidebarAppRail.tsx
  • app/src/lib/i18n/ar.ts
  • app/src/lib/i18n/bn.ts
  • app/src/lib/i18n/de.ts
  • app/src/lib/i18n/en.ts
  • app/src/lib/i18n/es.ts
  • app/src/lib/i18n/fr.ts
  • app/src/lib/i18n/hi.ts
  • app/src/lib/i18n/id.ts
  • app/src/lib/i18n/it.ts
  • app/src/lib/i18n/ko.ts
  • app/src/lib/i18n/pl.ts
  • app/src/lib/i18n/pt.ts
  • app/src/lib/i18n/ru.ts
  • app/src/lib/i18n/zh-CN.ts

Comment @coderabbitai help to get the list of available commands.

@YellowSnnowmann
YellowSnnowmann marked this pull request as ready for review August 7, 2026 10:39
@YellowSnnowmann
YellowSnnowmann requested a review from a team August 7, 2026 10:39

@greptile-apps greptile-apps Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Your trial has ended. Reactivate Greptile to resume code reviews.

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 58c5b6474f

ℹ️ About Codex in GitHub

Codex has been enabled to automatically review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

When you sign up for Codex through ChatGPT, Codex can also answer questions or update the PR, like "@codex address that feedback".

Comment thread app/src/components/OpenhumanLinkModal.tsx
The accounts/setup deep link stays reachable (old chat/onboarding pills can
dispatch it), so a user who never connected a web app could still see the
removal notice — a trace of the retired feature tinyhumansai#5423 requires hiding. Gate the
step on order.length (consistent with the shell banner and rail): for a
never-connected user it now closes without rendering anything.

@greptile-apps greptile-apps Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Your trial has ended. Reactivate Greptile to resume code reviews.

@YellowSnnowmann

Copy link
Copy Markdown
Collaborator Author

Closing this as superseded by upstream.

This PR gated the in-app web apps (the Accounts webview rail) and added a non-dismissable 31-Aug-2026 sunset notice, i.e. it hid the feature ahead of its planned removal.

Since it was opened, upstream main removed the embedded webview accounts feature outright in 9fd87a54b ("refactor(cef): remove embedded webview accounts", ~10.3k deletions): SidebarAppRail, WebviewHost, webviewAccountService, the entire webview_accounts Rust module, the Accounts webview selection, and the webview bits of OpenhumanLinkModal are all gone.

That deletes the exact surface this PR touched — the merge conflicts here are modify/delete against files upstream removed. Resolving them would mean re-introducing the deleted SidebarAppRail / WebAppsSunsetNotice / webAppsSunset.* copy just to hide a feature that no longer exists, which is strictly worse than the clean removal already on main.

The sunset goal (#5423) is fully satisfied by the upstream removal, so there's nothing left to gate. Closing.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Show in-app web apps only to users who already have them connected

1 participant