diff options
| author | Danilo M. <danix@danix.xyz> | 2026-10-13 10:40:51 +0200 |
|---|---|---|
| committer | Danilo M. <danix@danix.xyz> | 2026-10-13 10:40:51 +0200 |
| commit | dc6211b61676fcea24aabd3300648cec699175fb (patch) | |
| tree | b74b3cd3d9fa3025cf8a9800f860a7cdb438b1d2 /desktop/island/calendar/test_cal.js | |
| parent | 901a88e26b91eb104aa9a837372d35db24f7b6bf (diff) | |
| download | quickshell-dc6211b61676fcea24aabd3300648cec699175fb.tar.gz quickshell-dc6211b61676fcea24aabd3300648cec699175fb.zip | |
fix(calendar): review findings in calctl and the editor
An edit now rewrites only the fields that changed. A save with nothing
changed used to rebuild the alarm, turning ACTION:AUDIO into DISPLAY
and dropping ACKNOWLEDGED, re-anchor the start to the local zone, and
strip SUMMARY's parameters; the test edits a foreign event unchanged and
checks every one survives.
get, edit and delete name the calendar the event is in. The same invite
synced into two calendars has one UID, and the panel acted on whichever
file came first, so editing one copy could overwrite or delete the
other.
A custom rule's date cannot be moved from the panel: BYDAY=MO stayed on
Monday while the start moved, and the series lost the day shown.
UNTIL is read back in local time, so a 22:30 series keeps its last
occurrence. Files are written 0644 like vdirsyncer's. Enter in the title
no longer bypasses the busy guard, which could create an event twice,
and a throwing callback no longer leaks its Process.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Diffstat (limited to 'desktop/island/calendar/test_cal.js')
| -rw-r--r-- | desktop/island/calendar/test_cal.js | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/desktop/island/calendar/test_cal.js b/desktop/island/calendar/test_cal.js index d91966e..9d0d147 100644 --- a/desktop/island/calendar/test_cal.js +++ b/desktop/island/calendar/test_cal.js @@ -84,6 +84,7 @@ assert.strictEqual(d.endTime, "11:00"); assert.strictEqual(d.startDay, "2026-10-20"); assert.strictEqual(d.alarm, "1h"); assert.strictEqual(d.calendar, "home"); +assert.strictEqual(d.source, ""); assert.strictEqual(C.newDraft("2026-10-20", new Date(2026, 9, 13, 23, 10), "home").startTime, "22:00"); // From calctl's JSON. @@ -92,6 +93,7 @@ const fe = C.fromEvent({ uid: "u", calendar: "home", title: "Trip", allDay: true assert.strictEqual(fe.startDay, "2026-10-14"); assert.strictEqual(fe.endDay, "2026-10-16"); assert.strictEqual(fe.allDay, true); +assert.strictEqual(fe.source, "home"); // where it lives now, for edit and delete assert.strictEqual(C.fromEvent(Object.assign({}, timed, { title: "x" })).startTime, "14:30"); // Picking on the grid: a click moves the event and keeps its length in days; |
