naturallaw777
a97cb1adba
updated nixpkgs and btc clients
2026-07-25 09:37:18 -05:00
Sovran Systems and GitHub
210cef99f9
Merge pull request #334 from naturallaw777/copilot/fix-manual-backup-rsync-failure
...
Fix rsync destination-directory failure: sync_tree with mkdir -p, mount re-verification, and path-safety guards
2026-07-21 00:06:54 +00:00
copilot-swe-agent[bot] and GitHub
1732bb0a2f
Fix CodeQL false-positive: rename secret.key test fixture to bitcoin-key.txt
2026-07-21 00:04:58 +00:00
copilot-swe-agent[bot] and GitHub
68b86bdf49
Fix rsync destination-directory failure: add sync_tree with mkdir -p, mount check, path-safety, stale-marker cleanup, and 19 behavioral tests
2026-07-21 00:03:12 +00:00
copilot-swe-agent[bot] and GitHub
e294a4057d
Initial plan
2026-07-20 23:56:15 +00:00
Sovran Systems and GitHub
b98c82886f
Merge pull request #333 from naturallaw777/copilot/replace-manual-backup-implementation
...
Replace Manual Backup: tar+DB+LND → ext4+rsync mirror
2026-07-20 22:51:38 +00:00
copilot-swe-agent[bot] and GitHub
e16eaabdde
refactor: rename CURRENT_DIR_NAME to BACKUP_SUBPATH for clarity
2026-07-20 22:47:53 +00:00
copilot-swe-agent[bot] and GitHub
0fa804a430
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
01db44f0d2
Initial plan
2026-07-20 22:34:57 +00:00
naturallaw777
978a82ade3
nixpkgs update
2026-07-19 16:59:19 -05:00
Sovran Systems and GitHub
c202c69898
Merge pull request #332 from naturallaw777/copilot/fix-manual-backup-failure
...
Fix home.tar exit-1 failure on active desktop; harden full backup workflow
2026-07-18 18:21:07 +00:00
copilot-swe-agent[bot] and GitHub
d1251bf238
Final polish: explicit LOCK_FD close, tar --list SIGPIPE comment, marker timing comment, _extract_bash_function docstring
2026-07-18 18:11:19 +00:00
copilot-swe-agent[bot] and GitHub
de25110493
Address code review round 2: Python regex for function extraction, bash 4.1+ comment, find -print0 for manifest, mktemp 0600 comment
2026-07-18 18:08:33 +00:00
copilot-swe-agent[bot] and GitHub
ab31f4f60b
Address code review: source allowlist function from script in tests, fix find exclusions for BACKUP_COMPLETE, simplify log message
2026-07-18 18:05:46 +00:00
copilot-swe-agent[bot] and GitHub
f5a5e99de4
Fix test assertion pattern and replace em dashes in new log messages
2026-07-18 18:02:41 +00:00
copilot-swe-agent[bot] and GitHub
a30d4d5e74
Fix home.tar exit-1 failure: add tar tolerance, partial atomics, INCOMPLETE marker, flock, browser cache exclusions
2026-07-18 18:00:29 +00:00
copilot-swe-agent[bot] and GitHub
12b8872847
Initial plan
2026-07-18 17:44:54 +00:00
Sovran Systems and GitHub
56e0c4dcd2
Merge pull request #331 from naturallaw777/copilot/fix-manual-backup-failure
...
Fix Manual Backup exit-code-127: add bash+gawk to service PATH, harden launcher
2026-07-18 16:40:29 +00:00
copilot-swe-agent[bot] and GitHub
22aa251d64
Address code review: compute stderr_text only when chunks are present
2026-07-18 16:30:38 +00:00
copilot-swe-agent[bot] and GitHub
35c4de412f
Fix Manual Backup exit-code-127: add bash+gawk to service PATH, harden launcher
2026-07-18 16:29:10 +00:00
copilot-swe-agent[bot] and GitHub
16067be909
Initial plan
2026-07-18 16:23:49 +00:00
Sovran Systems and GitHub
36abece7f9
Merge pull request #330 from naturallaw777/copilot/implement-manual-backup-workflow
...
Implement reliable exFAT Manual Backup with tar artifacts, DB exports, and lifecycle hardening
2026-07-18 15:31:38 +00:00
copilot-swe-agent[bot] and GitHub
36187c0504
Refine backup validation and manifest details
2026-07-17 17:00:32 +00:00
copilot-swe-agent[bot] and GitHub
992c806ed7
Address validation feedback for backup workflow
2026-07-17 16:58:34 +00:00
copilot-swe-agent[bot] and GitHub
9f3d3e7670
Implement reliable exFAT manual backup workflow
2026-07-17 16:56:08 +00:00
copilot-swe-agent[bot] and GitHub
0ec8203557
Initial plan
2026-07-17 16:49:35 +00:00
Sovran Systems and GitHub
ab4de8da7d
Merge pull request #329 from naturallaw777/copilot/fix-nix-build-regression
...
Fix `sovran-hosts-update` ShellCheck build regression from `writeShellApplication`
2026-07-16 20:40:41 +00:00
copilot-swe-agent[bot] and GitHub
92cf417760
test: harden flake configuration detection
2026-07-16 20:38:48 +00:00
copilot-swe-agent[bot] and GitHub
ec4c1c851b
test: derive nix helper build attr from flake
2026-07-16 20:37:48 +00:00
copilot-swe-agent[bot] and GitHub
38f49e9161
fix: group sovran hosts append redirection
2026-07-16 20:36:33 +00:00
copilot-swe-agent[bot] and GitHub
c853853616
Initial plan
2026-07-16 20:33:53 +00:00
Sovran Systems and GitHub
3e2bc106b1
Merge pull request #328 from naturallaw777/copilot/fix-sovran-hosts-update-runtime-dependency
...
fix(local-domain-loopback): replace raw /etc script with writeShellApplication, declare explicit runtimeInputs
2026-07-16 20:28:39 +00:00
copilot-swe-agent[bot] and GitHub
d4f8c7b431
fix: convert sovran-hosts-update to writeShellApplication with explicit runtimeInputs
...
- Replace environment.etc raw script with pkgs.writeShellApplication
- Declare runtimeInputs: pkgs.coreutils, pkgs.gawk, pkgs.gnugrep
- Use awk -v for safe marker variable passing (no shell interpolation)
- Point systemd ExecStart and activation script at lib.getExe hostsUpdateScript
- Keep /etc/sovran-hosts-update.sh as a source symlink for operator discoverability
- Remove environment.systemPackages reliance
- Emit warning (not silently swallow) on activation failure
- Add structural regression tests (19 new tests, all passing)
2026-07-16 20:26:59 +00:00
copilot-swe-agent[bot] and GitHub
dcbac4760f
Initial plan
2026-07-16 20:23:44 +00:00
naturallaw777
2b8ee5ff26
updated readme
v1.0.3
2026-07-15 15:25:14 -05:00
Sovran Systems and GitHub
b4990d70ef
Merge pull request #327 from naturallaw777/copilot/remove-restart-sidebar-action
...
Move Reboot from sidebar to compact header button
2026-07-15 18:59:25 +00:00
copilot-swe-agent[bot] and GitHub
59b734995b
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
599405ce18
Initial plan
2026-07-15 18:55:54 +00:00
Sovran Systems and GitHub
4b31255f13
Merge pull request #326 from naturallaw777/copilot/add-system-restart-action
...
feat: implement consistent whole-system restart UX across the Hub
2026-07-15 18:26:26 +00:00
copilot-swe-agent[bot] and GitHub
6b79c212a8
refactor: improve variable name in openRestartConfirmDialog for clarity
2026-07-15 16:51:52 +00:00
copilot-swe-agent[bot] and GitHub
c3950547b0
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
b28d6dd32c
Initial plan
2026-07-15 16:41:20 +00:00
Sovran Systems and GitHub
7ac3775a96
Merge pull request #325 from naturallaw777/copilot/implement-server-side-loopback-solution
...
feat: server-side loopback overrides + Hub diagnostic fixes for NAT loopback
2026-07-15 16:21:10 +00:00
copilot-swe-agent[bot] and GitHub
de9b069a88
fix: address code review feedback
...
- Use set -eu (not set -euf) in sovran-hosts-update.sh
- Add sync note for domain validation regex between shell and Python
- Rename `seen` to `unique_addresses` in _resolve_all_addresses
- Improve loopback override UI message with external DNS check guidance
- Add docstring note about first-address display in _resolve_all_addresses"
2026-07-15 15:26:43 +00:00
copilot-swe-agent[bot] and GitHub
2cb0c734d8
feat: server-side loopback overrides and Hub diagnostic fixes
...
- Add modules/core/local-domain-loopback.nix: systemd service and
activation script that write configured service domains to a
Sovran-managed block in /etc/hosts (127.0.0.1 / ::1) so requests
originating on this computer reach Caddy without NAT loopback.
- Import local-domain-loopback.nix in modules/modules.nix.
- server.py: add _validate_domain_value, _is_loopback_address,
_resolve_all_addresses, _trigger_hosts_update helpers.
- server.py: update _check_domain_reachable to use --resolve so
reachability is checked locally via Caddy, not via NAT loopback.
- server.py: update _evaluate_domain_checklist, api_services inline DNS
check, and api_domains_check to recognise loopback resolution as an
intentional local override rather than a DNS mismatch.
- server.py: call _trigger_hosts_update from api_domains_set after
saving a service domain so the /etc/hosts entry is applied immediately.
- Add app/tests/test_loopback_diagnostics.py with 47 tests covering
domain validation, loopback detection, diagnostic checklist logic,
composite health, and api_domains_check."
2026-07-15 15:24:16 +00:00
copilot-swe-agent[bot] and GitHub
6f908513e3
Initial plan
2026-07-15 15:14:53 +00:00
Sovran Systems and GitHub
53f59aa388
Merge pull request #324 from naturallaw777/copilot/fix-rdp-boot-time-setup
...
fix(rdp): prepend /run/wrappers/bin to PATH and add pkexec preflight check
2026-07-14 16:02:03 +00:00
copilot-swe-agent[bot] and GitHub
69e996ff98
fix(rdp): prepend /run/wrappers/bin to PATH and add pkexec preflight check
...
GRD 50.x invokes pkexec internally for every grdctl --system call, even
when the caller is root. An isolated systemd script PATH does not include
/run/wrappers/bin automatically, causing exit 70 at boot.
Changes:
- Prepend /run/wrappers/bin to PATH at script start so every subsequent
grdctl --system resolves the NixOS setuid pkexec wrapper.
- Add an explicit preflight check (test -x /run/wrappers/bin/pkexec) with
a clear error message before the first grdctl_system call.
- pkgs.polkit remains absent from the service path.
- Update test_setup_runs_grdctl_directly_as_root to reflect that pkexec
now appears in the preflight check (not as a direct invocation).
- Add test_run_wrappers_bin_prepended_to_path and test_pkexec_preflight_check.
2026-07-14 15:54:40 +00:00
copilot-swe-agent[bot] and GitHub
6e4d0d22a1
Initial plan
2026-07-14 15:51:34 +00:00
Sovran Systems and GitHub
881587c42a
Merge pull request #323 from naturallaw777/copilot/fix-gnome-remote-desktop-boot-setup
...
fix(rdp): run grdctl --system directly as root, drop runuser/polkit/util-linux
2026-07-14 15:20:22 +00:00