Mándamele
Back to guides

Guides

Troubleshooting restrictive networks and failed connections

Mándamele has no TURN configuration and no server fallback for files. Troubleshooting means separating site access, signalling and the direct WebRTC route.

Updated 2026-08-07 · approximately 715 words

Find the failing stage before changing networks or settings.

Identify where the flow stops

A connection can fail before or after the browsers find each other. If the page does not load, investigate HTTP access, DNS, filtering or the browser. If no code appears, WebSocket creation or the Worker may have failed. If the second browser cannot join, check code and expiry. If both sides recognise the session but stay on connecting, focus on WebRTC negotiation.

Avoid changing five variables at once. Record the wording on each screen, whether the code is fresh and whether both devices can normally reach mandamele.com. Vite development messages such as a lost server connection usually mean a local server stopped; they are not deployed product faults. Extension errors without a stack in apps/web/src likewise do not diagnose the connection.

Check code, timing and open tabs

Generate a new Pase and enter all six characters. Hyphens are normalised, but I, L, O, 0 and 1 are not accepted. An anonymous Pase has ten minutes to connect; an old screenshot can show a well-formed code whose server state has already expired. Keep the owner tab open while the second browser joins.

Temporarily prevent battery saving from freezing tabs and keep both screens awake during the test. On a phone, switching apps during negotiation can suspend JavaScript or networking. Reload both endpoints and start with a fresh code after any unexpected closure instead of repeatedly using state that the service has already ended.

Separate signalling from the direct connection

If one browser creates a code and the other is accepted, WebSockets and Pase state are probably operating. The next step is for RTCPeerConnection to exchange an offer, answer and ICE candidates. Remaining on “connecting” usually points to this second stage rather than a file upload, because no DataChannel exists yet.

The application attempts recovery when ICE disconnects or fails. The owner can restart ICE and there is an eight-second wait before the error becomes terminal. This does not create a new transport. If the network topology permits no connection, repeating indefinitely in the same environment does not remove that restriction.

VPNs, workplaces, hotels and mobile networks

VPNs and corporate firewalls may block UDP, WebRTC, STUN or traffic between selected ranges. Hotel captive portals can leave partial web access until login is complete. Some mobile networks use complex NAT. Mándamele configures STUN but not TURN, so it has no relay that automatically traverses every one of those combinations.

As a controlled test, disconnect a VPN only if organisational policy permits it, or move one device to another trusted network. An approved personal hotspot may distinguish a workplace restriction from a browser problem. Do not bypass company controls without authorisation: if the network prohibits P2P, use the method approved by that organisation.

When it connects but the file does not finish

Confirm that each file is at most 50 MB and that the receiver has enough memory and storage. Sending uses 64 KiB chunks and backpressure, but an unstable connection can still close the channel. Keep both browsers in the foreground, avoid locking a phone, and do not stop when a preview appears; wait for progress indicators to complete.

Test a short text first and then a small file. If text arrives but one file fails, inspect size and device resources. If text does not arrive, the DataChannel may not be ready or may have closed. Mándamele does not retain chunks for resuming in another Pase, so a failed transfer must be sent again from the original.

Evidence to collect before reporting a problem

Record date and time zone, browser names and versions, operating systems, each side’s network type, VPN use and the exact stage. Say whether a short text worked and give the file size, but do not send sensitive content as diagnostic material. A screenshot of the state can help after the code and personal data have been hidden.

Repeat once on a home or test network. Success there points towards the original network; failure in both places with a new code may indicate browser, service or regression. This sequence produces useful evidence without pretending that every network is compatible.

  • Code accepted but still connecting: investigate WebRTC and network.
  • Text works but file fails: inspect size, memory and stability.
  • No TURN relay: some restrictive networks cannot be fixed in the app.