Commit Graph
2009 Commits
Author SHA1 Message Date
naturallaw777 ccda5e3246 Updated Readme 2026-07-27 18:04:17 -05:00
naturallaw777 aef7582083 Added contributing and updated readme 2026-07-27 17:56:38 -05:00
Sovran SystemsandGitHub c51a762b42 Merge pull request #346 from naturallaw777/staging-dev
Merge into Main
2026-07-27 13:33:56 -05:00
Sovran SystemsandGitHub 91bb49ea13 Merge pull request #345 from naturallaw777/staging-dev
Merge staging-dev into main
2026-07-27 12:21:15 -05:00
naturallaw777 0f8c15e6a1 removed .tests, not needed 2026-07-27 10:35:54 -05:00
naturallaw777 586625f110 removed .github, not needed 2026-07-27 10:34:33 -05:00
naturallaw777 c78370647a removed nix directory, not needed 2026-07-27 10:33:32 -05:00
naturallaw777 e30610ddac removed docs/ai added not necessary 2026-07-27 10:29:34 -05:00
naturallaw777 1503060f7c fixed duplicate systemd lnd strings 2026-07-27 09:40:32 -05:00
Sovran SystemsandGitHub 016ceaa3df Merge pull request #344 from naturallaw777/copilot/fix-wallet-connections-cert-path
Complete Wallet Connections cert-path wiring for interactive `nwc-wallet`
2026-07-27 09:34:03 -05:00
copilot-swe-agent[bot]andGitHub bfa4f2f9e4 Fix NWC wallet cert-path env wiring 2026-07-27 14:29:27 +00:00
copilot-swe-agent[bot]andGitHub f557a6d2db Initial plan 2026-07-27 14:26:00 +00:00
Sovran SystemsandGitHub 69c236d9ca Merge pull request #343 from naturallaw777/copilot/fix-wallet-connections-integration
Use nix-bitcoin `services.lnd.certPath` for Wallet Connections LND setup
2026-07-27 09:18:40 -05:00
copilot-swe-agent[bot]andGitHub d6546bfed8 fix: use nix-bitcoin lnd cert path for wallet connections 2026-07-27 14:16:21 +00:00
copilot-swe-agent[bot]andGitHub d97615db8e Initial plan 2026-07-27 14:13:14 +00:00
Sovran SystemsandGitHub f3c05bf7db Merge pull request #342 from naturallaw777/copilot/fix-lnd-alby-hub-port-collision
Resolve deterministic LND/Alby Hub port collision and enforce loopback-only binding
2026-07-27 13:34:13 +00:00
copilot-swe-agent[bot]andGitHub 004424cc2b Address validation feedback for Nix test and workflow permissions 2026-07-27 12:23:06 +00:00
copilot-swe-agent[bot]andGitHub 37a15afa10 Fix deterministic LND/Alby Hub port collision 2026-07-27 12:21:09 +00:00
copilot-swe-agent[bot]andGitHub fdd9d29db3 Initial plan 2026-07-27 12:13:11 +00:00
Sovran SystemsandGitHub c9458dd73b Merge pull request #341 from naturallaw777/copilot/require-unique-hostname-for-wallet-connections
Require unique hostname for Wallet Connections; add server-side conflict validation
2026-07-27 11:49:44 +00:00
copilot-swe-agent[bot]andGitHub dc98a355e8 Fix redundant backslash escape in hostname regex character class 2026-07-27 11:41:44 +00:00
copilot-swe-agent[bot]andGitHub 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]andGitHub 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]andGitHub 007bf1a4ce Initial plan 2026-07-27 11:29:47 +00:00
Sovran SystemsandGitHub 5a91fa4de5 Merge pull request #340 from naturallaw777/copilot/regenerate-alby-hub-patches
fix: regenerate Alby Hub v1.23.0 patches against exact upstream source
2026-07-27 10:58:10 +00:00
copilot-swe-agent[bot]andGitHub c449044dcf fix: regenerate Alby Hub v1.23.0 patches against exact upstream source
Patch 1 (0001-private-route-hints.patch):
- Add missing RouteHints: hints, context line (v1.23.0 added this field
  between Expiry and Private; old patch lacked it, causing hunk failure)
- Fix amountMsat parameter name in hunk header (was 'amount' from older version)
- Only regular invoice Private field is changed; MakeHoldInvoice keeps
  Private: !hasPublicChannels unchanged

