Repository navigation
ui: rename Background Transport card to Reticulum Network, add start/stop - #216
Merged
Merged
Conversation
…stop Replace the settings card: header 'Reticulum Network', subtext 'Manually stop or start the background Reticulum service.', status indicator, and a single Start/Stop swap button (red Stop when running, accent gradient Start when stopped). The card is now an ExpandableSettingsCard matching the other settings cards, with the existing explainer sheet (BackgroundTransportView) accessible via 'Learn more & set up'. Stop is non-persistent: it calls tunnel.disable() (clears on-demand so the tunnel actually stays down this session) but does not touch the backgroundDeliveryEnabled flag, so the tunnel auto-restarts on the next app launch (default-enabled behavior). Start calls install() (re-arms on-demand) + start() to reconnect in the current session. Fixes the .background ternary type mismatch caught by the Model B device build: both branches are now LinearGradient (Theme.accentGradient is a LinearGradient, Theme.error is a Color).
Owner
Author
|
@greptile review |
Contributor
|
Wrap the card's user-facing strings in String(localized:) following the codebase's literal-based convention, and add the new keys to the Localizable.xcstrings catalog. Covers the status labels (Running, Starting…, Reconnecting…, Stopping…, Not configured, Stopped, Enabled), the card title/subtext, the Start/Stop button, and the 'Learn more & set up' button.
Drop the featureName parameter from VPNBadgeExplainer - the VPN badge is tied to the in-NE Reticulum runtime on every surface, so the indicator explanation now reads 'It stays visible while Reticulum is running' instead of parameterizing 'background transport'/'background delivery'. Localize the string and add it to the catalog. Update both call sites (settings BackgroundTransportView and onboarding BackgroundDeliveryPage) to the no-arg form and fix the now-stale doc comment.
Owner
Author
|
@greptile review |
'carries Columba and Reticulum traffic, which may use the relay' -> 'which uses the relay'. The relay carries both traffic types, not conditionally.
Wrap every user-facing string in the VPN explainer views (VPNNotCommercialExplainer, VPNBadgeExplainer, VPNExplainerUI call sites) in String(localized:) to match the codebase idiom. The VPNExplainerUI.sectionHeader/explainerRow helpers now take String instead of LocalizedStringKey so all call sites are explicit. 'VPN' badge glyph stays (untranslatable acronym). Added 8 new keys to Localizable.xcstrings (the remaining 3 were already present). Also updated the BackgroundTransportView explainerCard call sites to match.
Owner
Author
|
@greptile review |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Reframe the Model B settings card around the in-NE RNS runtime.
Stop is non-persistent: it calls tunnel.disable() (clears the on-demand rule so the tunnel actually stays down this session) but leaves the backgroundDeliveryEnabled flag untouched, so the tunnel auto-restarts on the next app launch. Start calls install() (re-arms on-demand) + start() to reconnect in the current session.
Fixes a .background ternary type mismatch (Color vs LinearGradient) caught by the Model B device build.