Fiks: bevar metadata ved rebuildMessages, sett edited_at ved AI-behandling
- rebuildMessages bevarer nå PG-felter (metadata, edited_at, reply_count) fra eksisterende meldinger i stedet for å overskrive med undefined - Worker setter edited_at = now() ved AI-behandling slik at revisjonshistorikk og AI-badge vises umiddelbart Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
parent
c32b772293
commit
2ffcf96be4
2 changed files with 16 additions and 2 deletions
|
|
@ -90,7 +90,20 @@ export function createSpacetimeChat(
|
||||||
const bMs = extractMs(b.createdAt);
|
const bMs = extractMs(b.createdAt);
|
||||||
return aMs - bMs;
|
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 {
|
function extractMs(ts: any): number {
|
||||||
|
|
|
||||||
|
|
@ -234,7 +234,8 @@ impl AiTextProcessHandler {
|
||||||
sqlx::query(
|
sqlx::query(
|
||||||
r#"
|
r#"
|
||||||
UPDATE messages
|
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
|
WHERE id = $2
|
||||||
"#,
|
"#,
|
||||||
)
|
)
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue