diff --git a/server/src/db/migrations.ts b/server/src/db/migrations.ts index f65199644..abaa917e8 100644 --- a/server/src/db/migrations.ts +++ b/server/src/db/migrations.ts @@ -4176,6 +4176,21 @@ function runMigrations(db: Database.Database): void { db.exec("ALTER TABLE mcp_tokens ADD COLUMN kind TEXT NOT NULL DEFAULT 'mcp'"); } }, + /** + * `naver_list_import` was typed 'trip', but a trip addon is one that earns its own + * tab inside a trip — this one has no tab (it is not in tripTabs.ts) and no page. It + * calls an external service to pull places into the sidebar, which is exactly what + * 'integration' means here. + * + * The type is presentational: only `type === 'global'` is read anywhere + * (client navItems.ts), so this moves the tile between admin groups and changes + * nothing about how the import behaves. + * + * Appended LAST: the array is index-addressed against schema_version. + */ + () => { + db.prepare("UPDATE addons SET type = 'integration' WHERE id = 'naver_list_import'").run(); + }, ]; if (currentVersion < migrations.length) { diff --git a/server/src/db/seeds.ts b/server/src/db/seeds.ts index cee241872..eef8cc888 100644 --- a/server/src/db/seeds.ts +++ b/server/src/db/seeds.ts @@ -118,7 +118,7 @@ function seedAddons(db: Database.Database): void { { id: 'vacay', name: 'Vacay', description: 'Personal vacation day planner with calendar view', type: 'global', icon: 'CalendarDays', enabled: 1, sort_order: 10 }, { id: 'atlas', name: 'Atlas', description: 'World map of your visited countries with travel stats', type: 'global', icon: 'Globe', enabled: 1, sort_order: 11 }, { id: 'mcp', name: 'MCP', description: 'Model Context Protocol for AI assistant integration', type: 'integration', icon: 'Terminal', enabled: 0, sort_order: 12 }, - { id: 'naver_list_import', name: 'Naver List Import', description: 'Import places from shared Naver Maps lists', type: 'trip', icon: 'Link2', enabled: 1, sort_order: 13 }, + { id: 'naver_list_import', name: 'Naver List Import', description: 'Import places from a shared Naver Maps list', type: 'integration', icon: 'Link2', enabled: 1, sort_order: 13 }, { id: 'collab', name: 'Collab', description: 'Notes, polls, and live chat for trip collaboration', type: 'trip', icon: 'Users', enabled: 1, sort_order: 6 }, { id: 'journey', name: 'Journey', description: 'Trip tracking & travel journal — check-ins, photos, daily stories', type: 'global', icon: 'Compass', enabled: 0, sort_order: 35 }, { id: 'airtrail', name: 'AirTrail', description: 'Sync flights from your self-hosted AirTrail instance', type: 'integration', icon: 'Plane', enabled: 0, sort_order: 14 },