v0.8.0-alpha — one window per configuration file, Royal TS import, RDP fixes for older servers
Multiple windows, one configuration file each
Every window now owns its own configuration: its tree, its tabs, its master password, its
session restore. Two confCons.xml files can be open side by side, or on two monitors — the
thing mRemoteNG does on Windows by running several instances, done here with windows in a
single process, so there is still one updater and the shared settings stay coherent.
- A file that is already open focuses its window instead of opening a second copy of the
tree, where whichever window saved last would silently discard the other's edits. - Session restore is now kept per file. A single shared list meant the last window to touch
a tab overwrote every other window's. - Settings can reopen the same files at startup, one window each.
- The quit confirmation totals up every window, and Settings shows the master password of
the document in front.
Cmd+W no longer closes the window. It used to take every open connection down with it,
one key away from Cmd+Q, which did ask first. It now closes a tab, as in Safari; the window
moves to Shift+Cmd+W and asks for confirmation when connections are open or edits unsaved.
Cmd+N is New Window again, and a new configuration file is Shift+Cmd+N.
Import Royal TS documents
File > Import Royal TS document reads a .rtsz and adds its tree to the open configuration,
with the passwords where the Royal document keeps them in the clear. Folders, RDP, SSH,
Telnet (Royal has no separate type — it is an SSH connection with a flag), HTTP/HTTPS by URI
scheme, and VNC. DOMAIN\user is split into its two fields, "credentials from parent"
becomes the matching Inherit checkboxes rather than copied passwords, and deleted
connections are left behind. Types with no equivalent are counted and listed in the summary
rather than dropped silently. Nothing touches disk until you save.
RDP against older Windows servers
Two separate defects, both found by running Microsoft's own client against the same host and
comparing the two on the wire.
Sessions were being cut off. FreeRDP 3.27.1 fills the monitor definition with the two
scale factors crossed, which on a Retina display put a deviceScaleFactor of 200 on the
wire where the protocol allows only 100, 140 or 180. Windows 10 and 11 ignore it; Server
2012 R2 dropped the connection about a second in, reporting itself as a transport failure.
And then the screen stayed black. On Server 2012 R2 the graphics pipeline negotiates,
opens its channel and paints nothing but a few stray fragments. Such servers are now
recognised from their own capability flags on connect — the marker for Windows 10 / Server
2016 is missing — and the connection is retried on the classic bitmap path, which is
remembered for that host. Later connections start there directly. To forget what was
learned: defaults delete ro.cremenescu.mRemoteNXT legacyGraphicsHosts.
Also: the TCP keepalive was declaring a session dead after 11 seconds of quiet — enough to
kill a tab parked on a Windows logon screen, which paints nothing at all. Now 60 seconds.