Giter Club home page Giter Club logo

Comments (9)

 avatar commented on June 17, 2024

Good find. I hadn't yet tested it myself as I don't often use chromium lately. I have traced the issue to a permissions issue. It seems the extension ID is different for this case where the extension is unpacked.

You can workaround the issue temporarily by adding the extension ID to the ~/.config/chromium/NativeMessagingHosts/.org.keepassxc.keepassxc_browser.json file's allowed_origins array but the real fix will be to the keepassxc source code. I will see what I can work out with them.

from ungoogled-chromium-debian.

 avatar commented on June 17, 2024

In the meantime I will apply the patch I have come up with to my own build of keepassxc. You can use it if you wish but that is up to you.

from ungoogled-chromium-debian.

bloatmode avatar bloatmode commented on June 17, 2024

Can't you just set the extension ID appropriately in the appropriate file in your keepassxc-browser package?

from ungoogled-chromium-debian.

 avatar commented on June 17, 2024

No. You can't set the extension ID directly from the extension itself. It's generated by Chromium using an algorithm that involves hashing the directory name that the extension is in. So the only real solution is to update keepassxc with the new ID.

It deviates from the original extension ID because it is provided as an unpacked extension instead of as a crx bundle. Their IDs are generated differently and I do not think I could get the unpacked extension to produce the same ID. And I know of no way to get Chromium to load an extension from an external file instead of an external directory.

from ungoogled-chromium-debian.

 avatar commented on June 17, 2024

So upstream has rejected the patch because the "unpacked extension ID is unique". It seems consistent across different chromium versions in my packaging so what I am going to do is just provide a patched version of keepassxc in the ungoogled-chromium PPA so people can have both in sync and have them work together properly. It should be available to you shortly. That should resolve the issue for you.

from ungoogled-chromium-debian.

bloatmode avatar bloatmode commented on June 17, 2024

No. You can't set the extension ID directly from the extension itself.

This is not what I meant. I'm not familiar with how packaging works in Ubuntu, but couldn't you make your install script edit ~/.config/chromium/NativeMessagingHosts/.org.keepassxc.keepassxc_browser.json when installing package keepassxc-browser?

from ungoogled-chromium-debian.

 avatar commented on June 17, 2024

Yes though that has practical problems because home directories are at variable locations. Even if there weren't packaging challenges there's still the problems I observed in testing keepassxc integration. keepassxc deletes or overwrites the browser integration files like org.keepassxc.keepassxc_browser.json whenever the browser integration settings are saved or otherwise modified regardless of the nature of the changes.

So even if I fixed it in the packaging for the extension keepassxc would just undo them taking us back to the original problem. The only viable solution seems to be to patch keepassxc so the extension ID is included in the generated configuration since manual configuration seems to be out of the question as keepassxc will modify or remove it effectively undoing the manual configuration.

from ungoogled-chromium-debian.

 avatar commented on June 17, 2024

Ok, it's done. You can install the patched keepassxc from the PPA now. My tests reveal that it should now connect properly.

from ungoogled-chromium-debian.

 avatar commented on June 17, 2024

@Eloston please close this issue. I believe it has been resolved.

from ungoogled-chromium-debian.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.