|
@@ -432,31 +432,20 @@
|
|
|
}
|
|
}
|
|
|
};
|
|
};
|
|
|
|
|
|
|
|
|
|
+ let pageSubscribe = null;
|
|
|
onMount(async () => {
|
|
onMount(async () => {
|
|
|
loading = true;
|
|
loading = true;
|
|
|
console.log('mounted');
|
|
console.log('mounted');
|
|
|
window.addEventListener('message', onMessageHandler);
|
|
window.addEventListener('message', onMessageHandler);
|
|
|
$socket?.on('chat-events', chatEventHandler);
|
|
$socket?.on('chat-events', chatEventHandler);
|
|
|
|
|
|
|
|
- page.subscribe((page) => {
|
|
|
|
|
- if (page.url.pathname === '/') {
|
|
|
|
|
|
|
+ pageSubscribe = page.subscribe(async (p) => {
|
|
|
|
|
+ if (p.url.pathname === '/') {
|
|
|
|
|
+ await tick();
|
|
|
initNewChat();
|
|
initNewChat();
|
|
|
}
|
|
}
|
|
|
});
|
|
});
|
|
|
|
|
|
|
|
- if (!$chatId) {
|
|
|
|
|
- chatIdUnsubscriber = chatId.subscribe(async (value) => {
|
|
|
|
|
- if (!value) {
|
|
|
|
|
- await tick(); // Wait for DOM updates
|
|
|
|
|
- await initNewChat();
|
|
|
|
|
- }
|
|
|
|
|
- });
|
|
|
|
|
- } else {
|
|
|
|
|
- if ($temporaryChatEnabled) {
|
|
|
|
|
- await goto('/');
|
|
|
|
|
- }
|
|
|
|
|
- }
|
|
|
|
|
-
|
|
|
|
|
if (localStorage.getItem(`chat-input${chatIdProp ? `-${chatIdProp}` : ''}`)) {
|
|
if (localStorage.getItem(`chat-input${chatIdProp ? `-${chatIdProp}` : ''}`)) {
|
|
|
prompt = '';
|
|
prompt = '';
|
|
|
files = [];
|
|
files = [];
|
|
@@ -515,6 +504,7 @@
|
|
|
});
|
|
});
|
|
|
|
|
|
|
|
onDestroy(() => {
|
|
onDestroy(() => {
|
|
|
|
|
+ pageSubscribe();
|
|
|
chatIdUnsubscriber?.();
|
|
chatIdUnsubscriber?.();
|
|
|
window.removeEventListener('message', onMessageHandler);
|
|
window.removeEventListener('message', onMessageHandler);
|
|
|
$socket?.off('chat-events', chatEventHandler);
|
|
$socket?.off('chat-events', chatEventHandler);
|