Skip to main content
Set up Bridge once on your first device, then approve each additional device. Each step happens on the Bridge page. Open it from the navigation rail.

Before you start

  • Install Mains 0.20 or newer on every device you want to sync.
  • Get a beta invitation for your email address. Mains invites people in small groups. You may receive an invitation email. It lists these steps and has no sign-in link, so sign in from Mains.
  • Have a password manager ready for your recovery code.

Join the beta

Bridge access is tied to an email address that Mains has invited. Creating an account does not grant access.
1

Start sign-in

Open Bridge and choose Sign in. Mains opens your browser to finish.
2

Sign in to your account

Sign in with GitHub, or create an account with email and password. A new email account must verify its mailbox before you can sign in with the password.
3

Activate your access

If your email has an invitation, choose Activate beta. This starts 30 days of access. Bridge shows when it ends.
Use the exact email Mains invited. With GitHub, that email must be verified on your GitHub account. Plus aliases and dots count as different addresses. Without an invitation, the browser page says access is unavailable. Your chats and Pages stay on your device and nothing syncs. Opening the invitation page does not start the 30 days. Activate beta does. Activating again, or signing in on another device, does not extend the period.

Set up your first device

In the Sign in to Bridge window, choose: Choose Sign in and finish in the browser. Mains creates your account key on this device.

Save your recovery code

Choose Show recovery code under Recovery code and store the code in a password manager. Mains shows it once, right after it creates your account key. Choose I saved it — hide code when you are done. Afterwards the button reads New recovery code.
If you lose every approved device and your recovery code, nobody can unlock your Bridge data, including Mains. Your local data stays on each device, but the encrypted copy on the hub is unrecoverable.
If you did not save the code, choose New recovery code on a signed-in device. Replacing a code makes the previous one stop working.

Add another device

A new device cannot read anything until you approve it. Approval takes two short checks.
1

Sign in on the new device

Open Bridge and sign in to the same account. The new device shows Step 1 of 2 with a code and waits for approval.
2

Approve it from a device that is already in

Open Bridge on the approved device. Mains Desktop also shows an Approve a Mains backend notification, and clicking it opens Bridge. Under Device setup, type the code from the new device’s screen and choose Approve device. Choose Decline if the codes differ.
3

Verify the new device

Device setup on the approved device now shows Step 2 of 2 with a join code for the new device. Enter that code on the new device under Verify this device, then choose Verify and start sync.
Sync stays paused on the new device until the join code matches. The join code leaves Device setup once the new device connects. The approving device never shows the first code. You type it from the new device, so a match proves the request came from the screen in front of you. The join code proves the new device received your real account key rather than a substitute.

No other device nearby

If none of your approved devices is available, enter your recovery code instead. On the waiting device, type it into Recovery code and choose Use recovery code. Your other devices can be offline. On a waiting device you can also choose Request approval again or Disconnect from Bridge.

Use Bridge from Mains Server

Mains Server has the same Bridge page in its browser interface. You can also run mains bridge on the server host.
login prints a sign-in link and code. If this is your first device, it then prints your recovery code once. If the account already has a device, it tells you the next step. mains bridge recover reads the code from a prompt with echo off. It never accepts the code as an argument. The commands accept the same --data-dir, --server-url, and --token options as other server admin commands.

Check sync status

The Account section shows the current state. If another device sent a change this device cannot apply, the status adds how many were skipped. Mains skips them and keeps syncing. When you are connected to another backend through Mains Connect, Bridge manages that backend, not your Mac. Next, learn how to work across devices.