[PB-28063] Safari plugins support

Given that Edge is now supported, and Safari is still not, @Bob do you have the ability to update the title of this thread to reflect that (by removing Edge from the subject)?

@gene itā€™s updated, to reflect that edge is done. Cheers,

Hello all,

There is any news about safari compatibility ?

2 Likes

Hello @SHASKAN and welcome to the forum !

There are progress being made on this. Itā€™s still hard to give a clear ETA for it though. For the moment we experiment it and try to fix the different issues we are encountering.

The experiment done is based on the Chrome extension thanks to a tool that converts an existing browser extension to a Safari extension. At the moment, I can do a full recover of an account in a stable way which is already a good progress (before it works when it wanted, now it works thanks to the recent rework of the port management and compatibility improvement for the manifest version 3).

There are other important issues that need a solution like the opening of the Quickaccess which troubles are caused by problems related to Javascriptā€™s Promise management and maybe polyfills (still, not 100% sure yet but, we got similar issues on the Desktop App). Those are used everywhere in the browser extension. Also, another problem is the authentication, as I said the account recovery is ok but it finishes to a sign in process that fails. Passbolt uses GPGAuth mecanism that works here but in the end thereā€™s a cookie delivered by the server and the Passbolt Safariā€™s extension seems not willing to use it making the server refusing to accept any authenticated request.

Those are the 2 main issues at the moment, there are others like error showing cross-origin access attempt, regular expressions that doesnā€™t work the same as for the other browsers, some warnings to be checked when converting the extension to a Safari one.

6 Likes

Hello,

Thanks a lot for the feedback !

Wish you good luck for the dev :).

Have you any estimate of the release date/month/year for Safari extension ?

Regards.

Safari Extension Update: Progress, Fixes, and Ongoing Investigations

Hello Passbolt Community,

Weā€™re excited to share the latest developments and findings regarding the Passbolt Safari extension. Our team has been diligently working to address compatibility issues, enhance performance, and ensure a seamless experience for all Safari users. Hereā€™s a comprehensive update on where things stand:

Completed Work

  • Manifest File Adjustments: Weā€™ve streamlined the manifest file, resolving warnings related to unsupported keys. Notably, adjustments were made for the quick access icon, a mandatory but unused key, and the downloads permission, which remains under investigation.

  • Service Workers Startup: Resolved an issue where the extension wouldnā€™t start due to Safariā€™s lack of predefined values for certain APIs. The extension now initiates correctly upon installation or updates.

  • Stylesheet Compatibility: Improved the loading of CSS to ensure the extension displays correctly in Safari. The solution involved adapting the URL format to be relative rather than absolute.

  • Quick Access Fixes: Addressed an issue where a small empty bubble appeared upon clicking the quick access. The solution ensures proper detection and communication with the service worker.

  • Inform Menu and Calls to Action: Following a code refactoring and update to our application bootstrapping, the functionality for generating and inserting passwords is stable and performs well.

Ready for Code Review

  • Iframe Insertion: Weā€™ve found a workaround for inserting iframes in Safari, which previously blocked content changes due to Same-Origin policy. Setting an iframe attribute to ā€˜src=ā€œnullā€ā€™ allows us to proceed, pending validation.

  • Solution for Password Workspace: A proof of concept (PoC) compensates for the lack of local storage update callbacks in Safari. Events are now triggered within the browser extension, with changes communicated across the system.

  • Quick Access in Detached Mode: Improved session storage update methods to ensure the quick access functionality works reliably. Further review is needed to confirm no additional issues arise from this change.

  • Grid and Folder Structure Updates: Proposed solutions involve refreshing React state to address refresh issues in the password workspace. These are under review to ensure effectiveness.

Ongoing Investigations

  • Regular Expressions Support: Exploring alternatives like XRegExp to support specific regex patterns, especially for folder naming conventions.

  • Cross-Origin Access and Same-Origin Policy: Deep dives into iframe-related cross-origin errors and the limitations on cookie handling due to Safariā€™s policies. Potential workarounds include reverting to MV2 for extended compatibility and developing custom fetch functions.

  • Local Storage and Theme Changes: Considering page refresh as a straightforward solution to theme update issues, given Safariā€™s iframe restrictions.

  • SSO and IndexedDB Access: Investigating IndexedDB access issues and exploring tunnelling calls to iframes set with the correct origin as a potential solution.

  • Automating the Build Process: Aiming to fully automate the extensionā€™s build process for efficiency and consistency, with exploration into XCode CLI tools pending.

Weā€™re committed to enhancing the Passbolt experience for Safari users and appreciate your patience and support as we navigate these challenges. Your feedback is invaluable to our progress, so please share your thoughts and experiences with the updates.

Stay secure,

The Passbolt Team

5 Likes

Great job guys :clap::+1::+1::+1::+1:

2 Likes

Hi,
Is the safari extension publicly available?

Thanks

Hello Chris, I think that is not publicly accessible as I donā€™t remember any topic calling to test it in an alpha or beta version.
Maybe they are still investigating, developing and improving the security of the extension

1 Like

Yes thatā€™s correct. @Steph made a document summarising the issues and what was done / whats still missing: Passbolt Safari Web Extension - PUBLIC - Google Docs

5 Likes

Any update on allowing the iPhone-app to install on an apple silicon computer.
It would really help while waiting for the Safari plugin.

1 Like