Skip to content

Commit

Permalink
[milestone/11.10.1] Milestone 11.10.1 (#1131)
Browse files Browse the repository at this point in the history
* - Changed app version
- Added In-App release notes section

* changed app version to unused value

* updated Xcode version for release build

* [fix/share-sheet-biometrical-unlock] Biometrical Unlock in Share Sheet (#1129)

* #5256 workaround for fixing the biometrical unlock in the share sheet, when opening from Boxer app. View disappeared after the biometrical unlock succeeded. Probably because 'completeRequest' was sent from the biometrical unlock extension, which caused a dismiss in the share sheet extension.

* - added new app lock setting if biometrical unlock should be used in share sheet
- share unlock and last application background date via app and extensions

* change default value to YES for using biometrical unlock in share sheet

* - normalize code indentation

* - normalize code indentation for better comparison

* - Branding: add -appURLSchemesForBundleURLName: method to retrieve URL schemes from the app bundle
- UIViewController+HostBundleID: category to return the bundle ID of the app hosting/invoking a (share) extension
- ShareNavigationController: set OCAppIdentity.hostAppBundleIdentifier using UIViewController+HostBundleID
- AppLockSettings:
	- replace "use-biometrical-unlock-share-sheet" boolean with "share-sheet-biometrical-unlock-by-app" dictionary
	- implement new logic to turn off biometric authentication based on share sheet invoking app
- AppLockManager:
	- make LAContext() optional throughout methods
	- move invocation of openURL to central place
	- remove fixed URL opening of owncloud:// and replace it with the dynamically composed URL AppLockSettings.biometricalAuthenticationRedirectionTargetURL
- PasscodeViewController: rename cancelButtonHidden to cancelButtonAvailable because the latter is what it actually does
- ownCloud Share Extension/Info.plist: add missing OCAppComponentIdentifier key so that OCAppIdentity.componentIdentifier returns the correct value

* - fix code comment

* - fix finding #1 by @jesmrec in #1129

Co-authored-by: Matthias Hühne <>
Co-authored-by: Felix Schwarz <fs-git@iospirit.com>

* QueryFileListTableViewController (#1134)

- add category to OCCoreConnectionStatus to quickly determine offline-like states
- fix bug #1130 where the folder contents wasn't shown when offline

* #5199 fix some automatic color values, if the branding color is bright. Before we only had a look if the branding color is white, but this does not work. Introduced a new welcome style for informal button, because the general informal button color does not work for the login screen in all cases (#1132)

Co-authored-by: Matthias Hühne <>

* - updated changelog files
- updated In-App release notes

* Calens changelog updated

* moved Calens changelog files to release folder

* Calens changelog updated

* added fastlane App Store release notes

Co-authored-by: Matthias Hühne <>
Co-authored-by: Felix Schwarz <fs-git@iospirit.com>
Co-authored-by: hosy <hosy@users.noreply.github.com>
  • Loading branch information
3 people authored Aug 2, 2022
1 parent 171987a commit 327f78f
Show file tree
Hide file tree
Showing 28 changed files with 490 additions and 95 deletions.
2 changes: 1 addition & 1 deletion .xcode-version
Original file line number Diff line number Diff line change
@@ -1 +1 @@
13.3.1
13.4.1
38 changes: 38 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,41 @@
Changelog for ownCloud iOS Client [11.10.1] (2022-08-02)
=======================================
The following sections list the changes in ownCloud iOS Client 11.10.1 relevant to
ownCloud admins and users.

[11.10.1]: https://github.com/owncloud/ios-app/compare/milestone/11.10.0...milestone/11.10.1

Summary
-------

* Bugfix - (Branding) Biometrical Unlock in Share Sheet: [#1129](https://github.com/owncloud/ios-app/pull/1129)
* Bugfix - Show folder contents from cache when offline: [#1130](https://github.com/owncloud/ios-app/issues/1130)
* Bugfix - (Branding) Color Issues: [#1132](https://github.com/owncloud/ios-app/pull/1132)

Details
-------

* Bugfix - (Branding) Biometrical Unlock in Share Sheet: [#1129](https://github.com/owncloud/ios-app/pull/1129)

Biometrical unlock in the share sheet does not work in some third party apps like Boxer. With new
branding parameters it is now possible to disable biometrical unlock in the share sheet or to
exclude specific apps.

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

* Bugfix - Show folder contents from cache when offline: [#1130](https://github.com/owncloud/ios-app/issues/1130)

With this fix the app shows the contents of the available folders when offline.

https://github.com/owncloud/ios-app/issues/1130

* Bugfix - (Branding) Color Issues: [#1132](https://github.com/owncloud/ios-app/pull/1132)

Fix some automatic color values, if the branding color is bright by checking the brightness of
the color.

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

Changelog for ownCloud iOS Client [11.10.0] (2022-05-18)
=======================================
The following sections list the changes in ownCloud iOS Client 11.10.0 relevant to
Expand Down
5 changes: 5 additions & 0 deletions changelog/11.10.1_2022-08-02/1129
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
Bugfix: (Branding) Biometrical Unlock in Share Sheet

Biometrical unlock in the share sheet does not work in some third party apps like Boxer. With new branding parameters it is now possible to disable biometrical unlock in the share sheet or to exclude specific apps.

https://github.com/owncloud/ios-app/pull/1129
5 changes: 5 additions & 0 deletions changelog/11.10.1_2022-08-02/1130
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
Bugfix: Show folder contents from cache when offline

With this fix the app shows the contents of the available folders when offline.

https://github.com/owncloud/ios-app/issues/1130
5 changes: 5 additions & 0 deletions changelog/11.10.1_2022-08-02/1132
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
Bugfix: (Branding) Color Issues

Fix some automatic color values, if the branding color is bright by checking the brightness of the color.

https://github.com/owncloud/ios-app/pull/1132
10 changes: 2 additions & 8 deletions fastlane/metadata-emm/en-US/release_notes.txt
Original file line number Diff line number Diff line change
@@ -1,9 +1,3 @@
• UI fixes on iOS 15
This version fixes some UI problems on iOS 15.

• Shortcuts Action
The shortcuts action Delete Path Item did not provided configured accounts.

• Increased Timeout for Copy Action
Timeout for Copy Action was increased up to 10 minutes.
• Available Offline Folders
Shows the contents of the available folders when offline.

10 changes: 2 additions & 8 deletions fastlane/metadata-owncloud-online/en-US/release_notes.txt
Original file line number Diff line number Diff line change
@@ -1,9 +1,3 @@
• UI fixes on iOS 15
This version fixes some UI problems on iOS 15.

• Shortcuts Action
The shortcuts action Delete Path Item did not provided configured accounts.

• Increased Timeout for Copy Action
Timeout for Copy Action was increased up to 10 minutes.
• Available Offline Folders
Shows the contents of the available folders when offline.

10 changes: 2 additions & 8 deletions fastlane/metadata/en-US/release_notes.txt
Original file line number Diff line number Diff line change
@@ -1,9 +1,3 @@
• UI fixes on iOS 15
This version fixes some UI problems on iOS 15.

• Shortcuts Action
The shortcuts action Delete Path Item did not provided configured accounts.

• Increased Timeout for Copy Action
Timeout for Copy Action was increased up to 10 minutes.
• Available Offline Folders
Shows the contents of the available folders when offline.

2 changes: 1 addition & 1 deletion ios-sdk
2 changes: 2 additions & 0 deletions ownCloud Share Extension/Info.plist
Original file line number Diff line number Diff line change
Expand Up @@ -46,6 +46,8 @@
<string>group.com.owncloud.ios-app</string>
<key>OCAppIdentifierPrefix</key>
<string>$(AppIdentifierPrefix)</string>
<key>OCAppComponentIdentifier</key>
<string>shareExtension</string>
<key>OCHasFileProvider</key>
<true/>
<key>OCKeychainAccessGroupIdentifier</key>
Expand Down
8 changes: 8 additions & 0 deletions ownCloud Share Extension/ShareNavigationController.swift
Original file line number Diff line number Diff line change
Expand Up @@ -35,6 +35,14 @@ class ShareNavigationController: AppExtensionNavigationController {
self.setViewControllers([viewController], animated: false)
}
}

override func willMove(toParent parent: UIViewController?) {
super.willMove(toParent: parent)

OCAppIdentity.shared.hostAppBundleIdentifier = parent?.oc_hostAppBundleIdentifier

Log.debug("Extension Host App Bundle ID: \(OCAppIdentity.shared.hostAppBundleIdentifier ?? "nil")")
}
}

extension UserInterfaceContext : UserInterfaceContextProvider {
Expand Down
24 changes: 20 additions & 4 deletions ownCloud.xcodeproj/project.pbxproj
Original file line number Diff line number Diff line change
Expand Up @@ -311,6 +311,8 @@
DC3BE0D82077BC5D002A0AC0 /* ownCloudSDK.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 239369782076110900BCE21A /* ownCloudSDK.framework */; };
DC3BE0DA2077BC6B002A0AC0 /* ownCloudSDK.framework in Copy Frameworks */ = {isa = PBXBuildFile; fileRef = 239369782076110900BCE21A /* ownCloudSDK.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; };
DC3BE0DF2077CC14002A0AC0 /* ClientRootViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = DC3BE0DD2077CC13002A0AC0 /* ClientRootViewController.swift */; };
DC3DDF06287E1C0800E5586D /* UIViewController+HostBundleID.m in Sources */ = {isa = PBXBuildFile; fileRef = DC3DDF03287E1AC200E5586D /* UIViewController+HostBundleID.m */; };
DC3DDF07287E1C0E00E5586D /* UIViewController+HostBundleID.h in Headers */ = {isa = PBXBuildFile; fileRef = DC3DDF02287E1AC200E5586D /* UIViewController+HostBundleID.h */; settings = {ATTRIBUTES = (Public, ); }; };
DC3DEC7B22AFA1F000F3352D /* DownloadItemsHUDViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = DC3DEC7A22AFA1F000F3352D /* DownloadItemsHUDViewController.swift */; };
DC3F4522271A23A000ED2383 /* AcknowledgementsTableViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = DC3F4521271A23A000ED2383 /* AcknowledgementsTableViewController.swift */; };
DC4332002472E1B4002DC0E5 /* OCLicenseEMMProvider.h in Headers */ = {isa = PBXBuildFile; fileRef = DC4331FE2472E1B4002DC0E5 /* OCLicenseEMMProvider.h */; settings = {ATTRIBUTES = (Public, ); }; };
Expand Down Expand Up @@ -1239,6 +1241,8 @@
DC3BE0DC2077CC13002A0AC0 /* ClientQueryViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ClientQueryViewController.swift; sourceTree = "<group>"; };
DC3BE0DD2077CC13002A0AC0 /* ClientRootViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ClientRootViewController.swift; sourceTree = "<group>"; };
DC3BE0E02077CD4B002A0AC0 /* Synchronized.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Synchronized.swift; sourceTree = "<group>"; };
DC3DDF02287E1AC200E5586D /* UIViewController+HostBundleID.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "UIViewController+HostBundleID.h"; sourceTree = "<group>"; };
DC3DDF03287E1AC200E5586D /* UIViewController+HostBundleID.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = "UIViewController+HostBundleID.m"; sourceTree = "<group>"; };
DC3DEC7A22AFA1F000F3352D /* DownloadItemsHUDViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DownloadItemsHUDViewController.swift; sourceTree = "<group>"; };
DC3DEC7C22AFFE8E00F3352D /* KVOWaiter.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = KVOWaiter.swift; sourceTree = "<group>"; };
DC3DEC7F22B03AE700F3352D /* CardViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CardViewController.swift; sourceTree = "<group>"; };
Expand Down Expand Up @@ -2329,6 +2333,15 @@
path = Client;
sourceTree = "<group>";
};
DC3DDEFE287E1AA500E5586D /* UIKit Extensions */ = {
isa = PBXGroup;
children = (
DC3DDF03287E1AC200E5586D /* UIViewController+HostBundleID.m */,
DC3DDF02287E1AC200E5586D /* UIViewController+HostBundleID.h */,
);
path = "UIKit Extensions";
sourceTree = "<group>";
};
DC422448207CAED60006A2A6 /* Theming */ = {
isa = PBXGroup;
children = (
Expand Down Expand Up @@ -2651,6 +2664,7 @@
DCC832E5242CB14E00153F8C /* Notifications */,
DC774E5422F44DF6000B11A1 /* SDK Extensions */,
DC0030BE2350B1CE00BB8570 /* Tools */,
DC3DDEFE287E1AA500E5586D /* UIKit Extensions */,
DC774E5B22F44E4A000B11A1 /* ZIP Archive */,
DC774E6522F44EA7000B11A1 /* Resources */,
);
Expand Down Expand Up @@ -3157,6 +3171,7 @@
DCFEFE2A236876BD009A142F /* OCLicenseManager.h in Headers */,
DCFEFE4923687C83009A142F /* OCLicenseEntitlement.h in Headers */,
DC4332002472E1B4002DC0E5 /* OCLicenseEMMProvider.h in Headers */,
DC3DDF07287E1C0E00E5586D /* UIViewController+HostBundleID.h in Headers */,
DCFEFE39236877A7009A142F /* OCLicenseFeature.h in Headers */,
DC23D1DA238F391200423F62 /* OCLicenseAppStoreReceipt.h in Headers */,
DC70398526128B89009F2DC1 /* NSString+ByteCountParser.h in Headers */,
Expand Down Expand Up @@ -4292,6 +4307,7 @@
DCFEFE50236880B5009A142F /* OCLicenseOffer.m in Sources */,
DC0030C12350B1CE00BB8570 /* NSData+Encoding.m in Sources */,
DC774E5F22F44E57000B11A1 /* ZIPArchive.m in Sources */,
DC3DDF06287E1C0800E5586D /* UIViewController+HostBundleID.m in Sources */,
DCDBB60B2525306000FAD707 /* NotificationAuthErrorForwarder.m in Sources */,
DCD71E8027427463001592C6 /* BuildOptions.m in Sources */,
DC080CE5238AE3F40044C5D2 /* OCLicenseAppStoreProvider.m in Sources */,
Expand Down Expand Up @@ -4670,8 +4686,8 @@
APP_BUILD_FLAGS = "$(inherited)";
APP_BUILD_FLAGS_SWIFT = "$(APP_BUILD_FLAGS)";
APP_PRODUCT_NAME = ownCloud;
APP_SHORT_VERSION = 11.10.0;
APP_VERSION = 217;
APP_SHORT_VERSION = 11.10.1;
APP_VERSION = 225;
CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES;
CLANG_ANALYZER_NONNULL = YES;
CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;
Expand Down Expand Up @@ -4739,8 +4755,8 @@
APP_BUILD_FLAGS = "$(inherited)";
APP_BUILD_FLAGS_SWIFT = "$(APP_BUILD_FLAGS)";
APP_PRODUCT_NAME = ownCloud;
APP_SHORT_VERSION = 11.10.0;
APP_VERSION = 217;
APP_SHORT_VERSION = 11.10.1;
APP_VERSION = 225;
CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES;
CLANG_ANALYZER_NONNULL = YES;
CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;
Expand Down
17 changes: 17 additions & 0 deletions ownCloud/Release Notes/ReleaseNotes.plist
Original file line number Diff line number Diff line change
Expand Up @@ -1613,6 +1613,23 @@ Added an optional &quot;Wait for completion&quot; option to the &quot;Save File&
</dict>
</array>
</dict>
<dict>
<key>Version</key>
<string>11.10.1</string>
<key>ReleaseNotes</key>
<array>
<dict>
<key>Title</key>
<string>Available Offline Folders</string>
<key>Subtitle</key>
<string>Shows the contents of the available folders when offline.</string>
<key>Type</key>
<string>Fix</string>
<key>ImageName</key>
<string>wrench</string>
</dict>
</array>
</dict>
</array>
</dict>
</plist>
Original file line number Diff line number Diff line change
Expand Up @@ -118,7 +118,7 @@ class StaticLoginSetupViewController : StaticLoginStepViewController {

onboardingSection = StaticTableViewSection(headerTitle: nil, identifier: "onboardingSection")
if let message = profile.promptForHelpURL, let title = profile.helpURLButtonString {
let (proceedButton, _) = onboardingSection.addButtonFooter(message: message, messageItemStyle: .welcomeMessage, proceedLabel: title, proceedItemStyle: .informal, cancelLabel: nil)
let (proceedButton, _) = onboardingSection.addButtonFooter(message: message, messageItemStyle: .welcomeMessage, proceedLabel: title, proceedItemStyle: .welcomeInformal, cancelLabel: nil)
proceedButton?.addTarget(self, action: #selector(self.helpAction), for: .touchUpInside)
}

Expand Down
3 changes: 3 additions & 0 deletions ownCloudAppFramework/AppLock Settings/AppLockSettings.h
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,8 @@ NS_ASSUME_NONNULL_BEGIN
@property(assign,nonatomic) BOOL lockEnabled;
@property(assign,nonatomic) NSInteger lockDelay;
@property(assign,nonatomic) BOOL biometricalSecurityEnabled;
@property(assign,nonatomic) BOOL biometricalSecurityEnabledinShareSheet;
@property(readonly,nonatomic,nullable) NSURL *biometricalAuthenticationRedirectionTargetURL;

@property(readonly,nonatomic) BOOL isPasscodeEnforced;
@property(readonly,nonatomic) NSInteger requiredPasscodeDigits;
Expand All @@ -46,5 +48,6 @@ extern OCClassSettingsKey OCClassSettingsKeyRequiredPasscodeDigits;
extern OCClassSettingsKey OCClassSettingsKeyMaximumPasscodeDigits;
extern OCClassSettingsKey OCClassSettingsKeyPasscodeLockDelay;
extern OCClassSettingsKey OCClassSettingsKeyPasscodeUseBiometricalUnlock;
extern OCClassSettingsKey OCClassSettingsKeyPasscodeShareSheetBiometricalUnlockByApp;

NS_ASSUME_NONNULL_END
Loading

0 comments on commit 327f78f

Please sign in to comment.