Troubleshooting
Keyed by the exact message. The terminal's messages come first, then the pages a tester can see.
In the terminal
✗ Nothing is answering at localhost:3000 — start your app, then share again- Purlview checks the app before it shares. Start the app, check the port, then share again.
localhostis tried on both IPv4 and IPv6, so an app bound to either works. ✗ localhost needs a port — try purlview share localhost:3000- Name the app by its port, as
purlview share 3000, or by host and port. ✗ Couldn't reach Purlview — check your connection and try again- Your machine could not reach Purlview. Check the connection and any proxy, then try again. A share that was running keeps its link and reconnects on its own.
✗ Not signed in — run purlview login first- Without a terminal, such as in a script or a pipe, a share cannot ask for your email. Run
purlview loginonce in a terminal. ✗ That code didn't match — 4 attempts left- Type the 6 digits from the email again; spaces and dashes are ignored. After five misses, or five minutes, the message becomes
✗ That code has expired — run purlview login to get a new one. Typeresendat the code prompt for a new code; before a minute has passed it says! Wait 40s before asking for another code. ✗ --ttl 2h is over the 1h limit — use 1h or less- A share lasts an hour at most. For a longer call, start a new share when this one expires.
! localhost:3000 stopped responding — visitors see a waiting page- Your app stopped answering, as when a development server restarts. The tester sees
The app isn't responding, a page that reloads on its own; when the app answers again the terminal says✓ localhost:3000 is responding again. A page your app itself returns with an error is an answer, not this. ! Connection lost — reconnecting- Your machine lost its connection to Purlview. The share reconnects with the same link:
✓ Reconnected — same link, still expires 3:42 PM. Meanwhile the tester sees the waiting page. ! Expires in 5 minutes- The hour is nearly up; the share then stops on its own with
Share expired. Start a new share and send the new link. Stopped from another device- The share was stopped with
purlview stopon another device of yours, or from the console at purlview.dev. ✗ This device was signed out — run purlview login- This device was signed out from another device or from the console, which also stopped its shares. Sign in again.
! Showing this device only — couldn't reach Purlviewpurlview listcould not ask Purlview about your other devices, so it lists only this one. Check the connection and try again.✗ No share k7m2p4qx in your account — see purlview list- The id is not one of your active shares; it may have stopped or expired already.
purlview listshows the current ids. ! Purlview was updated — shares started before the update have stopped- Updating stopped the shares that were running. Share again and send the new link.
A newer Purlview is available: 0.9.1 (you have 0.9.0)- A notice, not an error; the share runs as usual. The line beneath gives the command for the way this copy was installed, for example
Update: brew upgrade --cask purlview — updating stops running shares.
What a tester sees
The app isn't responding- Your app is down or your connection dropped; the terminal says which. The page says
It may be restarting. This page reloads when it's back.and does so. This share has ended- The share was stopped or expired, or the link's id is unknown. The page says
Ask the person who sent it for a new link.Share again and send the new link. This link was already used- An emailed link works once, and one from the request page for 5 minutes. The page offers
Send new link, which returns to the request page for that share. This link is incomplete- A secret link was pasted without its ending. Print it again with
purlview link k7m2p4qxand send the whole line. Open your invite link first- The tester opened the app's address directly instead of the link. Their browser gets in only through the link you sent, or the invite.
Enter a valid email address.- What was typed on the request page is not an email address. Any address is accepted and sees the same next page; only an address you named with
--toreceives a link.