[GH-ISSUE #1787] The Export Links feature likely takes an extended time and therefore should give feedback to the user that it has started (currently there is none) #1117

Closed
opened 2026-03-02 11:55:07 +03:00 by kerem · 9 comments
Owner

Originally created by @sprior on GitHub (Jul 26, 2025).
Original GitHub issue: https://github.com/karakeep-app/karakeep/issues/1787

Originally assigned to: @Ahmed-Abdel-karim on GitHub.

Describe the Bug

I love Karakeep's functionality! I've got 15k bookmarks (mostly imported from Pocket) and 32k AI generated tags. I've done extensive bookmark and tagging cleanup and I'd like to do a JSON export for safekeeping. When I click on export file in Karakeep JSON format I get no visual acknowledgement of the request at all so I don't know whether it's started but is going to take a while, or maybe it aborted - no way to know. Doing a docker logs -f karakeep-web-1 doesn't show any indication of the request at all though I see logs of health check calls after that.

Steps to Reproduce

  1. Start with 15k bookmarks, 32k tags
  2. Go to User Settings -> Import/Export
  3. Click on the black Export button
  4. Nothing at all happens

Expected Behaviour

I think if this is going to be an extended operation (which it probably is) I should at least get an immediate acknowledgement that the process has started. It would make sense for this to be kicked off as a background activity and then I get a notification when the export file is ready for download, this approach would also address any web browser timeout issues. But for all I know the export process just silently crashed.

Screenshots or Additional Context

No response

Device Details

Firefox 141, Windows 11

Exact Karakeep Version

v0.26.0

Have you checked the troubleshooting guide?

  • I have checked the troubleshooting guide and I haven't found a solution to my problem
Originally created by @sprior on GitHub (Jul 26, 2025). Original GitHub issue: https://github.com/karakeep-app/karakeep/issues/1787 Originally assigned to: @Ahmed-Abdel-karim on GitHub. ### Describe the Bug I love Karakeep's functionality! I've got 15k bookmarks (mostly imported from Pocket) and 32k AI generated tags. I've done extensive bookmark and tagging cleanup and I'd like to do a JSON export for safekeeping. When I click on export file in Karakeep JSON format I get no visual acknowledgement of the request at all so I don't know whether it's started but is going to take a while, or maybe it aborted - no way to know. Doing a docker logs -f karakeep-web-1 doesn't show any indication of the request at all though I see logs of health check calls after that. ### Steps to Reproduce 1. Start with 15k bookmarks, 32k tags 2. Go to User Settings -> Import/Export 3. Click on the black Export button 4. Nothing at all happens ### Expected Behaviour I think if this is going to be an extended operation (which it probably is) I should at least get an immediate acknowledgement that the process has started. It would make sense for this to be kicked off as a background activity and then I get a notification when the export file is ready for download, this approach would also address any web browser timeout issues. But for all I know the export process just silently crashed. ### Screenshots or Additional Context _No response_ ### Device Details Firefox 141, Windows 11 ### Exact Karakeep Version v0.26.0 ### Have you checked the troubleshooting guide? - [x] I have checked the troubleshooting guide and I haven't found a solution to my problem
Author
Owner

@MohamedBassem commented on GitHub (Aug 21, 2025):

@sprior anything in the logs when you trigger the export?

<!-- gh-comment-id:3212380068 --> @MohamedBassem commented on GitHub (Aug 21, 2025): @sprior anything in the logs when you trigger the export?
Author
Owner

@sprior commented on GitHub (Aug 21, 2025):

The only thing that appears in the logs is:

<-- GET /api/trpc/users.settings,users.whoami?batch=1&input=%7B%220%22%3A%7B%22json%22%3Anull%2C%22meta%22%3A%7B%22values%22%3A%5B%22undefined%22%5D%7D%7D%2C%221%22%3A%7B%22json%22%3Anull%2C%22meta%22%3A%7B%22values%22%3A%5B%22undefined%22%5D%7D%7D%7D
--> GET /api/trpc/users.settings,users.whoami?batch=1&input=%7B%220%22%3A%7B%22json%22%3Anull%2C%22meta%22%3A%7B%22values%22%3A%5B%22undefined%22%5D%7D%7D%2C%221%22%3A%7B%22json%22%3Anull%2C%22meta%22%3A%7B%22values%22%3A%5B%22undefined%22%5D%7D%7D%7D 200 71ms
<-- GET /api/health
--> GET /api/health 200 1ms

<!-- gh-comment-id:3212410755 --> @sprior commented on GitHub (Aug 21, 2025): The only thing that appears in the logs is: <-- GET /api/trpc/users.settings,users.whoami?batch=1&input=%7B%220%22%3A%7B%22json%22%3Anull%2C%22meta%22%3A%7B%22values%22%3A%5B%22undefined%22%5D%7D%7D%2C%221%22%3A%7B%22json%22%3Anull%2C%22meta%22%3A%7B%22values%22%3A%5B%22undefined%22%5D%7D%7D%7D --> GET /api/trpc/users.settings,users.whoami?batch=1&input=%7B%220%22%3A%7B%22json%22%3Anull%2C%22meta%22%3A%7B%22values%22%3A%5B%22undefined%22%5D%7D%7D%2C%221%22%3A%7B%22json%22%3Anull%2C%22meta%22%3A%7B%22values%22%3A%5B%22undefined%22%5D%7D%7D%7D 200 71ms <-- GET /api/health --> GET /api/health 200 1ms
Author
Owner

@sprior commented on GitHub (Aug 21, 2025):

I did figure out that I could do:
docker run --rm ghcr.io/karakeep-app/karakeep-cli:release --api-key my_api_key --server-addr my_server_addr bookmarks list > export.txt

and after a few minutes the export.txt would get created. Is this exactly the same as what the GUI export function would produce if I could get it to work?

<!-- gh-comment-id:3212433285 --> @sprior commented on GitHub (Aug 21, 2025): I did figure out that I could do: docker run --rm ghcr.io/karakeep-app/karakeep-cli:release --api-key my_api_key --server-addr my_server_addr bookmarks list > export.txt and after a few minutes the export.txt would get created. Is this exactly the same as what the GUI export function would produce if I could get it to work?
Author
Owner

@sprior commented on GitHub (Aug 21, 2025):

Actually the export just worked, you have to press the button, get no indication things are happening and keep the faith that several minutes later the file download would come.

I also just found that while the two formats are clearly related the command line file produced is a little different from the export feature, for example the export feature wraps the entire list with {"bookmarks": and the command line version does not.

<!-- gh-comment-id:3212475493 --> @sprior commented on GitHub (Aug 21, 2025): Actually the export just worked, you have to press the button, get no indication things are happening and keep the faith that several minutes later the file download would come. I also just found that while the two formats are clearly related the command line file produced is a little different from the export feature, for example the export feature wraps the entire list with {"bookmarks": and the command line version does not.
Author
Owner

@MohamedBassem commented on GitHub (Aug 21, 2025):

@sprior what you generated from the CLI can't be imported back to karakeep. The export however can be. I think it's fair to add a loading indication for the export as well :) Can you repurpose this issue to be about that?

<!-- gh-comment-id:3212479214 --> @MohamedBassem commented on GitHub (Aug 21, 2025): @sprior what you generated from the CLI can't be imported back to karakeep. The export however can be. I think it's fair to add a loading indication for the export as well :) Can you repurpose this issue to be about that?
Author
Owner

@sprior commented on GitHub (Aug 21, 2025):

I changed the title. My description pretty much covered that there should be some acknowledgement that this extended operation has started.

<!-- gh-comment-id:3212484636 --> @sprior commented on GitHub (Aug 21, 2025): I changed the title. My description pretty much covered that there should be some acknowledgement that this extended operation has started.
Author
Owner

@sprior commented on GitHub (Aug 21, 2025):

In the docs at https://docs.karakeep.app/command-line features list:
Mass import/export of bookmarks

This seems to imply that the cli export of the bookmarks could be re-imported (which would be a good backup method) when apparently this is not the case. It would make sense to me that the export format would work for this, but at least the docs should make it clear this is not so.

<!-- gh-comment-id:3212489716 --> @sprior commented on GitHub (Aug 21, 2025): In the docs at https://docs.karakeep.app/command-line features list: Mass import/export of bookmarks This seems to imply that the cli export of the bookmarks could be re-imported (which would be a good backup method) when apparently this is not the case. It would make sense to me that the export format would work for this, but at least the docs should make it clear this is not so.
Author
Owner

@Ahmed-Abdel-karim commented on GitHub (Aug 24, 2025):

I’d like to work on this issue, if that’s okay.

<!-- gh-comment-id:3217973632 --> @Ahmed-Abdel-karim commented on GitHub (Aug 24, 2025): I’d like to work on this issue, if that’s okay.
Author
Owner

@MohamedBassem commented on GitHub (Aug 24, 2025):

@Ahmed-Abdel-karim I assigned it to you!

<!-- gh-comment-id:3217974536 --> @MohamedBassem commented on GitHub (Aug 24, 2025): @Ahmed-Abdel-karim I assigned it to you!
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#1117
No description provided.