v2.0.2 — English tag aliases, English-only website, undo-body flaky fix

- tags: accept #birthday and #appointment as English synonyms for
  #geburtstag and #termin. Normalised to the German canonical form at
  extractTags() write-time so every downstream check (parseTags /
  calendar logic / board filters) keeps working without per-call-site
  aliasing. Editor body-regex extended so the "new appointment"
  heuristic and auto-sync trigger on either variant.
- website: replace #termin/#geburtstag with #appointment/#birthday in
  tag chips, calendar feature list, and calendar legend.
- tests: fix flaky "Undo: Editor Save → Ctrl+Z reverts body change"
  that raced doSave(). The test polled the server for the patched body
  and fired Ctrl+Z as soon as it landed, but the undo shortcut is
  guarded by !guards.isOpen('modal'), and closeModal() only runs after
  the post-patch _reloadAll — on fast servers the key was swallowed.
  Poll now also waits for the modal `.open` class to drop.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
thandClaude Opus 4.7 committed 2026-04-18 10:04:08 +02:00
1 parent 89d84d3538
commit 48b5907f4c
6 files changed
+25 -12

No files matched your search

+6 -6
View File
@@ -352,10 +352,10 @@ footer {
<span class="vtag" style="background:rgba(52,211,153,0.06);color:var(--gn);border-color:rgba(52,211,153,0.2);">#ops</span>
<span class="vtag" style="background:rgba(52,211,153,0.06);color:var(--gn);border-color:rgba(52,211,153,0.2);">#done</span>
<span class="vtag" style="background:rgba(251,191,36,0.06);color:var(--yl);border-color:rgba(251,191,36,0.2);">#meeting</span>
<span class="vtag" style="background:rgba(251,191,36,0.06);color:var(--yl);border-color:rgba(251,191,36,0.2);">#termin</span>
<span class="vtag" style="background:rgba(251,191,36,0.06);color:var(--yl);border-color:rgba(251,191,36,0.2);">#appointment</span>
<span class="vtag" style="background:rgba(56,189,248,0.06);color:var(--ac);border-color:rgba(56,189,248,0.2);">#research</span>
<span class="vtag" style="background:rgba(244,114,182,0.06);color:var(--pk);border-color:rgba(244,114,182,0.2);">#idea</span>
<span class="vtag" style="background:rgba(244,114,182,0.06);color:var(--pk);border-color:rgba(244,114,182,0.2);">#geburtstag</span>
<span class="vtag" style="background:rgba(244,114,182,0.06);color:var(--pk);border-color:rgba(244,114,182,0.2);">#birthday</span>
<span class="vtag" style="background:rgba(56,189,248,0.06);color:var(--ac);border-color:rgba(56,189,248,0.2);">#personal</span>
</div>
</div>
@@ -407,8 +407,8 @@ See also: <span class="link">[[Infra checklist]]</span>
<p>A month-grid calendar built into hyprcrd. Journal entries, appointments, and birthdays — all just cards with the right title or tag. Bidirectional CalDAV sync with ownCloud and Nextcloud.</p>
<ul>
<li>Journal entries: title = <code>YYYY-MM-DD</code>, one per day, no tag needed</li>
<li>Appointments: <code>#termin</code> tag + structured template (time, end, location, attendees)</li>
<li>Birthdays: <code>#geburtstag</code> tag, recurring annually</li>
<li>Appointments: <code>#appointment</code> tag + structured template (time, end, location, attendees)</li>
<li>Birthdays: <code>#birthday</code> tag, recurring annually</li>
<li>Click any day to create a journal entry, appointment, or birthday</li>
<li>CalDAV sync: bidirectional push/pull with ownCloud, Nextcloud, or any CalDAV server</li>
<li>Per-calendar color + icon configuration</li>
@@ -434,8 +434,8 @@ See also: <span class="link">[[Infra checklist]]</span>
</div>
<div style="margin-top:12px;font-size:10px;display:flex;gap:12px;justify-content:center;">
<span><span style="color:var(--ac);">&bull;</span> journal</span>
<span><span style="color:var(--yl);">&bull;</span> termin</span>
<span><span style="color:var(--pk);">&bull;</span> geburtstag</span>
<span><span style="color:var(--yl);">&bull;</span> appointment</span>
<span><span style="color:var(--pk);">&bull;</span> birthday</span>
</div>
</div>
</div>