pingdotgg / pingdotgg/t3code

[Bug]: Settings changes in the desktop app don't apply to a remote environment

Open
#7,500 1 comment 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

I went to the settings and made changes but they didn't sync over to my VPS, they seemed to be local specific.

One example which stands out is that I disabled Codex and Claude locally (on the machine I'm running t3code on) but did have them enabled on a remote environment, yet when I went to change the model for text generation I couldn't do so at all. No dropdown or anything available.

Another example is that I added a project from a remote environment, started a chat, and then went to adjust the project settings. I want to set a default model there, but I can't. I just see "No providers available" even though Codex and Claude are set as providers for that remote.

I like the idea of t3code since I can manage different remotes and models, I just don't want to have stuff locally enabled, since it's pointless for my uses.

Expected behavior

The entire settings pane should have a filter for "Local", "Remote 1", "Remote 2", etc., or if not the entire pane, then the parts where it's definitely needed, like for the examples I gave.

Actual behavior

Settings in the desktop app only use providers available locally and don't ping the remotes for any capabilities they may have. There's no settings sync between the desktop and any remotes. No providers dropdown when adjusting the model settings for a remote project.

Impact

Major degradation or frequent failure

Version or commit

Desktop app 0.0.33 (Windows); remote t3 serve 0.0.33

Environment

Windows 11 app + Linux (Debian 13) remote, connected via Tailscale.

Logs or stack traces

None available

Screenshots, recordings, or supporting files

none

Workaround

Going to the browser instance (the one served by the remote t3 server) which I have accessible over Tailscale and changing things from there.

Code pointers

(I had Claude come up with this part after asking it about this; from main @ 67e2fe71)

General and Project settings read usePrimarySettings() / primaryServerProvidersAtom (SettingsPanels.tsx:1774, ProjectSettingsPanel.tsx:308-310) — "primary" is the client's own local backend (state/primaryEnvironment.ts), never the project's environment. ProviderSettingsPanel.tsx:373 does take an environmentId, which is why provider toggles do reach the remote.

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 with SettingsPanels.tsx:1774 and ProjectSettingsPanel.tsx:308-310, then trace usePrimarySettings(), primaryServerProvidersAtom, and state/primaryEnvironment.ts to see how provider data is selected. Compare this with the environmentId handling in ProviderSettingsPanel.tsx:373. Done means remote project settings can see and select providers available in that project's environment rather than only local providers.

Written by the indexing model from the issue text.

Assessment

Tech stack
typescript
Domain
desktop, distributed-systems
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Active
Clarity
Mostly clear
Newbie friendliness
55/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.