Three compounding bugs fixed: 1. WRONG FORMAT: Was using nostrsigner: directly, then intent: with encoded values. Amber README shows intent: with raw unencoded S.key=value params. 2. # IN CALLBACKURL: Our callbackUrl was https://.../#/amber-callback which contains a # — but intent: uses # as its own delimiter (#Intent;...;end). Having a # inside the callbackUrl value breaks the entire intent string. Fixed: callbackUrl is now https://.../amber-callback?event= (no hash). 3. HASHROUTER MISMATCH: Amber opens /amber-callback (no hash) but HashRouter only handles /#/route paths. Fixed in main.tsx: pre-React IIFE detects /amber-callback path, saves ?event= to sessionStorage, then redirects to /#/amber-callback so React Router matches AmberCallbackPage correctly. Final correct intent URL format: intent:#Intent;scheme=nostrsigner;S.compressionType=none;S.returnType=signature;S.type=get_public_key;S.callbackUrl=https://skate-spots.org/amber-callback?event=;end Co-authored-by: shakespeare.diy <assistant@shakespeare.diy>
6 lines
404 B
Text
6 lines
404 B
Text
v1.0.30 — Amber login fixed definitively
|
|
|
|
- Switched to correct Android intent: URL format per Amber README
|
|
- Removed # from callbackUrl (# breaks the intent: format which uses # as delimiter)
|
|
- Added pre-redirect in main.tsx: when Amber opens /amber-callback, app redirects to /#/amber-callback so HashRouter can match the route
|
|
- All params passed raw (no encoding) inside intent: string as required
|