Skip to content
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

Implement local socket to communicate with finder extension #4316

Merged
merged 1 commit into from
Mar 17, 2022

Conversation

claucambra
Copy link
Collaborator

Signed-off-by: Claudio Cambra claudio.cambra@gmail.com

This PR changes how we handle the communication with the Finder extension through our socket. The socket client now lives in the Finder extension.

The biggest benefits of this change are that:

  1. We can easily use the macOS' native grand central dispatch mechanisms to make async calls for reading and writing our data without blocking our main app thread, improving the performance of the socketapi-related code
  2. We can get rid of the deprecated NSDistantObject usage on socketapisocket_mac
  3. We can use a QLocalServer for our socket on the Mac, like we do on other platforms, instead of a custom SocketApiServer
  4. We have less Mac-specific code in our application socket code, and Mac code lives with Mac code in the Finder Sync extension
  5. The architecture of our Finder extension more closely resembles that of our other shell integration components

@claucambra claucambra self-assigned this Feb 26, 2022
@claucambra claucambra force-pushed the bugfix/mac-local-socket branch from b41857b to 629e207 Compare February 27, 2022 11:22
@claucambra
Copy link
Collaborator Author

Might also fix #4277

Copy link
Collaborator

@mgallien mgallien left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

did not really test right now
sounds nice and good
thanks !

@claucambra
Copy link
Collaborator Author

/rebase

Signed-off-by: Claudio Cambra <claudio.cambra@gmail.com>
@nextcloud-command nextcloud-command force-pushed the bugfix/mac-local-socket branch from 629e207 to 628ee10 Compare March 17, 2022 11:46
@nextcloud-desktop-bot
Copy link

AppImage file: Nextcloud-PR-4316-628ee10008917cc73d9ae1daaacde66285176698-x86_64.AppImage

To test this change/fix you can simply download above AppImage file and test it.

Please make sure to quit your existing Nextcloud app and backup your data.

@claucambra claucambra merged commit 253f4bb into master Mar 17, 2022
@claucambra claucambra deleted the bugfix/mac-local-socket branch March 17, 2022 12:00
@sonarcloud
Copy link

sonarcloud bot commented Mar 17, 2022

Kudos, SonarCloud Quality Gate passed!    Quality Gate passed

Bug A 0 Bugs
Vulnerability A 0 Vulnerabilities
Security Hotspot A 0 Security Hotspots
Code Smell A 0 Code Smells

100.0% 100.0% Coverage
0.0% 0.0% Duplication

@mgallien mgallien added this to the 3.5.0 milestone Mar 18, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

macOS: Nextcloud Extensions crashes constantly, causing right-click menu to stop working
4 participants