Patch 2 (0002-isolated-invoice-app-id.patch):
- Fix CreateInvoice interface: amountMsat uint64 (not amount uint64)
- Fix MakeInvoiceRequest: Amount/AmountSat/AmountMsat are *uint64 pointers
  (not Amount uint64) matching v1.23.0 struct layout
- Fix MakeInvoice call: 9 args → 10 args with appId as 8th positional arg
  (nil, nil trailing) matching v1.23.0 signature
- Fix function impl parameter: amountMsat uint64 throughout

Both patches dry-run verified against exact v1.23.0 source and apply cleanly
in sequence. Updated NixPatchContractTests to assert v1.23.0 context
(RouteHints, amountMsat, *uint64 pointer types, 10-arg MakeInvoice call).

All 233 Python tests pass. JS syntax checks pass.
2026-07-27 10:49:25 +00:00
copilot-swe-agent[bot]andGitHub 614f750032 Initial plan 2026-07-27 10:42:29 +00:00
Sovran SystemsandGitHub 127a10fc17 Merge pull request #337 from naturallaw777/copilot/urgent-fix-alby-hub-api
Restore Wallet Connections to exact proven Alby Hub/LND contract and remove placeholder packaging
2026-07-27 05:17:10 +00:00
Sovran SystemsandGitHub 0fac2f9c68 Merge pull request #339 from naturallaw777/copilot/update-alby-hub-executable-logo
Port PR #338 blockers, switch Alby Hub to `lib.getExe`, and replace Wallet Connections branding with official NWC logo
2026-07-27 05:11:24 +00:00
copilot-swe-agent[bot]andGitHub b9485c18dc Fix AlbyHub executable and switch Wallet Connections to official NWC logo 2026-07-27 05:10:07 +00:00
copilot-swe-agent[bot]andGitHub 14c6861918 Initial plan 2026-07-27 05:00:37 +00:00
Sovran SystemsandGitHub 2c2b889f49 Merge pull request #338 from naturallaw777/copilot/copiloturgent-fix-alby-hub-api
fix(nwc): credential access, strict LNURL amount validation, partial-funding wording
2026-07-27 04:27:45 +00:00
copilot-swe-agent[bot]andGitHub ecd83a8262 fix: address code review — restrict ReadOnlyPaths to unlock-password, clarify amount error message
ReadOnlyPaths for nwc-lnurl.service now lists only the specific file
/var/lib/albyhub/unlock-password (least-privilege) instead of the
whole /var/lib/albyhub directory.

Amount-duplicate error message changed to "A single amount parameter is
required" (clearer for 2+ values than "Exactly one").

Test assertion updated to match new message text.
2026-07-27 04:09:41 +00:00
copilot-swe-agent[bot]andGitHub 2f744c0850 fix: resolve final PR #337 blockers — credential access, amount validation, wording
Blocker 1: run nwc-lnurl.service as albyhub user/group so it can read
/var/lib/albyhub/unlock-password (mode 0600, dir mode 0700).
Remove the now-unused nwc-lnurl user, group, and /var/lib/nwc-lnurl
state directory.  ReadOnlyPaths updated to allow the whole albyhub dir.

Blocker 2: require exactly one amount query parameter in the LNURL
callback HTTP handler.  Duplicate values now return a 400 protocol
error ("Exactly one amount parameter is required") before the helper is
called.  The missing-amount and non-integer paths are unchanged.

Blocker 3: partial-funding failure message now reads "was created
successfully" instead of "already exists" to avoid confusion with a
duplicate-name error, while retaining the warning not to recreate.

Tests added:
- LnurlHandlerAmountTests — HTTP-handler level tests for duplicate (2×,
  3×), single-valid, and missing amount parameters.
- test_create_partial_failure_message_says_created_successfully —
  asserts exact wording of the partial-funding message.
- test_nwc_lnurl_service_runs_as_albyhub — asserts the Nix service block
  sets User/Group to albyhub.
- test_nwc_module_no_separate_nwc_lnurl_user — asserts no standalone
  nwc-lnurl user/group is declared.

