feat: Add Karakeep sync#1953
Conversation
marcelklehr
left a comment
There was a problem hiding this comment.
Looks really good, thank you for the effort you put into this :)
|
@marcelklehr Seems like some tests are failing (which is understandable) but it's not clear to me why exactly they're failing. |
|
It appears that the js build is failing. I'll try to build it tomorrow and see if I can find the problem |
…MohamedBassem-add-karakeep
Signed-off-by: Marcel Klehr <mklehr@gmx.net>
|
A simple |
|
Now CI is failing to setup the karakeep container: |
Ah that might be an easy fix, changing the DATA_DIR to be '/' or maybe '/tmp' |
|
I managed to run the tests locally, and I'm still fixing the test failures. Still trying to understand the expected semantics. |
|
I'm happy to help. If you like, we can chat on https://matrix.to/#/#marcelklehr_floccus:gitter.im |
Signed-off-by: Marcel Klehr <mklehr@gmx.net>
Signed-off-by: Marcel Klehr <mklehr@gmx.net>
Signed-off-by: Marcel Klehr <mklehr@gmx.net>
Signed-off-by: Marcel Klehr <mklehr@gmx.net>
Signed-off-by: Marcel Klehr <mklehr@gmx.net>
|
Fixed the last test, but the server setup still fails in CI |
|
Another thing I noticed: When calling removeFolder() on the adapter, floccus assumes that everything under that folder is removed, too, including sub-folders. Is that currently the case? |
@marcelklehr It seems that the latest failure is because of the address. Given that we're exporting port
Oh, no that's not the case. Currently, removing a folder, removes the the bookmark <-> list link, but the bookmark lives. And subfolders end up getting promoted to be top level folders. We'll have to manually mimic it, I can give that a shot after fixing the server issue. |
|
I think we cannot use localhost because floccus runs in a separate selenium container :D Let me try setting the container name manually, hopefully that works |
|
@marcelklehr Oh totally, forgot that selenium is running in its own container. So we need to put the two containers in the same network (or move them both to |
Damnit, didn't work |
659d4a4 to
c3d1077
Compare
|
Woop woop, thanks @MohamedBassem I expect to ship this in a few weeks :) |
|
Thanks a lot for the help @marcelklehr! |
|
@marcelklehr is there anticipated release date of the feature on Floccus? I would love to enable that sync :) |
|
@marcelklehr I would also like to have this feature in the next version. :) |
|
Yep, I haven't forgotten about this, it's in the pipeline. I'm currently still in the process of rolling out v5.5.x which had a major flaw which I had to fix, so I'm more careful with the rollout this time than usual. Karakeep will make it into v5.6.x. I'd say ETA is in the coming weeks. |
|
Feel free to send me some issues @marcelklehr :) |
|
I would love to have the option to sync all my bookmarks regardless of the list structure or the option to sync all lists :) |
Hi there, I'm the maintainer of Karakeep!
Adding a sync with Karakeep is apparently a popular FR on Floccus (#1745) and on Karakeep (karakeep-app/karakeep#712), so I took a stab at implementing it.
The way I implemented it is that I mimic-ed your implementation for Linkwarden exactly and changed the APIs to be that of Karakeep, hopefully that'll be good enough. There were some places where I saw some inconsistent casing (e.g. in i18n label names), but I kept them the same as those of linkwarden for consistency.
I tested the extension locally, and it works, you can see it in action here:
CleanShot.2025-05-11.at.2.14.43.mp4
However, what I didn't do is run the extensions' tests yet which I'll do after getting some provisional review from you.
EDIT: Just noticed that I wrote floccus incorrectly in the demo, sorry! :D