-
-
Notifications
You must be signed in to change notification settings - Fork 279
feat: Add Karakeep sync #1953
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
feat: Add Karakeep sync #1953
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
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