Fiks revisjonshistorikk: invalider cache etter AI-vask, hent alltid ferske revisjoner
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
parent
9277fc6012
commit
c5bd0c0130
2 changed files with 24 additions and 7 deletions
|
|
@ -63,16 +63,21 @@
|
|||
});
|
||||
if (!res.ok) return;
|
||||
const { job_id } = await res.json();
|
||||
// Sett lokal processing-state umiddelbart
|
||||
const msg = chat?.messages.find(m => m.id === messageId);
|
||||
if (msg) msg.metadata = { ...msg.metadata, ai_processing: true };
|
||||
// Sett lokal processing-state umiddelbart (via array-reassign for reaktivitet)
|
||||
if (chat) {
|
||||
const msgs = chat.messages;
|
||||
const idx = msgs.findIndex(m => m.id === messageId);
|
||||
if (idx >= 0) {
|
||||
msgs[idx] = { ...msgs[idx], metadata: { ...msgs[idx].metadata, ai_processing: true } };
|
||||
}
|
||||
}
|
||||
// Poll jobb-status
|
||||
pollJob(job_id);
|
||||
pollJob(job_id, messageId);
|
||||
} catch { /* stille feil */ }
|
||||
}
|
||||
};
|
||||
|
||||
function pollJob(jobId: string) {
|
||||
function pollJob(jobId: string, messageId?: string) {
|
||||
const interval = setInterval(async () => {
|
||||
try {
|
||||
const res = await fetch(`/api/jobs/${jobId}`);
|
||||
|
|
|
|||
|
|
@ -203,6 +203,18 @@
|
|||
|
||||
let isAiProcessing = $derived(message.metadata?.ai_processing === true);
|
||||
|
||||
// Når AI-prosessering fullføres, invalider revisjonscache og vis nåværende versjon
|
||||
let prevAiProcessing = $state(false);
|
||||
$effect(() => {
|
||||
const wasProcessing = prevAiProcessing;
|
||||
prevAiProcessing = isAiProcessing;
|
||||
if (wasProcessing && !isAiProcessing) {
|
||||
// AI ferdig — invalider cache så neste klikk henter oppdaterte revisjoner
|
||||
revisionsLoaded = false;
|
||||
revisionIndex = -1;
|
||||
}
|
||||
});
|
||||
|
||||
// --- Revisjonshistorikk (generell — gjelder alle redigerte meldinger) ---
|
||||
|
||||
interface Revision {
|
||||
|
|
@ -217,7 +229,6 @@
|
|||
let revisionsLoaded = $state(false);
|
||||
|
||||
async function loadRevisions() {
|
||||
if (revisionsLoaded) return;
|
||||
loadingRevisions = true;
|
||||
try {
|
||||
const res = await fetch(`/api/messages/${message.id}/revisions`);
|
||||
|
|
@ -238,9 +249,10 @@
|
|||
revisionIndex = -1;
|
||||
return;
|
||||
}
|
||||
// Alltid hent på nytt når bruker klikker (kan ha kommet nye revisjoner)
|
||||
await loadRevisions();
|
||||
if (revisions.length > 0) {
|
||||
revisionIndex = 0; // Vis nyeste revisjon (original)
|
||||
revisionIndex = 0; // Vis nyeste revisjon
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue