Master update - #3577
Open
GuillaumeDSM wants to merge 56 commits into
Open
Conversation
…proxy Sync request signatures bind to the Host header; a proxy like tailscale serve rewrites it before it reaches uvicorn, so every sync pull/push failed with "bad request signature" while unsigned /api/v1 routes kept working. Add HostNormalizeMiddleware to force the reconstructed host to match what the client signed, and persist that external host as a config.json-backed node-api service setting (env var NODE_EXTERNAL_HOST takes precedence), editable from a new Sync host card on /app/settings. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
…mponents Merges node type and sync host into a single "Node configuration" card, reworks the Support card into a "Help" card with Guides/Support/Developer sections, relocates the stop-node and log-out actions into a shared CardCornerButton, and switches wallet/encryption-key layouts to a denser grid. Splits the 1350+ line settings.tsx into per-card components under components/Settings/ to keep files small and focused. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
WalletAlreadyExistsError subclasses WalletError, so the create-wallet route returned 422 and the web UI showed a generic "Validation Error" that hid the real cause. Catch it first and return 409 Conflict (as setup/init already does), and have the Add wallet dialog map 409 to a clear "This wallet is already imported." message instead of the raw SDK status text. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
…e pairing QR The "Pair mobile device" QR (settings and setup wizard) embedded window.location.origin, ignoring the node-external-host setting added for reverse-proxy deployments (e.g. tailscale serve). A device pairing over a proxy got an unreachable/wrong URL baked into its QR. - PairDeviceDialog.tsx, setup/mobile-app.tsx: fetch node config and prefer external_host over window.location.origin when set. - setup/mobile-app.tsx: added the missing empty-credential guard (PairDeviceDialog already had it) so an inactive wallet session doesn't silently render a QR with an empty passphrase. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Herklos
approved these changes
Jul 28, 2026
Herklos
approved these changes
Jul 28, 2026
Signed-off-by: Herklos <herklos@drakkar.software>
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.
No description provided.