All 229 Python tests pass (1 skipped).  JS syntax clean.  No secrets.
2026-07-27 04:07:53 +00:00
copilot-swe-agent[bot]andGitHub cca681979a Initial plan 2026-07-27 04:03:01 +00:00
copilot-swe-agent[bot]andGitHub 82ee21f13f Align Wallet Connections with proven Alby Hub API contract 2026-07-27 03:41:41 +00:00
copilot-swe-agent[bot]andGitHub f24be16b98 Initial plan 2026-07-27 03:34:02 +00:00
Sovran SystemsandGitHub 4213c20537 Merge pull request #336 from naturallaw777/copilot/replace-wallet-connections-scaffolding
Replace Wallet Connections scaffolding with real Alby Hub/LND backend
2026-07-27 03:27:03 +00:00
copilot-swe-agent[bot]andGitHub 0e13779773 Address code review feedback: BOLT11 regex, error messages, PORT env var, gofmt, test helpers
- nwc_hub_manager.py: Fix BOLT11 regex to accept only valid prefixes (bc/tb/bcrt/tbs); add path to timeout error message; add early-exit to _get_app_pending_txs pagination
- nwc_lnurl_service.py: Allow NWC_LNURL_PORT env var override for port
- nwc-wallets.nix: Remove || true from gofmt so build fails on syntax errors
- test_wallet_connections.py: Extract _call_body() helper; use c.args[] access
2026-07-27 03:21:40 +00:00
copilot-swe-agent[bot]andGitHub 5ebd51e5f9 Fix nwc-lnurl Python path, improve patches, expose hub package option
- sovran-hub.nix: Add nwc-lnurl launcher binary to sovran-hub-web derivation (same pattern as nwc-wallet); add options.services.sovranHub.webPackage to expose derivation to other modules
- nwc-wallets.nix: Use config.services.sovranHub.webPackage for LNURL ExecStart (fixes sys.path for sovran_systemsos_web imports); replace no-op placeholder patches with real unified diff format showing intended Go changes (Private: true, AppId *uint)
2026-07-27 03:18:30 +00:00
copilot-swe-agent[bot]andGitHub dcc6d9fc1d Fix critical Authorization header bug and CodeQL stack-trace exposure
- nwc_hub_manager.py: Fix Authorization header to use real ****** (was hardcoded to literal asterisks due to display redaction)
- server.py: Use exc.args[0] instead of str(exc) in NWC error handlers to prevent CodeQL stack-trace taint flow to HTTP responses; update albyhub.service description key
2026-07-27 03:13:28 +00:00
copilot-swe-agent[bot]andGitHub ccff377607 Replace Wallet Connections scaffolding with real Alby Hub/LND implementation
- Add nwc_hub_manager.py: AlbyHubManager with real Alby Hub API (setup, auth, CRUD, drain, delete, invoice)
- Add nwc_lnurl_service.py: dedicated loopback LNURL service on port 8181
- server.py: remove JSON scaffolding (state.json, fake invoice generator, fake NWC URI, LNURL routes); replace with real manager calls; update service maps to albyhub.service; remove LNURL auth-exempt paths
- nwc_wallet_cli.py: rewrite to use real AlbyHubManager instead of JSON state
- modules/nwc-wallets.nix: replace with albyhub user/service, nwc-lnurl service, LND macaroon, unlock-password generation
- modules/core/caddy.nix: proxy LNURL routes to port 8181 (dedicated service) instead of 8937 (Hub)
- modules/core/sovran-hub.nix: service tile points to albyhub.service
- docs/wallet-connections.md: document real architecture, Alby Hub pin/patches, backup sensitivity
- test_wallet_connections.py: replace scaffolding tests with 54 real manager tests using mocked Alby Hub
2026-07-27 03:10:13 +00:00
copilot-swe-agent[bot]andGitHub 63c87c8fb4 Initial plan 2026-07-27 02:52:54 +00:00
Sovran SystemsandGitHub 9c3743724c Merge pull request #335 from naturallaw777/copilot/implement-hub-managed-wallet-connections
Add Hub-managed Wallet Connections (`nwc-wallets`) scaffold across Hub, Nix, domain, and LNURL paths
2026-07-27 02:32:03 +00:00
copilot-swe-agent[bot]andGitHub 0e94ae58fc Implement wallet connections service-detail modal CRUD flow 2026-07-27 02:22:45 +00:00
copilot-swe-agent[bot]andGitHub 9673f6733a feat: add hub-managed Wallet Connections scaffolding 2026-07-27 02:10:11 +00:00
copilot-swe-agent[bot]andGitHub 5860f40e82 Initial plan 2026-07-27 01:58:07 +00:00
naturallaw777 72f4a7b39e updated nixpkgs and btc clients 2026-07-25 09:37:18 -05:00
Sovran SystemsandGitHub ba10f8956b 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]andGitHub 0961f89b9f Fix CodeQL false-positive: rename secret.key test fixture to bitcoin-key.txt 2026-07-21 00:04:58 +00:00