Hiatus Remote
User Manual
First start, main window, getting and giving help, files, Android debugging, unattended access, settings.
Hiatus Remote connects two computers over the internet. One person (the supporter) sees and controls another person's screen (the target), transfers files or opens a command line. Everything is end-to-end encrypted, so not even the operator of the relay server can read along.
This manual is for everyone who uses Hiatus Remote, whether you are getting help or giving it. Setting up the server and the service is covered in the Admin Manual.
1. First start: set up the relay server
Hiatus Remote connects through a relay server run by your provider (company, IT department, service provider). The first time you start it, it asks for this server:
- Paste the access code you received from your provider. It looks like this:
hiatus://relay.example.org:443?pin=sha256:3f9a…Server, port and pin are filled in automatically. - Alternatively, enter server, port and pin individually (one pin per line).
- Click Check and save. Hiatus Remote makes a test connection and checks that the server matches the pin. Only then is the server saved.
If your provider supplied a relay file (*.relay), the access code is already filled in – check server and pin and click Check and save.
To work without a relay server, click Continue without relay server: the dialog no longer appears, and connections only work directly by address (for example in a VPN). You can set up the server later under Settings → Network → Relay server.
The pin is the server's digital fingerprint. It prevents anyone else from pretending to be your server. Only take it from a trustworthy source: your provider, not an unknown e-mail.
Messages you may see during the check:
| Message | Meaning |
|---|---|
| Server not found | The name is misspelled or the network cannot resolve names. |
| Server not reachable | Wrong port, the server is down, or a firewall blocks the connection. |
| The pin does not match this server | The pin was mistyped, or this is a different server. Ask your provider. |
| There is no Hiatus relay at this address | The address belongs to another service. |
If the Hiatus service is installed on the computer (see section 7), Hiatus Remote uses the service's server and the dialog does not appear.
To change the server later, go to Settings → Network → Relay server → Change … (see section 8).
2. The main window
- On the left is the navigation: Connect, Active sessions, Devices and Settings.
- At the bottom is the status bar. It shows the connection to the relay server (green dot = connected), the server name and, on the right, the version – click it to open About Hiatus Remote.
- Hiatus Remote runs once per user. If you start it again, the existing window comes to the front.
- The window adapts to small screens. Double-click the title bar to maximize or restore it.
- Minimizing (Windows) puts Hiatus Remote into the notification area of the taskbar (next to the clock) – your computer stays reachable. Click the icon to open the window again; the icon's context menu offers Open Hiatus Remote and Quit. Hiatus Remote only quits with the X in the window or via Quit on the icon. When a connection request arrives, the window appears by itself.
3. Getting help: share this computer
On the Connect page, on the left under Share this computer:
- Your ID has nine digits, e.g.
482 917 305, and stays the same. - One-time password has ten characters, e.g.
K7QW2-MZP4R. It changes every 10 minutes (the bar shows the time left) and after every session. The arrow button creates a new one immediately.
Give your ID and password only to people you know, ideally on the phone. The password never leaves your computer; it is only used for the secure key exchange.
The request
When someone connects, a dialog appears showing:
- the supporter's ID.
- four fingerprint words. Read them out together, because the supporter sees the same four words. If they differ, reject the request. If the ID is on the list of allowed supporters with a different key, the dialog shows a red warning: someone else may be using this ID – only allow after comparing the fingerprint.
- the permissions you grant:
| Permission | What the supporter can do |
|---|---|
| View screen | See your screen |
| Control mouse and keyboard | Operate your computer |
| Transfer files | Upload and download files, with your user rights |
| Remote shell | Open a command line with your rights |
| System audio | Hear your computer's sound |
| Record session | Off by default, never preselected: the other side may record the picture, sound and remote shell of this session on their computer. When they start recording, the notification bar permanently shows “● Recording in progress – stop”; clicking it (or turning the permission off under Active sessions) stops it immediately. Start and end are listed in the history. |
| Clipboard | Exchange copied text and images |
| Tunnels to ports of this computer | Connect programs on their computer to services listening on your computer (localhost only, e.g. a remote debugger or a server application) |
| Remote debugging | Start the Visual Studio Remote Debugger on your computer and inspect programs with it. A debugger can pause, read and change running programs. Only for developers you trust. |
| Debug an Android device | Full ADB access to an Android device plugged into your computer (USB) or on your Wi-Fi: install, debug and inspect apps, read logs, the apps' files. You also have to allow it on the phone. |
| Add Android devices by address | Only together with Debug an Android device: the other side may add devices on your network by IP address and port (e.g. Fire TV, Shield) and remove them again, instead of you doing it. Local network addresses only; every entry is recorded in the history. |
Files, shell, audio, clipboard, tunnels, remote debugging and Android are off by default. Only grant what is needed. The All switch above the list turns all permissions on or off at once.
Hiatus Remote brings its window to the front and into the visible area of the screen when a request arrives (even if it was pushed halfway off the screen or made very small). The fingerprint, the warning and the Reject/Allow buttons always stay visible; if there is not enough room, only the list of permissions scrolls.
If you do not answer, the request is rejected automatically after 30 seconds. After three wrong passwords, Hiatus Remote briefly blocks incoming connections and creates a new password.
While you are getting help
At the top of the screen, a "Remote access active" banner shows who is connected. From there you can do the following at any time:
- Revoke control, so the supporter can only watch.
- Clipboard off, Shell off, Audio off, or stop running file transfers.
- Tunnel off (port …) shows the ports of your computer that the supporter reaches through a tunnel, and closes all tunnels including open connections.
- Debugger off (…) shows the account and authentication mode of the running remote debugger and stops it together with the permission.
- Android off (…) shows the connected Android device and ends Android debugging. For pairing via Wi-Fi, Hiatus shows you a QR code when the supporter asks for it (scan it on the phone under Wireless debugging → Pair device with QR code) or asks for the 6-digit pairing code from the phone; if your phone does not appear by itself, add it manually with IP address and port.
- End the session immediately.
So that the banner does not cover anything, it slides up to the top edge after a few seconds; a small handle "● Remote access" stays visible there. Move the mouse over it and the banner expands again. At the start and whenever something changes (for example a shell is opened or a file is transferred), it expands by itself for a few seconds. With the pin next to End you pin the banner – it then stays expanded (the choice is remembered).
4. Helping: control a partner's computer
On the Connect page, on the right under Control a partner:
- Enter the partner ID (nine digits).
- Choose a mode: Remote control, Files or Remote shell. The mode only sets the first view.
- Click Connect and enter the partner's password.
- Compare the four fingerprint words with your partner and confirm.
Your partner then confirms the request and chooses the permissions. Partners you connected to recently are listed under Recently connected.
Direct connection (without a relay server): if you reach the computer through a VPN and it has direct connections switched on, enter its address instead of the partner ID – e.g. 10.20.5.17, server01, or 10.20.5.17:5000 for a port other than 47443 (IPv6 in square brackets: [fd00::5]:47443). The field then shows "Direct connection to …"; no relay server is needed. On the first connection, the connection dialog shows the computer's fingerprint – compare it with the one the customer sees under Settings → Network → Direct connections. Hiatus Remote remembers the address and fingerprint; if a computer with a different certificate answers at that address later, the connection is refused. The dialog then names the device that last answered at that address (e.g. because Hiatus was set up again there). Check fingerprint again forgets the remembered fingerprint of that address and connects as on the first connection – compare it again with the one the customer sees. Never accept without comparing: a different certificate can also mean a different computer. Password, fingerprint comparison and unattended access work as usual.
5. During a session
Each session is a tab in the title bar; + opens another one. The toolbar has these buttons:
| Button | Function |
|---|---|
| E2EE | Shows the encryption and the session fingerprint. |
| Monitor 1/2 … | Chooses the partner's screen, if there are several. |
| Ctrl+Alt+Del | Sends the key combination, e.g. to unlock or at the sign-in screen. Only active if it works on the partner's computer (Windows: Hiatus service and policy, see the Admin Manual); otherwise greyed out, and the tooltip gives the reason. |
| Files | Opens the two-pane file view: your computer on the left, the partner's on the right (see Transferring files below). |
| Shell | Opens a command line on the partner's computer: PowerShell, cmd, or the login shell. Up to four can be open at once. Copy and paste with Ctrl+Shift+C/V. When a device is connected through the Android window, it also appears in the selection ("ADB · Samsung SM-S948B (USB)"): an ADB shell on the device (with terminal, colours, Ctrl+C) through this computer's adb and the tunnel – it also requires Remote shell. If the device is disconnected or Remote shell is revoked, it ends ("ended: Android device disconnected"). |
| Tunnel | Port forwarding to the partner's computer (see below), up to 32 tunnels. |
| Remote Debugger | Starts the Visual Studio Remote Debugger on the partner's computer (see below). |
| Android | Connect and debug the partner's Android devices, open Logcat (see Debugging Android devices and Logcat viewer). |
| Screen | Shows the screen; Screen, Files, Shell and Tunnel are views of the session, and the active one is highlighted. |
| Pointer | Shows or hides the partner's mouse pointer. |
| Audio | Plays the partner's sound, if the partner allows it. |
| Quality | Automatic (default: first fewer frames, then lower resolution), Prefer quality (text stays sharp, down to 5 frames/s), Prefer speed (smooth, lower resolution) or Manual (your own limits up to 16 Mbit/s and 60 frames/s; remembered for later sessions). All modes are upper limits: on a slow line the quality drops below them and the hint "Slow connection on the other side" appears. |
| Disconnect | Ends the session. |
The status bar at the bottom shows whether the connection is direct on the local network (P2P · LAN direct), direct over the internet (P2P · QUIC direct), via the relay or – if UDP is blocked in the network – via the relay over TCP, plus the round-trip time (RTT) and the frame rate. If a session starts via the relay, Hiatus keeps looking for a direct path in the background and moves there without interruption; the display then changes to "P2P".
Clipboard: only what is newly copied during the session is transferred: text up to 1 MiB, images up to 64 MiB (as PNG) and 40 million pixels. A larger image, such as a camera photo from the Photos app, is not transferred; the supporter gets a notice instead and can transfer it as a file. With several sessions, the supporter exchanges the clipboard only with the session in the active tab, in both directions.
Tunnels: connect a program on your computer to a service on the partner's computer, for example your client of the company software to its server application, or Visual Studio to the remote debugger. No VPN and no firewall rules are needed. Under Tunnel → Add tunnel, enter:
- Local port: Hiatus listens on this port on your computer, on
127.0.0.1only (other computers in your network cannot reach it). Leave it empty to use a free port. - Partner port: connections arrive here, always on the partner's computer itself (
localhost).
Remote process … (next to Add) saves looking up ports: the Tunnels to remote processes dialog lists all processes on the partner's computer that listen on a TCP port – services included (e.g. svchost.exe · TermService, postgres.exe · postgresql-x64-16) – with Process, PID, User, Ports and Path. Click a column header to sort (again: reverse); drag the right edge of a header to change the column width (double-click: default width) – if the table becomes wider than the dialog, it scrolls horizontally. The dialog grows with the window. The search field filters by process or service name, Refresh queries again. Select one or more processes (check box, click on the row, Shift-click for a range, Space) and confirm with Create n tunnels: each port gets a tunnel, locally on the same port if it is free, otherwise on a free one; the tunnel list shows the process. Greyed out and not selectable are ports that are already tunnelled and listeners bound to a network address only ("1433: bound to 10.0.0.5 only") – they cannot be reached through localhost. You cannot create more than the free tunnels (at most eight); the dialog says how many ports too many are selected. Programs that listen through HTTP.sys (WCF, HttpListener, ASP.NET with HTTP.sys, IIS) do not own their port on Windows – it belongs to the System process. Hiatus assigns such ports to the program that registered its URLs there and notes "1115 via HTTP.sys"; if several programs share a port (different URL paths), it is listed with each and created only once. If Hiatus runs without the service on the partner's computer, path or user of other users' processes may be missing and HTTP.sys ports may stay with System; the ports are listed anyway. A partner with an older version cannot list processes ("older version") – enter the port as above.
Limits: at most 32 tunnels per session and 64 simultaneous connections through all tunnels and the remote debugger together (Android has its own 64). When a limit is reached, the connection is refused – never silently: the note "Connection limit reached" appears, and the tunnel shows "n refused (limit: 64 connections …)" in warning colour. Then close connections or tunnels you do not need, or open a second session for another task. All limits are listed in the administrator manual under Session limits.
Your program then connects to 127.0.0.1:<local port> (copy the address with the copy icon). The list shows the state, the number of connections and the amount transferred for each tunnel; you can stop, start and remove each tunnel individually. The partner must allow Tunnels and sees in their notification bar which ports you reach. If they revoke the permission, all tunnels end; you then start them again yourself. Connections run end-to-end encrypted through the session, directly or via the relay.
Remote Debugger: debug a program on the partner's computer with Visual Studio, without a VPN. Requirement: the Remote Tools for Visual Studio are installed on the partner's computer, and the partner must allow Remote debugging. Under Remote Debugger you choose:
- Authentication – Windows authentication (Visual Studio asks for an account on the partner's computer when attaching, more secure) or no authentication (more convenient, but open to everyone on the partner's network).
- Account – which account the debugger runs under: the signed-in user, as administrator (for services), or another account with user and password (e.g. the service account of the software; the password is sent to the partner encrypted only, used once for the start, and not stored). As administrator requires the Hiatus service, or that Hiatus itself runs as administrator on the partner's computer – otherwise Hiatus asks to restart as administrator (an elevated debugger could not be remote-controlled otherwise).
- Symbols (optional, off by default) – normally Visual Studio loads the symbols as usual on your machine, and Hiatus transfers nothing. Only if you tick Provide symbols on the target computer and choose a local folder with the symbol files (PDBs) does Hiatus transfer them, after the start, into a temporary session folder readable only by the target user, and point Visual Studio there. Only the PDBs of exactly the partner's build match. The folder is deleted again when you stop.
After Start, Hiatus shows two local addresses: one for 64-bit and one for 32-bit programs. In Visual Studio, open Debug → Attach to Process and paste the matching address (e.g. 127.0.0.1:4026) as the target. Choose the matching code type (managed .NET or native). Stop ends the debugger; it also ends with the session or when the partner revokes the permission. Internally the connection runs through tunnels that Hiatus creates itself.
User switch on the partner's computer (only with the Hiatus service): when a different user signs in there, a "User changed" notice appears.
- The file view switches to the new user's home folder.
- Open shells of the previous user are closed and marked "ended: user at the console changed".
- From then on you always work with the rights of the user who is currently signed in.
Recording a session
With Record in the session toolbar you record the remote control session – only if the other side has allowed it (permission Record session, off by default; otherwise the button is disabled). While recording, the button shows “● Recording 00:12:34 · 85 MB”; clicking it stops the recording. The other side sees “● Recording in progress – stop” the whole time and can stop it at any time; it then ends immediately on your side (notice “Recording stopped”).
- What: the picture of the monitor shown (in the quality currently transmitted) and, if it is turned on, the sound – without re-encoding, so hardly any CPU load.
- Where: in the folder from Settings → General → Recordings (default
Videos\Hiatus), namedHiatus_<partner ID>_<date>_<time>.mkv. Next to it an event file (.txt) with start, end, monitor changes, transferred files and Ctrl+Alt+Del. A monitor change or reaching 2 GB starts a new file (…_2.mkv). - Remote Shell: If a Remote Shell runs during the recording (including one opened before), its output is also recorded as text: one file per shell,
…_shell1.cast,…_shell2.cast(asciicast v2 format), with start and end noted in the event file. Input is not included, only what the shell outputs (which normally includes the echo of the input). - Playback: e.g. with VLC or the Windows Media Player;
.castfiles with asciinema (asciinema play file.cast) – or read them as text in an editor. - Recordings are not deleted automatically. They may contain screen content of the other side – handle them with care.
Transferring files
Both sides are built the same way:
- Header: the drive (with its name) and search, which filters the current folder as you type (part of the name, ignoring case). With wildcards the input applies to the whole name:
*for any number of characters,?for exactly one – e.g.*.pdforreport_q?.xlsx. Enter (or the folder button in the field) also searches all subfolders – see Searching subfolders. - Navigation: back, forward, parent folder, refresh, and the path as clickable segments. Click the empty area of the path to type one; Copy path puts it on the clipboard. The eye shows hidden and system files, dimmed.
- Quick access: Home, Desktop, Documents, Downloads and Temp – on the right side, the folders of the user on the partner's computer.
- List: name, size, type and modified date. Click a column header to sort, click again to reverse; folders always come first. Narrow windows hide type and date.
- Selection: as in Explorer – click, Ctrl+click (add or remove), Shift+click (range from the row clicked last), Ctrl+Shift+click (add a range), the check boxes or Ctrl+A. The footer shows the number and size of the selection and the free space.
Working with files and folders – the same on both sides; on the right with the rights of the user on the partner's computer and only with the Transfer files permission:
- New folder (button next to the eye): creates "New folder" (or "New folder (2)" …) and opens it for renaming right away.
- The ⋯ menu acts on the selection:
- Rename (one item) in place: Enter applies, Esc cancels. A name that is not allowed or already exists is explained below the field.
- Duplicate (one item): copy as "name (1).ext" in the same folder; folders with their contents, links are not copied.
- Delete: on the left to the Recycle Bin (can be undone) or permanently; on the right on the remote computer always permanently – after a confirmation. Folders are deleted with their contents; links are removed themselves (never their target).
- Properties (one item): location, size (for folders the total and the number of files and subfolders), modified, created, last accessed, owner, attributes; on Linux the permissions (e.g.
rwxr-xr-x (755)).
- Same limits as for folder transfers: deleting, duplicating and folder sizes cover at most 10,000 entries and 32 levels – larger folders are left untouched.
Context menus and shortcuts: right-clicking the selection opens its menu (the same as ⋯); right-clicking the empty area opens the folder menu (New folder, Paste, Refresh, Hidden files, Grid view, Sort by, Select all). On the left there are also Open (default program), Open with … (Windows) and Show in Explorer; Upload to ▸ or, on the right, Download to ▸ offers the current folder of the other side, its quick access folders and Choose folder … (type a path). The shortcuts work while the list has the focus:
| Key | Action |
|---|---|
| Enter | open a folder; on the left open a file with its default program |
| Backspace | parent folder |
| F2 | rename |
| F5 | transfer the selection to the other side |
| Del | left: Recycle Bin, right: delete (with confirmation) |
| Shift+Del | delete permanently (with confirmation) |
| Ctrl+C / Ctrl+X / Ctrl+V | copy / cut / paste |
| Ctrl+Shift+C | copy the paths of the selection |
| Ctrl+D | duplicate |
| Ctrl+Shift+N | new folder |
| Alt+Enter | properties |
| Ctrl+A, Space | select all, toggle a row |
| Arrows, Home/End, Page Up/Down | select a row; with Shift extend the range, with Ctrl move only the focus (grid: ←/→ one tile, ↑/↓ one row) |
Copy and paste: on the same side, Paste copies or moves into the open folder (existing names become "name (1).ext"; moving never replaces an existing file). Pasted on the other side, the items are transferred – cut items are copied as well and the source is kept. Files copied on the left can also be pasted in Explorer, and files copied in Explorer can be pasted on the right (= upload).
Grid view: the button next to the eye switches between the list and large icons; selection, menus, dragging and shortcuts work in both.
Searching subfolders: type a search term and press Enter – the search starts at the open folder and covers all subfolders, on this side, on the partner's PC and on an Android device (app data included). The rules are the same as for filtering (part of the name, or */? for the whole name); only names are searched, not file contents. Matches are files and folders.
- The list then shows the matches with an extra Folder column (location below the folder where the search started; the full path as a tooltip). They appear as they are found; the bar above shows the search term, the number of matches and of folders searched, Cancel stops the search (the matches so far stay), ✕ or Esc returns to the folder.
- Matches can be used almost like folder entries: transfer them (buttons, dragging, F5, copy/paste on the other side), rename, delete, properties, copy path, open or edit locally; compressing only works for matches from the same folder. Show in folder (menu of a match) opens its folder with the match selected; Back returns to the folder the search started in. Deleted or renamed matches are updated in the list; Refresh searches again.
- Creating a folder and pasting only work in a folder, not in the list of matches. Changing the folder ends the search.
- Hidden and system files – and their folders – are only searched while the eye is on. Links (symlinks, junctions) are found but never entered.
- Limits: at most 2,000 matches, 50,000 folders and 32 levels; folders you may not read are skipped and counted. When a limit is reached the bar says so ("incomplete") – narrow the search term or start deeper in the tree.
- On the partner's computer the search runs with the rights of the signed-in user and only with the Transfer files permission; a search is not recorded in its audit log.
Compressing (selection menu):
- on the left Compress to ZIP – the archive is created in the same folder (one item: its name, several: the name of the folder; existing names become "name (1).zip");
- on the left Upload as single ZIP – the selection is packed here first and then transferred as one file (the intermediate file is removed afterwards);
- on the right Compress on remote ▸ ZIP, Tarball (.tar.gz) or 7-Zip – packed on the partner's computer, which saves time when downloading afterwards.
The progress appears in the transfer list; ✕ cancels and a half-finished archive is removed. Links are not included; limits: 10,000 entries, 32 levels, 64 GB. Hiatus deliberately does not offer extracting.
More actions on the right (selection menu or empty-area menu):
- Open on remote computer – starts the file with the default program of the signed-in user. Only with the Remote shell permission (otherwise the entry is disabled), never at the sign-in screen; only from the menu – Enter and double-click never start anything on the partner's computer.
- Edit locally – downloads the file and opens it here with the matching program. Every time you save, Hiatus uploads it back automatically; if it has changed on the partner's side in the meantime, Hiatus asks first ("Overwrite" or "Do not upload"). The local copy is kept in the data directory and removed with the session; once the permission is revoked nothing is uploaded any more.
- Open PowerShell here, Open cmd here … (one entry per shell of the partner) – opens the shell in this folder (a selected folder or the current one); requires the Remote shell permission.
Files on Android devices: When a device of the partner is connected through the Android window (USB or Wi-Fi) and Transfer files and Android debugging are allowed, the header of the right side ("Remote · …") becomes a selector: Partner's PC or one of the connected devices. With a device, the right side shows its files – drives (Internal storage, memory cards, Device (/)), quick access (Internal storage, Downloads, Documents, Pictures, Camera, Temp = /data/local/tmp) and, per debuggable app (debug build), a place App data: <package> with its private folder (databases, preferences, files). Android does not open release apps from the store this way.
- Each system keeps its folder and history; if the device is disconnected or Android debugging ends, the view switches back to the PC with a notice.
- On the device, navigation, search (Enter also searches subfolders, e.g.
*.jpgfrom Internal storage; hundreds of folders in a few seconds), properties, New folder, Rename, Duplicate, Copy/Cut and Paste on the device, Delete (always permanent, with confirmation) and Compress on remote computer (ZIP, tar.gz, 7z – computed on this computer, the data runs through the tunnel) work. Open on remote computer and Open PowerShell/cmd here are greyed out ("partner's PC only"). - Transferring works as with the PC – also into and out of the app data: upload and download (buttons, dragging, Ctrl+C/V, files from Explorer, folders with subfolders), conflict dialog, pause/resume, Edit locally. Transfers appear in the same list and keep running when you switch back to the PC; if the device is disconnected, open transfers end with "connection lost".
- Note on databases in app data: a running app may overwrite uploaded files – stop the app first. SQLite databases often consist of several files (
name.db,name.db-wal,name.db-shm); take all of them for a complete state. - Open ADB shell here (instead of PowerShell/cmd on the device): opens an ADB shell in this folder, in the app data as the app (
run-as). Requires the Remote shell permission. - Install APK on the device (context menu, only with exactly one selected
.apkfile – also in the app data): installs the app without a prompt on the device (pm install; replaces an existing version, also test APKs and older versions). The result appears as a notice; on failure with the device's reason – e.g.INSTALL_FAILED_UPDATE_INCOMPATIBLE: the installed app is signed differently (for instance release instead of debug), uninstall it first. Some manufacturers additionally require Install via USB in the developer options. While installing (large APKs: up to a few minutes), other requests to this device wait. - Connecting and pairing are described in Debugging Android devices. Access uses the developer's adb through the encrypted Android tunnel of the session; nothing changes on the partner's side. The partner's history shows the Android connection as before, not every single file.
Transferring:
- Upload (→) and Download (←) in the middle transfer the selection to the current folder of the other side. The number on the button is the count of selected items.
- Drag: drag selected items to the other side; dropped onto a folder, they go into it. Esc cancels. Files from Explorer can be dragged onto the right side.
- Compare marks files that are missing on the other side or differ in size or date (yellow bar); click again to clear the marks.
- Folders are transferred with their subfolders (empty ones too); links are skipped. Limits: 10,000 files, 10,000 subfolders and 32 levels per folder.
- Interrupted transfers (for example after a lost connection) resume on the next attempt.
- The status bar shows the number of parallel transfers and the throughput in each direction.
If a file already exists at the destination, that transfer waits for your decision; all others keep running. The dialog shows size and date on both sides for each file and marks the incoming file as newer, older or identical. You can choose:
- Overwrite – the existing file is replaced.
- Overwrite if newer (recommended) – replace only if the incoming file is newer; otherwise the existing one is kept.
- Keep both – the new file is saved as "name (1).ext" (or the next free number).
- Skip – the existing file is kept.
"Apply to all" (preselected) applies the choice to all conflicts shown. Cancel upload or Cancel download cancels only the affected transfers.
Transfer list (bottom):
- The filters All, Active, Queued and Failed show the entries with their count; on the right are the running entries, the amount of data and the total rate.
- A folder is one row with overall progress and "n of m files"; the arrow in front expands its files.
- Per row: progress, rate, time left, Pause or Resume (data already transferred is kept), Retry after an error and Cancel (✕). For finished entries ✕ removes the row.
- Pause all / Resume all, Clear completed, and the arrow on the right to collapse the list.
Debugging Android devices
With Android in the toolbar you debug an Android device of the partner with Visual Studio (.NET MAUI, Xamarin) or other adb tools as if it were plugged into your computer. Hiatus passes the ADB connection end-to-end encrypted through the session to your adb; nothing is installed on the phone or on the partner's computer.
Requirements
- On your side: adb from the Android SDK (e.g. installed with Visual Studio). Hiatus uses the adb server that is already running (i.e. the one Visual Studio uses), otherwise the Visual Studio SDK,
%ProgramFiles(x86)%\Android\android-sdk,ANDROID_HOME/ANDROID_SDK_ROOToradbon the path. The path in use is shown at the bottom of the Android window. - On the partner's side: the Android debugging permission; on the phone, developer options with USB debugging or Wireless debugging (Wi-Fi, Android 11 and later).
Via USB: the phone is plugged into the partner's computer with USB debugging on. In the Android window (USB tab), "Android device (USB)" appears with its serial number → Connect. The first time, the phone asks whether it trusts your computer (fingerprint of your adb key) – the partner confirms on the phone. No other adb on the partner's computer may hold the phone (see Frequently asked questions).
Via Wi-Fi (wireless debugging): the phone is on the partner's Wi-Fi with Wireless debugging on. The first time, it is paired:
- Pair new device (QR code on the partner's screen) shows a QR code on the partner's screen; they scan it on the phone under Wireless debugging → Pair device with QR code. Hiatus then pairs and connects by itself.
- Without a camera, the partner chooses Pair device with pairing code on the phone and enters the 6-digit code in their Hiatus window – or you type it at the device and click Pair.
- If the device does not appear by itself (e.g. Fire TV or Nvidia Shield with network debugging on port 5555, or mDNS blocked on the network): if the partner allowed Add Android devices by address, add it yourself in the Android window under Add device by address (IP address:port, optionally the pairing address from the phone), then Connect. Only addresses on the partner's local network; every entry is recorded in the partner's history, and you remove devices you added with the trash icon. Without this permission the partner adds the device under Sessions → Permissions → Add Android device manually (address and port are shown on the phone under Wireless debugging).
- Remembered devices: devices added by hand are remembered by the partner's computer (not yours). If both permissions are granted, it checks them when you open the Android window and offers those that answer right now – you do not have to add them again. After the first connect, Hiatus tells the partner the device name (e.g. "NVIDIA SHIELD Android TV"); remembered devices then appear with this name and the note remembered. Removing such a device with the trash icon makes the partner forget it. The partner sees the list under Settings → Security → Remembered Android devices and can forget devices there; after 90 days without use they disappear by themselves.
Paired devices appear with Connect in later sessions.
With a connected device
- The device is named as in Visual Studio (e.g. "Samsung SM-S948B", below it "In Visual Studio: Samsung SM-S948B (Android 17.0 - API 37)") and shows its adb address (
adb: 127.0.0.1:58915; the copy icon copiesadb connect …). Select it in Visual Studio like a plugged-in device. Debugging over the internet is slower: starting the app with the debugger can take 30–60 s, a single step about 1 s. - Set as debug app: enter the app's package name (e.g.
com.company.app). Android then no longer aborts an app start with debugger because of the slow connection. Remove marking undoes it; Hiatus cleans up when disconnecting. - State: "connected" (green) or "not responding" (yellow). Hiatus keeps checking whether your adb reaches the device. If Wireless debugging is turned off on the phone or its Wi-Fi is gone, "not responding" appears after a few seconds (a silently dropped Wi-Fi connection is detected after about 8 s); once the phone is back, Hiatus reconnects by itself. After re-plugging a USB cable the phone also reconnects by itself.
- Also available: Remote control of the screen (icon in the device row, see Remote control of the Android screen), Logcat (icon in the device row, see Logcat viewer), the phone's files (right side of the file browser, see Files on Android devices) and an ADB shell (selection in the shell module).
- Address at adb: on the first connect the device gets a free port (
127.0.0.1:<port>). If it comes back in the same session (replugged, briefly unregistered), it keeps this address as long as the port is free – Visual Studio, Vysor and other tools see the same device again. If a phone connected via USB briefly unregisters on the first connect after an interrupted session, Hiatus continues connecting by itself afterwards. - Disconnect removes the device from your adb. The partner can end Android debugging at any time from their banner; their history shows the Android connection.
Logcat viewer
The Logcat viewer shows the live log of a connected Android device (adb logcat): the last 2000 lines when opened, then everything new. It runs through your adb and the session – nothing is installed on the partner's computer or the phone; the lines stay on your computer and are only stored when you export them.
Opening: the Logcat icon in the row of a connected device in the Android window. It opens a separate, non-blocking window – one per device; clicking again brings it to the front. You can move it freely (e.g. to a second monitor) and keep it above other windows with On top. It closes with Hiatus Remote; minimizing to the notification area keeps it open.
Window layout
| Area | Content |
|---|---|
| Toolbar | Device · App (the app you are examining – used by package:mine) · Buffers (main, system, crash, events, radio) · state Live (with lines/s), Paused or Disconnected · Pause · Follow · Clear · Marker · Export |
| Filter row | Sidebar on/off · filter made of chips · Aa / ab / .* · Save filter · level buttons V D I W E F with counts (write into the filter) |
| Sidebar | Saved filters, tags, processes |
| Log list | Time, PID-TID, level, tag, package, message; the search bar above it when needed, the line details below |
| Status bar | Connection, adb version and address, total and shown lines, ring buffer, following or paused |
Choose the App from the list of installed apps; the search field at the top filters as you type, ↑/↓ and Enter select. The tags of the selected app are shown in blue.
How the view is filtered
A line is shown if it matches the filter in the filter row (see below) and – if Show only matches is on in the search bar – contains the search text.
Everything that filters is in the filter row: the level buttons V D I W E F, the sidebar checkboxes and the context menu also write into it. Clicking a level button hides or shows exactly that level (e.g. -level:v, or, when only the upper levels remain, simply level:w); conversely, the buttons show which levels the filter currently lets through.
Otherwise the search does not filter – it only highlights and jumps between matches.
The filter row: combined filter
The filter consists of chips and the input field after them. Type an expression and press Enter – it is added as a chip. The × on a chip removes it, Backspace in the empty field removes the last one; Ctrl+L jumps into the field. All chips together form one filter text, read with these rules:
- Space = AND:
package:mine level:warn– both must apply. Each new chip is added with AND. |= OR:is:crash | level:error– either is enough.-before an expression = NOT:-tag:chattyexcludes.- Precedence: there are no parentheses.
|splits the filter into groups; within a group, AND applies.a b | cmeans "(a AND b) OR c". If a condition should apply to every part, repeat it:package:mine timeout | package:mine is:crash. - Quotes keep spaces together:
message:"SSL connection"looks for the phrase,SSL connectionfor two words (both must occur, anywhere). - Lists with commas:
tag:a,b= exactly one of these tags,-tag:a,b= none of them; likewisepid:,tid:andlevel:(level:i,e= only info and errors). A single value with a comma (tag:Mono,) is exact – without a comma,tag:is a prefix andlevel:a minimum level. The sidebar and the level buttons write their selection this way.
| Expression | Matches lines … | Example |
|---|---|---|
| Text without key | whose message contains the text (with .* as a regular expression) | timeout |
message: |
whose message contains the text | message:"after 30000" |
message~: |
whose message matches the regular expression | message~:"timeout after \d+ ms" |
tag: |
whose tag starts with it; with commas: exactly one of the tags | tag:FieldApp · tag:FieldApp.Sync,Mono |
level: |
from this level up: v, d, i, w, e, f (also verbose, debug, info, warn, error, fatal); with commas: exactly these levels |
level:w · level:i,e, |
package: |
whose process or package starts with it | package:com.contoso |
package:mine |
of the selected app – also after a restart with a new PID, including its crash and process messages from the system (ActivityManager, AndroidRuntime) | package:mine |
pid: / tid: |
of this process or thread; several with commas | pid:12873,13020 |
age: |
at most this old (measured against the newest line): s, m, h, d |
age:5m |
time: |
from this time window by clock time (also across midnight) | time:19:42:00..19:42:30 |
is:crash |
of a crash (FATAL EXCEPTION, ANR) | is:crash |
is:stacktrace |
of a multi-line stack trace | is:stacktrace |
A word with an unknown key counts as plain text as a whole (e.g. https://api.example.com).
Switches on the right of the field: Aa matches case (for text, tags and regular expressions), ab matches text as a whole word only, .* reads text without key as a regular expression.
Errors: if the filter is invalid (e.g. level:loud or a broken regular expression), the field turns red; the tooltip names the position ("Zeichen 7: …"). Until it is fixed, the last valid filter stays in effect. Regular expressions have a computation limit: an overly expensive expression counts as "no match" for the affected line instead of freezing the window.
Examples
| Filter | Shows |
|---|---|
package:mine level:w |
warnings, errors and crashes of your app |
package:mine -tag:chatty -tag:Choreographer |
your app without two noisy tags |
tag:FieldApp.Sync timeout |
messages of tag FieldApp.Sync* containing "timeout" |
level:e \| tag:FieldApp level:w |
all errors – plus warnings of the FieldApp tags |
package:mine ssl \| package:mine tls |
messages of your app containing "ssl" or "tls" |
message~:"HTTP [45]\d\d" |
HTTP error codes 400–599 |
pid:12873,13020 level:d |
two processes (e.g. before and after a restart), without verbose |
is:crash \| is:stacktrace |
only crashes and stack traces |
age:2m level:w |
warnings of the last two minutes |
time:19:42:00..19:42:30 -tag:chatty |
a time window without chatty |
Autocomplete: while typing, matching tags with line counts (after tag:, -tag: or the start of a word), packages (after package:) and the filter keys with a description appear. ↑/↓ selects, Tab completes (a tag becomes a chip right away), Esc closes.
Save filter: Save filter (Ctrl+S) or + New filter in the sidebar stores the current filter (including levels) under a name.
Sidebar
- Saved filters with line counts; a click applies the filter, the active one is highlighted. Presets: All logs, My app (no noise) (
package:mine -tag:chatty), Crashes & ANRs (is:crash, counts crashes, red once one occurs), .NET / Mono runtime, Network & TLS. Hover your own filters to remove them with the ×. - Tags by frequency (bar = share) and Processes (short name, PID, running/exited; a restarted process of the same app is its own row):
- Unchecked = hidden, checked = shown again. Clicking the name shows only that one.
- All / None above the list. After "None", the boxes you check show exactly those tags or processes.
- The sidebar writes its selection as one chip into the filter row – in the shorter form: as a list of the shown (
tag:a,b) or of the hidden ones (-tag:c,d). Conversely, the checkboxes show what the filter currently lets through.
- Drag the right edge of the sidebar to resize it; the button on the left of the filter row hides it.
Search
Ctrl+F opens the search bar above the list. It searches only the shown (filtered) lines and highlights matches; the current match is highlighted more strongly. F3 / Shift+F3 (or Enter / Shift+Enter) jumps to the next / previous one, "2 of 5" shows the position. Aa and .* as in the filter; Highlight all (off = only the current match); Show only matches hides all other lines. Esc closes.
Working with lines
- Select: click; Ctrl+click adds, Shift+click selects a range; ↑/↓ moves the selection.
- Context menu (right-click): Copy line (Ctrl+C, "threadtime" format) · Copy message only (Ctrl+Shift+C) · Copy stack trace · Show only tag … · Hide tag … · Show only PID … · Show ±5 s around this line (sets
time:, other filters stay) · Bookmark line (Ctrl+B) · Insert marker after · Line details (Enter). - Line details (double-click or Enter): time with date, PID/TID, tag, package, UID and the full message to select and copy – for a stack trace the whole block. Drag the top edge to change the height.
- Bookmarks: a dot in front of the line; F2 / Shift+F2 jump to the next / previous one (wrapping around). The first line of a crash gets one automatically.
- Stack traces collapse after five lines ("▸ n more lines" expands); Copy stack trace copies the whole block.
- Columns (sliders on the right of the column header): show/hide PID-TID, tag and package; device time, relative to start or Unix time. Change a column's width at the right edge of its header.
Live, pause and crashes
- Live: new lines keep arriving; Follow keeps the end in view. If you scroll up, the view stops following – "↓ n new lines · Resume" appears at the bottom; a click (or End) jumps back to the end.
- Pause (Space) only stops the display; the stream continues, new lines are buffered and taken over with Resume.
- Crashes (FATAL EXCEPTION, ANR) have a red background. If the selected app crashes (without a selected app: any app), the "App crashed" card appears at the top right with package, exception and time – Jump to crash, Copy stack trace, Dismiss.
- Marker (Ctrl+M) inserts a separator line with time and optional text, e.g. "customer restarts the app" – only in your view.
- Clear: Clear view only clears the display (new lines appear right away, unless paused); Clear device buffer (
adb logcat -c, after confirmation) deletes the logs on the partner's phone. - Memory: the window holds at most 50,000 lines and at most 64 MB; older ones are dropped (counters and sidebar follow). If the display cannot keep up with very many lines, Hiatus drops the oldest lines not yet shown and says so ("n lines dropped").
- Buffers: at least one stays selected; a change restarts the stream from the last line.
Export, disconnection, settings
- Export: save the visible or all lines as text ("threadtime" format, like
adb logcat) or as JSON lines, or copy the visible lines. - Disconnection: if the device is disconnected or the session ends, the window stays open read-only ("Disconnected") – reading, filtering, searching and exporting keep working. When the same phone returns (also after re-plugging, with a new adb address, or when only the stream dropped, e.g. Wireless debugging off/on), Logcat continues from the last line without duplicates.
- Stored on this computer: window position, sidebar (visible, width), height of the line details, columns (visible, widths), time format and your own filters.
Keyboard shortcuts
| Key | Action |
|---|---|
| Space | Pause / resume |
| End | Jump to the end and follow |
| Ctrl+L | Into the filter row |
| Ctrl+S | Save filter |
| Ctrl+F | Search |
| F3 / Shift+F3 | Next / previous match |
| Ctrl+C / Ctrl+Shift+C | Copy selected lines or only their messages |
| Ctrl+B | Set/remove bookmark |
| F2 / Shift+F2 | Next / previous bookmark |
| Ctrl+M | Insert marker |
| Enter | Line details |
| Esc | Close suggestions, search or details |
Requires the Android debugging permission.
Remote control of the Android screen
Shows the screen of a connected Android device (phone, tablet, Android TV) in its own window and takes mouse and keyboard input – like Vysor or scrcpy, without an app on the device. When you open it, Hiatus copies a small service (scrcpy server, Apache-2.0) to /data/local/tmp on the device and removes it when you close the window; picture and input run through your adb and the session. It requires the Android debugging permission; the partner's history records when the screen of a device was shown.
Open: Remote control icon in the row of a connected device in the Android window. Like Logcat, one window per device (a second click brings it to the front, Keep on top keeps it above other windows). The window has the device's aspect ratio (at most about 90 % of the screen height) and follows rotation: when the device turns to landscape, the key bar moves below the picture.
| Input | Effect on the device |
|---|---|
| Left-click / drag | Tap / swipe (finger) |
| Right-click | Back (turns a dark screen on) |
| Middle-click | Home |
| Mouse wheel | Scroll |
| Typing | Text (including umlauts); Enter, Backspace, arrow keys, Tab as keys; Esc = Back |
| Key bar | Back (Ctrl+B) · Home (Ctrl+H) · Recent apps (Ctrl+S) · Volume up/down (Ctrl+↑/↓) · Power (Ctrl+P) · Rotate device (Ctrl+R) · Auto-rotate on the device on/off (highlighted = on) · Screenshot · Type text · Sync clipboard (highlighted = on) · More (⋮) |
| More menu | Expand notifications (Ctrl+N) · Expand quick settings (Ctrl+Shift+N) · Turn device screen off (Ctrl+O; the picture here keeps running, Power turns it back on) · Paste to device (Ctrl+Shift+V) · Copy from device (Ctrl+Shift+C) · Install APK… · Push file to Download… · Open Logcat · Open device files · Keyboard & mouse shortcuts (F1) |
- Rotation: Rotate device only sticks when Auto-rotate is off on the device – otherwise the device immediately follows its orientation again. The Auto-rotate toggle in the key bar switches this setting on the device; when you close the window, Hiatus restores it to the state before opening. Some screens (often the home screen) never rotate.
- Android TV (e.g. Nvidia Shield, Fire TV): instead of the key bar there is a remote on the right (show/hide with Remote). Profile Fire TV, SHIELD or Generic – Hiatus detects Fire TV and SHIELD itself, otherwise you choose it (kept per device). D-pad with OK, Back, Home, Menu, media keys and volume; Fire TV adds mute and live TV; SHIELD and Generic add voice search (opens the assistant – without a microphone it closes again) and settings; Generic also has input source, stop, channel, info, digits, teletext, subtitles, mute, guide and colour keys (keys the device does not know are ignored). Holding a key down with the mouse repeats it like on the real remote (also on the keyboard and in the phone key bar). Power switches to standby; Restart restarts the device after asking – the picture ends, then connect again. The control bar also has Screenshot and Logcat. Fire TV and SHIELD have four app shortcuts: a free key (or Edit) opens the list of the device's apps (search, or type a package name); an assigned key starts the app. The assignment is kept per device. Below the picture you see the last key sent. Playing videos often stay black in the window (Fire TV nearly always, otherwise with copy-protected content): the device's video layer or copy protection cannot be captured; menus and controls are visible. Keyboard: arrow keys = D-pad, Enter = OK, Esc = Back, Ctrl+Space = Play/Pause, Ctrl+↑/↓ = volume, Ctrl+H = Home; letters and digits (numpad too) go to the device as input, e.g. into search fields. The mouse only works in apps that accept touch – not on the Fire TV and Shield home screens; there the mouse wheel moves the D-pad up/down.
- Screenshot: at the device's full resolution as PNG under Pictures\Hiatus (name with device, date and time); the notice above the picture shows the path.
- Type text: opens a field for longer texts; Send types it into the field that has focus on the device. Ctrl+C/V without Shift go to the device as keys.
- Clipboard: Copy from device brings the text of the device clipboard to this PC, Paste to device puts this PC's text there and pastes it. With Sync clipboard both happen by themselves whenever one side changes.
- Install APK / Push file to Download: choose a file on this PC; the APK is installed without a prompt on the device (also replaced), other files go to Download (an existing name gets a number, nothing is overwritten).
- Control / View only: With View only nothing reaches the device – no mouse, no keys, no pasting (notice above the picture). Screenshot and Copy from device remain available (sync then only works from the device to this PC). The choice is kept per device – like quality, TV profile and clipboard sync.
- Quality: Economy (960 px, 1.2 Mbit/s), Standard (1280 px, 30 fps, 2.5 Mbit/s) or High (1920 px, 6 Mbit/s). A change briefly restarts the capture. The picture travels over the partner's connection – choose Economy on slow internet.
- Status bar: USB/Wi-Fi and Android version, picture size and current data rate; at the top the frame rate (Live n fps). With a still picture the device sends hardly anything – that is normal. Notices above the picture disappear by themselves (info after 3 s, errors in red after 5 s); states such as Disconnected stay until the picture returns.
- Disconnection: If the device is disconnected or the session ends, the window stays open with the last picture ("Disconnected"); when the same phone returns (also after replugging), it continues by itself.
- Good to know: Android shows protected content (banking apps, DRM video) as black. Some devices (Nvidia Shield, Fire TV) reject the preferred picture format – Hiatus then starts a second time without it (opening takes about a second longer, notice in the window). Xiaomi devices only accept input with USB debugging (Security settings) in the developer options. Remote control operates everything on the device, including system dialogs such as the USB settings.
6. Devices
The Devices page lists computers you have been connected to, with date and status:
- verified: the fingerprint was compared in a session.
- not verified: trusted on first contact, but never compared.
You can rename devices (e.g. "Front desk") and remove them. Devices you reached by direct connection show their address ("direct: 10.20.5.17:47443"); Connect then uses that address. If Hiatus was set up again on such a computer (new certificate), remove the device after checking with the customer and connect again.
"Key changed!" warning: if a known device shows up with a different key, Hiatus Remote blocks the connection. This can be an attack, or the partner has reinstalled. Clarify this through another channel (phone) before you remove the device and connect again.
7. Unattended access
Unattended access lets a supporter reach your computer with nobody sitting at it, for example for maintenance. Set it up under Settings → Unattended access:
- Set a permanent password: at least 12 characters not counting spaces, and not a common password. The meter shows its strength. Only a verification value is stored, never the password itself.
- Keep Allow only these supporters turned on (recommended and the default). Then only supporters on the list may connect. To add a supporter, open Active sessions → Allow during a normal session.
- Choose the permissions allowed in unattended sessions.
- Turn on the Enabled switch.
Further switches:
| Switch | Effect | Default |
|---|---|---|
| Ask the signed-in user | If someone is signed in, they must agree within 30 seconds. | off |
| Allow without an answer | If nobody answers, the session is allowed anyway. Otherwise it is rejected. | off |
| Lock after the session | After the last unattended session the computer is locked. | on |
| Files and shell at the login screen (as SYSTEM) | Only with the Hiatus service. Full system rights, so only turn it on when needed. | off |
With the Hiatus service (installed by your administrator), the computer can be reached even before anyone signs in. Only an administrator can change these settings:
- Windows: click "Restart as administrator" in the settings (User Account Control asks for confirmation).
- Linux: confirm with the administrator password.
"Access while you were away" notice
If there was unattended access, Hiatus Remote shows a notice at the next start: when, who, for how long, with which permissions, and what was used. Click Seen to acknowledge it. If you did not expect the access, do three things:
- Turn off unattended access.
- Change the permanent password.
- Inform your administrator.
The full access history is under Settings → Security.
8. Settings
The settings are grouped into four areas (tabs at the top):
General
- Language: system language, Deutsch or English. Takes effect immediately.
- Remote control: match the target's resolution to my screen: applies to unattended sessions. At the end, the partner's computer restores its resolution.
- Recordings: folder for your recordings (Change …, Open folder, Default).
- Info: the version and About Hiatus Remote: version with build (Git revision) and date, copyright, the Qt version in use (built with / at runtime) with the LGPLv3 notice, and the list of third-party components with version, license and purpose (filterable). Copy version info puts version, build, Qt and operating system on the clipboard – handy for support requests; Open license notices shows
THIRD-PARTY-NOTICES.txtfrom the installation folder.
Network (a dot on the tab: no relay server set up yet)
- Relay server: shows the server and pin.
- Change … opens the setup dialog. Running sessions are ended. On the new server the computer gets a different ID, and a permanent password must be set again.
- Copy access code copies the code to the clipboard so you can pass it on.
- With the Hiatus service, the server applies to the service and this interface, and only an administrator can change it.
- Establishing connections: port search behind symmetric NAT: finds a direct path behind company firewalls and on mobile networks; off = such connections use the relay. Connecting can take up to 6 seconds; if the search finds no path in that time, the session starts over the relay, keeps searching for up to 30 seconds and then switches to direct without interruption (status bar: "P2P · QUIC direct").
- Direct connections: connections without a relay server, for example in a VPN (see section 4).
Unattended access (green dot on the tab: switched on): see section 7.
Security
- Device identity: your own device key (to copy) and the permanent ID.
- New devices: how a device is handled on first contact. The choices are:
- trust it and mark it "not verified",
- allow unattended access only after verification,
- trust it as verified immediately.
- Access history: all sessions on this computer.
9. Security: what to watch out for
- No legitimate company calls you unasked and demands remote access. Only give your ID and password to people you asked for help yourself.
- Always compare the fingerprint words. They prove that nobody is sitting in between.
- Grant only the permissions that are needed. You can revoke them in the banner at any time.
- If in doubt, click End in the banner, then renew the one-time password.
10. Frequent questions and problems
| Problem | Solution |
|---|---|
| Status bar: "No relay server set up" | Go to Settings → Network → Relay server → Set up … |
| Status bar red, no connection | Check your network; the server may be unreachable. Hiatus Remote retries by itself. |
| "Wrong password" | The one-time password has changed in the meantime. Ask for the current one. |
| "Connection rejected" | The partner rejected the request. |
| "No answer – request rejected automatically" | The partner did not answer within 30 seconds. |
| "Nobody on the remote computer can approve …" | The partner's computer runs the Hiatus service, but nobody is signed in with Hiatus at its screen – e.g. the sign-in screen, or the user is only connected via Remote Desktop (then the screen is not theirs). Sign in locally or hand the Remote Desktop session over to the console (tscon %sessionname% /dest:console, as administrator), or use unattended access. |
| "Unattended access … is not allowed for this device" | Unattended access is turned off on the partner's computer, or your device is not on its list of allowed supporters. |
| "Partner's device key has changed" | See section 6. Do not simply reconnect. |
| Ctrl+Alt+Del is greyed out | The partner's computer lacks the Hiatus service or the Ctrl+Alt+Del policy. Ask the administrator; the installer sets the policy together with the service. |
| Tunnel: "Port … ist belegt" (port in use) | Another program uses the local port. Choose another port or leave the field empty. |
| Note "Connection limit reached" / "n refused" at a tunnel | 64 connections are already open through tunnels and the remote debugger (Android has its own 64). Close connections you do not need (browser tabs, a second debugging session), stop tunnels or open a second session. |
| "All 32 tunnels are in use" | Maximum number of tunnels per session reached – remove a tunnel you do not need. |
| Tunnel: the connection ends immediately | No service listens on the chosen port on the partner's computer. Is it running, and does it listen on localhost? |
| The remote debugger does not start | The Remote Tools for Visual Studio are missing on the partner's computer, or the given account/password is wrong. |
| Visual Studio does not attach | Use the matching address – 64-bit programs via the 64-bit address, 32-bit programs via the 32-bit address. |
| Android via USB: "Schnittstelle belegt – läuft auf diesem Rechner ein adb-Server?" (interface in use) | A local adb on the partner's computer holds the phone (Android Studio, Visual Studio with Android tools, platform tools). Close that program there or run adb kill-server, then connect again. |
| Android: the device does not appear in the Android window | Turn on developer options and USB debugging or Wireless debugging on the phone. USB: a data cable (not a charge-only cable) on the partner's computer, confirm "Allow USB debugging?" on the phone. Wi-Fi: Android 11 or later, phone on the same Wi-Fi as the partner's computer; otherwise the partner adds the device manually with IP address and port. |
| Android: "not responding" | adb cannot reach the phone right now (Wi-Fi gone, Wireless debugging off, cable unplugged). Hiatus reconnects by itself once it is back. |
| Visual Studio does not see the connected phone | Visual Studio and Hiatus must use the same adb: compare the path at the bottom of the Android window with the Android SDK path in Visual Studio. |
| Logcat shows no lines ("… lines · 0 shown") | The filter, the level buttons, "None" in the sidebar or Show only matches hide everything. All logs in the sidebar resets filter and levels. If "n new lines" is shown at the bottom, the view is paused – End jumps back to the end. |
| Logcat: filter row has a red border | The filter is invalid; the tooltip names the position. Until it is fixed, the last valid filter stays in effect. |
| Shell: after making the window narrower, PowerShell output or the input line starts in the middle of the line | A bug in Windows PowerShell 5.1: its progress display remembers the old window width and shifts lines in the console buffer the next time. cls cleans up; $ProgressPreference = 'SilentlyContinue' (no progress displays) avoids it, as does not making the window narrower before the command. |
| Symbols are not loaded / breakpoints do not bind | Only the PDBs of exactly the partner's build match (checked via the build ID). Choose the folder with the archived PDBs of the shipped version, not a fresh Debug output folder. |
| The status bar shows "Version … · service …" in yellow | Client and Hiatus service have different versions. Install the current installer package; it updates both. |
| Picture stays black or shows "Waiting for picture" | Wait a few seconds. The picture returns by itself after sign-in, sign-out or a display that was off. Otherwise use Restart in the session. |
| A second Hiatus window does not open | Intended: Hiatus Remote is already running, and the existing window comes to the front. |