Mobile parity with Theseus 0.0.7's multi-source model, one source at a time.
Ships:
* Bns.pullSiaIndex() — fetches dl.silentmode.st/bns-name-index.json (the
operator's latest published interpreted BNS snapshot) on a background
thread. Installs the result as the current index + persists to disk cache
when we don't already have something fresher. Best-effort: silent on
failure, on-device electrum still runs.
* MainActivity fires the pull once per applyResolverSettings(), racing the
bundled starter + on-device electrum. The bundled starter wins the very
first navigation (already in memory); the Sia pull wins any subsequent
cold start after an operator publish; electrum wins steady-state via the
existing INDEX_TTL_MS refresh.
* publish-name-mirror.mjs now uploads three shapes to Sia (raw snapshot,
raw immutable, mobile-shape floating, mobile-shape immutable) AND scps
the mobile-shape floating pointer to the CDN so anonymous clients can
actually GET it. The s3.silentmode.st bucket rejects anon reads today;
the CDN copy is the workaround, same bytes.
* Cannot use Sia direct for now: s3d bucket policy blocks anon reads.
Documented in Bns.SIA_INDEX_URL — swap URL when the policy changes.
Version bump: 0.10 → 0.11 (versionCode 11, versionName 0.11).
Also: .gitignore TheseusNavigator/_prev/ — the ~372 MB local rollback dir
that kept appearing as untracked in every git status.
ariadne-v0.11.apk 124 KB
03c95832c16cc4763acaadbf328caa7d4bd05fc7c2994f6997a79cc6890bca44