@q9labsai/chalk-react-native 4.1.5 → 4.1.7
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/android.js +12 -2
- package/dist/chunk-4L5GXJ36.js +58 -0
- package/dist/{chunk-HXYIJ75K.js → chunk-LZ67SXGB.js} +148 -1
- package/dist/{chunk-5HETUU73.js → chunk-MMBE2BVK.js} +11 -2
- package/dist/client.js +1 -1
- package/dist/diagnostics.d.ts +4 -4
- package/dist/diagnostics.d.ts.map +1 -1
- package/dist/diagnostics.js +7 -7
- package/dist/index.d.ts +3 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +12 -2
- package/dist/invites.d.ts +6 -1
- package/dist/invites.d.ts.map +1 -1
- package/dist/invites.js +8 -39
- package/dist/ios-pad.js +12 -2
- package/dist/ios-phone.js +12 -2
- package/dist/ios.js +12 -2
- package/dist/macos.js +12 -2
- package/dist/space-client/cloudflare-rtk-native.d.ts +3 -0
- package/dist/space-client/cloudflare-rtk-native.d.ts.map +1 -0
- package/dist/space-client/create-native-space-client.d.ts.map +1 -1
- package/dist/utils/build-chalk-invite-link.d.ts +1 -1
- package/dist/utils/build-chalk-invite-link.d.ts.map +1 -1
- package/package.json +7 -6
- package/src/diagnostics.test.ts +3 -3
- package/src/diagnostics.ts +8 -8
- package/src/index.ts +3 -0
- package/src/invites.test.ts +24 -29
- package/src/invites.ts +34 -10
- package/src/space-client/cloudflare-rtk-native.test.ts +118 -0
- package/src/space-client/cloudflare-rtk-native.ts +104 -0
- package/src/space-client/create-native-space-client.test.ts +54 -1
- package/src/space-client/create-native-space-client.ts +55 -2
- package/src/utils/build-chalk-invite-link.test.ts +3 -3
- package/src/utils/build-chalk-invite-link.ts +4 -2
package/dist/android.js
CHANGED
|
@@ -2,6 +2,7 @@ import {
|
|
|
2
2
|
Chalk,
|
|
3
3
|
ChalkProvider,
|
|
4
4
|
Entrance,
|
|
5
|
+
buildChalkInviteLink,
|
|
5
6
|
useCan,
|
|
6
7
|
useChat,
|
|
7
8
|
useConnection,
|
|
@@ -11,7 +12,7 @@ import {
|
|
|
11
12
|
useSelf,
|
|
12
13
|
useSpaceClient,
|
|
13
14
|
useWhiteboard
|
|
14
|
-
} from "./chunk-
|
|
15
|
+
} from "./chunk-MMBE2BVK.js";
|
|
15
16
|
import {
|
|
16
17
|
THEME_PALETTES,
|
|
17
18
|
THEME_TEXTURES,
|
|
@@ -23,7 +24,12 @@ import {
|
|
|
23
24
|
Theme,
|
|
24
25
|
createNativeTheme
|
|
25
26
|
} from "./chunk-JB4LNWVP.js";
|
|
26
|
-
import "./chunk-
|
|
27
|
+
import "./chunk-LZ67SXGB.js";
|
|
28
|
+
import {
|
|
29
|
+
extractSpaceInviteFromLink,
|
|
30
|
+
getClipboardInviteSuggestion,
|
|
31
|
+
parseSpaceInviteLink
|
|
32
|
+
} from "./chunk-4L5GXJ36.js";
|
|
27
33
|
export {
|
|
28
34
|
Chalk,
|
|
29
35
|
ChalkProvider,
|
|
@@ -31,9 +37,13 @@ export {
|
|
|
31
37
|
THEME_PALETTES,
|
|
32
38
|
THEME_TEXTURES,
|
|
33
39
|
Theme,
|
|
40
|
+
buildChalkInviteLink,
|
|
34
41
|
createNativeTheme,
|
|
42
|
+
extractSpaceInviteFromLink,
|
|
43
|
+
getClipboardInviteSuggestion,
|
|
35
44
|
getThemeMode,
|
|
36
45
|
isDarkThemePalette,
|
|
46
|
+
parseSpaceInviteLink,
|
|
37
47
|
resolveNativeAppearance,
|
|
38
48
|
useCan,
|
|
39
49
|
useChat,
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
// src/invites.ts
|
|
2
|
+
var CHALK_INVITE_HOSTS = ["chalkmeet.com", "chalk.q9labs.ai"];
|
|
3
|
+
var CHALK_CUSTOM_PROTOCOLS = /* @__PURE__ */ new Set(["chalk:", "ai.q9labs.chalk.mobile:"]);
|
|
4
|
+
var SPACE_SLUG_PATTERN = /^[A-Za-z0-9][A-Za-z0-9_-]{0,127}$/u;
|
|
5
|
+
var SPACE_INVITE_TOKEN_PATTERN = /^cspi1\.[A-Za-z0-9_-]+\.[A-Za-z0-9_-]+\.[A-Za-z0-9_-]+$/u;
|
|
6
|
+
function parseSpaceInviteLink(input) {
|
|
7
|
+
const trimmed = input.trim();
|
|
8
|
+
if (!trimmed) {
|
|
9
|
+
return null;
|
|
10
|
+
}
|
|
11
|
+
const normalized = trimmed.includes("://") ? trimmed : CHALK_INVITE_HOSTS.some((host) => trimmed.startsWith(`${host}/`)) ? `https://${trimmed}` : null;
|
|
12
|
+
if (!normalized) {
|
|
13
|
+
return null;
|
|
14
|
+
}
|
|
15
|
+
try {
|
|
16
|
+
const parsed = new URL(normalized);
|
|
17
|
+
if (!CHALK_CUSTOM_PROTOCOLS.has(parsed.protocol) && !isAllowedWebInviteOrigin(parsed)) {
|
|
18
|
+
return null;
|
|
19
|
+
}
|
|
20
|
+
const pathSegments = parsed.pathname.split("/").filter(Boolean);
|
|
21
|
+
if (CHALK_CUSTOM_PROTOCOLS.has(parsed.protocol)) pathSegments.unshift(parsed.hostname);
|
|
22
|
+
if (pathSegments.length !== 2 || pathSegments[0] !== "space") return null;
|
|
23
|
+
const slug = pathSegments[1];
|
|
24
|
+
const token = new URLSearchParams(parsed.hash.replace(/^#/u, "")).get("spaceInviteToken")?.trim();
|
|
25
|
+
return slug && token && token.length <= 512 && SPACE_SLUG_PATTERN.test(slug) && SPACE_INVITE_TOKEN_PATTERN.test(token) ? { slug, spaceInviteToken: token } : null;
|
|
26
|
+
} catch {
|
|
27
|
+
return null;
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
function isChalkInviteHost(hostname) {
|
|
31
|
+
return CHALK_INVITE_HOSTS.some((host) => host === hostname);
|
|
32
|
+
}
|
|
33
|
+
function isAllowedWebInviteOrigin(url) {
|
|
34
|
+
if (url.protocol === "https:") return isChalkInviteHost(url.hostname);
|
|
35
|
+
return url.protocol === "http:" && isLoopbackHost(url.hostname);
|
|
36
|
+
}
|
|
37
|
+
function isLoopbackHost(hostname) {
|
|
38
|
+
return hostname === "localhost" || hostname === "127.0.0.1" || hostname === "[::1]";
|
|
39
|
+
}
|
|
40
|
+
function extractSpaceInviteFromLink(input) {
|
|
41
|
+
return parseSpaceInviteLink(input);
|
|
42
|
+
}
|
|
43
|
+
function getClipboardInviteSuggestion(clipboardText, currentInput = "") {
|
|
44
|
+
const normalizedClipboardText = clipboardText?.trim();
|
|
45
|
+
if (!normalizedClipboardText) {
|
|
46
|
+
return null;
|
|
47
|
+
}
|
|
48
|
+
if (normalizedClipboardText === currentInput.trim()) {
|
|
49
|
+
return null;
|
|
50
|
+
}
|
|
51
|
+
return parseSpaceInviteLink(normalizedClipboardText) ? normalizedClipboardText : null;
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
export {
|
|
55
|
+
parseSpaceInviteLink,
|
|
56
|
+
extractSpaceInviteFromLink,
|
|
57
|
+
getClipboardInviteSuggestion
|
|
58
|
+
};
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
// src/space-client/create-native-space-client.ts
|
|
2
2
|
import {
|
|
3
3
|
AsyncStorageV1PendingTargetStore,
|
|
4
|
+
CloudflareRTKClient,
|
|
4
5
|
CloudflareSFUClient,
|
|
5
6
|
createChalkChatFileHttpTransport,
|
|
6
7
|
createChalkWhiteboardV1Client,
|
|
@@ -167,6 +168,104 @@ function isObject(value) {
|
|
|
167
168
|
return typeof value === "object" && value !== null;
|
|
168
169
|
}
|
|
169
170
|
|
|
171
|
+
// src/space-client/cloudflare-rtk-native.ts
|
|
172
|
+
var createNativeRealtimeKitClient = async ({ authToken, onError }) => {
|
|
173
|
+
const { default: NativeRealtimeKitClient } = await import("@cloudflare/realtimekit-react-native");
|
|
174
|
+
const client = await NativeRealtimeKitClient.init({
|
|
175
|
+
authToken,
|
|
176
|
+
defaults: { audio: false, video: false },
|
|
177
|
+
onError
|
|
178
|
+
});
|
|
179
|
+
return adaptNativeRealtimeKitClient(client);
|
|
180
|
+
};
|
|
181
|
+
function adaptNativeRealtimeKitClient(client) {
|
|
182
|
+
const self = client.self;
|
|
183
|
+
return {
|
|
184
|
+
join: () => client.joinRoom(),
|
|
185
|
+
leave: () => client.leaveRoom(),
|
|
186
|
+
self: {
|
|
187
|
+
get peerId() {
|
|
188
|
+
return self.peerId;
|
|
189
|
+
},
|
|
190
|
+
get audioEnabled() {
|
|
191
|
+
return self.audioEnabled;
|
|
192
|
+
},
|
|
193
|
+
get videoEnabled() {
|
|
194
|
+
return self.videoEnabled;
|
|
195
|
+
},
|
|
196
|
+
get screenShareEnabled() {
|
|
197
|
+
return self.screenShareEnabled;
|
|
198
|
+
},
|
|
199
|
+
get audioTrack() {
|
|
200
|
+
return self.audioTrack ?? null;
|
|
201
|
+
},
|
|
202
|
+
get videoTrack() {
|
|
203
|
+
return self.videoTrack ?? null;
|
|
204
|
+
},
|
|
205
|
+
get screenShareTracks() {
|
|
206
|
+
return {
|
|
207
|
+
...self.screenShareTracks.audio ? { audio: self.screenShareTracks.audio } : {},
|
|
208
|
+
...self.screenShareTracks.video ? { video: self.screenShareTracks.video } : {}
|
|
209
|
+
};
|
|
210
|
+
},
|
|
211
|
+
enableAudio: () => self.enableAudio(),
|
|
212
|
+
enableVideo: () => self.enableVideo(),
|
|
213
|
+
enableScreenShare: () => self.enableScreenShare(),
|
|
214
|
+
disableAudio: () => self.disableAudio(),
|
|
215
|
+
disableVideo: () => self.disableVideo(),
|
|
216
|
+
disableScreenShare: () => self.disableScreenShare(),
|
|
217
|
+
onAudioUpdate: (listener) => {
|
|
218
|
+
self.on("audioUpdate", listener);
|
|
219
|
+
return () => self.off("audioUpdate", listener);
|
|
220
|
+
},
|
|
221
|
+
onVideoUpdate: (listener) => {
|
|
222
|
+
self.on("videoUpdate", listener);
|
|
223
|
+
return () => self.off("videoUpdate", listener);
|
|
224
|
+
},
|
|
225
|
+
onScreenShareUpdate: (listener) => {
|
|
226
|
+
self.on("screenShareUpdate", listener);
|
|
227
|
+
return () => self.off("screenShareUpdate", listener);
|
|
228
|
+
},
|
|
229
|
+
onLeft: (listener) => {
|
|
230
|
+
const callback = () => listener();
|
|
231
|
+
self.on("roomLeft", callback);
|
|
232
|
+
return () => self.off("roomLeft", callback);
|
|
233
|
+
}
|
|
234
|
+
},
|
|
235
|
+
participants: {
|
|
236
|
+
joined: {
|
|
237
|
+
list: () => client.participants.joined.toArray().map(toParticipant),
|
|
238
|
+
onJoined: (listener) => {
|
|
239
|
+
const callback = (participant) => listener(toParticipant(participant));
|
|
240
|
+
client.participants.joined.on("participantJoined", callback);
|
|
241
|
+
return () => client.participants.joined.off("participantJoined", callback);
|
|
242
|
+
},
|
|
243
|
+
onLeft: (listener) => {
|
|
244
|
+
const callback = (participant) => listener(toParticipant(participant));
|
|
245
|
+
client.participants.joined.on("participantLeft", callback);
|
|
246
|
+
return () => client.participants.joined.off("participantLeft", callback);
|
|
247
|
+
}
|
|
248
|
+
}
|
|
249
|
+
}
|
|
250
|
+
};
|
|
251
|
+
}
|
|
252
|
+
function toParticipant(participant) {
|
|
253
|
+
return {
|
|
254
|
+
id: participant.id,
|
|
255
|
+
userId: participant.userId,
|
|
256
|
+
...participant.customParticipantId === void 0 ? {} : { customParticipantId: participant.customParticipantId },
|
|
257
|
+
audioEnabled: participant.audioEnabled,
|
|
258
|
+
videoEnabled: participant.videoEnabled,
|
|
259
|
+
screenShareEnabled: participant.screenShareEnabled,
|
|
260
|
+
audioTrack: participant.audioTrack ?? null,
|
|
261
|
+
videoTrack: participant.videoTrack ?? null,
|
|
262
|
+
screenShareTracks: {
|
|
263
|
+
...participant.screenShareTracks.audio ? { audio: participant.screenShareTracks.audio } : {},
|
|
264
|
+
...participant.screenShareTracks.video ? { video: participant.screenShareTracks.video } : {}
|
|
265
|
+
}
|
|
266
|
+
};
|
|
267
|
+
}
|
|
268
|
+
|
|
170
269
|
// src/space-client/create-native-space-client.ts
|
|
171
270
|
function createNativeSpaceClient(options) {
|
|
172
271
|
const { storage, telemetry: journey } = options;
|
|
@@ -253,7 +352,17 @@ function joinTracePhase(step) {
|
|
|
253
352
|
}
|
|
254
353
|
function createMediaClient(apiBaseURL, input, fetch, observePeerConnection, journey) {
|
|
255
354
|
const { subject } = input.access;
|
|
256
|
-
|
|
355
|
+
if (input.access.media.provider === "cloudflare_rtk") {
|
|
356
|
+
const client2 = new CloudflareRTKClient({
|
|
357
|
+
authToken: input.access.media.clientPayload.token,
|
|
358
|
+
participantId: subject.participantId,
|
|
359
|
+
clientFactory: createNativeRealtimeKitClient,
|
|
360
|
+
onError: input.onFailure,
|
|
361
|
+
onScreenEnded: input.onScreenEnded
|
|
362
|
+
});
|
|
363
|
+
return createRTKConnectionMediaClient(client2);
|
|
364
|
+
}
|
|
365
|
+
const client = new CloudflareSFUClient({
|
|
257
366
|
bootstrap: input.access.media.clientPayload,
|
|
258
367
|
participantId: subject.participantId,
|
|
259
368
|
transport: createCloudflareSFUHTTPTransport({
|
|
@@ -273,6 +382,44 @@ function createMediaClient(apiBaseURL, input, fetch, observePeerConnection, jour
|
|
|
273
382
|
onError: input.onFailure,
|
|
274
383
|
onScreenEnded: input.onScreenEnded
|
|
275
384
|
});
|
|
385
|
+
return createSFUConnectionMediaClient(client);
|
|
386
|
+
}
|
|
387
|
+
function createRTKConnectionMediaClient(client) {
|
|
388
|
+
return {
|
|
389
|
+
setLocalPublicationTarget: client.setLocalPublicationTarget.bind(client),
|
|
390
|
+
observeLocalPublications: client.observeLocalPublications.bind(client),
|
|
391
|
+
observeRemotePublications: client.observeRemotePublications.bind(client),
|
|
392
|
+
start: client.start.bind(client),
|
|
393
|
+
stop: client.stop.bind(client),
|
|
394
|
+
restart: (input) => {
|
|
395
|
+
if (!("provider" in input) || input.provider !== "cloudflare_rtk") throw new TypeError("The RealtimeKit adapter requires a Cloudflare RealtimeKit access grant");
|
|
396
|
+
return client.restart(input);
|
|
397
|
+
},
|
|
398
|
+
prepareLocalTrack: client.prepareLocalTrack.bind(client),
|
|
399
|
+
clearPreparedLocalTrack: client.clearPreparedLocalTrack.bind(client),
|
|
400
|
+
getSnapshot: client.getSnapshot.bind(client),
|
|
401
|
+
subscribe: client.subscribe.bind(client)
|
|
402
|
+
};
|
|
403
|
+
}
|
|
404
|
+
function createSFUConnectionMediaClient(client) {
|
|
405
|
+
return {
|
|
406
|
+
setLocalPublicationTarget: client.setLocalPublicationTarget.bind(client),
|
|
407
|
+
observeLocalPublications: client.observeLocalPublications.bind(client),
|
|
408
|
+
observeRemotePublications: client.observeRemotePublications.bind(client),
|
|
409
|
+
start: client.start.bind(client),
|
|
410
|
+
stop: client.stop.bind(client),
|
|
411
|
+
restart: (input) => {
|
|
412
|
+
if ("provider" in input) {
|
|
413
|
+
if (input.provider !== "cloudflare_sfu") throw new TypeError("The Cloudflare SFU adapter requires a Cloudflare SFU access grant");
|
|
414
|
+
return client.restart(input.clientPayload);
|
|
415
|
+
}
|
|
416
|
+
return client.restart(input);
|
|
417
|
+
},
|
|
418
|
+
prepareLocalTrack: client.prepareLocalTrack.bind(client),
|
|
419
|
+
clearPreparedLocalTrack: client.clearPreparedLocalTrack.bind(client),
|
|
420
|
+
getSnapshot: client.getSnapshot.bind(client),
|
|
421
|
+
subscribe: client.subscribe.bind(client)
|
|
422
|
+
};
|
|
276
423
|
}
|
|
277
424
|
function createSyncClient(syncURL, input, lifecycle, webSocket, storage) {
|
|
278
425
|
const subject = input.access.subject;
|
|
@@ -12,7 +12,7 @@ import {
|
|
|
12
12
|
import {
|
|
13
13
|
createNativeSpaceClient,
|
|
14
14
|
getNativeJourneyContext
|
|
15
|
-
} from "./chunk-
|
|
15
|
+
} from "./chunk-LZ67SXGB.js";
|
|
16
16
|
|
|
17
17
|
// src/components/Chalk.tsx
|
|
18
18
|
import { useCallback as useCallback9, useEffect as useEffect8, useMemo as useMemo15, useRef as useRef5, useState as useState9 } from "react";
|
|
@@ -4522,6 +4522,14 @@ var styles24 = StyleSheet25.create({
|
|
|
4522
4522
|
retryText: { fontWeight: "800" }
|
|
4523
4523
|
});
|
|
4524
4524
|
|
|
4525
|
+
// src/utils/build-chalk-invite-link.ts
|
|
4526
|
+
var PUBLIC_INVITE_ORIGIN = "https://chalkmeet.com";
|
|
4527
|
+
function buildChalkInviteLink(spaceSlug, spaceInviteToken, origin = PUBLIC_INVITE_ORIGIN) {
|
|
4528
|
+
const link = new URL(`/space/${encodeURIComponent(spaceSlug)}`, origin.replace(/\/+$/u, ""));
|
|
4529
|
+
link.hash = new URLSearchParams({ spaceInviteToken }).toString();
|
|
4530
|
+
return link.toString();
|
|
4531
|
+
}
|
|
4532
|
+
|
|
4525
4533
|
export {
|
|
4526
4534
|
ChalkProvider,
|
|
4527
4535
|
useSpaceClient,
|
|
@@ -4534,5 +4542,6 @@ export {
|
|
|
4534
4542
|
useWhiteboard,
|
|
4535
4543
|
useCan,
|
|
4536
4544
|
Entrance,
|
|
4537
|
-
Chalk
|
|
4545
|
+
Chalk,
|
|
4546
|
+
buildChalkInviteLink
|
|
4538
4547
|
};
|
package/dist/client.js
CHANGED
package/dist/diagnostics.d.ts
CHANGED
|
@@ -13,8 +13,8 @@ export interface DevDiagnosticsTimelineEntry {
|
|
|
13
13
|
export interface DevDiagnosticsState {
|
|
14
14
|
readonly enabled: boolean;
|
|
15
15
|
readonly environment: {
|
|
16
|
+
readonly apiBaseURL: string | null;
|
|
16
17
|
readonly buildProfile: string | null;
|
|
17
|
-
readonly brokerUrl: string | null;
|
|
18
18
|
readonly target: "custom" | "local" | "production" | "unknown";
|
|
19
19
|
readonly routeKind: string | null;
|
|
20
20
|
readonly routeSpaceId: string | null;
|
|
@@ -29,10 +29,10 @@ export interface DevDiagnosticsState {
|
|
|
29
29
|
} | null;
|
|
30
30
|
readonly timeline: readonly DevDiagnosticsTimelineEntry[];
|
|
31
31
|
}
|
|
32
|
-
export declare function classifyTarget(
|
|
33
|
-
export declare function resolveDevDiagnosticsMode({ isDevRuntime,
|
|
32
|
+
export declare function classifyTarget(apiBaseURL: string | null | undefined): DevDiagnosticsState["environment"]["target"];
|
|
33
|
+
export declare function resolveDevDiagnosticsMode({ isDevRuntime, apiBaseURL }: {
|
|
34
34
|
readonly isDevRuntime: boolean;
|
|
35
|
-
readonly
|
|
35
|
+
readonly apiBaseURL: string | null | undefined;
|
|
36
36
|
}): {
|
|
37
37
|
readonly enabled: boolean;
|
|
38
38
|
readonly buildProfile: "development" | "production";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"diagnostics.d.ts","sourceRoot":"","sources":["../src/diagnostics.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAE5C,MAAM,MAAM,6BAA6B,GAAG,IAAI,CAAC,eAAe,EAAE,QAAQ,GAAG,WAAW,CAAC,CAAC;AAE1F,MAAM,MAAM,qBAAqB,GAAG,OAAO,GAAG,UAAU,GAAG,SAAS,CAAC;AAErE,MAAM,WAAW,2BAA2B;IAC1C,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,OAAO,EAAE,qBAAqB,CAAC;IACxC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,WAAW,EAAE;QACpB,QAAQ,CAAC,
|
|
1
|
+
{"version":3,"file":"diagnostics.d.ts","sourceRoot":"","sources":["../src/diagnostics.ts"],"names":[],"mappings":"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"}
|
package/dist/diagnostics.js
CHANGED
|
@@ -4,10 +4,10 @@ var isDevelopmentRuntime = typeof __DEV__ !== "undefined" ? __DEV__ : runtimeEnv
|
|
|
4
4
|
var maximumTimelineItems = 120;
|
|
5
5
|
var listeners = /* @__PURE__ */ new Set();
|
|
6
6
|
var state = initialState();
|
|
7
|
-
function classifyTarget(
|
|
8
|
-
if (!
|
|
7
|
+
function classifyTarget(apiBaseURL) {
|
|
8
|
+
if (!apiBaseURL) return "unknown";
|
|
9
9
|
try {
|
|
10
|
-
const hostname = new URL(
|
|
10
|
+
const hostname = new URL(apiBaseURL).hostname;
|
|
11
11
|
if (["localhost", "127.0.0.1", "0.0.0.0"].includes(hostname)) return "local";
|
|
12
12
|
if (hostname === "chalkmeet.com" || hostname.endsWith(".chalkmeet.com")) return "production";
|
|
13
13
|
return "custom";
|
|
@@ -15,10 +15,10 @@ function classifyTarget(brokerUrl) {
|
|
|
15
15
|
return "unknown";
|
|
16
16
|
}
|
|
17
17
|
}
|
|
18
|
-
function resolveDevDiagnosticsMode({ isDevRuntime,
|
|
18
|
+
function resolveDevDiagnosticsMode({ isDevRuntime, apiBaseURL }) {
|
|
19
19
|
return {
|
|
20
20
|
enabled: isDevRuntime,
|
|
21
|
-
buildProfile: isDevRuntime || classifyTarget(
|
|
21
|
+
buildProfile: isDevRuntime || classifyTarget(apiBaseURL) === "local" ? "development" : "production"
|
|
22
22
|
};
|
|
23
23
|
}
|
|
24
24
|
function subscribeDevDiagnostics(listener) {
|
|
@@ -34,7 +34,7 @@ function setDevDiagnosticsEnvironment(next) {
|
|
|
34
34
|
environment: {
|
|
35
35
|
...current.environment,
|
|
36
36
|
...next,
|
|
37
|
-
target: next.
|
|
37
|
+
target: next.apiBaseURL ? classifyTarget(next.apiBaseURL) : current.environment.target
|
|
38
38
|
}
|
|
39
39
|
}));
|
|
40
40
|
}
|
|
@@ -94,8 +94,8 @@ function initialState() {
|
|
|
94
94
|
return {
|
|
95
95
|
enabled: isDevelopmentRuntime,
|
|
96
96
|
environment: {
|
|
97
|
+
apiBaseURL: null,
|
|
97
98
|
buildProfile: null,
|
|
98
|
-
brokerUrl: null,
|
|
99
99
|
target: "unknown",
|
|
100
100
|
routeKind: null,
|
|
101
101
|
routeSpaceId: null,
|
package/dist/index.d.ts
CHANGED
|
@@ -6,6 +6,9 @@ export { ChalkProvider, useSpaceClient } from "./context/space-client-context";
|
|
|
6
6
|
export type { ChalkProviderProps } from "./context/space-client-context";
|
|
7
7
|
export { useCan, useChat, useConnection, useMedia, useParticipants, useReactions, useSelf, useWhiteboard } from "./hooks/space-hooks";
|
|
8
8
|
export { Theme, createNativeTheme } from "./ui/theme";
|
|
9
|
+
export { extractSpaceInviteFromLink, getClipboardInviteSuggestion, parseSpaceInviteLink } from "./invites";
|
|
10
|
+
export type { SpaceInviteLink } from "./invites";
|
|
11
|
+
export { buildChalkInviteLink } from "./utils/build-chalk-invite-link";
|
|
9
12
|
export { getThemeMode, isDarkThemePalette, resolveNativeAppearance, THEME_PALETTES, THEME_TEXTURES } from "./ui/appearance";
|
|
10
13
|
export type { NativeAppearance, NativeAppearanceTokens, NativeShadowToken, NativeTextureBlendMode, NativeTextureDescriptor, NativeTextureKind, ThemeAppearance, ThemeMode, ThemePalette, ThemeTexture } from "./ui/appearance";
|
|
11
14
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAC3C,YAAY,EAAE,aAAa,EAAE,UAAU,EAAE,UAAU,EAAE,gBAAgB,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAC/G,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AACjD,YAAY,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAC7E,OAAO,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AAC/E,YAAY,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAC;AACzE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,eAAe,EAAE,YAAY,EAAE,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACtI,OAAO,EAAE,KAAK,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AACtD,OAAO,EAAE,YAAY,EAAE,kBAAkB,EAAE,uBAAuB,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAC5H,YAAY,EAAE,gBAAgB,EAAE,sBAAsB,EAAE,iBAAiB,EAAE,sBAAsB,EAAE,uBAAuB,EAAE,iBAAiB,EAAE,eAAe,EAAE,SAAS,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAC3C,YAAY,EAAE,aAAa,EAAE,UAAU,EAAE,UAAU,EAAE,gBAAgB,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAC/G,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AACjD,YAAY,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAC7E,OAAO,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AAC/E,YAAY,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAC;AACzE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,eAAe,EAAE,YAAY,EAAE,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACtI,OAAO,EAAE,KAAK,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AACtD,OAAO,EAAE,0BAA0B,EAAE,4BAA4B,EAAE,oBAAoB,EAAE,MAAM,WAAW,CAAC;AAC3G,YAAY,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AACjD,OAAO,EAAE,oBAAoB,EAAE,MAAM,iCAAiC,CAAC;AACvE,OAAO,EAAE,YAAY,EAAE,kBAAkB,EAAE,uBAAuB,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAC5H,YAAY,EAAE,gBAAgB,EAAE,sBAAsB,EAAE,iBAAiB,EAAE,sBAAsB,EAAE,uBAAuB,EAAE,iBAAiB,EAAE,eAAe,EAAE,SAAS,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -2,6 +2,7 @@ import {
|
|
|
2
2
|
Chalk,
|
|
3
3
|
ChalkProvider,
|
|
4
4
|
Entrance,
|
|
5
|
+
buildChalkInviteLink,
|
|
5
6
|
useCan,
|
|
6
7
|
useChat,
|
|
7
8
|
useConnection,
|
|
@@ -11,7 +12,7 @@ import {
|
|
|
11
12
|
useSelf,
|
|
12
13
|
useSpaceClient,
|
|
13
14
|
useWhiteboard
|
|
14
|
-
} from "./chunk-
|
|
15
|
+
} from "./chunk-MMBE2BVK.js";
|
|
15
16
|
import {
|
|
16
17
|
THEME_PALETTES,
|
|
17
18
|
THEME_TEXTURES,
|
|
@@ -23,7 +24,12 @@ import {
|
|
|
23
24
|
Theme,
|
|
24
25
|
createNativeTheme
|
|
25
26
|
} from "./chunk-JB4LNWVP.js";
|
|
26
|
-
import "./chunk-
|
|
27
|
+
import "./chunk-LZ67SXGB.js";
|
|
28
|
+
import {
|
|
29
|
+
extractSpaceInviteFromLink,
|
|
30
|
+
getClipboardInviteSuggestion,
|
|
31
|
+
parseSpaceInviteLink
|
|
32
|
+
} from "./chunk-4L5GXJ36.js";
|
|
27
33
|
export {
|
|
28
34
|
Chalk,
|
|
29
35
|
ChalkProvider,
|
|
@@ -31,9 +37,13 @@ export {
|
|
|
31
37
|
THEME_PALETTES,
|
|
32
38
|
THEME_TEXTURES,
|
|
33
39
|
Theme,
|
|
40
|
+
buildChalkInviteLink,
|
|
34
41
|
createNativeTheme,
|
|
42
|
+
extractSpaceInviteFromLink,
|
|
43
|
+
getClipboardInviteSuggestion,
|
|
35
44
|
getThemeMode,
|
|
36
45
|
isDarkThemePalette,
|
|
46
|
+
parseSpaceInviteLink,
|
|
37
47
|
resolveNativeAppearance,
|
|
38
48
|
useCan,
|
|
39
49
|
useChat,
|
package/dist/invites.d.ts
CHANGED
|
@@ -1,3 +1,8 @@
|
|
|
1
|
-
export
|
|
1
|
+
export type SpaceInviteLink = {
|
|
2
|
+
readonly slug: string;
|
|
3
|
+
readonly spaceInviteToken: string;
|
|
4
|
+
};
|
|
5
|
+
export declare function parseSpaceInviteLink(input: string): SpaceInviteLink | null;
|
|
6
|
+
export declare function extractSpaceInviteFromLink(input: string): SpaceInviteLink | null;
|
|
2
7
|
export declare function getClipboardInviteSuggestion(clipboardText: string | null | undefined, currentInput?: string): string | null;
|
|
3
8
|
//# sourceMappingURL=invites.d.ts.map
|
package/dist/invites.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"invites.d.ts","sourceRoot":"","sources":["../src/invites.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"invites.d.ts","sourceRoot":"","sources":["../src/invites.ts"],"names":[],"mappings":"AAKA,MAAM,MAAM,eAAe,GAAG;IAC5B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC;CACnC,CAAC;AAEF,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,MAAM,GAAG,eAAe,GAAG,IAAI,CA0B1E;AAeD,wBAAgB,0BAA0B,CAAC,KAAK,EAAE,MAAM,GAAG,eAAe,GAAG,IAAI,CAEhF;AAED,wBAAgB,4BAA4B,CAAC,aAAa,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,EAAE,YAAY,SAAK,GAAG,MAAM,GAAG,IAAI,CAWvH"}
|
package/dist/invites.js
CHANGED
|
@@ -1,41 +1,10 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
const trimmed = input.trim();
|
|
7
|
-
if (!trimmed) {
|
|
8
|
-
return null;
|
|
9
|
-
}
|
|
10
|
-
const normalized = trimmed.includes("://") ? trimmed : CHALK_INVITE_HOSTS.some((host) => trimmed.startsWith(`${host}/`)) ? `https://${trimmed}` : null;
|
|
11
|
-
if (!normalized) {
|
|
12
|
-
return null;
|
|
13
|
-
}
|
|
14
|
-
try {
|
|
15
|
-
const parsed = new URL(normalized);
|
|
16
|
-
if (!CHALK_CUSTOM_PROTOCOLS.has(parsed.protocol) && (parsed.protocol !== "https:" || !CHALK_INVITE_HOSTS.includes(parsed.hostname))) {
|
|
17
|
-
return null;
|
|
18
|
-
}
|
|
19
|
-
const pathSegments = CHALK_CUSTOM_PROTOCOLS.has(parsed.protocol) ? [parsed.hostname, ...parsed.pathname.split("/").filter(Boolean)] : parsed.pathname.split("/").filter(Boolean);
|
|
20
|
-
const [head, tail] = pathSegments;
|
|
21
|
-
const hashInvite = new URLSearchParams(parsed.hash.replace(/^#/u, "")).get("access");
|
|
22
|
-
const token = head === "j" && tail ? tail : hashInvite?.trim();
|
|
23
|
-
return token && capabilityPattern.test(token) ? token : null;
|
|
24
|
-
} catch {
|
|
25
|
-
return null;
|
|
26
|
-
}
|
|
27
|
-
}
|
|
28
|
-
function getClipboardInviteSuggestion(clipboardText, currentInput = "") {
|
|
29
|
-
const normalizedClipboardText = clipboardText?.trim();
|
|
30
|
-
if (!normalizedClipboardText) {
|
|
31
|
-
return null;
|
|
32
|
-
}
|
|
33
|
-
if (normalizedClipboardText === currentInput.trim()) {
|
|
34
|
-
return null;
|
|
35
|
-
}
|
|
36
|
-
return extractJoinTokenFromInviteLink(normalizedClipboardText) ? normalizedClipboardText : null;
|
|
37
|
-
}
|
|
1
|
+
import {
|
|
2
|
+
extractSpaceInviteFromLink,
|
|
3
|
+
getClipboardInviteSuggestion,
|
|
4
|
+
parseSpaceInviteLink
|
|
5
|
+
} from "./chunk-4L5GXJ36.js";
|
|
38
6
|
export {
|
|
39
|
-
|
|
40
|
-
getClipboardInviteSuggestion
|
|
7
|
+
extractSpaceInviteFromLink,
|
|
8
|
+
getClipboardInviteSuggestion,
|
|
9
|
+
parseSpaceInviteLink
|
|
41
10
|
};
|
package/dist/ios-pad.js
CHANGED
|
@@ -2,6 +2,7 @@ import {
|
|
|
2
2
|
Chalk,
|
|
3
3
|
ChalkProvider,
|
|
4
4
|
Entrance,
|
|
5
|
+
buildChalkInviteLink,
|
|
5
6
|
useCan,
|
|
6
7
|
useChat,
|
|
7
8
|
useConnection,
|
|
@@ -11,7 +12,7 @@ import {
|
|
|
11
12
|
useSelf,
|
|
12
13
|
useSpaceClient,
|
|
13
14
|
useWhiteboard
|
|
14
|
-
} from "./chunk-
|
|
15
|
+
} from "./chunk-MMBE2BVK.js";
|
|
15
16
|
import {
|
|
16
17
|
THEME_PALETTES,
|
|
17
18
|
THEME_TEXTURES,
|
|
@@ -23,7 +24,12 @@ import {
|
|
|
23
24
|
Theme,
|
|
24
25
|
createNativeTheme
|
|
25
26
|
} from "./chunk-JB4LNWVP.js";
|
|
26
|
-
import "./chunk-
|
|
27
|
+
import "./chunk-LZ67SXGB.js";
|
|
28
|
+
import {
|
|
29
|
+
extractSpaceInviteFromLink,
|
|
30
|
+
getClipboardInviteSuggestion,
|
|
31
|
+
parseSpaceInviteLink
|
|
32
|
+
} from "./chunk-4L5GXJ36.js";
|
|
27
33
|
export {
|
|
28
34
|
Chalk,
|
|
29
35
|
ChalkProvider,
|
|
@@ -31,9 +37,13 @@ export {
|
|
|
31
37
|
THEME_PALETTES,
|
|
32
38
|
THEME_TEXTURES,
|
|
33
39
|
Theme,
|
|
40
|
+
buildChalkInviteLink,
|
|
34
41
|
createNativeTheme,
|
|
42
|
+
extractSpaceInviteFromLink,
|
|
43
|
+
getClipboardInviteSuggestion,
|
|
35
44
|
getThemeMode,
|
|
36
45
|
isDarkThemePalette,
|
|
46
|
+
parseSpaceInviteLink,
|
|
37
47
|
resolveNativeAppearance,
|
|
38
48
|
useCan,
|
|
39
49
|
useChat,
|
package/dist/ios-phone.js
CHANGED
|
@@ -2,6 +2,7 @@ import {
|
|
|
2
2
|
Chalk,
|
|
3
3
|
ChalkProvider,
|
|
4
4
|
Entrance,
|
|
5
|
+
buildChalkInviteLink,
|
|
5
6
|
useCan,
|
|
6
7
|
useChat,
|
|
7
8
|
useConnection,
|
|
@@ -11,7 +12,7 @@ import {
|
|
|
11
12
|
useSelf,
|
|
12
13
|
useSpaceClient,
|
|
13
14
|
useWhiteboard
|
|
14
|
-
} from "./chunk-
|
|
15
|
+
} from "./chunk-MMBE2BVK.js";
|
|
15
16
|
import {
|
|
16
17
|
THEME_PALETTES,
|
|
17
18
|
THEME_TEXTURES,
|
|
@@ -23,7 +24,12 @@ import {
|
|
|
23
24
|
Theme,
|
|
24
25
|
createNativeTheme
|
|
25
26
|
} from "./chunk-JB4LNWVP.js";
|
|
26
|
-
import "./chunk-
|
|
27
|
+
import "./chunk-LZ67SXGB.js";
|
|
28
|
+
import {
|
|
29
|
+
extractSpaceInviteFromLink,
|
|
30
|
+
getClipboardInviteSuggestion,
|
|
31
|
+
parseSpaceInviteLink
|
|
32
|
+
} from "./chunk-4L5GXJ36.js";
|
|
27
33
|
export {
|
|
28
34
|
Chalk,
|
|
29
35
|
ChalkProvider,
|
|
@@ -31,9 +37,13 @@ export {
|
|
|
31
37
|
THEME_PALETTES,
|
|
32
38
|
THEME_TEXTURES,
|
|
33
39
|
Theme,
|
|
40
|
+
buildChalkInviteLink,
|
|
34
41
|
createNativeTheme,
|
|
42
|
+
extractSpaceInviteFromLink,
|
|
43
|
+
getClipboardInviteSuggestion,
|
|
35
44
|
getThemeMode,
|
|
36
45
|
isDarkThemePalette,
|
|
46
|
+
parseSpaceInviteLink,
|
|
37
47
|
resolveNativeAppearance,
|
|
38
48
|
useCan,
|
|
39
49
|
useChat,
|
package/dist/ios.js
CHANGED
|
@@ -2,6 +2,7 @@ import {
|
|
|
2
2
|
Chalk,
|
|
3
3
|
ChalkProvider,
|
|
4
4
|
Entrance,
|
|
5
|
+
buildChalkInviteLink,
|
|
5
6
|
useCan,
|
|
6
7
|
useChat,
|
|
7
8
|
useConnection,
|
|
@@ -11,7 +12,7 @@ import {
|
|
|
11
12
|
useSelf,
|
|
12
13
|
useSpaceClient,
|
|
13
14
|
useWhiteboard
|
|
14
|
-
} from "./chunk-
|
|
15
|
+
} from "./chunk-MMBE2BVK.js";
|
|
15
16
|
import {
|
|
16
17
|
THEME_PALETTES,
|
|
17
18
|
THEME_TEXTURES,
|
|
@@ -23,7 +24,12 @@ import {
|
|
|
23
24
|
Theme,
|
|
24
25
|
createNativeTheme
|
|
25
26
|
} from "./chunk-JB4LNWVP.js";
|
|
26
|
-
import "./chunk-
|
|
27
|
+
import "./chunk-LZ67SXGB.js";
|
|
28
|
+
import {
|
|
29
|
+
extractSpaceInviteFromLink,
|
|
30
|
+
getClipboardInviteSuggestion,
|
|
31
|
+
parseSpaceInviteLink
|
|
32
|
+
} from "./chunk-4L5GXJ36.js";
|
|
27
33
|
export {
|
|
28
34
|
Chalk,
|
|
29
35
|
ChalkProvider,
|
|
@@ -31,9 +37,13 @@ export {
|
|
|
31
37
|
THEME_PALETTES,
|
|
32
38
|
THEME_TEXTURES,
|
|
33
39
|
Theme,
|
|
40
|
+
buildChalkInviteLink,
|
|
34
41
|
createNativeTheme,
|
|
42
|
+
extractSpaceInviteFromLink,
|
|
43
|
+
getClipboardInviteSuggestion,
|
|
35
44
|
getThemeMode,
|
|
36
45
|
isDarkThemePalette,
|
|
46
|
+
parseSpaceInviteLink,
|
|
37
47
|
resolveNativeAppearance,
|
|
38
48
|
useCan,
|
|
39
49
|
useChat,
|