docs(contract): trois comportements que l'appelant doit connaître
Les signatures étaient à jour, les affirmations non. Trois choses visibles par une application n'y figuraient pas. L'ordre d'appel : ensureIdentity() se résout quand une session est ouverte, donc l'attendre avant d'avoir appelé init() ne se résout JAMAIS. Silencieux, sans erreur — le pire mode de défaillance possible pour qui intègre. C'est aussi la raison de dire lequel des deux init() appeler, comme on le dit déjà pour ng. La barrière monte à chaque chargement en page de tête, pas seulement au premier. Et la page peut se recharger toute seule quand on y revient : une application qui garde de l'état en mémoire le perd, et ne pouvait pas le deviner. Aucune de ces phrases ne décrit comment c'est fait — seulement ce qu'un appelant doit prévoir.
This commit is contained in:
@@ -16,7 +16,8 @@ This package covers placement (creating and listing an application's documents b
|
|||||||
An application using this package must:
|
An application using this package must:
|
||||||
|
|
||||||
- serve a wallet file (`.ngw`) from its own bundle, and pass its URL and password to `configure` as `sharedWallet: { fileUrl, password }`;
|
- serve a wallet file (`.ngw`) from its own bundle, and pass its URL and password to `configure` as `sharedWallet: { fileUrl, password }`;
|
||||||
- call `ensureIdentity()` in a browser context before rendering its interface; it mounts a barrier in the document.
|
- call `init(…)` — this package's, not the one it passed to `configure` — and then await `ensureIdentity()`, in a browser context, before rendering its interface. `ensureIdentity()` resolves once a session is open, so awaiting it before `init` has been called never resolves;
|
||||||
|
- expect `ensureIdentity()` to mount a full-screen barrier on every top-level load, and the page to reload itself once when a person returns to it: hold no un-persisted state across that call.
|
||||||
|
|
||||||
## Surface
|
## Surface
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user