Skip to content

Web dav file access impl#239

Merged
sameerasw merged 3 commits into
developfrom
webDAV
May 21, 2026
Merged

Web dav file access impl#239
sameerasw merged 3 commits into
developfrom
webDAV

Conversation

@sameerasw
Copy link
Copy Markdown
Owner

This pull request introduces a new feature that allows users to mount their Android device storage as a local drive on macOS using WebDAV. It adds the necessary UI, settings, and logic to enable or disable this feature, and ensures it is only available to AirSync+ users. The changes also include localization updates and integration with the existing device connection workflow.

New File Access Feature (WebDAV integration):

  • Added a new WebDAVManager class to handle mounting and unmounting the Android device storage as a WebDAV volume in macOS Finder, including methods for mounting, unmounting, and opening the volume in Finder. (airsync-mac/Core/Storage/WebDAVManager.swift)
  • Integrated WebDAV mounting/unmounting into the app lifecycle: mounts the volume when a compatible device connects and unmounts it when disconnected or on app launch; also cleans up stale mounts. (airsync-mac/Core/AppState.swift) [1] [2]

Settings and User Interface:

  • Added a new toggle in the Settings view to enable or disable File Access, with a description and gating for AirSync+ users (including a popover explaining the feature restriction). (airsync-mac/Screens/Settings/SettingsView.swift)
  • Added a "Browse Files" button to the menubar for quick access to the mounted Android volume. (airsync-mac/Screens/MenubarView/MenubarSegments.swift)

Localization and User Experience:

  • Updated localization strings to include new menu and settings items for File Access. (airsync-mac/Localization/en.json) [1] [2]

Access Control and State Management:

  • Enforced that File Access is only available to AirSync+ users by disabling the toggle and auto-reverting the setting if the user is not eligible. Also ensures UserDefaults and state are kept in sync and unmounts the drive if access is revoked. (airsync-mac/Core/AppState.swift) [1] [2] [3]

@sameerasw sameerasw self-assigned this May 21, 2026
@sameerasw sameerasw added the enhancement New feature or request label May 21, 2026
@sameerasw sameerasw merged commit 03436be into develop May 21, 2026
1 check passed
@github-project-automation github-project-automation Bot moved this from Backlog to Done in AirSync Features and Bugs May 21, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

1 participant