@streamplace/components 0.9.0 → 0.9.4
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/components/chat/chat-box.d.ts.map +1 -1
- package/dist/components/chat/chat-box.js +90 -34
- package/dist/components/chat/chat-box.js.map +1 -1
- package/dist/components/chat/chat-message.d.ts +4 -0
- package/dist/components/chat/chat-message.d.ts.map +1 -1
- package/dist/components/chat/chat-message.js +3 -2
- package/dist/components/chat/chat-message.js.map +1 -1
- package/dist/components/chat/chat.d.ts.map +1 -1
- package/dist/components/chat/chat.js +56 -3
- package/dist/components/chat/chat.js.map +1 -1
- package/dist/components/chat/emoji-suggestions.d.ts.map +1 -1
- package/dist/components/chat/emoji-suggestions.js +11 -11
- package/dist/components/chat/emoji-suggestions.js.map +1 -1
- package/dist/components/chat/mention-suggestions.d.ts.map +1 -1
- package/dist/components/chat/mention-suggestions.js +20 -19
- package/dist/components/chat/mention-suggestions.js.map +1 -1
- package/dist/components/chat/mod-view.d.ts.map +1 -1
- package/dist/components/chat/mod-view.js +1 -9
- package/dist/components/chat/mod-view.js.map +1 -1
- package/dist/components/chat/system-message.d.ts +5 -1
- package/dist/components/chat/system-message.d.ts.map +1 -1
- package/dist/components/chat/system-message.js +4 -4
- package/dist/components/chat/system-message.js.map +1 -1
- package/dist/components/mobile-player/shared.d.ts +1 -1
- package/dist/components/mobile-player/shared.d.ts.map +1 -1
- package/dist/components/mobile-player/shared.js +11 -10
- package/dist/components/mobile-player/shared.js.map +1 -1
- package/dist/components/mobile-player/ui/report-modal.d.ts.map +1 -1
- package/dist/components/mobile-player/ui/report-modal.js +1 -1
- package/dist/components/mobile-player/ui/report-modal.js.map +1 -1
- package/dist/components/mobile-player/ui/viewer-context-menu.d.ts +1 -1
- package/dist/components/mobile-player/ui/viewer-context-menu.d.ts.map +1 -1
- package/dist/components/mobile-player/ui/viewer-context-menu.js +60 -43
- package/dist/components/mobile-player/ui/viewer-context-menu.js.map +1 -1
- package/dist/components/mobile-player/ui/viewer-loading-overlay.d.ts.map +1 -1
- package/dist/components/mobile-player/ui/viewer-loading-overlay.js +0 -1
- package/dist/components/mobile-player/ui/viewer-loading-overlay.js.map +1 -1
- package/dist/components/stream-notification/index.d.ts +3 -0
- package/dist/components/stream-notification/index.d.ts.map +1 -0
- package/dist/components/stream-notification/index.js +9 -0
- package/dist/components/stream-notification/index.js.map +1 -0
- package/dist/components/stream-notification/stream-notification-manager.d.ts +36 -0
- package/dist/components/stream-notification/stream-notification-manager.d.ts.map +1 -0
- package/dist/components/stream-notification/stream-notification-manager.js +96 -0
- package/dist/components/stream-notification/stream-notification-manager.js.map +1 -0
- package/dist/components/stream-notification/stream-notification.d.ts +5 -0
- package/dist/components/stream-notification/stream-notification.d.ts.map +1 -0
- package/dist/components/stream-notification/stream-notification.js +146 -0
- package/dist/components/stream-notification/stream-notification.js.map +1 -0
- package/dist/components/stream-notification/teleport-notification.d.ts +8 -0
- package/dist/components/stream-notification/teleport-notification.d.ts.map +1 -0
- package/dist/components/stream-notification/teleport-notification.js +116 -0
- package/dist/components/stream-notification/teleport-notification.js.map +1 -0
- package/dist/components/ui/button.d.ts +1 -1
- package/dist/components/ui/button.d.ts.map +1 -1
- package/dist/components/ui/button.js +7 -0
- package/dist/components/ui/button.js.map +1 -1
- package/dist/components/ui/dialog.d.ts +2 -2
- package/dist/components/ui/dropdown.d.ts +4 -0
- package/dist/components/ui/dropdown.d.ts.map +1 -1
- package/dist/components/ui/dropdown.js +41 -15
- package/dist/components/ui/dropdown.js.map +1 -1
- package/dist/components/ui/index.d.ts +1 -0
- package/dist/components/ui/index.d.ts.map +1 -1
- package/dist/components/ui/index.js +1 -0
- package/dist/components/ui/index.js.map +1 -1
- package/dist/components/ui/portal.d.ts +2 -0
- package/dist/components/ui/portal.d.ts.map +1 -0
- package/dist/components/ui/portal.js +5 -0
- package/dist/components/ui/portal.js.map +1 -0
- package/dist/components/ui/portal.web.d.ts +11 -0
- package/dist/components/ui/portal.web.d.ts.map +1 -0
- package/dist/components/ui/portal.web.js +22 -0
- package/dist/components/ui/portal.web.js.map +1 -0
- package/dist/components/ui/resizeable.d.ts +2 -1
- package/dist/components/ui/resizeable.d.ts.map +1 -1
- package/dist/components/ui/resizeable.js +68 -26
- package/dist/components/ui/resizeable.js.map +1 -1
- package/dist/components/ui/text.d.ts +1 -1
- package/dist/components/ui/view.d.ts +3 -3
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -1
- package/dist/lib/slash-commands/teleport.d.ts +4 -0
- package/dist/lib/slash-commands/teleport.d.ts.map +1 -0
- package/dist/lib/slash-commands/teleport.js +110 -0
- package/dist/lib/slash-commands/teleport.js.map +1 -0
- package/dist/lib/slash-commands.d.ts +16 -0
- package/dist/lib/slash-commands.d.ts.map +1 -0
- package/dist/lib/slash-commands.js +46 -0
- package/dist/lib/slash-commands.js.map +1 -0
- package/dist/lib/stream-notifications.d.ts +13 -0
- package/dist/lib/stream-notifications.d.ts.map +1 -0
- package/dist/lib/stream-notifications.js +46 -0
- package/dist/lib/stream-notifications.js.map +1 -0
- package/dist/lib/system-messages.d.ts +4 -8
- package/dist/lib/system-messages.d.ts.map +1 -1
- package/dist/lib/system-messages.js +38 -2
- package/dist/lib/system-messages.js.map +1 -1
- package/dist/lib/theme/atoms.d.ts +193 -193
- package/dist/livestream-provider/index.d.ts +7 -2
- package/dist/livestream-provider/index.d.ts.map +1 -1
- package/dist/livestream-provider/index.js +72 -4
- package/dist/livestream-provider/index.js.map +1 -1
- package/dist/livestream-store/livestream-state.d.ts +4 -1
- package/dist/livestream-store/livestream-state.d.ts.map +1 -1
- package/dist/livestream-store/livestream-store.d.ts.map +1 -1
- package/dist/livestream-store/livestream-store.js +3 -0
- package/dist/livestream-store/livestream-store.js.map +1 -1
- package/dist/livestream-store/websocket-consumer.d.ts.map +1 -1
- package/dist/livestream-store/websocket-consumer.js +30 -43
- package/dist/livestream-store/websocket-consumer.js.map +1 -1
- package/dist/streamplace-store/index.d.ts +1 -0
- package/dist/streamplace-store/index.d.ts.map +1 -1
- package/dist/streamplace-store/index.js +1 -0
- package/dist/streamplace-store/index.js.map +1 -1
- package/node-compile-cache/v22.15.0-x64-efe9a9df-0/37be0eec +0 -0
- package/package.json +4 -2
- package/src/components/chat/chat-box.tsx +126 -53
- package/src/components/chat/chat-message.tsx +1 -1
- package/src/components/chat/chat.tsx +79 -5
- package/src/components/chat/emoji-suggestions.tsx +27 -25
- package/src/components/chat/mention-suggestions.tsx +36 -33
- package/src/components/chat/mod-view.tsx +2 -13
- package/src/components/chat/system-message.tsx +14 -5
- package/src/components/mobile-player/shared.tsx +2 -1
- package/src/components/mobile-player/ui/report-modal.tsx +2 -0
- package/src/components/mobile-player/ui/viewer-context-menu.tsx +192 -166
- package/src/components/mobile-player/ui/viewer-loading-overlay.tsx +0 -1
- package/src/components/stream-notification/index.ts +5 -0
- package/src/components/stream-notification/stream-notification-manager.ts +140 -0
- package/src/components/stream-notification/stream-notification.tsx +227 -0
- package/src/components/stream-notification/teleport-notification.tsx +187 -0
- package/src/components/ui/button.tsx +7 -0
- package/src/components/ui/dropdown.tsx +96 -26
- package/src/components/ui/index.ts +1 -0
- package/src/components/ui/portal.tsx +1 -0
- package/src/components/ui/portal.web.tsx +37 -0
- package/src/components/ui/resizeable.tsx +89 -35
- package/src/index.tsx +3 -0
- package/src/lib/slash-commands/teleport.ts +136 -0
- package/src/lib/slash-commands.ts +65 -0
- package/src/lib/stream-notifications.ts +51 -0
- package/src/lib/system-messages.ts +52 -2
- package/src/livestream-provider/index.tsx +106 -3
- package/src/livestream-store/livestream-state.tsx +4 -0
- package/src/livestream-store/livestream-store.tsx +3 -0
- package/src/livestream-store/websocket-consumer.tsx +35 -54
- package/src/streamplace-store/index.tsx +1 -0
|
@@ -1,14 +1,19 @@
|
|
|
1
1
|
import React from "react";
|
|
2
|
-
export declare function LivestreamProvider({ children, src, ignoreOuterContext, }: {
|
|
2
|
+
export declare function LivestreamProvider({ children, src, onTeleport, ignoreOuterContext, }: {
|
|
3
3
|
children: React.ReactNode;
|
|
4
4
|
src: string;
|
|
5
|
+
onTeleport?: (targetHandle: string, targetDID: string) => void;
|
|
5
6
|
ignoreOuterContext?: boolean;
|
|
6
7
|
}): import("react/jsx-runtime").JSX.Element;
|
|
7
8
|
export declare function WebsocketWatcher({ src }: {
|
|
8
9
|
src: string;
|
|
9
10
|
}): import("react/jsx-runtime").JSX.Element;
|
|
10
|
-
export declare function
|
|
11
|
+
export declare function TeleportWatcher({ onTeleport, }: {
|
|
12
|
+
onTeleport?: (targetHandle: string, targetDID: string) => void;
|
|
13
|
+
}): import("react/jsx-runtime").JSX.Element;
|
|
14
|
+
export declare function LivestreamPoller({ children, src, onTeleport, }: {
|
|
11
15
|
children: React.ReactNode;
|
|
12
16
|
src: string;
|
|
17
|
+
onTeleport?: (targetHandle: string, targetDID: string) => void;
|
|
13
18
|
}): import("react/jsx-runtime").JSX.Element;
|
|
14
19
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/livestream-provider/index.tsx"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/livestream-provider/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAwC,MAAM,OAAO,CAAC;AAY7D,wBAAgB,kBAAkB,CAAC,EACjC,QAAQ,EACR,GAAG,EACH,UAAU,EACV,kBAA0B,GAC3B,EAAE;IACD,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,GAAG,EAAE,MAAM,CAAC;IACZ,UAAU,CAAC,EAAE,CAAC,YAAY,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,KAAK,IAAI,CAAC;IAC/D,kBAAkB,CAAC,EAAE,OAAO,CAAC;CAC9B,2CAmBA;AAED,wBAAgB,gBAAgB,CAAC,EAAE,GAAG,EAAE,EAAE;IAAE,GAAG,EAAE,MAAM,CAAA;CAAE,2CAGxD;AAED,wBAAgB,eAAe,CAAC,EAC9B,UAAU,GACX,EAAE;IACD,UAAU,CAAC,EAAE,CAAC,YAAY,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,KAAK,IAAI,CAAC;CAChE,2CAkFA;AAED,wBAAgB,gBAAgB,CAAC,EAC/B,QAAQ,EACR,GAAG,EACH,UAAU,GACX,EAAE;IACD,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,GAAG,EAAE,MAAM,CAAC;IACZ,UAAU,CAAC,EAAE,CAAC,YAAY,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,KAAK,IAAI,CAAC;CAChE,2CAUA"}
|
|
@@ -2,12 +2,17 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.LivestreamProvider = LivestreamProvider;
|
|
4
4
|
exports.WebsocketWatcher = WebsocketWatcher;
|
|
5
|
+
exports.TeleportWatcher = TeleportWatcher;
|
|
5
6
|
exports.LivestreamPoller = LivestreamPoller;
|
|
6
7
|
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
7
8
|
const react_1 = require("react");
|
|
9
|
+
const hooks_1 = require("../hooks");
|
|
10
|
+
const teleport_1 = require("../lib/slash-commands/teleport");
|
|
11
|
+
const stream_notifications_1 = require("../lib/stream-notifications");
|
|
8
12
|
const livestream_store_1 = require("../livestream-store");
|
|
13
|
+
const streamplace_store_1 = require("../streamplace-store");
|
|
9
14
|
const websocket_1 = require("./websocket");
|
|
10
|
-
function LivestreamProvider({ children, src, ignoreOuterContext = false, }) {
|
|
15
|
+
function LivestreamProvider({ children, src, onTeleport, ignoreOuterContext = false, }) {
|
|
11
16
|
const context = (0, react_1.useContext)(livestream_store_1.LivestreamContext);
|
|
12
17
|
const store = (0, react_1.useRef)((0, livestream_store_1.makeLivestreamStore)()).current;
|
|
13
18
|
if (context) {
|
|
@@ -19,15 +24,78 @@ function LivestreamProvider({ children, src, ignoreOuterContext = false, }) {
|
|
|
19
24
|
}
|
|
20
25
|
}
|
|
21
26
|
window.livestreamStore = store;
|
|
22
|
-
return ((0, jsx_runtime_1.jsx)(livestream_store_1.LivestreamContext.Provider, { value: { store: store }, children: (0, jsx_runtime_1.jsx)(LivestreamPoller, { src: src, children: children }) }));
|
|
27
|
+
return ((0, jsx_runtime_1.jsx)(livestream_store_1.LivestreamContext.Provider, { value: { store: store }, children: (0, jsx_runtime_1.jsx)(LivestreamPoller, { src: src, onTeleport: onTeleport, children: children }) }));
|
|
23
28
|
}
|
|
24
29
|
function WebsocketWatcher({ src }) {
|
|
25
30
|
(0, websocket_1.useLivestreamWebsocket)(src);
|
|
26
31
|
return (0, jsx_runtime_1.jsx)(jsx_runtime_1.Fragment, {});
|
|
27
32
|
}
|
|
28
|
-
function
|
|
33
|
+
function TeleportWatcher({ onTeleport, }) {
|
|
34
|
+
const activeTeleport = (0, livestream_store_1.useLivestreamStore)((state) => state.activeTeleport);
|
|
35
|
+
const activeTeleportUri = (0, livestream_store_1.useLivestreamStore)((state) => state.activeTeleportUri);
|
|
36
|
+
const profile = (0, hooks_1.useAvatars)(activeTeleport ? [activeTeleport.streamer] : []);
|
|
37
|
+
const livestreamProfile = (0, livestream_store_1.useLivestreamStore)((state) => state.profile);
|
|
38
|
+
const pdsAgent = (0, streamplace_store_1.usePDSAgent)();
|
|
39
|
+
const userDID = (0, streamplace_store_1.useDID)();
|
|
40
|
+
const prevActiveTeleportRef = (0, react_1.useRef)(activeTeleport);
|
|
41
|
+
(0, react_1.useEffect)(() => {
|
|
42
|
+
if (!activeTeleport || !profile[activeTeleport.streamer])
|
|
43
|
+
return;
|
|
44
|
+
const startsAt = new Date(activeTeleport.startsAt);
|
|
45
|
+
const now = new Date();
|
|
46
|
+
const countdown = Math.max(0, Math.floor((startsAt.getTime() - now.getTime()) / 1000));
|
|
47
|
+
// resolve the DID to a handle for display
|
|
48
|
+
const targetHandle = profile[activeTeleport.streamer]?.handle || activeTeleport.streamer;
|
|
49
|
+
// check if the current user is the streamer of the current livestream
|
|
50
|
+
const canCancel = livestreamProfile?.did === userDID;
|
|
51
|
+
stream_notifications_1.StreamNotifications.teleport({
|
|
52
|
+
targetHandle: targetHandle,
|
|
53
|
+
targetDID: activeTeleport.streamer,
|
|
54
|
+
countdown: countdown,
|
|
55
|
+
canCancel: canCancel,
|
|
56
|
+
onDismiss: async (reason) => {
|
|
57
|
+
console.log("🔍 StreamNotifications.onDismiss called with reason:", reason);
|
|
58
|
+
if (reason === "user" && activeTeleportUri && pdsAgent && userDID) {
|
|
59
|
+
try {
|
|
60
|
+
await (0, teleport_1.deleteTeleport)(pdsAgent, userDID, activeTeleportUri);
|
|
61
|
+
}
|
|
62
|
+
catch (err) {
|
|
63
|
+
console.error("Failed to delete teleport:", err);
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
if (reason === "auto" && onTeleport) {
|
|
67
|
+
console.log("🔍 Calling onTeleport with:", targetHandle, activeTeleport.streamer);
|
|
68
|
+
onTeleport(targetHandle, activeTeleport.streamer);
|
|
69
|
+
}
|
|
70
|
+
else if (reason === "auto" && !onTeleport) {
|
|
71
|
+
console.log("🔍 onTeleport is not defined!");
|
|
72
|
+
}
|
|
73
|
+
else if (reason === "auto") {
|
|
74
|
+
console.log("🔍 Reason is auto but teleport function not called for unknown reason");
|
|
75
|
+
}
|
|
76
|
+
},
|
|
77
|
+
});
|
|
78
|
+
}, [
|
|
79
|
+
activeTeleport,
|
|
80
|
+
activeTeleportUri,
|
|
81
|
+
profile,
|
|
82
|
+
onTeleport,
|
|
83
|
+
pdsAgent,
|
|
84
|
+
userDID,
|
|
85
|
+
]);
|
|
86
|
+
(0, react_1.useEffect)(() => {
|
|
87
|
+
if (prevActiveTeleportRef.current &&
|
|
88
|
+
!activeTeleport &&
|
|
89
|
+
!activeTeleportUri) {
|
|
90
|
+
stream_notifications_1.StreamNotifications.teleportCancelled();
|
|
91
|
+
}
|
|
92
|
+
prevActiveTeleportRef.current = activeTeleport;
|
|
93
|
+
}, [activeTeleport, activeTeleportUri]);
|
|
94
|
+
return (0, jsx_runtime_1.jsx)(jsx_runtime_1.Fragment, {});
|
|
95
|
+
}
|
|
96
|
+
function LivestreamPoller({ children, src, onTeleport, }) {
|
|
29
97
|
// Websocket watcher is a sibling instead of a parent to avoid
|
|
30
98
|
// re-rendering when the websocket does stuff
|
|
31
|
-
return ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)(WebsocketWatcher, { src: src }), children] }));
|
|
99
|
+
return ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)(WebsocketWatcher, { src: src }), (0, jsx_runtime_1.jsx)(TeleportWatcher, { onTeleport: onTeleport }), children] }));
|
|
32
100
|
}
|
|
33
101
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/livestream-provider/index.tsx"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/livestream-provider/index.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { AppBskyActorDefs } from "@atproto/api";
|
|
2
|
-
import { ChatMessageViewHydrated, LivestreamViewHydrated, PlaceStreamDefs, PlaceStreamModerationPermission, PlaceStreamSegment } from "streamplace";
|
|
2
|
+
import { ChatMessageViewHydrated, LivestreamViewHydrated, PlaceStreamDefs, PlaceStreamLiveTeleport, PlaceStreamModerationPermission, PlaceStreamSegment } from "streamplace";
|
|
3
3
|
export interface LivestreamState {
|
|
4
4
|
profile: AppBskyActorDefs.ProfileViewBasic | null;
|
|
5
5
|
chatIndex: {
|
|
@@ -19,6 +19,9 @@ export interface LivestreamState {
|
|
|
19
19
|
replyToMessage: ChatMessageViewHydrated | null;
|
|
20
20
|
streamKey: string | null;
|
|
21
21
|
setStreamKey: (key: string | null) => void;
|
|
22
|
+
activeTeleport: PlaceStreamLiveTeleport.Record | null;
|
|
23
|
+
activeTeleportUri: string | null;
|
|
24
|
+
setActiveTeleportUri: (uri: string | null) => void;
|
|
22
25
|
websocketConnected: boolean;
|
|
23
26
|
hasReceivedSegment: boolean;
|
|
24
27
|
moderationPermissions: PlaceStreamModerationPermission.Record[];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"livestream-state.d.ts","sourceRoot":"","sources":["../../src/livestream-store/livestream-state.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAChD,OAAO,EACL,uBAAuB,EACvB,sBAAsB,EACtB,eAAe,EACf,+BAA+B,EAC/B,kBAAkB,EACnB,MAAM,aAAa,CAAC;AAErB,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,gBAAgB,CAAC,gBAAgB,GAAG,IAAI,CAAC;IAClD,SAAS,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,uBAAuB,CAAA;KAAE,CAAC;IACtD,IAAI,EAAE,uBAAuB,EAAE,CAAC;IAChC,OAAO,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,uBAAuB,CAAC,aAAa,CAAC,CAAA;KAAE,CAAC;IACnE,UAAU,EAAE,sBAAsB,GAAG,IAAI,CAAC;IAC1C,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,OAAO,EAAE,kBAAkB,CAAC,MAAM,GAAG,IAAI,CAAC;IAC1C,cAAc,EAAE,kBAAkB,CAAC,MAAM,EAAE,CAAC;IAC5C,QAAQ,EAAE,iBAAiB,EAAE,CAAC;IAC9B,UAAU,EAAE,eAAe,CAAC,SAAS,EAAE,CAAC;IACxC,cAAc,EAAE,uBAAuB,GAAG,IAAI,CAAC;IAC/C,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,YAAY,EAAE,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,CAAC;IAC3C,kBAAkB,EAAE,OAAO,CAAC;IAC5B,kBAAkB,EAAE,OAAO,CAAC;IAC5B,qBAAqB,EAAE,+BAA+B,CAAC,MAAM,EAAE,CAAC;IAChE,wBAAwB,EAAE,CACxB,WAAW,EAAE,+BAA+B,CAAC,MAAM,EAAE,KAClD,IAAI,CAAC;CACX;AAED,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,OAAO,GAAG,SAAS,GAAG,MAAM,CAAC;IACvC,IAAI,CAAC,EAAE,MAAM,CAAC;CACf"}
|
|
1
|
+
{"version":3,"file":"livestream-state.d.ts","sourceRoot":"","sources":["../../src/livestream-store/livestream-state.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAChD,OAAO,EACL,uBAAuB,EACvB,sBAAsB,EACtB,eAAe,EACf,uBAAuB,EACvB,+BAA+B,EAC/B,kBAAkB,EACnB,MAAM,aAAa,CAAC;AAErB,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,gBAAgB,CAAC,gBAAgB,GAAG,IAAI,CAAC;IAClD,SAAS,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,uBAAuB,CAAA;KAAE,CAAC;IACtD,IAAI,EAAE,uBAAuB,EAAE,CAAC;IAChC,OAAO,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,uBAAuB,CAAC,aAAa,CAAC,CAAA;KAAE,CAAC;IACnE,UAAU,EAAE,sBAAsB,GAAG,IAAI,CAAC;IAC1C,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,OAAO,EAAE,kBAAkB,CAAC,MAAM,GAAG,IAAI,CAAC;IAC1C,cAAc,EAAE,kBAAkB,CAAC,MAAM,EAAE,CAAC;IAC5C,QAAQ,EAAE,iBAAiB,EAAE,CAAC;IAC9B,UAAU,EAAE,eAAe,CAAC,SAAS,EAAE,CAAC;IACxC,cAAc,EAAE,uBAAuB,GAAG,IAAI,CAAC;IAC/C,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,YAAY,EAAE,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,CAAC;IAC3C,cAAc,EAAE,uBAAuB,CAAC,MAAM,GAAG,IAAI,CAAC;IACtD,iBAAiB,EAAE,MAAM,GAAG,IAAI,CAAC;IACjC,oBAAoB,EAAE,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,CAAC;IACnD,kBAAkB,EAAE,OAAO,CAAC;IAC5B,kBAAkB,EAAE,OAAO,CAAC;IAC5B,qBAAqB,EAAE,+BAA+B,CAAC,MAAM,EAAE,CAAC;IAChE,wBAAwB,EAAE,CACxB,WAAW,EAAE,+BAA+B,CAAC,MAAM,EAAE,KAClD,IAAI,CAAC;CACX;AAED,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,OAAO,GAAG,SAAS,GAAG,MAAM,CAAC;IACvC,IAAI,CAAC,EAAE,MAAM,CAAC;CACf"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"livestream-store.d.ts","sourceRoot":"","sources":["../../src/livestream-store/livestream-store.tsx"],"names":[],"mappings":"AACA,OAAO,EAAe,QAAQ,EAAY,MAAM,SAAS,CAAC;AAE1D,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAGrD,MAAM,MAAM,eAAe,GAAG,QAAQ,CAAC,eAAe,CAAC,CAAC;AAExD,eAAO,MAAM,mBAAmB,QAAO,QAAQ,CAAC,eAAe,
|
|
1
|
+
{"version":3,"file":"livestream-store.d.ts","sourceRoot":"","sources":["../../src/livestream-store/livestream-store.tsx"],"names":[],"mappings":"AACA,OAAO,EAAe,QAAQ,EAAY,MAAM,SAAS,CAAC;AAE1D,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAGrD,MAAM,MAAM,eAAe,GAAG,QAAQ,CAAC,eAAe,CAAC,CAAC;AAExD,eAAO,MAAM,mBAAmB,QAAO,QAAQ,CAAC,eAAe,CAwB9D,CAAC;AAEF,wBAAgB,mBAAmB,IAAI,eAAe,CAQrD;AAED,wBAAgB,kBAAkB,CAAC,CAAC,EAClC,QAAQ,EAAE,CAAC,KAAK,EAAE,eAAe,KAAK,CAAC,GACtC,CAAC,CAGH;AAED,eAAO,MAAM,0BAA0B,SAE7B,UAAU,GAAG,EAAE,SAGxB,CAAC;AAEF,eAAO,MAAM,OAAO,uDAA0C,CAAC;AAE/D,eAAO,MAAM,UAAU,4FAA6C,CAAC;AAErE,eAAO,MAAM,UAAU,qBAA6C,CAAC;AAErE,eAAO,MAAM,aAAa,2DAAgD,CAAC;AAE3E,eAAO,MAAM,UAAU,mFAA6C,CAAC;AAErE,eAAO,MAAM,iBAAiB,8EACe,CAAC;AAE9C,eAAO,MAAM,aAAa,8EAAgD,CAAC"}
|
|
@@ -23,6 +23,9 @@ const makeLivestreamStore = () => {
|
|
|
23
23
|
authors: {},
|
|
24
24
|
recentSegments: [],
|
|
25
25
|
problems: [],
|
|
26
|
+
activeTeleport: null,
|
|
27
|
+
activeTeleportUri: null,
|
|
28
|
+
setActiveTeleportUri: (uri) => set({ activeTeleportUri: uri }),
|
|
26
29
|
websocketConnected: false,
|
|
27
30
|
hasReceivedSegment: false,
|
|
28
31
|
moderationPermissions: [],
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"livestream-store.js","sourceRoot":"","sources":["../../src/livestream-store/livestream-store.tsx"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"livestream-store.js","sourceRoot":"","sources":["../../src/livestream-store/livestream-store.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"websocket-consumer.d.ts","sourceRoot":"","sources":["../../src/livestream-store/websocket-consumer.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"websocket-consumer.d.ts","sourceRoot":"","sources":["../../src/livestream-store/websocket-consumer.tsx"],"names":[],"mappings":"AAeA,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAKrD,eAAO,MAAM,uBAAuB,GAClC,OAAO,eAAe,EACtB,UAAU,GAAG,EAAE,KACd,eAgJF,CAAC"}
|
|
@@ -4,6 +4,7 @@ exports.handleWebSocketMessages = void 0;
|
|
|
4
4
|
const api_1 = require("@atproto/api");
|
|
5
5
|
const streamplace_1 = require("streamplace");
|
|
6
6
|
const system_messages_1 = require("../lib/system-messages");
|
|
7
|
+
const format_handle_1 = require("../utils/format-handle");
|
|
7
8
|
const chat_1 = require("./chat");
|
|
8
9
|
const problems_1 = require("./problems");
|
|
9
10
|
const MAX_RECENT_SEGMENTS = 10;
|
|
@@ -112,53 +113,39 @@ const handleWebSocketMessages = (state, messages) => {
|
|
|
112
113
|
};
|
|
113
114
|
state = (0, chat_1.reduceChat)(state, [], [], [hiddenMessageUri]);
|
|
114
115
|
}
|
|
115
|
-
else if (streamplace_1.
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
state = {
|
|
128
|
-
...state,
|
|
129
|
-
moderationPermissions: [],
|
|
130
|
-
};
|
|
131
|
-
}
|
|
132
|
-
else {
|
|
133
|
-
// Handle new/updated permission: add or update in the list
|
|
134
|
-
// Use createdAt as a unique identifier since multiple records can exist for the same moderator
|
|
135
|
-
// (e.g., one record with "ban" permission, another with "hide" permission)
|
|
136
|
-
// Note: rkey would be ideal but isn't always present in the WebSocket message
|
|
137
|
-
const newPerm = permRecord;
|
|
138
|
-
const existingIndex = state.moderationPermissions.findIndex((p) => {
|
|
139
|
-
const pWithRkey = p;
|
|
140
|
-
// Prefer matching by rkey if available, fall back to createdAt
|
|
141
|
-
if (newPerm.rkey && pWithRkey.rkey) {
|
|
142
|
-
return pWithRkey.rkey === newPerm.rkey;
|
|
143
|
-
}
|
|
144
|
-
return (p.moderator === newPerm.moderator &&
|
|
145
|
-
p.createdAt === newPerm.createdAt);
|
|
146
|
-
});
|
|
147
|
-
let newPermissions;
|
|
148
|
-
if (existingIndex >= 0) {
|
|
149
|
-
// Update existing record with same moderator AND createdAt
|
|
150
|
-
newPermissions = [...state.moderationPermissions];
|
|
151
|
-
newPermissions[existingIndex] = newPerm;
|
|
152
|
-
}
|
|
153
|
-
else {
|
|
154
|
-
// Add new record (could be a new record for an existing moderator with different permissions)
|
|
155
|
-
newPermissions = [...state.moderationPermissions, newPerm];
|
|
156
|
-
}
|
|
116
|
+
else if (streamplace_1.PlaceStreamLiveTeleport.isRecord(message)) {
|
|
117
|
+
const teleportRecord = message;
|
|
118
|
+
state = {
|
|
119
|
+
...state,
|
|
120
|
+
activeTeleport: teleportRecord,
|
|
121
|
+
};
|
|
122
|
+
}
|
|
123
|
+
else if (streamplace_1.PlaceStreamLivestream.isTeleportArrival(message)) {
|
|
124
|
+
// teleport has succeeded, we are now at the target stream
|
|
125
|
+
const arrival = message;
|
|
126
|
+
// add the teleporter's chat profile to the authors cache FIRST so mention rendering works
|
|
127
|
+
if (arrival.chatProfile && arrival.source.did) {
|
|
157
128
|
state = {
|
|
158
129
|
...state,
|
|
159
|
-
|
|
130
|
+
authors: {
|
|
131
|
+
...state.authors,
|
|
132
|
+
[arrival.source.did]: arrival.chatProfile,
|
|
133
|
+
},
|
|
160
134
|
};
|
|
161
135
|
}
|
|
136
|
+
const systemMessage = system_messages_1.SystemMessages.teleportArrival((0, format_handle_1.formatHandleWithAt)(arrival.source), arrival.source.did, arrival.viewerCount, arrival.chatProfile);
|
|
137
|
+
// set proper times
|
|
138
|
+
systemMessage.indexedAt = arrival.startsAt;
|
|
139
|
+
systemMessage.record.createdAt = arrival.startsAt;
|
|
140
|
+
state = (0, chat_1.reduceChat)(state, [systemMessage], []);
|
|
141
|
+
}
|
|
142
|
+
else if (streamplace_1.PlaceStreamLivestream.isTeleportCanceled(message)) {
|
|
143
|
+
// teleport was canceled (deleted or denied)
|
|
144
|
+
state = {
|
|
145
|
+
...state,
|
|
146
|
+
activeTeleport: null,
|
|
147
|
+
activeTeleportUri: null,
|
|
148
|
+
};
|
|
162
149
|
}
|
|
163
150
|
}
|
|
164
151
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"websocket-consumer.js","sourceRoot":"","sources":["../../src/livestream-store/websocket-consumer.tsx"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"websocket-consumer.js","sourceRoot":"","sources":["../../src/livestream-store/websocket-consumer.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/streamplace-store/index.tsx"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAC;AACxB,cAAc,YAAY,CAAC;AAC3B,cAAc,cAAc,CAAC;AAC7B,cAAc,wBAAwB,CAAC;AACvC,cAAc,UAAU,CAAC;AACzB,cAAc,qBAAqB,CAAC;AACpC,cAAc,QAAQ,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/streamplace-store/index.tsx"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAC;AACxB,cAAc,YAAY,CAAC;AAC3B,cAAc,cAAc,CAAC;AAC7B,cAAc,wBAAwB,CAAC;AACvC,cAAc,UAAU,CAAC;AACzB,cAAc,qBAAqB,CAAC;AACpC,cAAc,QAAQ,CAAC;AACvB,cAAc,QAAQ,CAAC"}
|
|
@@ -8,4 +8,5 @@ tslib_1.__exportStar(require("./moderator-management"), exports);
|
|
|
8
8
|
tslib_1.__exportStar(require("./stream"), exports);
|
|
9
9
|
tslib_1.__exportStar(require("./streamplace-store"), exports);
|
|
10
10
|
tslib_1.__exportStar(require("./user"), exports);
|
|
11
|
+
tslib_1.__exportStar(require("./xrpc"), exports);
|
|
11
12
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/streamplace-store/index.tsx"],"names":[],"mappings":";;;AAAA,kDAAwB;AACxB,qDAA2B;AAC3B,uDAA6B;AAC7B,iEAAuC;AACvC,mDAAyB;AACzB,8DAAoC;AACpC,iDAAuB"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/streamplace-store/index.tsx"],"names":[],"mappings":";;;AAAA,kDAAwB;AACxB,qDAA2B;AAC3B,uDAA6B;AAC7B,iEAAuC;AACvC,mDAAyB;AACzB,8DAAoC;AACpC,iDAAuB;AACvB,iDAAuB"}
|
|
Binary file
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@streamplace/components",
|
|
3
|
-
"version": "0.9.
|
|
3
|
+
"version": "0.9.4",
|
|
4
4
|
"description": "Streamplace React (Native) Components",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"types": "src/index.tsx",
|
|
@@ -18,6 +18,7 @@
|
|
|
18
18
|
"license": "MIT",
|
|
19
19
|
"devDependencies": {
|
|
20
20
|
"@fluent/syntax": "^0.19.0",
|
|
21
|
+
"@types/react-dom": "^19.2.3",
|
|
21
22
|
"@types/sdp-transform": "^2.15.0",
|
|
22
23
|
"i18next-cli": "^1.32.0",
|
|
23
24
|
"nodemon": "^3.1.10",
|
|
@@ -31,6 +32,7 @@
|
|
|
31
32
|
"@fluent/langneg": "^0.7.0",
|
|
32
33
|
"@fluent/react": "^0.15.2",
|
|
33
34
|
"@gorhom/bottom-sheet": "^5.1.6",
|
|
35
|
+
"@radix-ui/react-dropdown-menu": "^2.1.16",
|
|
34
36
|
"@rn-primitives/dropdown-menu": "^1.2.0",
|
|
35
37
|
"@rn-primitives/portal": "^1.3.0",
|
|
36
38
|
"@rn-primitives/slider": "^1.2.0",
|
|
@@ -78,5 +80,5 @@
|
|
|
78
80
|
"i18n:watch": "nodemon --watch 'locales/**/*.ftl' --exec 'node scripts/compile-translations.js'",
|
|
79
81
|
"i18n:extract": "i18next-cli extract && node scripts/migrate-i18n.js"
|
|
80
82
|
},
|
|
81
|
-
"gitHead": "
|
|
83
|
+
"gitHead": "4c5523a92b26dbdae76dd3334ddf66ce4d32f999"
|
|
82
84
|
}
|