Public relay was reachable only by setting OPENPENCIL_COLLAB_BOOTSTRAP_URL, so a released build could never collaborate: no end user sets an environment variable. Release builds now carry a hub URL per region, injected at compile time from the release pipeline's secrets — the source tree keeps no production endpoint, and an uninjected build stays environment-configured. A persisted preference picks the region, exposed as a switch on the create screen; the environment variables remain overrides that win and fail closed. Each endpoint gets its own bootstrap cache record so switching regions cannot overwrite the other hub's anti-rollback floor. Also surfaces an unreachable device key as its own message instead of a misleading reconnect notice, wraps notice text inside its bubble, and centres button labels against their own height (28px buttons painted low). |
||
|---|---|---|
| .. | ||
| ISSUE_TEMPLATE | ||
| workflows | ||
| FUNDING.yml | ||
| pull_request_template.md | ||