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

[feature/reduce-mem-footprint] Reduce memory footprint #1376

Merged
merged 23 commits into from
Sep 12, 2024

Conversation

felix-schwarz
Copy link
Contributor

@felix-schwarz felix-schwarz commented Aug 20, 2024

Description

In this PR:

  • reduced memory consumption of the File Provider by removing dependency on ownCloudApp and its dependencies (like OpenSSL.framework). This increases the amount of memory available to the File Provider after loading, thereby also improving stability.
  • avoid use of FileProvider via XPC due to stability issues
    • by Media Import
    • by Share Extension (refactored/rewritten to upload directly from the extension)
    • by SaveFileIntent (Apple Shortcuts integration)
  • add code handling iOS/iPadOS 18 requests to the File Provider to download folder items
  • fix spurious "invalid parameter" error on import in File Provider
  • properly clean up status of ProgressSummarizer after disconnect

Paired with owncloud/ios-sdk#110.

Types of changes

  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to change)

- ProgressView: add minimum + touch friendly sizes to avoid display as zero-sized views (which prevented cancelling by tapping because the touch never reached the view)
- AvailableOfflineAction: fix bug where a folder selected for Available Offline could not be removed form Available Offline by action (due to Swift != comparison apparently not using -isEqual:)
- fix protocol warnings new in Xcode 16
- adopt newer #unavailable syntax instead of if #available { /* Nothing */ } else { /* Code*/ }
…amework as a

  dependency - and thereby its dependencies, especially OpenSSL.framework, which adds to the
  memory footprint.

  The dependency on ownCloudApp is removed by adding the few parts relevant to the
  FileProvider to the FileProvider target and directly including the respective header
  files.

- MediaUploadOperation: no longer use File Provider for imports from the photo library due to stability issues
@CLAassistant
Copy link

CLAassistant commented Aug 20, 2024

CLA assistant check
Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you all sign our Contributor License Agreement before we can accept your contribution.
1 out of 2 committers have signed the CLA.

✅ hosy
❌ felix-schwarz
You have signed the CLA already but the status is still pending? Let us recheck it.

- ProgressSummarizer: add method to reset priority summaries
- AccountConnection: clear priority summaries after disconnect to return them to a defined state (fixes "Connecting…" being shown forever after a re-login)
- FileProviderExtension: fix spurious "invalid parameter" error on import
	- rewrite/refactor to upload files directly from the extension rather than through the File Provider
	- automatically try to avoid name collisions on upload
- ProgressIndicatorViewController:
	- fix lack of themeing by adding the modal CSS selector to the view controller
	- update the displayed progress from the Progress instance set on the .progress property
- Intents.intentdefinition: remove File Provider upload option for SaveIntentHandler
@felix-schwarz felix-schwarz changed the base branch from feature/better-sync to master September 12, 2024 09:10
@hosy hosy merged commit a7a759c into master Sep 12, 2024
2 of 3 checks passed
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.

3 participants