fix: find reply root properly
All checks were successful
create archive with lfs / tag (push) Successful in 9s

This commit is contained in:
dusk 2024-12-16 19:32:25 +03:00
parent b2915e3087
commit 7440f6139e
Signed by: dusk
SSH Key Fingerprint: SHA256:Abmvag+juovVufZTxyWY8KcVgrznxvBjQpJesv071Aw

View File

@ -32,18 +32,19 @@ export const readNote = (id: NoteId): Note => {
return JSON.parse(readFileSync(getNotePath(id)).toString())
}
export const findReplyRoot = (id: NoteId): {rootNote: Note, rootNoteId: NoteId} => {
let currentNoteId: string | null = id
let currentNote: Note | null = null
while (currentNoteId !== null) {
currentNote = readNote(currentNoteId)
currentNoteId = currentNote.replyTo ?? null
let noteId: string | null = id
let current: {rootNote?: Note, rootNoteId?: NoteId} = {}
while (noteId !== null) {
current.rootNote = readNote(noteId)
current.rootNoteId = noteId
noteId = current.rootNote.replyTo ?? null
}
if (currentNote === null || currentNoteId === null) {
if (current.rootNote === undefined || current.rootNoteId === undefined) {
throw "no note with id found"
}
return {
rootNote: currentNote,
rootNoteId: currentNoteId,
rootNote: current.rootNote,
rootNoteId: current.rootNoteId,
}
}
export const writeNote = (id: NoteId, note: Note) => {