naturallaw777 and arena-agent
9ed4409e25
Add NWC channel liquidity guide and UI/UX explanation for new LND nodes
...
Co-authored-by: arena-agent <297053741+arena-agent@users.noreply.github.com >
2026-07-29 00:45:06 +00:00
naturallaw777 and arena-agent
5e3432aa89
nwc: add downloadable/printable LNURL QR for wallet connections
...
Each NWC wallet connection gets its own shareable LNURL QR so the owner
can receive payments from anyone without creating invoices (the core
LNURL value proposition: a static QR that never expires).
Hub UI (service detail modal):
- New 'Share QR' button on every wallet connection card
- Dedicated share view: large QR, Lightning Address + copy, raw bech32
LNURL + copy
- Download PNG (websites/social), download SVG (vector, print-sharp at
any size), and a Print button that opens a print-ready payment card
which auto-invokes the browser print dialog
Backend (FastAPI, session-authenticated):
- GET /api/nwc/wallets/{id}/lnurl -> alias, lightning_address, LNURL
- GET /api/nwc/wallets/{id}/lnurl-qr.png (?download=1, ?scale=)
- GET /api/nwc/wallets/{id}/lnurl-qr.svg (?download=1)
- GET /api/nwc/wallets/{id}/lnurl-qr/print (print-ready HTML card)
- Stdlib bech32 encoder (BIP-173, verified against the official LUD-01
golden vector); LNURL is uppercased for QR alphanumeric-mode density
per LUD-01 guidance; QR rendered with the existing qrencode package
- Resolves wallets by app id or pubkey; 404 unknown wallet, 503 when no
Lightning domain is configured; all routes return 401 unauthenticated
No new system dependencies.
Co-authored-by: arena-agent <297053741+arena-agent@users.noreply.github.com >
2026-07-28 23:47:37 +00:00
naturallaw777 and arena-agent
419680a847
Port-forward UX: drop tile Step 4 and misleading local 'ready' status
...
The Element Call tile still appended a synthetic 'Step 4: Router Setup
Needed' to the domain diagnostic checklist, and every port table carried a
'Sovran_SystemsOS Status' column with Ready / Not ready yet verdicts.
Both were misleading: port forwarding happens on the router, which this
computer cannot inspect. A local ss/firewall probe can neither prove nor
disprove that forwarding works — and the LiveKit TURN relay range binds on
demand, so it reported 'Not ready yet' even on a perfectly working system.
- server.py: add ROUTER_FORWARD_ONLY_UNITS ({livekit.service}); skip the
local probe for those units, drop the step-4 append, replace extra_ports
with router_ports (no status field), and exclude router-only ports from
both tile health and /api/ports/health so they can't raise false alarms.
- helpers.js: new shared renderPortForwardGuideHtml() — one intro naming the
internal IP, explicit instructions (same internal/external port, match the
protocol, use port-range fields for 30000-40000), a colour-coded
TCP / UDP / TCP+UDP badge per row, and a closing note that the only real
test is loading the service from a phone on mobile data.
- features.js: enable-time modal uses the shared guide and now always lists
every port to forward (the old local pre-filter hid ports the user still
had to open).
- service-detail.js: tile port section uses the same guide; the SSH/non-domain
branch keeps a small 'not open on this computer yet' hint, which is a real
local fact, separate from router forwarding.
- onboarding.js: step 3 router note reworded to match (same number for
internal/external, notes that Element Call adds UDP ports).
- domain-setup.css: styles for the protocol badges and instruction list.
Co-authored-by: arena-agent <297053741+arena-agent@users.noreply.github.com >
2026-07-28 22:34:39 +00:00
naturallaw777 and arena-agent
a65d977489
Simplify port-forward UX (drop onboarding step 4) + run Njal.la DDNS on feature enable
...
- Onboarding: remove the redundant/error-prone 'Router Setup' step (5 steps -> 4).
A compact 80/443 (+22 SSH) note now lives inside Domain Configuration,
and the Element Call ports are only shown at the moment they matter:
when enabling the feature, and afterwards on the service tile.
- Onboarding step 3: fix domain prefill bug (API returns {domains: {...}}),
make /api/network fetch best-effort so it can never block the step.
- Enable-time port modal: streamline copy (one intro + table + pointer to
the tile's live status view).
- Element Call tile detail: replace 5 repetitive prose blocks with 2 compact
notes around the live-status port table.
- Njal.la DDNS: run njalla.sh immediately when a DDNS-backed feature is
enabled (previously only ran on domain save or the 15-min cron tick).
- Harden njalla.sh handling: create the base script (shebang + IP lookup)
if missing before appending curl lines; invoke via bash explicitly.
Co-authored-by: arena-agent <297053741+arena-agent@users.noreply.github.com >
2026-07-28 21:38:07 +00:00
naturallaw777 and arena-agent
a4f848fc6d
Show NWC manager in Wallet Connections modal
...
Co-authored-by: arena-agent <297053741+arena-agent@users.noreply.github.com >
2026-07-28 20:44:44 +00:00
copilot-swe-agent[bot] and GitHub
154988bbeb
Address review feedback: fix hostname regex, use CSS class for NWC warning banner, clarify test comment
2026-07-27 11:39:40 +00:00
copilot-swe-agent[bot] and GitHub
768f26027e
Require unique hostname for Wallet Connections; add conflict validation and UI guidance
2026-07-27 11:36:02 +00:00
copilot-swe-agent[bot] and GitHub
0e94ae58fc
Implement wallet connections service-detail modal CRUD flow
2026-07-27 02:22:45 +00:00
copilot-swe-agent[bot] and GitHub
1a3c014183
feat: replace tar+DB+LND backup with ext4+rsync workflow
...
- Rewrite sovran-hub-backup.sh: rsync-based mirror to stable current/
path, ext4 validation, no tar/pg_dump/mariadb-dump/LND orchestration,
exit-24 nonfatal for /home, INCOMPLETE/BACKUP_COMPLETE markers, flock
- Update server.py: _is_supported_backup_fstype accepts only ext4
- Update support.js: require ext4, explain database limitations, update
failure message from exFAT to ext4
- Update sovran-hub.nix: replace pkgs.gnutar with pkgs.rsync + pkgs.acl
- Rewrite test_manual_backup_workflow.py: 40 new tests covering rsync
options, ext4 acceptance, exit-24 handling, no-delete, stable current/
path, INCOMPLETE markers, behavioral rsync tests, and regressions
2026-07-20 22:45:04 +00:00
copilot-swe-agent[bot] and GitHub
9a76e71dd0
Address validation feedback for backup workflow
2026-07-17 16:58:34 +00:00
copilot-swe-agent[bot] and GitHub
08f650cc35
Implement reliable exFAT manual backup workflow
2026-07-17 16:56:08 +00:00
copilot-swe-agent[bot] and GitHub
d91664fcb9
feat: move Reboot button from sidebar to header, between role badge and Sign Out
2026-07-15 18:58:10 +00:00
copilot-swe-agent[bot] and GitHub
aaf34de72a
refactor: improve variable name in openRestartConfirmDialog for clarity
2026-07-15 16:51:52 +00:00
copilot-swe-agent[bot] and GitHub
8869f16fec
feat: implement consistent restart UX across Sovran_SystemsOS Hub
...
- Add Restart Entire System sidebar action with amber treatment and divider
- Add shared restart confirmation dialog with conflict detection
- Update reboot overlay: new title, body copy, status progression, error card
- Improve doReboot(): failure handling, aria-live status messages
- Standardize 'restart required' / 'Restart Entire System' terminology
- Update security.js reboot flow to use shared doReboot()
- Update installer.py button label
- Add .btn-restart-amber, .restart-conflict-box, .sidebar-restart-btn CSS
2026-07-15 16:50:01 +00:00
copilot-swe-agent[bot] and GitHub
346798b6c2
fix: simplify internal IP copy handling
2026-06-24 22:19:14 +00:00
copilot-swe-agent[bot] and GitHub
a440d199f1
fix: clarify router forwarding IP guidance
2026-06-24 22:17:13 +00:00
copilot-swe-agent[bot] and GitHub
8452ea8fcf
Align router setup wording and local port statuses
2026-06-24 19:06:12 +00:00
copilot-swe-agent[bot] and GitHub
e2db7f95d8
Rewrite Njal.la domain-setup instructions (no IP box, Name-field clarification, subdomain-or-domain)
2026-06-23 00:44:39 +00:00
copilot-swe-agent[bot] and GitHub
732a7cd260
Fix BIP110 detection for reduced_data deployments
2026-06-04 20:11:58 +00:00
copilot-swe-agent[bot] and GitHub
44737f5571
Fix docstring accuracy, extract _firstElementFromHtml helper, address all code review feedback
2026-06-04 19:49:01 +00:00
copilot-swe-agent[bot] and GitHub
bf56dfdb68
Address code review: tighten bip110 key matching, fix redundant condition, extract shared badge config, add CSS classes
2026-06-04 19:46:40 +00:00
copilot-swe-agent[bot] and GitHub
afb6a2f515
Add live BIP-110 deployment status: new helpers, endpoint, badge UI
2026-06-04 19:42:23 +00:00
copilot-swe-agent[bot] and GitHub
e0bff2d640
Fix bitcoin-core confirmation dialog: show always when enabling (not just on conflicts)
2026-06-04 18:55:46 +00:00
copilot-swe-agent[bot] and GitHub
753e136384
Retire deprecated bip110 flake input; collapse Bitcoin node tiles to two
2026-06-04 18:52:28 +00:00
Sovran Systems
2c95242140
hub: Zeus Connect — skip value/copy button when qronly is set
2026-04-29 22:24:24 -05:00
23b4c74c09
Handle NixOS switchInhibitors: detect reboot-required case and show correct UI state
...
Agent-Logs-Url: https://github.com/naturallaw777/staging_alpha/sessions/d72be7a1-ec3f-41da-9753-611b95bc9903
Co-authored-by: naturallaw777 <99053422+naturallaw777@users.noreply.github.com >
2026-04-29 20:04:59 +00:00
98c0429a83
backup: include full /var/lib in manual backup stages
...
Agent-Logs-Url: https://github.com/naturallaw777/staging_alpha/sessions/d8d4b876-dfc7-42fd-954c-a9e5b05dc497
Co-authored-by: naturallaw777 <99053422+naturallaw777@users.noreply.github.com >
2026-04-18 13:47:22 +00:00
71ae1e7da1
fix: hide restart troubleshooting for nextcloud and wordpress php-fpm services
...
Agent-Logs-Url: https://github.com/naturallaw777/staging_alpha/sessions/fb1bb511-22f7-4b0b-b07e-2bc59ee468ac
Co-authored-by: naturallaw777 <99053422+naturallaw777@users.noreply.github.com >
2026-04-16 17:53:01 +00:00
87c478ab30
Improve restart fallback error message
...
Agent-Logs-Url: https://github.com/naturallaw777/staging_alpha/sessions/8e6c98f7-8b24-4ec0-944b-0310e0989495
Co-authored-by: naturallaw777 <99053422+naturallaw777@users.noreply.github.com >
2026-04-16 15:19:16 +00:00
a6a004553d
Address review nits for restart flow
...
Agent-Logs-Url: https://github.com/naturallaw777/staging_alpha/sessions/8e6c98f7-8b24-4ec0-944b-0310e0989495
Co-authored-by: naturallaw777 <99053422+naturallaw777@users.noreply.github.com >
2026-04-16 15:18:34 +00:00
a2c1e62129
Add service restart API and modal restart action
...
Agent-Logs-Url: https://github.com/naturallaw777/staging_alpha/sessions/8e6c98f7-8b24-4ec0-944b-0310e0989495
Co-authored-by: naturallaw777 <99053422+naturallaw777@users.noreply.github.com >
2026-04-16 15:13:07 +00:00
6028586da9
feat: add checking state for domain reachability on service tiles
...
Agent-Logs-Url: https://github.com/naturallaw777/staging_alpha/sessions/3208f380-e8fe-4f12-b83c-723ecee6cd4c
Co-authored-by: naturallaw777 <99053422+naturallaw777@users.noreply.github.com >
2026-04-15 18:12:13 +00:00
15715258de
Handle non-OK port status responses in enable flow
...
Agent-Logs-Url: https://github.com/naturallaw777/staging_alpha/sessions/e1d94cfc-9b91-48a3-99e3-64d7609ba710
Co-authored-by: naturallaw777 <99053422+naturallaw777@users.noreply.github.com >
2026-04-15 16:38:07 +00:00
283420d43a
Log port status fetch failures before fallback modal
...
Agent-Logs-Url: https://github.com/naturallaw777/staging_alpha/sessions/e1d94cfc-9b91-48a3-99e3-64d7609ba710
Co-authored-by: naturallaw777 <99053422+naturallaw777@users.noreply.github.com >
2026-04-15 16:36:53 +00:00
9ff7bdc9bc
Make port requirement modal check only closed ports
...
Agent-Logs-Url: https://github.com/naturallaw777/staging_alpha/sessions/e1d94cfc-9b91-48a3-99e3-64d7609ba710
Co-authored-by: naturallaw777 <99053422+naturallaw777@users.noreply.github.com >
2026-04-15 16:34:56 +00:00
f2d3c4aaa9
refactor: simplify modal handler wiring for rerender safety
...
Agent-Logs-Url: https://github.com/naturallaw777/staging_alpha/sessions/15310f2a-9bf2-4813-b2be-7462cb923c9c
Co-authored-by: naturallaw777 <99053422+naturallaw777@users.noreply.github.com >
2026-04-15 16:10:48 +00:00
268411fe00
chore: log network fetch failures in port requirements modal
...
Agent-Logs-Url: https://github.com/naturallaw777/staging_alpha/sessions/15310f2a-9bf2-4813-b2be-7462cb923c9c
Co-authored-by: naturallaw777 <99053422+naturallaw777@users.noreply.github.com >
2026-04-15 16:09:23 +00:00
e5613e0826
fix: remove misleading port status from enable-feature modal
...
Agent-Logs-Url: https://github.com/naturallaw777/staging_alpha/sessions/15310f2a-9bf2-4813-b2be-7462cb923c9c
Co-authored-by: naturallaw777 <99053422+naturallaw777@users.noreply.github.com >
2026-04-15 16:07:22 +00:00
9662395973
feat: add dedicated domain reconfigure modal flow
...
Agent-Logs-Url: https://github.com/naturallaw777/staging_alpha/sessions/34ab0742-1af8-46e9-9b12-a480c93366f1
Co-authored-by: naturallaw777 <99053422+naturallaw777@users.noreply.github.com >
2026-04-15 15:07:23 +00:00
6e5dbb5bf5
feat: replace domain port table with sequential domain diagnostics
...
Agent-Logs-Url: https://github.com/naturallaw777/staging_alpha/sessions/93de7af8-10f9-438e-b9bc-8c6e9d39d787
Co-authored-by: naturallaw777 <99053422+naturallaw777@users.noreply.github.com >
2026-04-15 12:45:02 +00:00
91ca5a8c21
Fix node-to-server upgrade: reboot before rebuild so onboarding collects domains first
...
Agent-Logs-Url: https://github.com/naturallaw777/staging_alpha/sessions/8d0387a6-f66c-4fe8-8df1-0abf657b2fba
Co-authored-by: naturallaw777 <99053422+naturallaw777@users.noreply.github.com >
2026-04-14 00:46:50 +00:00
2b69fe73df
Fix reboot flow: add /api/ping, fix waitForServerReboot polling, fix security.js handler
...
Agent-Logs-Url: https://github.com/naturallaw777/staging_alpha/sessions/ee8673cf-ad65-4f65-b5c8-2f170e78022f
Co-authored-by: naturallaw777 <99053422+naturallaw777@users.noreply.github.com >
2026-04-14 00:02:45 +00:00
a727a79bbf
Fix reboot button and overlay bugs on local machine and LAN
...
Agent-Logs-Url: https://github.com/naturallaw777/staging_alpha/sessions/c8d3bf30-c3ea-40e7-8da0-b4baa28eaf36
Co-authored-by: naturallaw777 <99053422+naturallaw777@users.noreply.github.com >
2026-04-13 23:41:33 +00:00
40d63439b7
fix: use apiFetch instead of fetch in doReboot() to include session credentials
...
Agent-Logs-Url: https://github.com/naturallaw777/staging_alpha/sessions/34f637cc-b8b9-42e1-bdeb-e4b252fae648
Co-authored-by: naturallaw777 <99053422+naturallaw777@users.noreply.github.com >
2026-04-13 23:16:13 +00:00
aaef654553
fix: robust reboot detection with AbortController timeout and serverWentDown flag
...
Agent-Logs-Url: https://github.com/naturallaw777/staging_alpha/sessions/8b653481-74f2-450f-a543-c94eb664645a
Co-authored-by: naturallaw777 <99053422+naturallaw777@users.noreply.github.com >
2026-04-13 22:55:18 +00:00
aff665c815
Remove sidebar-upgrade-btn highlight; blend Upgrade button with other sidebar buttons
...
Agent-Logs-Url: https://github.com/naturallaw777/staging_alpha/sessions/13a21819-24b1-4aee-b9fa-1e6830992e53
Co-authored-by: naturallaw777 <99053422+naturallaw777@users.noreply.github.com >
2026-04-13 22:37:06 +00:00
1a4cc54341
fix: clarify password labels and change password UI in Sovran Hub
...
- sovran-hub.nix: rename credential labels for clarity
- "Free Account — Password" → "Free Account / Hub Login — Password"
- "Root Password" → "Administrator (root) Password"
- "SSH Passphrase" → "SSH Passphrase — use via: ssh root@localhost"
- service-detail.js: update Change Password button text
- "Change Password" → "Change Free Account Password"
- service-detail.js: update Change Password modal
- Title: "Change Free Account & Hub Login Password"
- Description: adds Hub login warning
- Warning note: warns about desktop AND Hub login change
- Success message: "Free account & Hub login password changed successfully."
Agent-Logs-Url: https://github.com/naturallaw777/staging_alpha/sessions/2ac6f3cf-cf94-47e9-86ac-1321cd5ff728
Co-authored-by: naturallaw777 <99053422+naturallaw777@users.noreply.github.com >
2026-04-13 21:59:35 +00:00
df51fc2a1b
Fix broken UI on security reset overlay: add backdrop-filter and close support modal
...
Agent-Logs-Url: https://github.com/naturallaw777/staging_alpha/sessions/747e607a-1980-434c-9278-344ea75b8bc1
Co-authored-by: naturallaw777 <99053422+naturallaw777@users.noreply.github.com >
2026-04-12 18:34:38 +00:00
98eb24a880
Add Hub web authentication: login page, session middleware, logout button
...
Agent-Logs-Url: https://github.com/naturallaw777/staging_alpha/sessions/afb996f6-f6f5-4d4a-9f99-e46e3f89b4d7
Co-authored-by: naturallaw777 <99053422+naturallaw777@users.noreply.github.com >
2026-04-12 15:37:35 +00:00
2b26472505
fix: disable auto-login, diceware passwords, improved security reset UX, fix GNOME keyring
...
Agent-Logs-Url: https://github.com/naturallaw777/staging_alpha/sessions/82a54a25-4844-4a41-afcc-c034cebbd6ed
Co-authored-by: naturallaw777 <99053422+naturallaw777@users.noreply.github.com >
2026-04-12 15:08:25 +00:00