Files
vikunja/pkg/modules/migration/ticktick/testdata_ticktick_multiline.csv
kolaente a4aad79f53 fix: TickTick import (#1871)
This change fixes a few issues with the TickTick import:

1. BOM (Byte Order Mark) Handling: Added stripBOM() function to properly handle UTF-8 BOM at the beginning of CSV files
2. Multi-line Status Section: Updated header detection to handle the multi-line status description in real TickTick exports
3. CSV Parser Configuration: Made the CSV parser more lenient with variable field counts and quote handling
4. Test Infrastructure: Added missing logger initialization for tests
5. Field Mapping: Fixed the core issue where CSV fields weren't being mapped to struct fields correctly

The main problem was in the newLineSkipDecoder function where:
- Header detection calculated line skip count on BOM-stripped content
- CSV decoder was also stripping BOM and applying the same skip count
- This caused inconsistent positioning and empty field mapping

Rewrote the decoder to use a scanner-based approach with consistent BOM handling.

Resolves https://github.com/go-vikunja/vikunja/issues/1870
2025-11-25 22:32:39 +00:00

862 B

1Date: 2025-11-25+0000
2Version: 7.1
3Status: 0 Normal 1 Completed 2 Archived
4Folder NameList NameTitleKindTagsContentIs Check listStart DateDue DateReminderRepeatPriorityStatusCreated TimeCompleted TimeOrderTimezoneIs All DayIs FloatingColumn NameColumn OrderView ModetaskIdparentId
5WorkProject AlphaTask with multiline descriptionTEXTurgent, workThis is a task description that spans multiple lines. It has paragraphs and everything! Including special characters: #, *, @N002022-10-09T15:09:48+0000-1099511627776Europe/Berlinfalselist1
6WorkProject AlphaRegular taskTEXTSimple descriptionN002022-10-09T15:10:00+0000-1099511627775Europe/Berlinfalselist2