pingdotgg / pingdotgg/t3code

[Bug]: Embedded browser tabs are not restored after quitting or crashing the app

Open
#5,540 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
TypeScript
Stars
23k
Forks
5.9k
Avg merge
11h 14m
Merged PRs (30d)
357

Description

Before submitting
  • I searched existing issues and did not find a duplicate.
  • I included enough detail to reproduce or investigate the problem.
Area

apps/desktop

Steps to reproduce
  1. Open a project and open one or more embedded browser / web preview tabs in the right panel (for example a dev server at http://localhost:3000 plus a docs page).
  2. Quit the app normally (Cmd+Q), or let it crash / get force-killed.
  3. Reopen the app and return to the same thread.
Expected behavior

Embedded browser tabs are part of the workspace state and should survive an app restart the same way threads and open files do. On relaunch the previously open browser tabs should be restored (URL, tab order, active tab), or at minimum be recoverable from a "recently open previews" list so nothing has to be retyped.

Ideally this also holds for an unclean exit: state is persisted as tabs change, not only on graceful shutdown, so a crash does not lose it.

Actual behavior

Every embedded browser tab is gone after relaunch. The right panel comes back empty and each preview URL has to be found and reopened by hand. This is the same whether the app is quit cleanly or crashes, so it looks like browser tab state is only held in memory and never written to disk.

The cost scales with how much you had open: multi-service projects with several preview tabs need several manual reopens per restart, and any URL that was reached by navigating (deep links, an authed page, a specific route) has to be navigated to again from scratch.

Impact

Minor bug or occasional failure

Version or commit

0.0.31 (T3 Code Alpha, macOS desktop app)

Environment

macOS 14.6.1 (Sonoma), Apple Silicon, T3 Code Alpha desktop app 0.0.31

Logs or stack traces
n/a, no error is surfaced. Tabs are silently absent on relaunch.
Workaround

Keep preview URLs somewhere outside the app (notes, bookmarks, a README) and reopen them manually after every restart.

Related
  • #5117 (pin browser/terminal tabs across chats) is adjacent but scoped to moving between chats within one session, not surviving an app restart. Persisting tab state to disk would likely serve both.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start in apps/desktop and trace how embedded browser or web preview tabs are created, associated with a thread, and represented in workspace state. Check how state is saved during tab changes and restored after relaunch, including the unclean-exit case. Done means the URL, tab order, and active tab return after a normal restart and remain recoverable after a crash.

Written by the indexing model from the issue text.

Assessment

Tech stack
typescript
Domain
desktop
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
48/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.