[PR #2495] Add OneTab import with optional tag #2132

Open
opened 2026-03-02 12:00:41 +03:00 by kerem · 0 comments
Owner

📋 Pull Request Information

Original PR: https://github.com/karakeep-app/karakeep/pull/2495
Author: @apo-mak
Created: 2/18/2026
Status: 🔄 Open

Base: mainHead: onetab


📝 Commits (7)

  • c60cd27 Add OneTab import with optional tag
  • dd4ba6a i18n tag placeholder; add OneTab parser tests
  • 5f9b0cb Support comma-separated tags for OneTab import
  • da1d947 Assert tags and paths explicitly in tests
  • 58168fd Update onetab parser test to expect link type
  • 935fe2c Merge branch 'main' into onetab
  • 1e947b9 Merge branch 'main' into onetab

📊 Changes

6 files changed (+146 additions, -2 deletions)

View changed files

📝 apps/web/components/settings/ImportExport.tsx (+48 -0)
📝 apps/web/lib/hooks/useBookmarkImport.ts (+3 -0)
📝 apps/web/lib/i18n/locales/en/translation.json (+2 -0)
📝 packages/shared/import-export/importer.ts (+3 -1)
📝 packages/shared/import-export/parsers.test.ts (+49 -0)
📝 packages/shared/import-export/parsers.ts (+41 -1)

📄 Description

Add support for importing OneTab exports.

UI: new OneTabImportCard in ImportExport with an optional tag input and FilePickerButton.
Hook: useBookmarkImport now accepts extraTags and passes them through.
Importer: importBookmarksFromFile accepts extraTags and merges them into bookmark tags (deduplicated).
Parser: add parseOneTabFile to parse OneTab lines (handles "URL | Title" or plain URL, skips non-URLs) and register the "onetab" source.

Also add an i18n key for the OneTab import description.


🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.

## 📋 Pull Request Information **Original PR:** https://github.com/karakeep-app/karakeep/pull/2495 **Author:** [@apo-mak](https://github.com/apo-mak) **Created:** 2/18/2026 **Status:** 🔄 Open **Base:** `main` ← **Head:** `onetab` --- ### 📝 Commits (7) - [`c60cd27`](https://github.com/karakeep-app/karakeep/commit/c60cd27854c3926c47c03d42545bb8b3a73f2cb7) Add OneTab import with optional tag - [`dd4ba6a`](https://github.com/karakeep-app/karakeep/commit/dd4ba6a0ba01bc55d934ee20ffa02a113543197b) i18n tag placeholder; add OneTab parser tests - [`5f9b0cb`](https://github.com/karakeep-app/karakeep/commit/5f9b0cbf832a2715e7994110fee3995f6c7eb590) Support comma-separated tags for OneTab import - [`da1d947`](https://github.com/karakeep-app/karakeep/commit/da1d947762025e5480eb357758536b366fb9f99d) Assert tags and paths explicitly in tests - [`58168fd`](https://github.com/karakeep-app/karakeep/commit/58168fd1452406ea512bd4a06bfc04bdfb97ac6d) Update onetab parser test to expect link type - [`935fe2c`](https://github.com/karakeep-app/karakeep/commit/935fe2c037b97ce293a7d9de5f7ee9cbb75c4da9) Merge branch 'main' into onetab - [`1e947b9`](https://github.com/karakeep-app/karakeep/commit/1e947b9e997fc974fd3b34fcda105ce3be8444f6) Merge branch 'main' into onetab ### 📊 Changes **6 files changed** (+146 additions, -2 deletions) <details> <summary>View changed files</summary> 📝 `apps/web/components/settings/ImportExport.tsx` (+48 -0) 📝 `apps/web/lib/hooks/useBookmarkImport.ts` (+3 -0) 📝 `apps/web/lib/i18n/locales/en/translation.json` (+2 -0) 📝 `packages/shared/import-export/importer.ts` (+3 -1) 📝 `packages/shared/import-export/parsers.test.ts` (+49 -0) 📝 `packages/shared/import-export/parsers.ts` (+41 -1) </details> ### 📄 Description Add support for importing OneTab exports. UI: new OneTabImportCard in ImportExport with an optional tag input and FilePickerButton. Hook: useBookmarkImport now accepts extraTags and passes them through. Importer: importBookmarksFromFile accepts extraTags and merges them into bookmark tags (deduplicated). Parser: add parseOneTabFile to parse OneTab lines (handles "URL | Title" or plain URL, skips non-URLs) and register the "onetab" source. Also add an i18n key for the OneTab import description. --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
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
starred/karakeep#2132
No description provided.