Skip to content

Always on#353

Open
nbrownus wants to merge 7 commits intomainfrom
always-on
Open

Always on#353
nbrownus wants to merge 7 commits intomainfrom
always-on

Conversation

@nbrownus
Copy link
Contributor

@nbrownus nbrownus commented Feb 18, 2026

Android

Enabling always on is done in the system settings and we can not reliably ask if its enabled from the UI.

When the VPN service gets a start intent from the UI it will contain the config path to launch, every time we launch a site we save the path of the config path to a special last-active-site file. If the VPN process receives a start intent without a path, which is typical when always on is active or if the service is being restarted by the system after a failure, then we will use the last-active-site file to launch the last active site config.

NOTE If for some reason the last active site is no longer available (its been deleted) then an unhelpful error is shown by the system. Not sure there is much to do other than try and clean up the last-active-site file if we delete the file it references.

Small UI change to provide a deep link to the system settings -> network -> vpn
Screenshot 2026-02-19 at 12 02 43 PM

iOS

Enabling can be done via the UI or system settings (after the UI has saved the site as capable of being on-demand). We can reliably detect if on-demand is enabled.

Each vpn site is its own vpn config in the system settings. It seems the last to set on-demand rules wins or else you must select the active site in the system settings.

NOTE Changing any sites always-on status disconnects any existing nebula vpn service. When you manually disconnect a site it also sets always-on to false, otherwise the site would just immediately reconnect.

Small UI change to the site details screen to toggle always-on
Screenshot 2026-02-19 at 12 06 56 PM

Closes #49

@nbrownus nbrownus changed the base branch from main to yaml-import February 18, 2026 23:57
@nbrownus nbrownus marked this pull request as ready for review February 19, 2026 04:10
Base automatically changed from yaml-import to main February 19, 2026 04:59
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Option to always stay connected to Nebula network

2 participants

Comments