Public Access
Let the phone delete a host, and move or remove a group
The desktop gained three things the phone did not follow: moving a group to another vault, the second question asking whether a group's deletion takes its hosts with it, and — since long before either — deleting a host at all. What that left was a head whose v3 + can fill a keychain and whose editors can correct one, with no way to empty either. The commands could not simply be bound. DeleteGroup and MoveGroup aim at GroupTarget, which is the selected card or the open group, and the phone has neither: its list draws headings, and a heading's selection deliberately bounces back to the host. Called bare on that head they would have returned having done nothing — a DELETE that appears to have been pressed and has not. Both now take the row and fall back to GroupTarget for the desktop's menu, and ConfirmMoveGroupAsync resolves from the panel's own movingGroupId rather than from the selection, which is also the honester answer on the desktop: what moves is the shelf the panel was opened on. The heading's pencil became a menu. Three icons after a chevron, a name, a vault badge and a count is what would be left of the name at 360dp, so the ⋯ raises the add sheet's shape carrying Edit, Move to another vault, a rule, and Delete — the desktop's card menu, in the one idiom this screen already has. It does not carry Open: the desktop's grid holds one level of the group tree and this list holds all of it flattened, so there is nowhere to open a group into. DELETE under a host sits on a row of its own beneath EDIT and MOVE rather than beside them. A phone has no hover and no tooltip, so where a thumb lands is the only thing separating a destructive control from an ordinary one. Both questions take the controls that asked them — ShowsConnectControls, which is the phone's half of the rule ShowsHostPaneActions already carries for the desktop's drawer — so DELETE cannot be pressed a second time underneath its own confirmation. Preferences gained the running version, and the sentence saying this head does not replace itself and that no DodoSSH server will ever offer one. It reads Updates.CurrentVersion off the same view model the desktop's UPDATES section does, over the null channel that reports itself unsupported. Nothing was needed for the realtime push: it is composed in ServerConnection, which both heads use. Seven tests, all phone-shaped — a group acted on with nothing selected, the menu waved away leaving nothing armed, the ungrouped heading raising none, and the bar's three states. The rectangles remain unmeasurable for the reason phase 8 gives; the checks for them are 8.10 to 8.13 and 13.6.
This commit is contained in:
@@ -390,8 +390,9 @@ to" picker on the Keychain screen and cannot be moved yet.
|
||||
|
||||
**A group can be moved too, and it takes its contents with it** — "Move to another vault…" on the group
|
||||
card's right-click menu, beside Open, Edit and Delete, which is the whole of what can be done to a group on
|
||||
the desktop. That is the desktop only, because the phone draws groups as headings in the host list and has
|
||||
never had a way to delete or move one. It is the same re-seal
|
||||
the desktop. The phone has the same three on a sheet raised from the group's heading, since it draws no
|
||||
cards and has no right-click; it does not have Open, because its list shows the whole tree flat and there is
|
||||
nothing to open a group into. It is the same re-seal
|
||||
and tombstone underneath, applied to every item involved: the group, the groups nested inside it, and every
|
||||
host filed under any of them, each taking a new id in the destination. Moving less than that was never
|
||||
coherent — the machines and the child groups are items of the vault the group is leaving, so a group that
|
||||
@@ -500,9 +501,12 @@ transfer starts, the download runs into the cache, and the finished bytes are co
|
||||
chose. That order has one visible cost, and the screen says it rather than leaving it to be discovered: the
|
||||
picker creates the file when you dismiss it, so a download that then fails leaves an empty one there. The
|
||||
alternative is a picker that appears minutes later over whatever you moved on to — and often while the app
|
||||
is in the background, where Android will not show one at all. Hosts and groups are made and corrected here now, from
|
||||
a floating + on the Hosts screen, and both editors are cards in the list's own row rather than dialogs, so
|
||||
the form never covers the thing it is about. The keychain has no editor of its own: SSH keys and buckets are
|
||||
is in the background, where Android will not show one at all. Hosts and groups are made, corrected and taken
|
||||
away here now, from a floating + on the Hosts screen and a menu on each group's heading, and both editors are
|
||||
cards in the list's own row rather than dialogs, so the form never covers the thing it is about. Every
|
||||
question a deletion asks is the desktop's, counted the same way and drawn in the place the buttons that
|
||||
asked it were — including the tick deciding whether a group's machines go with it. The keychain has no
|
||||
editor of its own: SSH keys and buckets are
|
||||
created on the desktop and sync down, and the phone will delete an item — behind the same counted
|
||||
confirmation — without offering to change it. What this head does make, it makes where the need arises
|
||||
rather than in an editor: a tag from inside a host's editor, and a credential from the connect bar's
|
||||
|
||||
Reference in New Issue
Block a user