fix(frontend,backend): all stories panel groups by peer again, missing trashed file answers 404, access log hides the token

This commit is contained in:
hh committed 2026-10-14 03:53:56 +02:00
1 parent 897421e7c4
commit 09c5f78061
5 files changed
+28 -16

No files matched your search

@@ -32,10 +32,14 @@
let groups = $state<Group[]>([]);
let loading = $state(false);
const previews = $state<Record<number, string | null>>({});
const previews = $state<Record<string, string | null>>({});
const expanded = $state<Record<number, boolean>>({});
let token = 0;
function previewKey(story: StoryView): string {
return `${story.peer_id}:${story.story_id}`;
}
let viewerOpen = $state(false);
let viewerIndex = $state(0);
let viewerItems = $state<StoryView[]>([]);
@@ -78,7 +82,7 @@
kind: "peer" as const,
name: peerName(peer) || `ID ${peerId}`,
peerId,
stories,
stories: peerStories,
};
}
const chat = chatById.get(peerId);
@@ -87,7 +91,7 @@
kind: "chat" as const,
name: chat?.title ?? `Chat ${peerId}`,
peerId,
stories,
stories: peerStories,
};
});
} finally {
@@ -106,7 +110,7 @@
groups = [];
loading = false;
for (const key of Object.keys(previews)) {
delete previews[Number(key)];
delete previews[key];
}
for (const key of Object.keys(expanded)) {
delete expanded[Number(key)];
@@ -122,13 +126,14 @@
let active = true;
untrack(() => {
for (const item of list) {
if (!item.downloaded || previews[item.story_id] !== undefined) {
const key = previewKey(item);
if (!item.downloaded || previews[key] !== undefined) {
continue;
}
previews[item.story_id] = null;
previews[key] = null;
loadStoryMedia(item.peer_id, item.story_id).then((url) => {
if (active) {
previews[item.story_id] = url;
previews[key] = url;
}
});
}
@@ -210,7 +215,7 @@
{#each group.stories as item, index (item.story_id)}
<StoryTile
onopen={() => openViewer(group, index)}
preview={previews[item.story_id]}
preview={previews[previewKey(item)]}
story={item}
/>
{/each}