Import: a reminder nested under an application loses its source, note and retired date #1081

Closed
opened 2026-10-28 16:09:45 +00:00 by tiagoagueda · 0 comments
Owner

Found while landing #331. An account archive writes each reminder with its uid, source, note and retired_at (#887), but a reminder nested under an application is restored without source, note or retired_at: the importer reads only some of its fields there. A top-level reminder restores them all.

So, after an archive round trip, a reminder that came from a calendar file:

  • loses its source, so a later re-import of that calendar file may not recognise it;
  • loses its note;
  • comes back un-retired.

What to do

  • In core/importer.py, restore source, note and retired_at for nested reminders, exactly as for top-level ones. #331 added actor there; follow that line.
  • Add a round-trip test in tests/test_export.py: a reminder under an application, with a source, a note and a retired date, comes back identical.

No format change: the archive already carries the fields.

Found while landing #331. An account archive writes each reminder with its `uid`, `source`, `note` and `retired_at` (#887), but a reminder **nested under an application** is restored without `source`, `note` or `retired_at`: the importer reads only some of its fields there. A top-level reminder restores them all. So, after an archive round trip, a reminder that came from a calendar file: - loses its source, so a later re-import of that calendar file may not recognise it; - loses its note; - comes back un-retired. ## What to do - In `core/importer.py`, restore `source`, `note` and `retired_at` for nested reminders, exactly as for top-level ones. #331 added `actor` there; follow that line. - Add a round-trip test in `tests/test_export.py`: a reminder under an application, with a source, a note and a retired date, comes back identical. No format change: the archive already carries the fields.
tiagoagueda added this to the 0.5.0 milestone 2026-10-28 16:09:45 +00:00
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
Postulo/postulo#1081
No description provided.