nsarrazin HF Staff commited on
Commit
575fe85
·
unverified ·
1 Parent(s): 2e1c42e

fix(kit): await conversations in server load function again

Browse files
src/lib/components/MobileNav.svelte CHANGED
@@ -10,7 +10,7 @@
10
  import IconNew from "$lib/components/icons/IconNew.svelte";
11
 
12
  export let isOpen = false;
13
- export let title: Promise<string | undefined> | string;
14
 
15
  $: title = title ?? "New Chat";
16
 
 
10
  import IconNew from "$lib/components/icons/IconNew.svelte";
11
 
12
  export let isOpen = false;
13
+ export let title: string | undefined;
14
 
15
  $: title = title ?? "New Chat";
16
 
src/lib/components/NavMenu.svelte CHANGED
@@ -11,7 +11,7 @@
11
  import type { Model } from "$lib/types/Model";
12
  import { page } from "$app/stores";
13
 
14
- export let conversations: Promise<ConvSidebar[]>;
15
  export let canLogin: boolean;
16
  export let user: LayoutData["user"];
17
 
@@ -25,16 +25,16 @@
25
  new Date().setMonth(new Date().getMonth() - 1),
26
  ];
27
 
28
- $: groupedConversations = conversations.then((convs) => ({
29
- today: convs.filter(({ updatedAt }) => updatedAt.getTime() > dateRanges[0]),
30
- week: convs.filter(
31
  ({ updatedAt }) => updatedAt.getTime() > dateRanges[1] && updatedAt.getTime() < dateRanges[0]
32
  ),
33
- month: convs.filter(
34
  ({ updatedAt }) => updatedAt.getTime() > dateRanges[2] && updatedAt.getTime() < dateRanges[1]
35
  ),
36
- older: convs.filter(({ updatedAt }) => updatedAt.getTime() < dateRanges[2]),
37
- }));
38
 
39
  const titles: { [key: string]: string } = {
40
  today: "Today",
 
11
  import type { Model } from "$lib/types/Model";
12
  import { page } from "$app/stores";
13
 
14
+ export let conversations: ConvSidebar[];
15
  export let canLogin: boolean;
16
  export let user: LayoutData["user"];
17
 
 
25
  new Date().setMonth(new Date().getMonth() - 1),
26
  ];
27
 
28
+ $: groupedConversations = {
29
+ today: conversations.filter(({ updatedAt }) => updatedAt.getTime() > dateRanges[0]),
30
+ week: conversations.filter(
31
  ({ updatedAt }) => updatedAt.getTime() > dateRanges[1] && updatedAt.getTime() < dateRanges[0]
32
  ),
33
+ month: conversations.filter(
34
  ({ updatedAt }) => updatedAt.getTime() > dateRanges[2] && updatedAt.getTime() < dateRanges[1]
35
  ),
36
+ older: conversations.filter(({ updatedAt }) => updatedAt.getTime() < dateRanges[2]),
37
+ };
38
 
