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

Rewrite communication between client and File Provider extensions using XPC #6324

Merged
merged 52 commits into from
Feb 19, 2024

Commits on Feb 19, 2024

  1. Add starter client communication service

    Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
    claucambra committed Feb 19, 2024
    Configuration menu
    Copy the full SHA
    22c176a View commit details
    Browse the repository at this point in the history
  2. Keep pointer to FileProviderExtension around in ClientCommunicationSe…

    …rvice
    
    Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
    claucambra committed Feb 19, 2024
    Configuration menu
    Copy the full SHA
    a2d69fc View commit details
    Browse the repository at this point in the history
  3. Add ClientCommunicationProtocol

    Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
    claucambra committed Feb 19, 2024
    Configuration menu
    Copy the full SHA
    e763a9d View commit details
    Browse the repository at this point in the history
  4. Implement ClientCommunicationProtocol in ClientCommunicationService

    Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
    claucambra committed Feb 19, 2024
    Configuration menu
    Copy the full SHA
    dd39991 View commit details
    Browse the repository at this point in the history
  5. Reimplement ClientCommunicationService in Swift

    Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
    claucambra committed Feb 19, 2024
    Configuration menu
    Copy the full SHA
    026f082 View commit details
    Browse the repository at this point in the history
  6. Properly implement listener should accept connection in ClientCommuni…

    …cationService
    
    Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
    claucambra committed Feb 19, 2024
    Configuration menu
    Copy the full SHA
    ac43369 View commit details
    Browse the repository at this point in the history
  7. Add starter FileProviderXPC class on client side

    Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
    claucambra committed Feb 19, 2024
    Configuration menu
    Copy the full SHA
    5cc8b6e View commit details
    Browse the repository at this point in the history
  8. Add relative symlink to ClientCommunicationProtocol in srd/gui/macOS

    Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
    claucambra committed Feb 19, 2024
    Configuration menu
    Copy the full SHA
    e8c1bbb View commit details
    Browse the repository at this point in the history
  9. Fix logging for fileproviderdomainmanager

    Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
    claucambra committed Feb 19, 2024
    Configuration menu
    Copy the full SHA
    9dddaf4 View commit details
    Browse the repository at this point in the history
  10. Implement connection begin in XPC

    Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
    claucambra committed Feb 19, 2024
    Configuration menu
    Copy the full SHA
    2520111 View commit details
    Browse the repository at this point in the history
  11. Flatten FileProviderXPC::start()

    Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
    claucambra committed Feb 19, 2024
    Configuration menu
    Copy the full SHA
    0b505a9 View commit details
    Browse the repository at this point in the history
  12. Fix retain issues with domains in FileProviderXPC

    Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
    claucambra committed Feb 19, 2024
    Configuration menu
    Copy the full SHA
    d4d0cf5 View commit details
    Browse the repository at this point in the history
  13. Ensure FileProvider components instantiated after account setup

    Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
    claucambra committed Feb 19, 2024
    Configuration menu
    Copy the full SHA
    a6e3f18 View commit details
    Browse the repository at this point in the history
  14. Add extensionAccountId property to ClientCommunicationProtocol

    Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
    claucambra committed Feb 19, 2024
    Configuration menu
    Copy the full SHA
    5f6f7f3 View commit details
    Browse the repository at this point in the history
  15. Cache NSXPCConnections when starting FileProviderXPC

    Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
    claucambra committed Feb 19, 2024
    Configuration menu
    Copy the full SHA
    ee82968 View commit details
    Browse the repository at this point in the history
  16. Ensure the listener is resumed once the endpoint is created in the ex…

    …tension
    
    Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
    claucambra committed Feb 19, 2024
    Configuration menu
    Copy the full SHA
    2d1e5ba View commit details
    Browse the repository at this point in the history
  17. Check for protocol type in fileproviderxpc start

    Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
    claucambra committed Feb 19, 2024
    Configuration menu
    Copy the full SHA
    eb774ad View commit details
    Browse the repository at this point in the history
  18. Log extension id sent over XPC publicly

    Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
    claucambra committed Feb 19, 2024
    Configuration menu
    Copy the full SHA
    6cb7169 View commit details
    Browse the repository at this point in the history
  19. Retrieve extension account ids over XPC, store client comm service pe…

    …r account
    
    Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
    claucambra committed Feb 19, 2024
    Configuration menu
    Copy the full SHA
    7716860 View commit details
    Browse the repository at this point in the history
  20. Upon acquisition of client communication services, send account confi…

    …guration
    
    Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
    claucambra committed Feb 19, 2024
    Configuration menu
    Copy the full SHA
    59b8b8e View commit details
    Browse the repository at this point in the history
  21. Move domain manager acquisition into separate function

    Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
    claucambra committed Feb 19, 2024
    Configuration menu
    Copy the full SHA
    8eaf4e6 View commit details
    Browse the repository at this point in the history
  22. Move domain url acquisition to separate function

    Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
    claucambra committed Feb 19, 2024
    Configuration menu
    Copy the full SHA
    4a8d501 View commit details
    Browse the repository at this point in the history
  23. Move acquisition of file provider services to different function

    Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
    claucambra committed Feb 19, 2024
    Configuration menu
    Copy the full SHA
    a0376a2 View commit details
    Browse the repository at this point in the history
  24. Moved XPC Utils into separate file

    Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
    claucambra committed Feb 19, 2024
    Configuration menu
    Copy the full SHA
    5ee2cfa View commit details
    Browse the repository at this point in the history
  25. Clean up FileProviderXPC code, separate everything into single-respon…

    …sibility methods
    
    Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
    claucambra committed Feb 19, 2024
    Configuration menu
    Copy the full SHA
    95bebc5 View commit details
    Browse the repository at this point in the history
  26. Fix clientcommservices datatype

    Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
    claucambra committed Feb 19, 2024
    Configuration menu
    Copy the full SHA
    6f5b07c View commit details
    Browse the repository at this point in the history
  27. Implement NSFileProviderServicing in FileProviderExtension

    Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
    claucambra committed Feb 19, 2024
    Configuration menu
    Copy the full SHA
    5ed456f View commit details
    Browse the repository at this point in the history
  28. Extract file provider connection configuration into separate util fun…

    …ction
    
    Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
    claucambra committed Feb 19, 2024
    Configuration menu
    Copy the full SHA
    595c23c View commit details
    Browse the repository at this point in the history
  29. Extract remote service object acquisistion from connection into separ…

    …ate function
    
    Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
    claucambra committed Feb 19, 2024
    Configuration menu
    Copy the full SHA
    c9997ce View commit details
    Browse the repository at this point in the history
  30. Remove redundant static in anonymous fileproviderxpc utils namespace

    Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
    claucambra committed Feb 19, 2024
    Configuration menu
    Copy the full SHA
    8a8d3b3 View commit details
    Browse the repository at this point in the history
  31. Extract account id acquisition from clientCommService into separate f…

    …unction
    
    Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
    claucambra committed Feb 19, 2024
    Configuration menu
    Copy the full SHA
    23a3a3e View commit details
    Browse the repository at this point in the history
  32. Cast clientCommServices to NSObject with correct protocol

    Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
    claucambra committed Feb 19, 2024
    Configuration menu
    Copy the full SHA
    502d738 View commit details
    Browse the repository at this point in the history
  33. Add method to unauthenticate file provider extension in FileProviderXPC

    Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
    claucambra committed Feb 19, 2024
    Configuration menu
    Copy the full SHA
    f728ec1 View commit details
    Browse the repository at this point in the history
  34. Define NSDictionary types in _clientCommServices

    Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
    claucambra committed Feb 19, 2024
    Configuration menu
    Copy the full SHA
    94bfa03 View commit details
    Browse the repository at this point in the history
  35. Move extension authentication into separate method

    Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
    claucambra committed Feb 19, 2024
    Configuration menu
    Copy the full SHA
    c1fa662 View commit details
    Browse the repository at this point in the history
  36. Implement recognition of account state changing in FileProviderXPC

    Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
    claucambra committed Feb 19, 2024
    Configuration menu
    Copy the full SHA
    0856138 View commit details
    Browse the repository at this point in the history
  37. Fix clang-tidy namespace concatenation warning

    Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
    claucambra committed Feb 19, 2024
    Configuration menu
    Copy the full SHA
    fca6b37 View commit details
    Browse the repository at this point in the history
  38. Remove all obj-c classes from fileproviderxpc.h

    Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
    claucambra committed Feb 19, 2024
    Configuration menu
    Copy the full SHA
    784cd12 View commit details
    Browse the repository at this point in the history
  39. Do not shadow sender()

    Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
    claucambra committed Feb 19, 2024
    Configuration menu
    Copy the full SHA
    be3bd7b View commit details
    Browse the repository at this point in the history
  40. Remove unused extension ID NSString

    Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
    claucambra committed Feb 19, 2024
    Configuration menu
    Copy the full SHA
    6d4e785 View commit details
    Browse the repository at this point in the history
  41. Use accountStateFromFileProviderDomainIdentifier method in authentica…

    …teExtension
    
    Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
    claucambra committed Feb 19, 2024
    Configuration menu
    Copy the full SHA
    43b7ae5 View commit details
    Browse the repository at this point in the history
  42. Improve domain discovery logging

    Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
    claucambra committed Feb 19, 2024
    Configuration menu
    Copy the full SHA
    798f77f View commit details
    Browse the repository at this point in the history
  43. Get services using better non-url based method if available (macOS 13…

    ….0+)
    
    Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
    claucambra committed Feb 19, 2024
    Configuration menu
    Copy the full SHA
    58dc42a View commit details
    Browse the repository at this point in the history
  44. Separate starting of domain manager tasks from constructor

    Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
    claucambra committed Feb 19, 2024
    Configuration menu
    Copy the full SHA
    4238912 View commit details
    Browse the repository at this point in the history
  45. Separate XPC init from file provider constructor

    Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
    claucambra committed Feb 19, 2024
    Configuration menu
    Copy the full SHA
    45b1231 View commit details
    Browse the repository at this point in the history
  46. Only start XPC after file provider domains have been configured

    Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
    claucambra committed Feb 19, 2024
    Configuration menu
    Copy the full SHA
    a01e552 View commit details
    Browse the repository at this point in the history
  47. Simplify and clarify utility of socket system for file provider

    Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
    claucambra committed Feb 19, 2024
    Configuration menu
    Copy the full SHA
    a44454d View commit details
    Browse the repository at this point in the history
  48. Clarify utility of xpc system for file provider

    Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
    claucambra committed Feb 19, 2024
    Configuration menu
    Copy the full SHA
    41133e4 View commit details
    Browse the repository at this point in the history
  49. Add explainer to client interface

    Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
    claucambra committed Feb 19, 2024
    Configuration menu
    Copy the full SHA
    b22f463 View commit details
    Browse the repository at this point in the history
  50. Simplify xpc service acquisition completion handler

    Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
    claucambra committed Feb 19, 2024
    Configuration menu
    Copy the full SHA
    9611e47 View commit details
    Browse the repository at this point in the history
  51. Improve socket controller logging

    Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
    claucambra committed Feb 19, 2024
    Configuration menu
    Copy the full SHA
    71119fe View commit details
    Browse the repository at this point in the history
  52. Do not reconfigure file provider extension account if we are receivin…

    …g the same details again
    
    Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
    claucambra committed Feb 19, 2024
    Configuration menu
    Copy the full SHA
    3334b4e View commit details
    Browse the repository at this point in the history