Skip to content
This repository was archived by the owner on Nov 12, 2026. It is now read-only.

Tailscale app: settings gear and edit sheet for each VPN - #58

Merged
techmore merged 1 commit into
mainfrom
claude/tailscale-vpn-edit
Oct 29, 2026
Merged

techmore merged 1 commit into
mainfrom
claude/tailscale-vpn-edit

Conversation

@techmore

Copy link
Copy Markdown
Owner

Owner request: a settings button next to BFS to add or change its passwords.

  • Each VPN row has a gear (emblem-system-symbolic, tooltip and accessible label) that opens an edit sheet with: server, username, password, IPsec pre-shared key (L2TP), Send all traffic over VPN connection, and Remember passwords.
  • Remember passwords is on by default (secret flags 0, stored system-wide, readable only by root). Off means ask every time. The owner wants secrets saved; a per-user keyring needs a secret agent, which this desktop doesn't run, so the sheet offers stored or ask.
  • Secret boxes start empty: "Not saved yet", or "Saved. Leave empty to keep."
  • Saving uses NetworkManager's D-Bus Settings.Connection.Update2 (to disk). Secrets never appear on a command line (ps) or in a log. A blank box keeps the stored secret, read back with GetSecrets inside the app. If that read fails, the save stops with a message rather than wiping the secret.
  • A connected VPN offers Reconnect afterwards. The card's "Save Passwords…" button now opens this sheet.

Checked: tests, clippy clean, fixture renders of the row and the empty sheet (in the README). I also ran the save code against a throwaway L2TP connection with fake secrets: server, username and never-default were written and both secrets stored; a second save with blank boxes kept them. Then I deleted the test connection. BFS was not touched. Installed locally, and the app restarted by PID.

🤖 Generated with Claude Code

Each VPN row gets a settings gear (emblem-system-symbolic, tooltip and
accessible label) that opens a sheet: server, username, password, IPsec
pre-shared key, Send all traffic over VPN connection, Remember passwords
(on by default). Secret boxes start empty; empty keeps the stored value.
Saves with NetworkManager's D-Bus Update2, so secrets never appear on a
command line or in a log; a blank secret that can't be read back stops the
save instead of wiping it. Checked against a throwaway VPN with fake
secrets, then deleted it.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@techmore
techmore merged commit 8ce46bf into main Oct 29, 2026
1 check passed
@techmore
techmore deleted the claude/tailscale-vpn-edit branch October 29, 2026 14:07
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant