forked from mirror/crumbs-original
fix(auth): resolve session validation and layout rendering issues
Fix session expiry check (seconds vs milliseconds mismatch in raw SQL), conditionally render app chrome only for authenticated users, use full page reload after login/setup for proper session propagation, remove HTML minlength to allow JS validation, fix store to remove notes on trash/archive, and make auth tests race-condition safe. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
committed by
Fred Cabassut
co-authored by
Claude Opus 4.6
parent
b3e55ff95c
commit
ac9bed93b2
@@ -103,7 +103,7 @@ export async function validateSession(
|
||||
|
||||
if (!result) return { valid: false };
|
||||
|
||||
if (result.expires_at < Date.now()) {
|
||||
if (result.expires_at * 1000 < Date.now()) {
|
||||
db.delete(sessions).where(eq(sessions.id, token)).run();
|
||||
return { valid: false };
|
||||
}
|
||||
|
||||
@@ -212,7 +212,9 @@ export async function deleteNote(id: string): Promise<boolean> {
|
||||
}
|
||||
|
||||
export async function trashNote(id: string): Promise<Note | null> {
|
||||
return updateNote(id, { trashed: true });
|
||||
const result = await updateNote(id, { trashed: true });
|
||||
if (result) notes.update((list) => list.filter((n) => n.id !== id));
|
||||
return result;
|
||||
}
|
||||
|
||||
export async function restoreNote(id: string): Promise<Note | null> {
|
||||
@@ -220,7 +222,9 @@ export async function restoreNote(id: string): Promise<Note | null> {
|
||||
}
|
||||
|
||||
export async function archiveNote(id: string): Promise<Note | null> {
|
||||
return updateNote(id, { archived: true });
|
||||
const result = await updateNote(id, { archived: true });
|
||||
if (result) notes.update((list) => list.filter((n) => n.id !== id));
|
||||
return result;
|
||||
}
|
||||
|
||||
export async function unarchiveNote(id: string): Promise<Note | null> {
|
||||
|
||||
Reference in New Issue
Block a user