BARRYBARRY
Documentation

Mobile app

Monitor running transports from your phone.

BARRY has a phone-sized companion page at /m that answers two questions at a glance: what is running right now, and has anything broken. Add it to your phone's home screen and it behaves like an app — including push notifications when a transport run fails.

It is intentionally small. It is not a second admin UI: you cannot create or edit transports, connections or settings there. That keeps it fast, safe and clear about what it is for — knowing, at 10 pm, whether you need to open a laptop.

Opening it on your phone

  1. On your phone, open https://<your-barry-host>/m in the browser.
  2. Sign in as usual — it is the same login as the admin UI.

That is already enough to see everything. To get notifications, install it to the home screen (next section) — on iPhone that step is mandatory.

Tip for admins: the exact URL is shown under Settings → Mobile app, ready to share with your team.

Installing it to the home screen

Installing turns the page into a standalone app (its own icon, no browser chrome) and is what unlocks push notifications on iOS.

iPhone / iPad (Safari, iOS 16.4 or newer):

  1. Open /m in Safari (not Chrome).
  2. Tap the Share button (the square with the upward arrow).
  3. Choose Add to Home Screen → Add.
  4. From now on, open the app via its home-screen icon, not the Safari tab.

Step 4 matters: iOS only allows web push in the installed app, never in a normal Safari tab. If the "Enable notifications" button seems to do nothing, you are almost certainly still in the browser tab.

Android (Chrome): open /m, then use the browser menu → Install app / Add to Home screen. Notifications also work in a plain browser tab on Android.

Turning on notifications

Open the app and tap Enable notifications, then allow the permission prompt. That's it — this device is now registered.

You will get a push whenever a transport run fails, is cancelled, or is stopped. Successful runs never notify you. Tapping the notification opens the app. Repeated failures of the same transport replace each other rather than piling up.

To stop them, tap Turn notifications off in the app.

Notifications are per device: registering your phone does not register your tablet. Everyone who enables notifications receives every failure.

If the button is missing or says push is disabled, an administrator has not enabled the feature yet (see For administrators below).

The Runs tab

  • Banner — the headline: All clear, or how many errors occurred in the last hour.
  • Counters — how many runs are in flight, how many clients are online, errors in the last 24 hours.
  • Running now — one card per in-flight run: transport, client, current step (connecting, querying, streaming, …), rows written and current rate.
  • Errors — recent failed / cancelled / stopped runs.

Importantly, the banner and counters always show the true state. They ignore any filter you set, so you can never accidentally filter your way to a green "All clear" while something is on fire.

Filtering the error list

When a lot goes wrong at once, the list gets long. Tap the funnel icon to open the filter sheet:

  • Time window — last 10 minutes, 1 hour, 24 hours or 7 days.
  • Outcome — failed, cancelled, stopped.
  • Cause — e.g. TIMEOUT, AUTH, CONNECTION, SCHEMA.
  • Transport, Client, and a free-text search over the error message.

Your selection is remembered on that device, even after closing the app.

Repeated failures of the same transport with the same cause are collapsed into one card with a counter (×7); tap it to expand the individual runs. A transport failing over and over is one line, not forty.

Whenever a filter is active you will see a badge on the funnel and a line such as 12 of 137 · 1 h · 2 filters, plus a Reset button — so a short list is never mistaken for a quiet system.

The Clients tab

Shows every on-prem client, problems first (offline before online). Tap a client to expand it:

  • Last seen, status, version and edition
  • Active / total transports, location
  • Host vitals from its last heartbeat: CPU, memory, free disk space, uptime, cores

This tab matters more than it looks. If a client is offline, its runs simply sit in Queued — they do not fail immediately, so they produce no error and no notification until the server eventually times them out. An offline client is a silent outage, and this is where you see it. The tab therefore shows a red count of offline clients even while you are on the Runs tab.

For an offline client, the vitals shown are from the last heartbeat before it went away — they are labelled as such, so you don't read stale numbers as current.

For administrators

Enable the feature under Settings → Mobile app:

  1. Turn on Mobile app + push enabled. (Default: off. Without it, the /m page still opens but nobody can subscribe and nothing is delivered.)
  2. Push additionally needs a VAPID key pair — a one-time cryptographic identity that lets the browsers' push services verify that a notification really came from your BARRY server. The Settings section shows whether keys are configured, and offers a Generate VAPID key pair button.
  3. Put the generated keys into the server configuration as Push:VapidPublicKey and Push:VapidPrivateKey (as environment variables: Push__VapidPublicKey / Push__VapidPrivateKey), then restart the server. Keep the private key secret.

Push is delivered only when the switch is on and both keys are set.

Two things worth knowing:

  • Rotating the VAPID keys invalidates every existing device subscription — everyone has to tap "Enable notifications" again. Generate them once.
  • The page must be served over HTTPS (or localhost). Browsers refuse service workers, and therefore push, on plain http:// — so a phone pointed at a dev machine over the LAN will not be able to install or subscribe.