39
  const titles: { [key: string]: string } = {
40
  today: "Today",
src/routes/+layout.server.ts CHANGED
@@ -146,7 +146,7 @@ export const load: LayoutServerLoad = async ({ locals, depends }) => {
146
 
147
  return {
148
  nConversations,
149
- conversations: conversations.then(
150
  async (convs) =>
151
  await Promise.all(
152
  convs.map(async (conv) => {
 
146
 
147
  return {
148
  nConversations,
149
+ conversations: await conversations.then(
150
  async (convs) =>
151
  await Promise.all(
152
  convs.map(async (conv) => {
src/routes/+layout.svelte CHANGED
@@ -58,10 +58,7 @@
58
  return;
59
  }
60
 
61
- data.conversations.then((convs) => {
62
- const newConvs = convs.filter((conv) => conv.id !== id);
63
- data.conversations = Promise.resolve(newConvs);
64
- });
65
 
66
  if ($page.params.id === id) {
67
  await goto(`${base}/`, { invalidateAll: true });
@@ -87,10 +84,9 @@
87
  return;
88
  }
89
 
90
- data.conversations.then((convs) => {
91
- const newConvs = convs.map((conv) => (conv.id === id ? { ...conv, title } : conv));
92
- data.conversations = Promise.resolve(newConvs);
93
- });
94
  } catch (err) {
95
  console.error(err);
96
  $error = String(err);
@@ -104,17 +100,13 @@
104
  $: if ($error) onError();
105
 
106
  $: if ($titleUpdate) {
107
- data.conversations.then((convs) => {
108
- const convIdx = convs.findIndex(({ id }) => id === $titleUpdate?.convId);
109
 
110
- if (convIdx != -1) {
111
- convs[convIdx].title = $titleUpdate?.title ?? convs[convIdx].title;
112
- }
113
- // update data.conversations
114
- data.conversations = Promise.resolve([...convs]);
115
 
116
- $titleUpdate = null;
117
- });
118
  }
119
 
120
  const settings = createSettingsStore(data.settings);
@@ -153,7 +145,7 @@
153
 
154
  $: mobileNavTitle = ["/models", "/assistants", "/privacy"].includes($page.route.id ?? "")
155
  ? ""
156
- : data.conversations.then((convs) => convs.find((conv) => conv.id === $page.params.id)?.title);
157
  </script>
158
 
159
  <svelte:head>
 
58
  return;
59
  }
60
 
61
+ data.conversations = data.conversations.filter((conv) => conv.id !== id);
 
 
 
62
 
63
  if ($page.params.id === id) {
64
  await goto(`${base}/`, { invalidateAll: true });
 
84
  return;
85
  }
86
 
87
+ data.conversations = data.conversations.map((conv) =>
88
+ conv.id === id ? { ...conv, title } : conv
89
+ );
 
90
  } catch (err) {
91
  console.error(err);
92
  $error = String(err);
 
100
  $: if ($error) onError();
101
 
102
  $: if ($titleUpdate) {
103
+ const convIdx = data.conversations.findIndex(({ id }) => id === $titleUpdate?.convId);
 
104
 
105
+ if (convIdx != -1) {
106
+ data.conversations[convIdx].title = $titleUpdate?.title ?? data.conversations[convIdx].title;
107
+ }
 
 
108
 
109
+ $titleUpdate = null;
 
110
  }
111
 
112
  const settings = createSettingsStore(data.settings);
 
145
 
146
  $: mobileNavTitle = ["/models", "/assistants", "/privacy"].includes($page.route.id ?? "")
147
  ? ""
148
+ : data.conversations.find((conv) => conv.id === $page.params.id)?.title;
149
  </script>
150
 
151
  <svelte:head>
src/routes/conversation/[id]/+page.svelte CHANGED
@@ -247,9 +247,7 @@
247
  ) {
248
  $error = update.message ?? "An error has occurred";
249
  } else if (update.type === MessageUpdateType.Title) {
250
- const convInData = await data.conversations.then((convs) =>
251
- convs.find(({ id }) => id === $page.params.id)
252
- );
253
  if (convInData) {
254
  convInData.title = update.title;
255
 
@@ -378,9 +376,7 @@
378
  }
379
 
380
  $: $page.params.id, (($isAborted = true), (loading = false), ($convTreeStore.editing = null));
381
- $: title = data.conversations.then(
382
- (convs) => convs.find((conv) => conv.id === $page.params.id)?.title ?? data.title
383
- );
384
 
385
  const convTreeStore = createConvTreeStore();
386
  const settings = useSettingsStore();
 
247
  ) {
248
  $error = update.message ?? "An error has occurred";
249
  } else if (update.type === MessageUpdateType.Title) {
250
+ const convInData = data.conversations.find(({ id }) => id === $page.params.id);
 
 
251
  if (convInData) {
252
  convInData.title = update.title;
253
 
 
376
  }
377
 
378
  $: $page.params.id, (($isAborted = true), (loading = false), ($convTreeStore.editing = null));
379
+ $: title = data.conversations.find((conv) => conv.id === $page.params.id)?.title ?? data.title;
 
 
380
 
381
  const convTreeStore = createConvTreeStore();
382
  const settings = useSettingsStore();