Notes: tags, Markdown, search highlight and sorting, trash and history, reminders, photos and files, reorder/sub-items/due dates, own templates, view-only sharing, offline edits, redesigned screens
build-container / build (push) Successful in 6m4s

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
This commit is contained in:
nmemmertandClaude Sonnet 5.5 committed 2026-10-29 11:43:15 -04:00
1 parent 781bdef06d
commit 647f82afa2
7 files changed
+315 -73

No files matched your search

+1
View File
@@ -71,6 +71,7 @@ let lastDigest = 0, lastEps = 0;
async function tick(now = new Date(), force = false) {
if (now.getTime() - lastDigest >= 10 * 60e3) { lastDigest = now.getTime(); try { require('./activity').weeklyDigest(now); } catch (e) { console.warn('[push] weekly summary failed:', e.message); } } // (each child's week, to the parents, on Monday morning)
if (now.getTime() - lastEps >= 30 * 60e3) { lastEps = now.getTime(); try { await require('./automations').checkEpisodes(n => require('./podcast').recentEpisodes(n)); } catch (e) { console.warn('[push] new episodes check failed:', e.message); } }
try { for (const r of require('./notes').dueReminders(now.getTime())) { const payload = { title: r.title, body: 'Reminder from Notes', url: '#/notes/' + r.id, tag: 'note:' + r.id }; require('./inbox').add(r.uid, { kind: 'remind', title: payload.title, body: payload.body, url: payload.url, tag: payload.tag }); await notify(r.uid, payload).catch(() => {}); } } catch (e) { console.warn('[push] note reminders failed:', e.message); }
const checkEvents = force || now.getTime() - lastEvents >= 4.5 * 60e3;
if (checkEvents) lastEvents = now.getTime();
for (const u of users.all()) {