Skip to content

Commit

Permalink
[milestone/11.9.1] Milestone 11.9.1 (#1111)
Browse files Browse the repository at this point in the history
* - BookmarkViewController: re-add infinite PROPFIND code previously removed due to a merge error
- update CHANGELOG.md
- bump build and version numbers
- update ios-sdk to increase timeout for start of response to infinite PROPFIND from 30 seconds to 6 minutes

* Calens changelog updated

* [feature/fastlane-app-group-identifier] Set App Group Identifier by Fastlane via Branding.plist (#1099)

* new version number 11.9.0, enabled beta build and warning

* [feature/infinite-propfind] Infinite PROPFIND support (#1002)

* - ProgressIndicatorViewController : extend with Progress object and cancellation support / monitoring
- BookmarkViewController: add infinite PROPFIND prepopulation step after account creation
- update SDK to provide infinite PROPFIND support

* Configuration documentation updated

* - update SDK to gain access to streaming infinite PROPFIND
- switch from receive+parse to stream+parse for infinite PROPFIND

* - update SDK to gain access to new supportsInfinitePropfind capability
- BookmarkViewController: make prepopulation configurable, using new capability and new class setting
- ProgressIndicatorViewController: add support for new title label view

* - BookmarkViewController: fix property name typo
- scheme: add new options to test streaming and split bookmark prepopulation

* Configuration documentation updated

* added additional build information to the Branding.plist file:
- ios-app and ios-sdk commit hash
- copy the Branding.plist with additional app and build information as file name

* [feature/biometrical-mdm-setting ]Suggest Biometrical Unlock (#1046)

* Suggest biometrical unlock, after setting up passcode

* - do not show Cancel button, if password is enforced
- update biometrical UI switch value in settings view
- fixed bug, dismissing the view, if biometrical is not available

* moved extension into ownCloudAppShared folder

* Branding: (#1045)

- add new `branding.user-defaults-default-values` class settings key to allow registration of alternative defaults for user defaults

* - fix bug where a quick access entry showed no items when selected a second time. (#1044)

* used better wording for "Cellular transfers"

* - adjust to final capabilities naming for infinite PROPFIND support

* upgraded app version numbers

Co-authored-by: felix-schwarz <felix-schwarz@users.noreply.github.com>
Co-authored-by: Matthias Hühne <github@hosy.de>
Co-authored-by: Matthias Hühne <mhuehne@owncloud.com>

* [feature/poll-efficiency] Poll for changes efficiency enhancements (#1043)

* - change text in the footer below private links in accordance with owncloud/enterprise#4726

* - SDK update

* - ClientRootViewController: start OCFileProviderServiceStandby only
	- after the connection status is online (== authentication successful)
	- OR 5 seconds after receiving the core from the Core Manager
- fix theoretical bug in ClientRootViewController where OCFileProviderServiceStandby could be started and not stopped if Core Manager returned a core with error

* - bump version to 11.7.2 / build 202

* - FileProviderExtension:
	- handle case where OCDatabase is not available or not open (previously led to a hang/crash as the FP waited for a DB call to return)
	- disable malloc stack logging as it leads to immediate crashes when debugging the file provider

* - update SDK to new version with support for coordinated scan for changes

* - bump build number to 203

Co-authored-by: Matthias Hühne <mhuehne@owncloud.com>

* Configuration documentation updated

* [fix/media-playback-url] Fix WebDAV endpoint URL for media playback after restoration (#1093)

* - fix owncloud/enterprise#4924 via SDK update

* Configuration documentation updated

Co-authored-by: Matthias Hühne <mhuehne@owncloud.com>
Co-authored-by: hosy <hosy@users.noreply.github.com>

* [feature/webfinger] Webfinger / server location (#1059)

* - change text in the footer below private links in accordance with owncloud/enterprise#4726

* - SDK update

* added additional build information to the Branding.plist file:
- ios-app and ios-sdk commit hash
- copy the Branding.plist with additional app and build information as file name

* [feature/biometrical-mdm-setting ]Suggest Biometrical Unlock (#1046)

* Suggest biometrical unlock, after setting up passcode

* - do not show Cancel button, if password is enforced
- update biometrical UI switch value in settings view
- fixed bug, dismissing the view, if biometrical is not available

* moved extension into ownCloudAppShared folder

* Branding: (#1045)

- add new `branding.user-defaults-default-values` class settings key to allow registration of alternative defaults for user defaults

* - fix bug where a quick access entry showed no items when selected a second time. (#1044)

* used better wording for "Cellular transfers"

* - in branded clients: removed UISwitch to enable/disable deletion of available offline files in manage screen
- fixed text center layout in table view cell

* fixed UI issue in sharing view

* #4801 "Log out"  text changes

* #4801 text changes for "Prevent gestures"

* - ThemeTableViewCell, StaticTableViewRow: new .plain message style (#1053)

- add new view controller to present license texts for each component individually

* [feature/modular-localization] Modular localization (#1054)

* - Branding class:
	- move logic for VendorServices.appName to Branding.appDisplayName
	- change app.name variable value to that of Branding.appDisplayName
- switch String.localized from NSLocalizedString() to OCLocale.localize()
- SwiftLint: adapt to latest SwiftLint version

* - add .localized(replacements) function to provide easy access to custom variables support in OCLocale

* - update SDK

* [feature/mdm-auto-connect] Skip Account Screen via MDM (#1056)

* #4801 Skip "Manage" screen / automatically open "Files" screen after login via MDM parameter account.auto-connect

* - SceneDelegate: use .first (which returns nil in case there are no bookmarks) instead of bookmark(at: 0) (which crashes in case there are no bookmarks because the array is empty and the method tries to access an item at index 0)

* added auto-connect after every setup, not only the first setup

Co-authored-by: Felix Schwarz <fs-git@iospirit.com>

* [feature/mdm-biometrical-unlock]  MDM setting for Biometrical Unlock (#1058)

* #4818 control via MDM to auto enable biometrical unlock

* overwrites user defaults with MDM settings and use existing getter/setter; renamed MDM key to use-biometrical-unlock

* - use user defaults for use-biometrical-unlock
- show Face ID authorization immediately after enabling Face ID

* - StaticLoginSetupViewController: add support for OCServerLocator, requesting a username if it is enabled
- add additional debug options to ownCloud.xcscheme
- update SDK to gain access to OCServerLocator

* updated APP_VERSION number

* reverted merge conflict changes

* using correct SDK commit

* using latest development sdk commit

Co-authored-by: Matthias Hühne <github@hosy.de>
Co-authored-by: Matthias Hühne <mhuehne@owncloud.com>

* changed app version number

* #4918 added the possiblity, to set a custom app group identifier via Branding.plist parameter "build.app-group-identifier", which will be set by fastlane to all needed key/value pairs. This is needed, if customer using a own resigning script, which does not handle setting the app group identifier.

* added documentation and changelog entry

* Calens changelog updated

* - add additional parameter build.oc-app-group-identifier that only changes the OCAppGroupIdentifier and OCKeychainAccessGroupIdentifier keys in Info.plist

* - add ownCloud/Resources/Info.plist to list of files to replace OCAppGroupIdentifier and OCKeychainAccessGroupIdentifier in

* added documentation for the new build key

* added missing translation string

* [feature/rename-accounts] Rename Account without Authentication Flow (#1097)

* #972 rename account name only (bookmark) is possible without re-authentication flow

* added changelog entry

* moved duplicated code into a function for reuse

* fixed issue link in changelog entry

* Calens changelog updated

* fixed code review finding

* fixed QA findings 1,2,3
- show UI to delete authentication data in edit mode
- only proceed without authentication, if authentication data is not nil

* show delete authentication data UI in all edit mode calls

Co-authored-by: hosy <hosy@users.noreply.github.com>

* #5008 (2) only show "Settings" toolbar, if no account is configured, otherwise "Settings" would appear twice

* [feature/biometrical-button] Biometrical Authentication Button (#1098)

* #1004 added biometrical unlock button, which appears by default as fallback, if biometrical unlock does not work (in file provider or not detected)

* - added fallback image for face-id too
- added changelog entry

* Calens changelog updated

* - fixed visibility of biometrical button in edit mode and, if feature is not enabled
- removed unneeded code

* - AppLockManager: add new property biometricCancelLabel to provide a label for the Cancel-option when presenting biometric authentication
- FileProviderUI / DocumentActionViewController: use new property to display "Cancel" instead of "Enter code" for biometric authentication

Co-authored-by: hosy <hosy@users.noreply.github.com>
Co-authored-by: Felix Schwarz <fs-git@iospirit.com>

* Calens changelog updated

* Calens changelog updated

* Calens changelog updated

* fixed merge conflicts

* Calens changelog updated

* fixed syntax error

* fixed syntax error

* added missing changelog entry

* Calens changelog updated

Co-authored-by: Felix Schwarz <fs-git@iospirit.com>
Co-authored-by: felix-schwarz <felix-schwarz@users.noreply.github.com>
Co-authored-by: hosy <hosy@users.noreply.github.com>
Co-authored-by: Matthias Hühne <>

* updated changelog and release notes

* Calens changelog updated

* - SDK update to improve handling of token refresh "responses" while offline
- add scheme env variable to turn on/off auth race condition simulator

* - ios-sdk update: fix dead-lock
- BookmarkViewController: fix finding (1) in #1109

* - update commit to latest develop commit including OCBookmarkManager deadlock fix

* - change SDK to latest develop version

* [fix/biometrical-unlock-setup] Fix: Setup Passcode with Biometrical Unlock (#1112)

* #5086 fix for passcode setup with biometrical unlock enabled:
- biometrical unlock button no longer appear in setup view
- after passcode was successfully setup, show biometrical unlock for permissions dialog

* removed unneeded comment

* added changelog and release notes

* Calens changelog updated

* reverted to Xcode 12 version

* - update to SDK release 11.9.1 (master)

* changed folder name for changelog release

* Calens changelog updated

Co-authored-by: felix-schwarz <felix-schwarz@users.noreply.github.com>
Co-authored-by: Matthias Hühne <mhuehne@owncloud.com>
Co-authored-by: hosy <hosy@users.noreply.github.com>
Co-authored-by: Matthias Hühne <>
  • Loading branch information
4 people authored Mar 29, 2022
1 parent f1fac7b commit 70cdc22
Show file tree
Hide file tree
Showing 16 changed files with 266 additions and 93 deletions.
31 changes: 31 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,34 @@
Changelog for ownCloud iOS Client [11.9.1] (2022-03-29)
=======================================
The following sections list the changes in ownCloud iOS Client 11.9.1 relevant to
ownCloud admins and users.

[11.9.1]: https://github.com/owncloud/ios-app/compare/milestone/11.9.0...milestone/11.9.1

Summary
-------

* Bugfix - Setup Passcode with Biometrical Unlock: [#1112](https://github.com/owncloud/ios-app/pull/1112)
* Change - Set App Group Identifier: [#1099](https://github.com/owncloud/ios-app/pull/1099)

Details
-------

* Bugfix - Setup Passcode with Biometrical Unlock: [#1112](https://github.com/owncloud/ios-app/pull/1112)

Biometrical unlock button no longer appear in setup view and after passcode was successfully
setup, show biometrical unlock for permissions dialog.

https://github.com/owncloud/ios-app/pull/1112

* Change - Set App Group Identifier: [#1099](https://github.com/owncloud/ios-app/pull/1099)

Set a custom app group identifier via Branding.plist this parameter. This value will be set by
fastlane to all needed Info.plist keys. This is needed, if a customer is using an own resigning
script which does not handle setting the app group identifier.

https://github.com/owncloud/ios-app/pull/1099

Changelog for ownCloud iOS Client [11.9.0] (2022-03-16)
=======================================
The following sections list the changes in ownCloud iOS Client 11.9.0 relevant to
Expand Down
5 changes: 5 additions & 0 deletions changelog/11.9.1_2022-03-29/1099
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
Change: Set App Group Identifier

Set a custom app group identifier via Branding.plist this parameter. This value will be set by fastlane to all needed Info.plist keys. This is needed, if a customer is using an own resigning script which does not handle setting the app group identifier.

https://github.com/owncloud/ios-app/pull/1099
5 changes: 5 additions & 0 deletions changelog/11.9.1_2022-03-29/1112
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
Bugfix: Setup Passcode with Biometrical Unlock

Biometrical unlock button no longer appear in setup view and after passcode was successfully setup, show biometrical unlock for permissions dialog.

https://github.com/owncloud/ios-app/pull/1112
34 changes: 26 additions & 8 deletions fastlane/Fastfile
Original file line number Diff line number Diff line change
Expand Up @@ -453,6 +453,7 @@ end
ENTERPRISE_TEAM = values[:ENTERPRISE_TEAM]
ENTERPRISE_IDENTITY = values[:ENTERPRISE_IDENTITY]
APP_GROUP_IDENTIFIERS = values[:APP_GROUP_IDENTIFIERS]
OC_APP_GROUP_IDENTIFIERS = values[:APP_GROUP_IDENTIFIERS]
EXPORT_METHOD = values[:EXPORT_METHOD]
CONFIGURATION = values[:CONFIGURATION]
BUILD_NUMBER = values[:BUILD_NUMBER]
Expand Down Expand Up @@ -561,7 +562,9 @@ end
set_info_plist_value(path: "ownCloud/Resources/Info.plist", key: "CFBundleDisplayName", value: appName)
set_info_plist_value(path: "ownCloud/Resources/Info.plist", key: "CFBundleName", value: appName)

# Check, if Branding.plist file exists and handle custom set values
if File.exist?("../" + themePath)
# Check for custom app version number
tmpCustomAppVersionNumber = get_info_plist_value(path: themePath, key: "app.version-number")
if tmpCustomAppVersionNumber && !tmpCustomAppVersionNumber.empty?
customAppVersionNumber = tmpCustomAppVersionNumber
Expand All @@ -573,6 +576,19 @@ end
set_info_plist_value(path: "ownCloud Share Extension/Info.plist", key: "CFBundleShortVersionString", value: customAppVersionNumber)
set_info_plist_value(path: "ownCloud Intents/Info.plist", key: "CFBundleShortVersionString", value: customAppVersionNumber)
end

# Check for custom app group identifier
tmpAPP_GROUP_IDENTIFIERS = get_info_plist_value(path: themePath, key: "build.app-group-identifier")
if tmpAPP_GROUP_IDENTIFIERS && !tmpAPP_GROUP_IDENTIFIERS.empty?
APP_GROUP_IDENTIFIERS = tmpAPP_GROUP_IDENTIFIERS
OC_APP_GROUP_IDENTIFIERS = tmpAPP_GROUP_IDENTIFIERS
end

# Check for custom OC app group identifier
tmpOC_APP_GROUP_IDENTIFIERS = get_info_plist_value(path: themePath, key: "build.oc-app-group-identifier")
if tmpOC_APP_GROUP_IDENTIFIERS && !tmpOC_APP_GROUP_IDENTIFIERS.empty?
OC_APP_GROUP_IDENTIFIERS = tmpOC_APP_GROUP_IDENTIFIERS
end
end

if !values[:BUILD_NUMBER].nil?
Expand Down Expand Up @@ -683,15 +699,17 @@ end
identifiers: [ENTERPRISE_TEAM + "." + APP_GROUP_IDENTIFIERS]
)

set_info_plist_value(path: "ownCloud File Provider/Info.plist", key: "OCAppGroupIdentifier", value: APP_GROUP_IDENTIFIERS)
set_info_plist_value(path: "ownCloud File Provider/Info.plist", key: "OCKeychainAccessGroupIdentifier", value: APP_GROUP_IDENTIFIERS)
set_info_plist_value(path: "ownCloud File Provider/Info.plist", key: "OCAppGroupIdentifier", value: OC_APP_GROUP_IDENTIFIERS)
set_info_plist_value(path: "ownCloud File Provider/Info.plist", key: "OCKeychainAccessGroupIdentifier", value: OC_APP_GROUP_IDENTIFIERS)
set_info_plist_value(path: "ownCloud File Provider/Info.plist", key: "NSExtension", subkey: "NSExtensionFileProviderDocumentGroup", value: APP_GROUP_IDENTIFIERS)
set_info_plist_value(path: "ownCloud File Provider UI/Info.plist", key: "OCAppGroupIdentifier", value: APP_GROUP_IDENTIFIERS)
set_info_plist_value(path: "ownCloud File Provider UI/Info.plist", key: "OCKeychainAccessGroupIdentifier", value: APP_GROUP_IDENTIFIERS)
set_info_plist_value(path: "ownCloud Intents/Info.plist", key: "OCAppGroupIdentifier", value: APP_GROUP_IDENTIFIERS)
set_info_plist_value(path: "ownCloud Intents/Info.plist", key: "OCKeychainAccessGroupIdentifier", value: APP_GROUP_IDENTIFIERS)
set_info_plist_value(path: "ownCloud Share Extension/Info.plist", key: "OCAppGroupIdentifier", value: APP_GROUP_IDENTIFIERS)
set_info_plist_value(path: "ownCloud Share Extension/Info.plist", key: "OCKeychainAccessGroupIdentifier", value: APP_GROUP_IDENTIFIERS)
set_info_plist_value(path: "ownCloud File Provider UI/Info.plist", key: "OCAppGroupIdentifier", value: OC_APP_GROUP_IDENTIFIERS)
set_info_plist_value(path: "ownCloud File Provider UI/Info.plist", key: "OCKeychainAccessGroupIdentifier", value: OC_APP_GROUP_IDENTIFIERS)
set_info_plist_value(path: "ownCloud Intents/Info.plist", key: "OCAppGroupIdentifier", value: OC_APP_GROUP_IDENTIFIERS)
set_info_plist_value(path: "ownCloud Intents/Info.plist", key: "OCKeychainAccessGroupIdentifier", value: OC_APP_GROUP_IDENTIFIERS)
set_info_plist_value(path: "ownCloud Share Extension/Info.plist", key: "OCAppGroupIdentifier", value: OC_APP_GROUP_IDENTIFIERS)
set_info_plist_value(path: "ownCloud Share Extension/Info.plist", key: "OCKeychainAccessGroupIdentifier", value: OC_APP_GROUP_IDENTIFIERS)
set_info_plist_value(path: "ownCloud/Resources/Info.plist", key: "OCAppGroupIdentifier", value: OC_APP_GROUP_IDENTIFIERS)
set_info_plist_value(path: "ownCloud/Resources/Info.plist", key: "OCKeychainAccessGroupIdentifier", value: OC_APP_GROUP_IDENTIFIERS)

automatic_code_signing(
path: "ownCloud.xcodeproj",
Expand Down
12 changes: 3 additions & 9 deletions fastlane/metadata-emm/en-US/release_notes.txt
Original file line number Diff line number Diff line change
@@ -1,12 +1,6 @@
• Biometrical Authentication Button
Added a biometrical authentication button to the passcode unlock view. The biomatrical cancel button enables passcode unlock as fallback.

• Rename Account
Renaming an account does no longer need a re-authentication

• Media Playback
Fixes a bug where media playback failed

• Faster Account Scan
We improved the time for the initial scan after setting up a new account

• Biometrical Authentication Button
Improvements when setting up a passcode with biometrical unlock

12 changes: 3 additions & 9 deletions fastlane/metadata-owncloud-online/en-US/release_notes.txt
Original file line number Diff line number Diff line change
@@ -1,12 +1,6 @@
• Biometrical Authentication Button
Added a biometrical authentication button to the passcode unlock view. The biomatrical cancel button enables passcode unlock as fallback.

• Rename Account
Renaming an account does no longer need a re-authentication

• Media Playback
Fixes a bug where media playback failed

• Faster Account Scan
We improved the time for the initial scan after setting up a new account

• Biometrical Authentication Button
Improvements when setting up a passcode with biometrical unlock

12 changes: 3 additions & 9 deletions fastlane/metadata/en-US/release_notes.txt
Original file line number Diff line number Diff line change
@@ -1,12 +1,6 @@
• Biometrical Authentication Button
Added a biometrical authentication button to the passcode unlock view. The biomatrical cancel button enables passcode unlock as fallback.

• Rename Account
Renaming an account does no longer need a re-authentication

• Media Playback
Fixes a bug where media playback failed

• Faster Account Scan
We improved the time for the initial scan after setting up a new account

• Biometrical Authentication Button
Improvements when setting up a passcode with biometrical unlock

16 changes: 4 additions & 12 deletions ownCloud.xcodeproj/project.pbxproj
Original file line number Diff line number Diff line change
Expand Up @@ -4730,8 +4730,8 @@
APP_BUILD_FLAGS = "$(inherited)";
APP_BUILD_FLAGS_SWIFT = "$(APP_BUILD_FLAGS)";
APP_PRODUCT_NAME = ownCloud;
APP_SHORT_VERSION = 11.9.0;
APP_VERSION = 211;
APP_SHORT_VERSION = 11.9.1;
APP_VERSION = 212;
CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES;
CLANG_ANALYZER_NONNULL = YES;
CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;
Expand Down Expand Up @@ -4799,8 +4799,8 @@
APP_BUILD_FLAGS = "$(inherited)";
APP_BUILD_FLAGS_SWIFT = "$(APP_BUILD_FLAGS)";
APP_PRODUCT_NAME = ownCloud;
APP_SHORT_VERSION = 11.9.0;
APP_VERSION = 211;
APP_SHORT_VERSION = 11.9.1;
APP_VERSION = 212;
CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES;
CLANG_ANALYZER_NONNULL = YES;
CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;
Expand Down Expand Up @@ -4863,8 +4863,6 @@
isa = XCBuildConfiguration;
buildSettings = {
ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES;
APP_SHORT_VERSION = 11.9.0;
APP_VERSION = 211;
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
CODE_SIGN_ENTITLEMENTS = ownCloud/ownCloud.entitlements;
CODE_SIGN_IDENTITY = "Apple Development";
Expand Down Expand Up @@ -4897,8 +4895,6 @@
isa = XCBuildConfiguration;
buildSettings = {
ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES;
APP_SHORT_VERSION = 11.9.0;
APP_VERSION = 211;
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
CODE_SIGN_ENTITLEMENTS = ownCloud/ownCloud.entitlements;
CODE_SIGN_IDENTITY = "iPhone Developer";
Expand Down Expand Up @@ -5255,8 +5251,6 @@
isa = XCBuildConfiguration;
buildSettings = {
APPLICATION_EXTENSION_API_ONLY = YES;
APP_SHORT_VERSION = 11.9.0;
APP_VERSION = 211;
CLANG_ENABLE_MODULES = YES;
CLANG_ENABLE_OBJC_WEAK = YES;
CLANG_WARN_DOCUMENTATION_COMMENTS = NO;
Expand Down Expand Up @@ -5299,8 +5293,6 @@
isa = XCBuildConfiguration;
buildSettings = {
APPLICATION_EXTENSION_API_ONLY = YES;
APP_SHORT_VERSION = 11.9.0;
APP_VERSION = 211;
CLANG_ENABLE_MODULES = YES;
CLANG_ENABLE_OBJC_WEAK = YES;
CLANG_WARN_DOCUMENTATION_COMMENTS = NO;
Expand Down
5 changes: 5 additions & 0 deletions ownCloud.xcodeproj/xcshareddata/xcschemes/ownCloud.xcscheme
Original file line number Diff line number Diff line change
Expand Up @@ -305,6 +305,11 @@
value = "[web-finger]"
isEnabled = "NO">
</EnvironmentVariable>
<EnvironmentVariable
key = "oc:host-simulator.active-simulations"
value = "[auth-race-condition]"
isEnabled = "NO">
</EnvironmentVariable>
<EnvironmentVariable
key = "oc:server-locator.use"
value = "string:web-finger"
Expand Down
Loading

0 comments on commit 70cdc22

Please sign in to comment.