Skip to content

fix(app): keep server details editable - #43169

Merged
Hona merged 1 commit into
devfrom
investigate-server-fields
Aug 18, 2026
Merged

fix(app): keep server details editable#43169
Hona merged 1 commit into
devfrom
investigate-server-fields

Conversation

@opencode-agent

Copy link
Copy Markdown
Contributor

Summary

  • keep the server address controlled for validation and health preview behavior
  • make the optional server name, username, and password fields uncontrolled so Kobalte cannot roll back typed characters on Windows/Electron
  • scope the workaround to the affected Add/Edit server form instead of changing the shared TextField component

Verification

  • bun typecheck in packages/app
  • git diff --check

Fixes#38193

Requested by: @Hona (Hona via Slack)

@Hona
Hona enabled auto-merge (squash) August 18, 2026 03:26
@Hona
Hona merged commit 3232040 into devAug 18, 2026
11 checks passed
@Hona
Hona deleted the investigate-server-fields branch August 18, 2026 03:38
alltomatos added a commit to alltomatos/opencode that referenced this pull request Aug 23, 2026
Pulls in 83 upstream commits (provider/model fixes, stats/console
updates, docs) since the last sync. Most changes land in packages/web,
packages/console, and packages/stats, which this fork doesn't touch.
5 real conflicts, resolved:
- packages/app/package.json, packages/desktop/package.json: kept our
version numbers (1.21.0) over upstream's tracking version (1.18.21)
— this fork bumps independently per its own release process.
- packages/app/src/components/dialog-select-server.tsx: kept our v2
migration (Field/TextInputV2, done in the UI/UX epic) over upstream's
edit to the legacy TextField version of the same file. Upstream's
underlying fix ("keep server details editable", anomalyco#43169 — switching
name/username/password from controlled `value` to `defaultValue` to
stop external re-renders from clobbering in-progress typing) was a
real bug fix against their TextField component; ported the same
value->defaultValue swap here, but TextInputV2's props don't support
defaultValue (different component, native <input> passthrough), so
reverted those three fields back to `value` after typecheck caught
the mismatch — no evidence TextInputV2 has the same staleness bug in
the first place, given it doesn't intercept `value` the way
TextField did.
- packages/app/src/pages/session/timeline/message-timeline.tsx:
upstream extracted the same archive-session logic we already had
inline into a shared `useSessionArchive()` hook (also now used by
use-session-commands.tsx, which merged in cleanly using it) — adopted
the hook and dropped our now-redundant inline `archiveSession`, while
keeping our `useSessionLayout` naming and the menu icons added in the
UI/UX epic (#1).
- bun.lock: regenerated via `bun install` after resolving the above.
Verified: typecheck green across app/opencode/core/sdk/desktop.
packages/opencode test/tool/task.test.ts and test/session/prompt.test.ts
both have pre-existing failures unrelated to this merge, confirmed via
a throwaway worktree of the pre-merge dev HEAD (e57da01) — same
failures reproduce there with zero merge changes applied.
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Desktop "Add server" dialog: Server name / Username / Password fields cannot be edited (only Server address works) — v1.18.4

1 participant

@Hona