Merge branch 'claude/host-password-persistence-2c2c1f'

This commit is contained in:
2026-08-03 14:41:13 +02:00
4 changed files with 278 additions and 7 deletions
+11 -2
View File
@@ -36,14 +36,23 @@
a key wants nothing typed here — and a sentence in its place when it does not, because "nothing
needs typing" and "something needs typing and the box has not appeared yet" look identical and only
one of them is fine.
REMEMBER travels with the box and hides with it. It is the two-step chore the box's tooltip used to
describe — add a password under Keychain, then bind the host to it — done from the one screen that
already has the password, and it takes effect only once the remote has accepted it.
-->
<Border Grid.Row="0" Padding="12,8" Background="{StaticResource Panel}"
BorderBrush="{StaticResource BorderSubtle}" BorderThickness="0,0,0,1">
<StackPanel Orientation="Horizontal" Spacing="8">
<TextBox Text="{Binding Vault.ConnectPassword}" PlaceholderText="password (not stored)"
<TextBox Text="{Binding Vault.ConnectPassword}" PlaceholderText="password"
PasswordChar="•" Width="200" VerticalAlignment="Center"
IsVisible="{Binding Vault.SelectedHostAsksForAPassword}"
ToolTip.Tip="Typed each time and never stored. To stop typing it, add a password under Keychain and bind this host to it in the host's own editor." />
ToolTip.Tip="Typed each time unless REMEMBER is ticked, in which case it is saved to your keychain and bound to this host once the connection succeeds." />
<CheckBox IsChecked="{Binding Vault.RemembersConnectPassword}" VerticalAlignment="Center"
IsVisible="{Binding Vault.SelectedHostAsksForAPassword}"
ToolTip.Tip="Saves this password to your keychain, bound to this host, so it is not asked for again. It syncs to your other machines, and only happens if the connection works.">
<TextBlock Text="REMEMBER" Classes="hint" FontSize="11" />
</CheckBox>
<TextBlock Text="{Binding Vault.SelectedHostAuthenticationNote}" Classes="hint"
FontSize="11" VerticalAlignment="Center"
IsVisible="{Binding !Vault.SelectedHostAsksForAPassword}" />