Skip to content

Focused auto upload#4096

Open
mpivchev wants to merge 5 commits intomasterfrom
focused-autoupload
Open

Focused auto upload#4096
mpivchev wants to merge 5 commits intomasterfrom
focused-autoupload

Conversation

@mpivchev
Copy link
Copy Markdown
Collaborator

@mpivchev mpivchev commented May 5, 2026

  • Adds a focused auto upload section. Allows to keep screen black while app is in foreground for faster upload.
  • Add animated cloud icon when auto upload is on
  • Use "X items remaining" as a counter when auto upload is on

To do:

  • - Remove Keep screen awake option, as it's not needed anymore.
IMG_1697 IMG_1698 IMG_1699 IMG_1700

mpivchev added 5 commits May 5, 2026 10:38
Signed-off-by: Milen Pivchev <milen.pivchev@gmail.com>
Signed-off-by: Milen Pivchev <milen.pivchev@gmail.com>
Signed-off-by: Milen Pivchev <milen.pivchev@gmail.com>
Signed-off-by: Milen Pivchev <milen.pivchev@gmail.com>
Signed-off-by: Milen Pivchev <milen.pivchev@gmail.com>
@mpivchev mpivchev marked this pull request as ready for review May 5, 2026 11:18
@mpivchev mpivchev requested review from Copilot and marinofaggiana May 5, 2026 11:18
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

Adds a new “Focused Auto Upload” flow around the existing auto-upload feature, so users can open a dedicated progress screen, keep the app awake, and darken the display during uploads. It also updates the Settings entry to show a live upload state/count and introduces the supporting localized copy for the new UI.

Changes:

  • Added new focused auto-upload UI components: intro sheet, full-screen progress view, screen dimmer, and animated cloud icon.
  • Updated Auto Upload and Settings screens to surface the new focused mode and show a live remaining-items counter.
  • Added database counting logic and new English localization strings/plurals to support the new progress messaging.

Reviewed changes

Copilot reviewed 11 out of 11 changed files in this pull request and generated 4 comments.

Show a summary per file
File Description
Nextcloud.xcodeproj/project.pbxproj Adds the new focused auto-upload Swift files to the app target.
iOSClient/Supporting Files/en.lproj/Localizable.stringsdict Adds pluralized strings for remaining-item and progress counters.
iOSClient/Supporting Files/en.lproj/Localizable.strings Updates transfer wording and adds focused auto-upload copy.
iOSClient/Settings/Settings/NCSettingsView.swift Replaces the settings icon/label with animated auto-upload status UI and starts count polling.
iOSClient/Settings/Settings/NCSettingsModel.swift Adds auto-upload state/count tracking and polling logic for Settings.
iOSClient/Settings/AutoUpload/NCFocusedAutoUploadScreenDimmer.swift New helper to keep the screen awake, dim brightness, and restore state.
iOSClient/Settings/AutoUpload/NCFocusedAutoUploadProgressView.swift New full-screen focused-mode progress UI with countdown and queue polling.
iOSClient/Settings/AutoUpload/NCFocusedAutoUploadIntroView.swift New intro sheet explaining focused auto-upload before entering the progress screen.
iOSClient/Settings/AutoUpload/NCFocusedAutoUploadCloudAnimation.swift New reusable animated/static cloud indicator for focused auto-upload.
iOSClient/Settings/AutoUpload/NCAutoUploadView.swift Adds the focused auto-upload entry point and modal flow inside auto-upload settings.
iOSClient/Data/NCManageDatabase+AutoUpload.swift Adds async counting of remaining auto-upload metadata, excluding recently completed transfers.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment on lines +43 to +44
if let originalIdleTimerDisabled {
UIApplication.shared.isIdleTimerDisabled = originalIdleTimerDisabled
}

private var uploadCountMessage: String {
return String.localizedStringWithFormat(NSLocalizedString("_focused_auto_upload_photos_to_back_up_", comment: ""), autoUploadCount)
<key>NSStringFormatValueTypeKey</key>
<string>d</string>
<key>one</key>
<string>You have %d photo to back up</string>
Comment thread iOSClient/Supporting Files/en.lproj/Localizable.strings
Comment on lines +136 to +139
return results
.filter("NOT (ocIdTransfer IN %@)", Array(excludedIds))
.count
} ?? 0
Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

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

We filter out auto upload success files. Is that ok? @marinofaggiana

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.

2 participants