feat: Initial clean release of CHM
一些检查失败了
automerge / automerge (push) Has been cancelled
react-native-android-build-apk / AssembleRelease (push) Has been cancelled
Build macOS M1 / Main (push) Has been cancelled
Joplin Continuous Integration / Main (macos-15-intel) (push) Has been cancelled
Joplin Continuous Integration / Main (ubuntu-22.04) (push) Has been cancelled
Joplin Continuous Integration / Main (ubuntu-22.04-arm) (push) Has been cancelled
Joplin Continuous Integration / Main (windows-11-vs2026-arm) (push) Has been cancelled
Joplin Continuous Integration / Main (windows-2025) (push) Has been cancelled
Joplin Continuous Integration / ServerDockerImage (ubuntu-22.04) (push) Has been cancelled
Joplin Continuous Integration / ServerDockerImage (ubuntu-22.04-arm) (push) Has been cancelled
Joplin UI tests / Main (ubuntu-22.04) (push) Has been cancelled
Joplin UI tests / Main (windows-2025) (push) Has been cancelled
Joplin UI tests / Mobile (push) Has been cancelled
Close stale issues / ProcessStaleIssues (push) Has been cancelled

这个提交包含在:
chen
2026-11-04 11:29:39 +08:00
当前提交 301194963b
共有 8663 个文件被更改,包括 1962691 次插入 和 0 次删除

查看文件

@@ -0,0 +1,29 @@
import Note from '../../../../models/Note';
import Folder from '../../../../models/Folder';
import Tag from '../../../../models/Tag';
// Returns null for notes the model must not see: missing, conflicts, or trashed.
const loadNoteForReading = async (id: string) => {
const note = await Note.load(id);
if (!note || note.is_conflict || (note.deleted_time && note.deleted_time > 0)) return null;
const folder = note.parent_id ? await Folder.load(note.parent_id) : null;
const tags = await Tag.tagsByNoteId(note.id);
return {
metadata: {
id: note.id,
title: note.title,
notebook_id: note.parent_id,
notebook_title: folder ? folder.title : null,
tags: tags.map(t => t.title),
is_todo: !!note.is_todo,
todo_completed: !!note.todo_completed,
created_time: note.created_time,
updated_time: note.updated_time,
},
body: note.body ?? '',
};
};
export default loadNoteForReading;