test: les deux cas qui ne doivent pas bouger, et la course que la barriere asynchrone ouvre

(p) `graphs: ""` est l'autre orthographe du dataset entier, jamais un nom de
document : le filtre reste seul a decider. C'est une garde, pas un test
discriminant - `isNuri` ecarte deja la chaine vide -, et elle epingle le
comportement plutot que le chemin.

(q) se desabonner pendant que la barriere est en train d'etre franchie ne doit
laisser aucune requete ouverte. La barriere rend l'ouverture asynchrone, donc il
existe desormais une fenetre ou l'observable a des abonnes, pas de requete, et une
ouverture en chemin ; verifie en retirant le controle de generation, ou la
requete est creee apres le dernier auditeur et plus rien ne la ferme.
This commit is contained in:
Sylvain Duchesne
2026-09-21 15:12:09 +02:00
parent b0eec7b4dc
commit 534d8f91b7
2 changed files with 52 additions and 0 deletions
@@ -186,6 +186,10 @@ const WHOLE_DATASET = "did:ng:i";
* none, and so is anything that is not a NextGraph reference - an ordinary IRI names no
* repo this library could hold a cap for, and the engine is left to match it or not.
* Deduplicated, so a scope repeating a document opens it once.
*
* `""` is named beside the marker although `isNuri` would drop it anyway. It is the SDK's
* own alias for `did:ng:i`, and a reader should be able to see that here rather than have
* to work out that a guard two files away happens to exclude it.
*/
function namedDocuments(scope: Scope): Nuri[] {
const out: Nuri[] = [];