FrontierStack iPhone & iPad Companion Manual home
Desktop Manual Mobile Manual 日本語 frontierstack.app ↗
4

Chapter 4

Staying Connected

How the app finds your Mac wherever you are — same Wi-Fi, Tailscale, or a Cloudflare tunnel — and what the little coloured dot is telling you.

After you pair, the phone never asks you to type an address. It already knows several ways to reach your Mac — captured the moment you scanned the QR code — and it quietly tries them in order until one answers. This chapter explains that order, why away-from-home access sometimes needs a little help, and how to read the connection status at a glance.

The whole connection is anchored to your Mac's control server. If that server is switched off, or the Mac is asleep or off the network, there is nothing for the app to reach — so this chapter ends with the conditions that have to be true for any of it to work. For pairing itself, see Chapter 3; for the desktop side of the control server, see the desktop manual.

4.1The three paths home

When you paired, the QR code carried more than a token: it carried a small list of addresses at which your Mac can be found — its address on your home or office network, its Tailscale address, and the address of any Cloudflare tunnel the Mac has enabled. The app keeps that list and, every time it needs to talk to the Mac, walks it in a fixed order:

  1. Your home or office network first. If the phone and the Mac are on the same Wi-Fi (or wired LAN), the app connects directly — the fastest, lowest-latency path, with nothing in between.
  2. Tailscale next. If a direct connection doesn't answer, the app tries the Mac's Tailscale address. This works wherever you are, as long as your phone and Mac are members of the same tailnet.
  3. A Cloudflare tunnel last. If neither of those works, the app falls back to a Cloudflare tunnel — but only if the Mac has one enabled. This reaches your Mac from anywhere without any network of your own.

The app remembers which path last worked and tries that one first next time, so reconnecting on a familiar network is near-instant. You never choose the path by hand; you simply open the app and it lands on whichever route is live.

screenshot to be added
Figure 4.1. The Fleet tab header showing the connection status dot and the Mac's name; pull-to-refresh in progress.Capture: capture the Fleet tab at the top, status dot green/"connected", mid pull-to-refresh so the spinner is visible

4.2When you're on the same Wi-Fi

At home or in the office — phone and Mac on the same network — the app takes the direct path. This is the best case: everything is reachable and fast. Service status, start and stop, alerts, the AI, device web UIs and LAN shares all behave as if the phone were sitting next to the Mac, because in network terms it is.

If your Mac advertises an HTTPS address, the app verifies the Mac's identity using the certificate fingerprint it captured at pairing, so even a self-signed certificate can't be impersonated on your own network.

4.3When you're away from home

The moment you leave your network, the direct path stops answering and the app moves on to the other two. Away access comes down to a simple question: can your phone reach your Mac at all right now?

  • Tailscale answers yes whenever your phone and Mac share a tailnet. It is the most reliable away path: it works on cellular, on hotel and café Wi-Fi, behind almost any router, with no ports to open.
  • A Cloudflare tunnel answers yes whenever the Mac has one running. It needs nothing on the phone and reaches from anywhere, but it depends entirely on the Mac keeping that tunnel up.

If neither is available — no shared tailnet, no tunnel — the app simply can't see your Mac from outside, and the status dot goes to offline. That is expected behaviour, not a fault: a Mac on a private home network is, by design, not reachable from the open internet.

TipFor dependable access away from home, install Tailscale on both your phone and your Mac (or on a router that fronts your Mac). Once both are signed in to the same tailnet, everything — the Mac and the devices behind it — is reachable as if you were home, with no ports to forward and nothing exposed to the public internet.

4.4Device web UIs and LAN shares

Reaching your Mac is only half the story. The Web UIs page (under More) opens the web interfaces of other things on your network — routers, NAS boxes, printers, dashboards — and Shared (under More) can open LAN shares your Mac has temporarily exposed. These live on the network itself, not on your Mac, so the app reaching your Mac does not guarantee it can reach them.

A device web UI or a LAN share is reachable only when your phone can actually get onto that network:

  • On the same Wi-Fi — everything on the LAN is directly reachable.
  • Over Tailscale — reachable if your tailnet routes to that network, for example through a subnet router advertising the LAN's range. Without that, Tailscale gets you to the Mac but not to the printer beside it.

This is the practical reason the TIP above recommends a subnet router or a Tailscale-connected router: it turns "I can reach my Mac" into "I can reach my whole network," which is what makes the Web UIs and Shared screens useful from the road.

NoteA LAN share's reach also depends on how the Mac opened it. A Cloudflare tunnel or Tailscale funnel share works from anywhere; a plain LAN forwarder works only on the same Wi-Fi; a Tailscale serve share works across your tailnet. Shared reflects this per share.

4.5The connection status dot

The coloured dot in the Fleet tab header is the app's honest summary of whether it can talk to your Mac right now. It has three states:

StateWhat it means
ConnectedThe app reached your Mac on one of the three paths and is showing live data. Service controls work to the extent your device's access level allows.
ConnectingThe app is trying the paths in order. This is normal for a moment after launch, after a network change, or after a pull-to-refresh.
OfflineNo path answered. The Mac is asleep, off, or unreachable from where you are — or its control server is off. The app shows the last data it had, clearly marked stale.

To force a fresh attempt, pull down to refresh on the Fleet tab. The dot returns to connecting while the app re-walks the path list, then settles on connected or offline. Pull-to-refresh is also the first thing to try whenever something looks stuck or out of date.

4.6What has to be true

None of the three paths can conjure a connection that isn't there. For the app to reach your Mac, all of the following must hold:

  • The Mac's control server is enabled. This is the service the phone talks to. If it's switched off on the Mac, every path fails and the dot stays offline.
  • The Mac is online and reachable. It must be awake, on a network, and reachable from where your phone is — same Wi-Fi, shared tailnet, or via its Cloudflare tunnel. A sleeping Mac answers nothing; consider keeping it from sleeping if you rely on remote access.
  • You have a working away path, if you're away. Off your home network, that means Tailscale on both ends, or a tunnel the Mac keeps running.

Push notifications follow the same logic from the other direction: the Mac (or its push relay) must be online to send an alert. If alerts go quiet, the cause is usually the same as a missing connection — the Mac is asleep, off, or unreachable. The summary below ties the three locations together.

Where you areHow it connectsWhat's reachable
Same Wi-Fi / LAN as the MacDirect, over your networkEverything: Mac, services, AI, device web UIs, LAN shares
Away, shared tailnetTailscaleThe Mac and the AI; devices and LAN shares too if a subnet router routes to that network
Away, Cloudflare tunnel onlyCloudflare tunnel (Mac-enabled)The Mac and the AI; device UIs only if otherwise reachable
Away, no Tailscale and no tunnel— (no path)Nothing live; offline, last-known data only

FrontierStack User Manual · Version 1.0.0 · Chapter 4