diff --git a/web/src/lib/chat/spacetime.svelte.ts b/web/src/lib/chat/spacetime.svelte.ts index 67dfab7..57ecdcf 100644 --- a/web/src/lib/chat/spacetime.svelte.ts +++ b/web/src/lib/chat/spacetime.svelte.ts @@ -90,7 +90,20 @@ export function createSpacetimeChat( const bMs = extractMs(b.createdAt); return aMs - bMs; }); - messages = rows.map(r => spacetimeRowToMessage(r)); + // Bevar PG-spesifikke felter (metadata, edited_at, reply_count, etc.) fra eksisterende meldinger + const existing = new Map(messages.map(m => [m.id, m])); + messages = rows.map(r => { + const msg = spacetimeRowToMessage(r); + const prev = existing.get(msg.id); + if (prev) { + msg.metadata = prev.metadata; + msg.edited_at = prev.edited_at; + msg.reply_count = prev.reply_count; + msg.parent_body = prev.parent_body; + msg.parent_author_name = prev.parent_author_name; + } + return msg; + }); } function extractMs(ts: any): number { diff --git a/worker/src/handlers/ai_text_process.rs b/worker/src/handlers/ai_text_process.rs index 91dd25a..1919214 100644 --- a/worker/src/handlers/ai_text_process.rs +++ b/worker/src/handlers/ai_text_process.rs @@ -234,7 +234,8 @@ impl AiTextProcessHandler { sqlx::query( r#" UPDATE messages - SET metadata = (COALESCE(metadata, '{}'::jsonb) - 'ai_processing') || $1::jsonb + SET metadata = (COALESCE(metadata, '{}'::jsonb) - 'ai_processing') || $1::jsonb, + edited_at = now() WHERE id = $2 "#, )