@rool-dev/svelte 0.11.1 → 0.11.2-dev.938baf9
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/rool.svelte.d.ts.map +1 -1
- package/dist/rool.svelte.js +22 -16
- package/package.json +2 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rool.svelte.d.ts","sourceRoot":"","sources":["../src/rool.svelte.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,KAAK,aAAa,EAAE,KAAK,eAAe,EAAE,KAAK,gBAAgB,EAAE,KAAK,WAAW,EAAE,MAAM,eAAe,CAAC;AAC9H,OAAO,EAAqB,KAAK,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAClF,OAAO,EAAa,KAAK,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAElE;;;;;;;;GAQG;AACH,cAAM,QAAQ;;IAMZ,aAAa,iBAAgC;IAC7C,MAAM,8BAAkD;IACxD,aAAa,UAAiB;IAC9B,WAAW,eAA8B;IACzC,eAAe,kBAA2C;IAC1D,WAAW,0BAAuC;IAClD,WAAW,qBAAoC;gBAEnC,MAAM,CAAC,EAAE,gBAAgB;IAKrC;;;OAGG;IACH,IAAI,MAAM,IAAI,UAAU,CAEvB;
|
|
1
|
+
{"version":3,"file":"rool.svelte.d.ts","sourceRoot":"","sources":["../src/rool.svelte.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,KAAK,aAAa,EAAE,KAAK,eAAe,EAAE,KAAK,gBAAgB,EAAE,KAAK,WAAW,EAAE,MAAM,eAAe,CAAC;AAC9H,OAAO,EAAqB,KAAK,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAClF,OAAO,EAAa,KAAK,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAElE;;;;;;;;GAQG;AACH,cAAM,QAAQ;;IAMZ,aAAa,iBAAgC;IAC7C,MAAM,8BAAkD;IACxD,aAAa,UAAiB;IAC9B,WAAW,eAA8B;IACzC,eAAe,kBAA2C;IAC1D,WAAW,0BAAuC;IAClD,WAAW,qBAAoC;gBAEnC,MAAM,CAAC,EAAE,gBAAgB;IAKrC;;;OAGG;IACH,IAAI,MAAM,IAAI,UAAU,CAEvB;IAqED;;;OAGG;IACG,IAAI,IAAI,OAAO,CAAC,OAAO,CAAC;IAiB9B;;OAEG;IACH,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,IAAI;IAI7D;;OAEG;IACH,MAAM,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,IAAI;IAI9D;;;;OAIG;IACG,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAM7C;;OAEG;IACH,MAAM,IAAI,IAAI;IAQd;;;;OAIG;IACG,SAAS,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC;IAOxD;;OAEG;IACG,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC;IAOvD;;OAEG;IACG,cAAc,CAAC,aAAa,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC;IAOjF;;OAEG;IACH,aAAa,IAAI,OAAO,CAAC,IAAI,CAAC;IAI9B;;OAEG;IACH,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAI3C;;OAEG;IACH,iBAAiB,IAAI,OAAO,CAAC,IAAI,CAAC;IAIlC;;OAEG;IACH,WAAW,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAI5C;;OAEG;IACH,cAAc,CAAC,CAAC,GAAG,OAAO,EAAE,GAAG,EAAE,MAAM,GAAG,CAAC,GAAG,SAAS;IAIvD;;OAEG;IACH,iBAAiB,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAI5C;;;OAGG;IACH,cAAc,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,IAAI;IAKjD;;;OAGG;IACH,WAAW,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,IAAI;IAI9C;;OAEG;IACH,UAAU,CAAC,KAAK,EAAE,MAAM;IAIxB;;OAEG;IACG,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,GAAG,OAAO,CAAC,aAAa,CAAC;IAOxE;;OAEG;IACH,IAAI,QAAQ,qCAEX;IAED;;OAEG;IACG,cAAc;IAMpB;;OAEG;IACG,iBAAiB,CAAC,KAAK,EAAE;QAAE,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,cAAc,CAAC,EAAE,OAAO,CAAA;KAAE;IAOzF;;;;;OAKG;IACH,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,mBAAmB;IAI9C;;OAEG;IACH,OAAO,IAAI,IAAI;CAahB;AAED;;GAEG;AACH,wBAAgB,UAAU,CAAC,MAAM,CAAC,EAAE,gBAAgB,GAAG,IAAI,CAE1D;AAED;;GAEG;AACH,wBAAgB,UAAU,IAAI,MAAM,CAEnC;AAED,MAAM,MAAM,IAAI,GAAG,QAAQ,CAAC"}
|
package/dist/rool.svelte.js
CHANGED
|
@@ -40,13 +40,25 @@ class RoolImpl {
|
|
|
40
40
|
this.#refreshSpaces();
|
|
41
41
|
}
|
|
42
42
|
else {
|
|
43
|
+
// currentUser/userStorage clear via currentUserChanged(null)
|
|
43
44
|
this.spaces = undefined;
|
|
44
45
|
}
|
|
45
46
|
};
|
|
46
47
|
this.#client.on('authStateChanged', onAuthStateChanged);
|
|
47
48
|
this.#unsubscribers.push(() => this.#client.off('authStateChanged', onAuthStateChanged));
|
|
49
|
+
const onCurrentUserChanged = (user) => {
|
|
50
|
+
this.currentUser = user;
|
|
51
|
+
this.userStorage = this.#client.getAllUserStorage();
|
|
52
|
+
};
|
|
53
|
+
this.#client.on('currentUserChanged', onCurrentUserChanged);
|
|
54
|
+
this.#unsubscribers.push(() => this.#client.off('currentUserChanged', onCurrentUserChanged));
|
|
48
55
|
const onConnectionStateChanged = (state) => {
|
|
49
56
|
this.connectionState = state;
|
|
57
|
+
// Re-fetch spaces on (re)connect: an offline boot leaves the list in an
|
|
58
|
+
// error state, and a long outage may have dropped space events.
|
|
59
|
+
if (state === 'connected' && this.authenticated) {
|
|
60
|
+
this.#refreshSpaces();
|
|
61
|
+
}
|
|
50
62
|
};
|
|
51
63
|
this.#client.on('connectionStateChanged', onConnectionStateChanged);
|
|
52
64
|
this.#unsubscribers.push(() => this.#client.off('connectionStateChanged', onConnectionStateChanged));
|
|
@@ -93,16 +105,17 @@ class RoolImpl {
|
|
|
93
105
|
this.authenticated = await this.#client.initialize();
|
|
94
106
|
}
|
|
95
107
|
catch {
|
|
96
|
-
|
|
97
|
-
|
|
108
|
+
// initialize() handles transient outages internally, so a throw here is
|
|
109
|
+
// unexpected. Don't bounce a credentialed user to login — fall back to a
|
|
110
|
+
// credential check (no network) and stay authenticated if we hold tokens.
|
|
111
|
+
this.authenticated = await this.#client.isAuthenticated();
|
|
98
112
|
}
|
|
99
113
|
if (this.authenticated) {
|
|
100
|
-
//
|
|
101
|
-
|
|
102
|
-
this.userStorage = this.#client.getAllUserStorage();
|
|
114
|
+
// currentUser/userStorage are mirrored by the currentUserChanged listener
|
|
115
|
+
// (during initialize(), or after reconnect on an offline boot).
|
|
103
116
|
await this.#refreshSpaces();
|
|
104
117
|
}
|
|
105
|
-
return this.authenticated;
|
|
118
|
+
return this.authenticated ?? false;
|
|
106
119
|
}
|
|
107
120
|
/**
|
|
108
121
|
* Redirect to login page.
|
|
@@ -122,16 +135,9 @@ class RoolImpl {
|
|
|
122
135
|
* to be called when the app detects `?verify=<token>` on load.
|
|
123
136
|
*/
|
|
124
137
|
async verify(token) {
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
// Mirror that state into our reactive fields — spaces refresh is
|
|
129
|
-
// triggered by the authStateChanged event, which also updates
|
|
130
|
-
// `authenticated`.
|
|
131
|
-
this.currentUser = this.#client.currentUser;
|
|
132
|
-
this.userStorage = this.#client.getAllUserStorage();
|
|
133
|
-
}
|
|
134
|
-
return ok;
|
|
138
|
+
// Reactive state is mirrored by the currentUserChanged and authStateChanged
|
|
139
|
+
// listeners during the client's verify/hydration.
|
|
140
|
+
return this.#client.verify(token);
|
|
135
141
|
}
|
|
136
142
|
/**
|
|
137
143
|
* Log out and close all open spaces.
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@rool-dev/svelte",
|
|
3
|
-
"version": "0.11.
|
|
3
|
+
"version": "0.11.2-dev.938baf9",
|
|
4
4
|
"description": "Svelte 5 runes for Rool Spaces",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"svelte": "./dist/index.js",
|
|
@@ -41,7 +41,7 @@
|
|
|
41
41
|
},
|
|
42
42
|
"license": "MIT",
|
|
43
43
|
"dependencies": {
|
|
44
|
-
"@rool-dev/sdk": "0.11.
|
|
44
|
+
"@rool-dev/sdk": "0.11.2-dev.938baf9"
|
|
45
45
|
},
|
|
46
46
|
"peerDependencies": {
|
|
47
47
|
"svelte": "^5.0.0"
|