vikunja/pkg/modules/migration
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
..
handler fix: correct license header references (#882) 2025-06-10 12:18:38 +02:00
microsoft-todo feat: move to slog for logging 2025-07-21 18:15:39 +02:00
ticktick fix: TickTick import (#1871) 2025-11-25 22:32:39 +00:00
todoist feat: move to slog for logging 2025-07-21 18:15:39 +02:00
trello feat: move to slog for logging 2025-07-21 18:15:39 +02:00
vikunja-file feat: move to slog for logging 2025-07-21 18:15:39 +02:00
create_from_structure.go fix(migration): reset buckets before creating related tasks so that they are actually created (#1015) 2025-06-25 14:03:44 +02:00
create_from_structure_test.go fix: correct license header references (#882) 2025-06-10 12:18:38 +02:00
db.go fix: correct license header references (#882) 2025-06-10 12:18:38 +02:00
errors.go fix: correct license header references (#882) 2025-06-10 12:18:38 +02:00
helpers.go fix(migration): return proper error message when request fails 2025-11-12 20:25:17 +01:00
helpers_test.go fix(migration): return proper error message when request fails 2025-11-12 20:25:17 +01:00
main_test.go feat: move to slog for logging 2025-07-21 18:15:39 +02:00
migration_status.go fix: correct license header references (#882) 2025-06-10 12:18:38 +02:00
migrator.go fix: correct license header references (#882) 2025-06-10 12:18:38 +02:00
testimage.jpg feat(migrators): remove wunderlist (#1346) 2022-12-29 17:12:39 +00:00