Troubleshooting

Most surprises in Drawbridge are a feature behaving as designed. This page lists the ones people hit first, and what is actually going on.

Connectors keep moving when I move something else

That is the router doing its job. Auto connectors have no stored geometry — the whole page is re-solved whenever the obstacle field changes, so moving one device can change the cheapest path for a connector that has nothing to do with it.

If a specific cable must never move, select it and set its type to Direct (a straight line) or Custom (your own waypoints). Both are stored geometry that the router never touches. See Connectors.

A connector runs straight through a zone or a rack

Only devices are obstacles. Zones, racks, virtual contexts, map underlays, text and callouts are deliberately transparent to routing — a cable through a zone boundary is usually exactly what the diagram means.

A connector attached to a zone or rack is a straight line

Connectors that land on a container skip the router and are drawn centre to centre. Attach the cable to a device inside the container if you want a routed path.

Parallel links between the same pair are fanned sideways so you can see and click each of them. That fan is derived, not stored, and is stable across saves. To make them one logical bundle instead, select them and use Aggregate → Bind.

Devices I moved into a rack snapped somewhere else

A device whose centre lands in a rack's usable area snaps to a U boundary and centres horizontally — racks own the positions of what is mounted in them. Align and even-spacing skip rack units for the same reason. Drag it back out of the rack to place it freely.

A page opens empty and its tab says "read-only"

That page's payload is a compressed legacy draw.io page. Drawbridge does not decompress those, and preserves the original XML verbatim so saving cannot destroy it. Re-save the file with a current draw.io — it writes uncompressed by default — and open it again. See Files and templates.

My Visio file lost things when it opened

.vsdx is an interchange path, not an archival one. 2D shapes become devices — keeping their embedded picture when they have one — and 1D connector shapes become links, even when a line was never glued (an end that touches a device connects to it) or lives grouped with its caption. Plain text boxes arrive as text. What is dropped: guides, decorative divider strokes, and Visio-only content like themes and data graphics; a shape the catalog cannot name arrives as a generic device rather than disappearing. Nothing foreign is preserved from a .vsdx, unlike .drawio, where unmodelled content is written back untouched.

The Save button says "Saving…" and there is no Save dialog

That is auto-save. Once the document is bound to a file, edits are written back automatically and the button becomes status. Turn it off under App menu → Auto-save if you prefer saving by hand.

"Auto-save paused — click to re-enable"

The browser revoked write permission for the file handle. Re-requesting it requires a user gesture, so the app will not prompt from a background timer — click the toast once and auto-save resumes. In the desktop app this only appears if a write genuinely failed.

I saved in the browser and nothing was written back afterwards

If your browser has no File System Access API (Firefox, Safari), Save falls back to a plain download. The browser never reports where the file went, so there is no file binding and nothing auto-saves. The local snapshot still restores your work on the next visit.

My exported PNG is missing a layer

Hidden layers are never exported, in any format. That is intentional — a layer you switched off cannot be recovered by whoever you send the file to. Switch the layer back on in Layers before exporting.

Copy image did nothing

Clipboard image writes need a focused window and browser support for writing images. If either is missing you get a message; click into the window and try again, or export a PNG instead.

The PDF came out white when I am working in dark mode

A PDF is always white paper with no background fill. The Theme option in the export popover still controls the diagram's own colours.

Text I type on the canvas triggers shortcuts

It should not — canvas shortcuts are suppressed while focus is in a text field, an inspector input or the inline label editor. If a key acted on the diagram, focus was on the canvas; click into the field first.

Nothing happens when I press a shape in the palette

Clicking a palette shape arms it — the button stays lit and the next canvas click places it. Click the button again, or press Escape, to disarm. You can also drag straight from the palette onto the canvas.

A shape from someone else's file looks generic

Unknown shape kinds always render, falling back to the Generic shape rather than vanishing. The rest of the node — label, position, connections, asset data — is intact.

I cannot find a toolbar button

At narrow window widths the toolbar moves its trailing groups into the More (⋯) overflow popover. Widen the window, or look in there.

Before it moves anything, it drops the Drawbridge wordmark next to the logo and keeps only the mark — losing a word costs you nothing, where a button in the ⋯ menu costs a click every time you use it. So a bar showing just the shield is simply a narrow window, not a different build.

Sharing is missing

Collaboration works in the desktop app and in the browser. If you cannot see Share… in a browser, check the address bar: it only appears on https:// (or localhost). A self-hosted instance served over plain http:// hides it, because the browser withholds the encryption the invite handshake needs on an insecure page. See Working together.

Someone cannot join my session

Check, in order: are you still hosting (sharing ends when the window closes)? Did you Regenerate the invite, or Reset the personal link, after sending it? Are they waiting in the lobby for you to Allow? Is their Drawbridge older than the link version? Each failure is reported by name in the join dialog.

If the first few people walked in and this one has to knock, nothing is broken: either Let anyone in has run out — it lasts twenty minutes and then the lobby is back — or they are using the personal link, which always knocks. See Approval and the lobby.

A collaborator's cursor is invisible

Presence is per page — you only see people who are on the same page as you. The pages bar shows who is where.

Check for updates says it cannot reach the update feed

You are offline, the feed is blocked, or there is no published artifact for your platform on that release. Update checks are notify-only and entirely optional; nothing else in the app needs the network.

Still stuck

Use App menu → Report a bug. It writes the report for you — your description plus the version, the build and the last things you did — copies it to the clipboard and opens the feedback form to paste it into. If you attached screenshots, it also saves a drawbridge-bug-report.zip to your downloads; the form has a file field for it. See Reporting a bug in Settings, desktop and privacy.

The About box (the app name at the far left of the toolbar) has the version, build date and the bundled libavoid commit, if you would rather quote them yourself.

The browser app seems to be on an old version

It should offer Update available — Reload on its own. If you think you are behind anyway, a hard refresh (⇧⌘R on macOS, Ctrl+F5 on Windows/Linux) forces the browser to discard the cached app and fetch the current one. About shows the version you are running.