board: no new-card pulse for fresh journal entries
Closing a new journal entry briefly flashed the card with the 1× local-created pulse. Journal entries are daily-log noise, not "look at this new thing" moments, so the flash reads as clutter. Detect journals at pulse time (title starts YYYY-MM-DD, no termin/geburtstag, no caldav_uid, no " — <summary>" suffix — mirrors calendar.js isJournal) and drop them from the pulse set. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
1 parent
412dc527a3
commit
c9749352ec
3 files changed
+18
-3
No files matched your search
@@ -768,9 +768,24 @@ export function renderBoard() {
|
||||
// Pulse locally-created cards in ANY bucket (1× subtle pulse).
|
||||
// These never enter unseenCardIds so they can't trigger the all-tab
|
||||
// dot — the user just made them, there's nothing "unseen" about it.
|
||||
// Journal entries are exempt from the pulse entirely — they're daily
|
||||
// log jottings, not "here's a new thing" moments, so the flash
|
||||
// reads as noise. Detection mirrors calendar.js isJournal: title
|
||||
// begins with YYYY-MM-DD, no termin/geburtstag tag, no caldav_uid,
|
||||
// and no " — <summary>" suffix (which denotes an appointment).
|
||||
if (newLocalIds.size) {
|
||||
for (const id of newLocalIds) state.recentlyCreatedIds.delete(id);
|
||||
pulseCards(newLocalIds, 'card-pulse-local');
|
||||
const toPulse = new Set();
|
||||
for (const id of newLocalIds) {
|
||||
const card = state.cards.find(c => String(c.id) === id);
|
||||
if (!card) continue;
|
||||
const isJournal = /^\d{4}-\d{2}-\d{2}$/.test((card.title || '').trim())
|
||||
&& !/^\d{4}-\d{2}-\d{2}\s*[—-]\s*.+/.test(card.title || '')
|
||||
&& !card.caldav_uid
|
||||
&& !(card.tags || '').split(',').some(t => t === 'termin' || t === 'geburtstag');
|
||||
if (!isJournal) toPulse.add(id);
|
||||
}
|
||||
if (toPulse.size) pulseCards(toPulse, 'card-pulse-local');
|
||||
}
|
||||
// Remote (relay-synced) cards: pulse 3× only when the user is on
|
||||
// the all view. On other views, the unseen ids accumulate and
|
||||
|
||||
Reference in new issue
Block a user