From 55d415b346b8fedce002f0272fee4a712dcb7502 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Matthias=20Hu=CC=88hne?= <> Date: Wed, 6 Apr 2022 16:32:10 +0200 Subject: [PATCH 01/14] set up a new version 11.10.0 --- ownCloud.xcodeproj/project.pbxproj | 8 ++++---- ownCloudAppShared/Tools/VendorServices.swift | 4 ++-- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/ownCloud.xcodeproj/project.pbxproj b/ownCloud.xcodeproj/project.pbxproj index 3d4d004b6..1e480a20c 100644 --- a/ownCloud.xcodeproj/project.pbxproj +++ b/ownCloud.xcodeproj/project.pbxproj @@ -4730,8 +4730,8 @@ APP_BUILD_FLAGS = "$(inherited)"; APP_BUILD_FLAGS_SWIFT = "$(APP_BUILD_FLAGS)"; APP_PRODUCT_NAME = ownCloud; - APP_SHORT_VERSION = 11.9.1; - APP_VERSION = 213; + APP_SHORT_VERSION = 11.10.0; + APP_VERSION = 214; CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES; CLANG_ANALYZER_NONNULL = YES; CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; @@ -4799,8 +4799,8 @@ APP_BUILD_FLAGS = "$(inherited)"; APP_BUILD_FLAGS_SWIFT = "$(APP_BUILD_FLAGS)"; APP_PRODUCT_NAME = ownCloud; - APP_SHORT_VERSION = 11.9.1; - APP_VERSION = 213; + APP_SHORT_VERSION = 11.10.0; + APP_VERSION = 214; CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES; CLANG_ANALYZER_NONNULL = YES; CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; diff --git a/ownCloudAppShared/Tools/VendorServices.swift b/ownCloudAppShared/Tools/VendorServices.swift index e44f5b15f..511a27fd0 100644 --- a/ownCloudAppShared/Tools/VendorServices.swift +++ b/ownCloudAppShared/Tools/VendorServices.swift @@ -167,8 +167,8 @@ extension VendorServices : OCClassSettingsSupport { public static func defaultSettings(forIdentifier identifier: OCClassSettingsIdentifier) -> [OCClassSettingsKey : Any]? { if identifier == .app { return [ - .isBetaBuild : false, - .showBetaWarning : false, + .isBetaBuild : true, + .showBetaWarning : true, .enableUIAnimations: true, .enableReviewPrompt: VendorServices.shared.enableReviewPrompt, From 867c787a6811efbf4fd7b4a26cfc4e0dbd1dc53b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Matthias=20H=C3=BChne?= Date: Fri, 8 Apr 2022 16:07:13 +0200 Subject: [PATCH 02/14] [feature/openssl-1.1.1] Migration to OpenSSL 1.1.0 (#1116) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * - migrated code to new OpenSSL 1.1.1 API - using OpenSSL Package * - update SDK * - update ios-sdk Co-authored-by: Matthias Hühne <> Co-authored-by: Felix Schwarz --- ios-sdk | 2 +- ownCloud.xcodeproj/project.pbxproj | 81 ++++--------------- .../xcshareddata/swiftpm/Package.resolved | 51 +++++++----- 3 files changed, 47 insertions(+), 87 deletions(-) diff --git a/ios-sdk b/ios-sdk index d2fa23526..95b7c5fc2 160000 --- a/ios-sdk +++ b/ios-sdk @@ -1 +1 @@ -Subproject commit d2fa23526c6981d0ba53cc2e801424f6f532db8d +Subproject commit 95b7c5fc2b54c1077f08637590f19964179efb19 diff --git a/ownCloud.xcodeproj/project.pbxproj b/ownCloud.xcodeproj/project.pbxproj index 1e480a20c..9d2182492 100644 --- a/ownCloud.xcodeproj/project.pbxproj +++ b/ownCloud.xcodeproj/project.pbxproj @@ -49,6 +49,7 @@ 391C79AE24E187C400CB6333 /* LegacyCredentials.swift in Sources */ = {isa = PBXBuildFile; fileRef = 02F2890F24BFAF0100E3D35C /* LegacyCredentials.swift */; }; 392378FF24EBD1A1006E86DE /* branding-splashscreen.png in Resources */ = {isa = PBXBuildFile; fileRef = 39F48A6624D848550000E3F9 /* branding-splashscreen.png */; }; 3923790524EBD1A5006E86DE /* branding-splashscreen-background.png in Resources */ = {isa = PBXBuildFile; fileRef = 39F48A6724D848550000E3F9 /* branding-splashscreen-background.png */; }; + 3924AB5827FC6A270055DC8A /* OpenSSL in Frameworks */ = {isa = PBXBuildFile; productRef = 3924AB5727FC6A270055DC8A /* OpenSSL */; }; 39265BB223D9987500B0C4CA /* MediaEditingAction.swift in Sources */ = {isa = PBXBuildFile; fileRef = 39265BB123D9987500B0C4CA /* MediaEditingAction.swift */; }; 392CFEB72705831700631D2B /* LAContext+Extension.swift in Sources */ = {isa = PBXBuildFile; fileRef = 392CFEB62705831700631D2B /* LAContext+Extension.swift */; }; 392DDAE624C8923B009E5406 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 233BDEA6204FEFE500C06732 /* Assets.xcassets */; }; @@ -106,7 +107,6 @@ 39BF674C25E7FE020039663F /* CancelLabelViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 39BF674B25E7FE020039663F /* CancelLabelViewController.swift */; }; 39BF67B225E804DF0039663F /* ownCloudUI.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 2393697C2076110900BCE21A /* ownCloudUI.framework */; }; 39BF67B325E804EF0039663F /* ownCloudSDK.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 239369782076110900BCE21A /* ownCloudSDK.framework */; }; - 39BF67B425E804FB0039663F /* openssl.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 2347445E2076138000859C93 /* openssl.framework */; }; 39BF684D25E8E2DD0039663F /* ownCloudAppShared.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 394A0AF922EEFC2C00603813 /* ownCloudAppShared.framework */; }; 39CC8AE6228C12100020253B /* Array+Extension.swift in Sources */ = {isa = PBXBuildFile; fileRef = 39CC8AE5228C12100020253B /* Array+Extension.swift */; }; 39CD755423D8392D00193950 /* EditDocumentViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 39CD755323D8392D00193950 /* EditDocumentViewController.swift */; }; @@ -306,12 +306,9 @@ DC36885824DC98BF00333600 /* OCFileProviderServiceSession.h in Headers */ = {isa = PBXBuildFile; fileRef = DC36885624DC98BF00333600 /* OCFileProviderServiceSession.h */; settings = {ATTRIBUTES = (Public, ); }; }; DC36885924DC98BF00333600 /* OCFileProviderServiceSession.m in Sources */ = {isa = PBXBuildFile; fileRef = DC36885724DC98BF00333600 /* OCFileProviderServiceSession.m */; }; DC36885D24DD916800333600 /* ownCloudApp.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = DCC0855C2293F1FD008CC05C /* ownCloudApp.framework */; }; - DC36885E24DD917400333600 /* openssl.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 2347445E2076138000859C93 /* openssl.framework */; }; DC36885F24DD917900333600 /* ownCloudUI.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 2393697C2076110900BCE21A /* ownCloudUI.framework */; }; DC36886224DDA9AB00333600 /* ProgressIndicatorViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = DC36886024DDA3C300333600 /* ProgressIndicatorViewController.swift */; }; - DC3BE0D72077BC5D002A0AC0 /* openssl.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 2347445E2076138000859C93 /* openssl.framework */; }; DC3BE0D82077BC5D002A0AC0 /* ownCloudSDK.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 239369782076110900BCE21A /* ownCloudSDK.framework */; }; - DC3BE0D92077BC6B002A0AC0 /* openssl.framework in Copy Frameworks */ = {isa = PBXBuildFile; fileRef = 2347445E2076138000859C93 /* openssl.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; 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 */; }; DC3DEC7B22AFA1F000F3352D /* DownloadItemsHUDViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = DC3DEC7A22AFA1F000F3352D /* DownloadItemsHUDViewController.swift */; }; @@ -361,7 +358,6 @@ DC85572C20513B8C00189B9A /* ServerListTableViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = DC85572A20513B8C00189B9A /* ServerListTableViewController.swift */; }; DC85572D20513B8C00189B9A /* ServerListTableViewController.xib in Resources */ = {isa = PBXBuildFile; fileRef = DC85572B20513B8C00189B9A /* ServerListTableViewController.xib */; }; DC869A592153B1F60088977E /* OCMockingManager+SwiftTools.swift in Sources */ = {isa = PBXBuildFile; fileRef = DC869A582153B1F60088977E /* OCMockingManager+SwiftTools.swift */; }; - DC8EB26C23927FDD009148F9 /* openssl.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 2347445E2076138000859C93 /* openssl.framework */; }; DC8EB271239308E5009148F9 /* LicenseOffersViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = DC8EB270239308E5009148F9 /* LicenseOffersViewController.swift */; }; DC973BBE24A28ED0001DEEC4 /* CoreServices.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = DCEC3DE3242F665D0076B43C /* CoreServices.framework */; }; DC98BBCB20FF815C00F4ED3E /* NSNumber+OCSyncAnchorData.m in Sources */ = {isa = PBXBuildFile; fileRef = DC98BBCA20FF815C00F4ED3E /* NSNumber+OCSyncAnchorData.m */; }; @@ -540,13 +536,6 @@ remoteGlobalIDString = 233BDE9B204FEFE500C06732; remoteInfo = ownCloud; }; - 2347445D2076138000859C93 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = DCD344AF205BD0FA00189B9A /* openssl.xcodeproj */; - proxyType = 2; - remoteGlobalIDString = DC30949D205749EA00189B9A; - remoteInfo = openssl; - }; 239369772076110900BCE21A /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = 233BDEBF204FEFF300C06732 /* ownCloudSDK.xcodeproj */; @@ -687,13 +676,6 @@ remoteGlobalIDString = DCC8F9AA202852A200EB6701; remoteInfo = ownCloudSDK; }; - DC3BE0CC2077BC52002A0AC0 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = DCD344AF205BD0FA00189B9A /* openssl.xcodeproj */; - proxyType = 1; - remoteGlobalIDString = DC30949C205749EA00189B9A; - remoteInfo = openssl; - }; DC3BE0CE2077BC52002A0AC0 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = 233BDEBF204FEFF300C06732 /* ownCloudSDK.xcodeproj */; @@ -722,13 +704,6 @@ remoteGlobalIDString = DCE93FE221FCA42C000E14F2; remoteInfo = libzip; }; - DC8EB26D23927FE7009148F9 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = DCD344AF205BD0FA00189B9A /* openssl.xcodeproj */; - proxyType = 1; - remoteGlobalIDString = DC30949C205749EA00189B9A; - remoteInfo = openssl; - }; DCB2C058250C1C3F001083CA /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = 233BDE94204FEFE500C06732 /* Project object */; @@ -876,7 +851,6 @@ 394A0B0122EEFC2C00603813 /* ownCloudAppShared.framework in Copy Frameworks */, DCC085722293F1FD008CC05C /* ownCloudApp.framework in Copy Frameworks */, DCFBAD0C21BE67A100943F76 /* ownCloudUI.framework in Copy Frameworks */, - DC3BE0D92077BC6B002A0AC0 /* openssl.framework in Copy Frameworks */, DC3BE0DA2077BC6B002A0AC0 /* ownCloudSDK.framework in Copy Frameworks */, ); name = "Copy Frameworks"; @@ -1401,7 +1375,6 @@ DCD1301023A23F4E00255779 /* OCLicenseManager+AppStore.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "OCLicenseManager+AppStore.swift"; sourceTree = ""; }; DCD2D40522F06ECA0071FB8F /* DataSettingsSection.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DataSettingsSection.swift; sourceTree = ""; }; DCD344A5205BD0C000189B9A /* openssl.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = openssl.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - DCD344AF205BD0FA00189B9A /* openssl.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = openssl.xcodeproj; path = "ios-sdk/ownCloudUI/openssl/framework/openssl.xcodeproj"; sourceTree = ""; }; DCD71E7C2742745D001592C6 /* BuildOptions.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = BuildOptions.h; sourceTree = ""; }; DCD71E7D2742745D001592C6 /* BuildOptions.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = BuildOptions.m; sourceTree = ""; }; DCD810922398492C003B0053 /* OCLicenseDuration.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = OCLicenseDuration.h; sourceTree = ""; }; @@ -1505,8 +1478,8 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( + 3924AB5827FC6A270055DC8A /* OpenSSL in Frameworks */, 024F3A2124A3AB410083E11E /* CrashReporter in Frameworks */, - DC3BE0D72077BC5D002A0AC0 /* openssl.framework in Frameworks */, 394A0B0022EEFC2C00603813 /* ownCloudAppShared.framework in Frameworks */, DC3BE0D82077BC5D002A0AC0 /* ownCloudSDK.framework in Frameworks */, DC080CF1238C8D850044C5D2 /* StoreKit.framework in Frameworks */, @@ -1551,7 +1524,6 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 39BF67B425E804FB0039663F /* openssl.framework in Frameworks */, 39DC7CF425C305E80001E08C /* ownCloudAppShared.framework in Frameworks */, 39DC7CE725C305E40001E08C /* ownCloudApp.framework in Frameworks */, 39BF67B225E804DF0039663F /* ownCloudUI.framework in Frameworks */, @@ -1583,7 +1555,6 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - DC8EB26C23927FDD009148F9 /* openssl.framework in Frameworks */, DC774E6822F44F6A000B11A1 /* libzip.framework in Frameworks */, DCC0857B2293F29F008CC05C /* ownCloudSDK.framework in Frameworks */, ); @@ -1613,7 +1584,6 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - DC36885E24DD917400333600 /* openssl.framework in Frameworks */, DC36885D24DD916800333600 /* ownCloudApp.framework in Frameworks */, DC36885F24DD917900333600 /* ownCloudUI.framework in Frameworks */, DCE4E48024C1F58D0051722F /* ownCloudSDK.framework in Frameworks */, @@ -1648,7 +1618,6 @@ isa = PBXGroup; children = ( DC9BFBB220A19AF3007064B5 /* doc */, - DCD344AF205BD0FA00189B9A /* openssl.xcodeproj */, 233BDEBF204FEFF300C06732 /* ownCloudSDK.xcodeproj */, 233BDE9E204FEFE500C06732 /* ownCloud */, DC7DBA10207F59C500E7337D /* External */, @@ -1734,14 +1703,6 @@ path = ownCloudTests; sourceTree = ""; }; - 2347445A2076138000859C93 /* Products */ = { - isa = PBXGroup; - children = ( - 2347445E2076138000859C93 /* openssl.framework */, - ); - name = Products; - sourceTree = ""; - }; 2366821521144DCD0045EF72 /* Card Presentation Controller */ = { isa = PBXGroup; children = ( @@ -3256,7 +3217,6 @@ ); dependencies = ( DC63207D21FCA71B007EC0A8 /* PBXTargetDependency */, - DC3BE0CD2077BC52002A0AC0 /* PBXTargetDependency */, DC3BE0CF2077BC52002A0AC0 /* PBXTargetDependency */, DC3BE0D12077BC52002A0AC0 /* PBXTargetDependency */, DCC6566420C9B7E400110A97 /* PBXTargetDependency */, @@ -3270,6 +3230,7 @@ name = ownCloud; packageProductDependencies = ( 024F3A2024A3AB410083E11E /* CrashReporter */, + 3924AB5727FC6A270055DC8A /* OpenSSL */, ); productName = ownCloud; productReference = 233BDE9C204FEFE500C06732 /* ownCloud.app */; @@ -3415,7 +3376,6 @@ buildRules = ( ); dependencies = ( - DC8EB26E23927FE7009148F9 /* PBXTargetDependency */, DC774E6722F44F65000B11A1 /* PBXTargetDependency */, DCC0857A2293F296008CC05C /* PBXTargetDependency */, ); @@ -3593,6 +3553,7 @@ packageReferences = ( 024F3A1F24A3AB410083E11E /* XCRemoteSwiftPackageReference "plcrashreporter" */, DC049197258CAF8200DEDC27 /* XCRemoteSwiftPackageReference "PocketSVG" */, + 3924AB5627FC6A270055DC8A /* XCRemoteSwiftPackageReference "OpenSSL" */, ); productRefGroup = 233BDE9D204FEFE500C06732 /* Products */; projectDirPath = ""; @@ -3601,10 +3562,6 @@ ProductGroup = DCE93FEF21FCA434000E14F2 /* Products */; ProjectRef = DCE93FEE21FCA434000E14F2 /* libzip.xcodeproj */; }, - { - ProductGroup = 2347445A2076138000859C93 /* Products */; - ProjectRef = DCD344AF205BD0FA00189B9A /* openssl.xcodeproj */; - }, { ProductGroup = 239369712076110900BCE21A /* Products */; ProjectRef = 233BDEBF204FEFF300C06732 /* ownCloudSDK.xcodeproj */; @@ -3628,13 +3585,6 @@ /* End PBXProject section */ /* Begin PBXReferenceProxy section */ - 2347445E2076138000859C93 /* openssl.framework */ = { - isa = PBXReferenceProxy; - fileType = wrapper.framework; - path = openssl.framework; - remoteRef = 2347445D2076138000859C93 /* PBXContainerItemProxy */; - sourceTree = BUILT_PRODUCTS_DIR; - }; 239369782076110900BCE21A /* ownCloudSDK.framework */ = { isa = PBXReferenceProxy; fileType = wrapper.framework; @@ -4484,11 +4434,6 @@ name = ownCloudSDK; targetProxy = DC27A19220CAA0C6008ACB6C /* PBXContainerItemProxy */; }; - DC3BE0CD2077BC52002A0AC0 /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - name = openssl; - targetProxy = DC3BE0CC2077BC52002A0AC0 /* PBXContainerItemProxy */; - }; DC3BE0CF2077BC52002A0AC0 /* PBXTargetDependency */ = { isa = PBXTargetDependency; name = ownCloudSDK; @@ -4509,11 +4454,6 @@ name = libzip; targetProxy = DC774E6622F44F65000B11A1 /* PBXContainerItemProxy */; }; - DC8EB26E23927FE7009148F9 /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - name = openssl; - targetProxy = DC8EB26D23927FE7009148F9 /* PBXContainerItemProxy */; - }; DCB2C059250C1C3F001083CA /* PBXTargetDependency */ = { isa = PBXTargetDependency; target = DCC0855B2293F1FD008CC05C /* ownCloudApp */; @@ -5606,6 +5546,14 @@ minimumVersion = 1.7.0; }; }; + 3924AB5627FC6A270055DC8A /* XCRemoteSwiftPackageReference "OpenSSL" */ = { + isa = XCRemoteSwiftPackageReference; + repositoryURL = "https://github.com/krzyzanowskim/OpenSSL.git"; + requirement = { + kind = upToNextMajorVersion; + minimumVersion = 1.1.180; + }; + }; DC049197258CAF8200DEDC27 /* XCRemoteSwiftPackageReference "PocketSVG" */ = { isa = XCRemoteSwiftPackageReference; repositoryURL = "https://github.com/pocketsvg/PocketSVG.git"; @@ -5627,6 +5575,11 @@ package = 024F3A1F24A3AB410083E11E /* XCRemoteSwiftPackageReference "plcrashreporter" */; productName = CrashReporter; }; + 3924AB5727FC6A270055DC8A /* OpenSSL */ = { + isa = XCSwiftPackageProductDependency; + package = 3924AB5627FC6A270055DC8A /* XCRemoteSwiftPackageReference "OpenSSL" */; + productName = OpenSSL; + }; DC0491A9258CAF9800DEDC27 /* PocketSVG */ = { isa = XCSwiftPackageProductDependency; package = DC049197258CAF8200DEDC27 /* XCRemoteSwiftPackageReference "PocketSVG" */; diff --git a/ownCloud.xcworkspace/xcshareddata/swiftpm/Package.resolved b/ownCloud.xcworkspace/xcshareddata/swiftpm/Package.resolved index 6b4b251f8..b14d7da78 100644 --- a/ownCloud.xcworkspace/xcshareddata/swiftpm/Package.resolved +++ b/ownCloud.xcworkspace/xcshareddata/swiftpm/Package.resolved @@ -1,25 +1,32 @@ { - "object": { - "pins": [ - { - "package": "PLCrashReporter", - "repositoryURL": "https://github.com/microsoft/plcrashreporter.git", - "state": { - "branch": null, - "revision": "4637a7854de2cc5c354d46fb931d74bdbc2c043e", - "version": "1.7.0" - } - }, - { - "package": "PocketSVG", - "repositoryURL": "https://github.com/pocketsvg/PocketSVG.git", - "state": { - "branch": null, - "revision": "51d4fd9ae48e79207034afdd53f365fc2b9d6068", - "version": "2.7.0" - } + "pins" : [ + { + "identity" : "openssl", + "kind" : "remoteSourceControl", + "location" : "https://github.com/krzyzanowskim/OpenSSL.git", + "state" : { + "revision" : "8697a05bcddbbeb5ac2d29cd60442cf93ee0d3ae", + "version" : "1.1.1400" } - ] - }, - "version": 1 + }, + { + "identity" : "plcrashreporter", + "kind" : "remoteSourceControl", + "location" : "https://github.com/microsoft/plcrashreporter.git", + "state" : { + "revision" : "4637a7854de2cc5c354d46fb931d74bdbc2c043e", + "version" : "1.7.0" + } + }, + { + "identity" : "pocketsvg", + "kind" : "remoteSourceControl", + "location" : "https://github.com/pocketsvg/PocketSVG.git", + "state" : { + "revision" : "51d4fd9ae48e79207034afdd53f365fc2b9d6068", + "version" : "2.7.0" + } + } + ], + "version" : 2 } From 3b7b18d9448c495b677cf7ba360f68f61f1dbd5e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Matthias=20H=C3=BChne?= Date: Wed, 4 May 2022 11:21:48 +0200 Subject: [PATCH 03/14] #1114 If app is build as EMM version, the app shows an licensing error, when running shortcut intents (could not read app bundle identifier in extension) (#1122) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Matthias Hühne <> --- .../Providers/EMM/OCLicenseEMMProvider.m | 22 +++++++++++++++---- 1 file changed, 18 insertions(+), 4 deletions(-) diff --git a/ownCloudAppFramework/Licensing/Providers/EMM/OCLicenseEMMProvider.m b/ownCloudAppFramework/Licensing/Providers/EMM/OCLicenseEMMProvider.m index 9ff649dff..3fd080a54 100644 --- a/ownCloudAppFramework/Licensing/Providers/EMM/OCLicenseEMMProvider.m +++ b/ownCloudAppFramework/Licensing/Providers/EMM/OCLicenseEMMProvider.m @@ -32,12 +32,26 @@ - (instancetype)initWithUnlockedProductIdentifiers:(NSArray Date: Wed, 4 May 2022 11:22:59 +0200 Subject: [PATCH 04/14] [feature/iOS-15-SDK] Build with iOS 15 SDK (#1121) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * #1066 support for iOS 15 SDK: Solving UI issues, removing unneeded code * - updated Xcode version for fastlane - fastlane readme update Co-authored-by: Matthias Hühne <> --- .xcode-version | 2 +- fastlane/README.md | 123 ++++++++++++------ .../BreadCrumbTableViewController.swift | 2 +- .../SortMethodTableViewController.swift | 4 +- .../StaticTableViewController.swift | 20 +++ .../Theme/NSObject+ThemeApplication.swift | 61 +++------ .../Theme/ThemeCollection.swift | 7 +- 7 files changed, 134 insertions(+), 85 deletions(-) diff --git a/.xcode-version b/.xcode-version index 2b4b4d7cb..7befaf8cf 100644 --- a/.xcode-version +++ b/.xcode-version @@ -1 +1 @@ -12.5.1 +13.3 diff --git a/fastlane/README.md b/fastlane/README.md index fc497b33b..9cd0e4ebe 100644 --- a/fastlane/README.md +++ b/fastlane/README.md @@ -1,99 +1,144 @@ fastlane documentation -================ +---- + # Installation Make sure you have the latest version of the Xcode command line tools installed: -``` +```sh xcode-select --install ``` -Install _fastlane_ using -``` -[sudo] gem install fastlane -NV -``` -or alternatively using `brew install fastlane` +For _fastlane_ installation instructions, see [Installing _fastlane_](https://docs.fastlane.tools/#installing-fastlane) # Available Actions + ## iOS + ### ios beta + +```sh +[bundle exec] fastlane ios beta ``` -fastlane ios beta -``` + Push a new beta build to TestFlight + ### ios register_new_devices + +```sh +[bundle exec] fastlane ios register_new_devices ``` -fastlane ios register_new_devices -``` + Register new devices to Apple portal + ### ios build_ipa_ad_hoc + +```sh +[bundle exec] fastlane ios build_ipa_ad_hoc ``` -fastlane ios build_ipa_ad_hoc -``` + Ad-Hoc Distribution IPA generation + ### ios screenshots + +```sh +[bundle exec] fastlane ios screenshots ``` -fastlane ios screenshots -``` + Generate the screenshots for the AppStore + ### ios prepare_metadata + +```sh +[bundle exec] fastlane ios prepare_metadata ``` -fastlane ios prepare_metadata -``` + Create Metadata Release Notes, Screenshots and push to git + ### ios release_on_appstore + +```sh +[bundle exec] fastlane ios release_on_appstore ``` -fastlane ios release_on_appstore -``` + Create Release Notes, Screenshots, Build, Upload of regular iOS App and EMM App + ### ios owncloud_regular_build + +```sh +[bundle exec] fastlane ios owncloud_regular_build ``` -fastlane ios owncloud_regular_build -``` + + ### ios owncloud_emm_build + +```sh +[bundle exec] fastlane ios owncloud_emm_build ``` -fastlane ios owncloud_emm_build -``` + + ### ios owncloud_online_build + +```sh +[bundle exec] fastlane ios owncloud_online_build ``` -fastlane ios owncloud_online_build -``` + + ### ios owncloud_branding_adhoc_build + +```sh +[bundle exec] fastlane ios owncloud_branding_adhoc_build ``` -fastlane ios owncloud_branding_adhoc_build -``` + + ### ios owncloud_branding_appstore_build + +```sh +[bundle exec] fastlane ios owncloud_branding_appstore_build ``` -fastlane ios owncloud_branding_appstore_build -``` + + ### ios owncloud_ownbrander_build + +```sh +[bundle exec] fastlane ios owncloud_ownbrander_build ``` -fastlane ios owncloud_ownbrander_build -``` + + ### ios owncloud_enterprise_build + +```sh +[bundle exec] fastlane ios owncloud_enterprise_build ``` -fastlane ios owncloud_enterprise_build -``` + + ### ios generate_appicon + +```sh +[bundle exec] fastlane ios generate_appicon ``` -fastlane ios generate_appicon -``` + + ### ios build_ipa_in_house + +```sh +[bundle exec] fastlane ios build_ipa_in_house ``` -fastlane ios build_ipa_in_house -``` + In-House Enterprise IPA generation ---- This README.md is auto-generated and will be re-generated every time [_fastlane_](https://fastlane.tools) is run. -More information about fastlane can be found on [fastlane.tools](https://fastlane.tools). -The documentation of fastlane can be found on [docs.fastlane.tools](https://docs.fastlane.tools). + +More information about _fastlane_ can be found on [fastlane.tools](https://fastlane.tools). + +The documentation of _fastlane_ can be found on [docs.fastlane.tools](https://docs.fastlane.tools). diff --git a/ownCloudAppShared/Client/User Interface/BreadCrumbTableViewController.swift b/ownCloudAppShared/Client/User Interface/BreadCrumbTableViewController.swift index ad6321a7c..09730376a 100644 --- a/ownCloudAppShared/Client/User Interface/BreadCrumbTableViewController.swift +++ b/ownCloudAppShared/Client/User Interface/BreadCrumbTableViewController.swift @@ -49,7 +49,7 @@ open class BreadCrumbTableViewController: StaticTableViewController { var rows : [StaticTableViewRow] = [] let pathCount = pathComp.count var currentViewContollerIndex = 2 - let contentHeight : CGFloat = rowHeight * CGFloat(pathCount) + let contentHeight : CGFloat = rowHeight * CGFloat(pathCount) + 10 let contentWidth : CGFloat = (view.frame.size.width < maxContentWidth) ? view.frame.size.width : maxContentWidth self.preferredContentSize = CGSize(width: contentWidth, height: contentHeight) diff --git a/ownCloudAppShared/Client/User Interface/SortMethodTableViewController.swift b/ownCloudAppShared/Client/User Interface/SortMethodTableViewController.swift index 5d051b1d3..d0b6c8512 100644 --- a/ownCloudAppShared/Client/User Interface/SortMethodTableViewController.swift +++ b/ownCloudAppShared/Client/User Interface/SortMethodTableViewController.swift @@ -35,9 +35,9 @@ class SortMethodTableViewController: StaticTableViewController { self.tableView.rowHeight = rowHeight var rows : [StaticTableViewRow] = [] - let contentHeight : CGFloat = rowHeight * CGFloat(SortMethod.all.count) - 1 + let contentHeight : CGFloat = rowHeight * CGFloat(SortMethod.all.count) + 8 let contentWidth : CGFloat = maxContentWidth - self.preferredContentSize = CGSize(width: contentWidth, height: contentHeight) + self.preferredContentSize = CGSize(width: contentWidth, height: contentHeight) for method in SortMethod.all { let title = method.localizedName diff --git a/ownCloudAppShared/User Interface/StaticTableView/StaticTableViewController.swift b/ownCloudAppShared/User Interface/StaticTableView/StaticTableViewController.swift index fba0763b6..bf7b6bbc5 100644 --- a/ownCloudAppShared/User Interface/StaticTableView/StaticTableViewController.swift +++ b/ownCloudAppShared/User Interface/StaticTableView/StaticTableViewController.swift @@ -264,4 +264,24 @@ open class StaticTableViewController: UITableViewController, Themeable { open func applyThemeCollection(theme: Theme, collection: ThemeCollection, event: ThemeEvent) { self.tableView.applyThemeCollection(collection) } + + public override func tableView(_ tableView: UITableView, willDisplayHeaderView view: UIView, forSection section: Int) { + guard let sectionColor = Theme.shared.activeCollection.tableSectionHeaderColor else { return } + + if let label = view as? UILabel { + label.textColor = sectionColor + } else if let headerView = view as? UITableViewHeaderFooterView { + headerView.textLabel?.textColor = sectionColor + } + } + + public override func tableView(_ tableView: UITableView, willDisplayFooterView view: UIView, forSection section: Int) { + guard let sectionColor = Theme.shared.activeCollection.tableSectionFooterColor else { return } + + if let label = view as? UILabel { + label.textColor = sectionColor + } else if let headerView = view as? UITableViewHeaderFooterView { + headerView.textLabel?.textColor = sectionColor + } + } } diff --git a/ownCloudAppShared/User Interface/Theme/NSObject+ThemeApplication.swift b/ownCloudAppShared/User Interface/Theme/NSObject+ThemeApplication.swift index cadbb5b4c..e2deb87c7 100644 --- a/ownCloudAppShared/User Interface/Theme/NSObject+ThemeApplication.swift +++ b/ownCloudAppShared/User Interface/Theme/NSObject+ThemeApplication.swift @@ -125,15 +125,30 @@ public extension NSObject { } if let toolbar = self as? UIToolbar { - toolbar.barTintColor = collection.toolbarColors.backgroundColor toolbar.tintColor = collection.toolbarColors.tintColor + + if #available(iOS 15, *) { + let appearance = UIToolbarAppearance() + appearance.backgroundColor = collection.toolbarColors.backgroundColor + UIToolbar.appearance().standardAppearance = appearance + UIToolbar.appearance().scrollEdgeAppearance = appearance + } else { + toolbar.barTintColor = collection.toolbarColors.backgroundColor + } } - if let tabBar = self as? UITabBar { - tabBar.barTintColor = collection.toolbarColors.backgroundColor - tabBar.tintColor = collection.toolbarColors.tintColor - tabBar.unselectedItemTintColor = collection.toolbarColors.secondaryLabelColor - } + if let tabBar = self as? UITabBar { + tabBar.tintColor = collection.toolbarColors.tintColor + tabBar.unselectedItemTintColor = collection.toolbarColors.secondaryLabelColor + if #available(iOS 15, *) { + let appearance = UITabBarAppearance() + appearance.backgroundColor = collection.toolbarColors.backgroundColor + UITabBar.appearance().standardAppearance = appearance + UITabBar.appearance().scrollEdgeAppearance = appearance + } else { + tabBar.barTintColor = collection.toolbarColors.backgroundColor + } + } if let tableView = self as? UITableView { tableView.backgroundColor = tableView.style == .grouped ? collection.tableGroupBackgroundColor : collection.tableBackgroundColor @@ -284,37 +299,3 @@ public extension NSObject { } } } - -extension UITableViewController : ThemeableSectionHeader, ThemeableSectionFooter { - public var sectionHeaderColor: UIColor? { - get { - return self.value(forAnnotatedProperty: "sectionHeaderColor") as? UIColor - } - - set { - self.setValue(newValue, forAnnotatedProperty: "sectionHeaderColor") - } - } - - public var sectionFooterColor: UIColor? { - get { - return self.value(forAnnotatedProperty: "sectionFooterColor") as? UIColor - } - - set { - self.setValue(newValue, forAnnotatedProperty: "sectionFooterColor") - } - } - - public func tableView(_ tableView: UITableView, willDisplayHeaderView view: UIView, forSection section: Int) { - if let label = view as? UILabel, let sectionHeaderColor = sectionHeaderColor { - label.textColor = sectionHeaderColor - } - } - - public func tableView(_ tableView: UITableView, willDisplayFooterView view: UIView, forSection section: Int) { - if let label = view as? UILabel, let sectionFooterColor = sectionFooterColor { - label.textColor = sectionFooterColor - } - } -} diff --git a/ownCloudAppShared/User Interface/Theme/ThemeCollection.swift b/ownCloudAppShared/User Interface/Theme/ThemeCollection.swift index e05d07f67..653f6b256 100644 --- a/ownCloudAppShared/User Interface/Theme/ThemeCollection.swift +++ b/ownCloudAppShared/User Interface/Theme/ThemeCollection.swift @@ -238,7 +238,7 @@ public class ThemeCollection : NSObject { let color = colors.resolveColor("Table.tableSeparatorColor", UIColor.lightGray) self.tableSeparatorColor = color } - self.tableSectionHeaderColor = UIColor.gray + self.tableSectionHeaderColor = UIColor.gray self.tableSectionFooterColor = UIColor.gray let rowColor : UIColor? = UIColor.black.withAlphaComponent(0.1) @@ -374,7 +374,10 @@ public class ThemeCollection : NSObject { // Bars self.navigationBarColors = colors.resolveThemeColorCollection("NavigationBar", self.darkBrandColors) let tmpDarkBrandColors = self.darkBrandColors - tmpDarkBrandColors.secondaryLabelColor = UIColor(hex: 0xF7F7F7) + + if VendorServices.shared.isBranded { + tmpDarkBrandColors.secondaryLabelColor = UIColor(hex: 0xF7F7F7) + } if self.tintColor == UIColor(hex: 0xFFFFFF) { tmpDarkBrandColors.secondaryLabelColor = .lightGray } From 95dde3a44d349718a7f3747a5de5801011883237 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Matthias=20H=C3=BChne?= Date: Mon, 9 May 2022 09:29:02 +0200 Subject: [PATCH 05/14] #1123 Account options were not dynamically provided for action "Delete Account Item", because of wrong intent configuration (#1125) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Matthias Hühne <> --- ownCloud Intents/Base.lproj/Intents.intentdefinition | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/ownCloud Intents/Base.lproj/Intents.intentdefinition b/ownCloud Intents/Base.lproj/Intents.intentdefinition index 024b80fc0..89d555c95 100644 --- a/ownCloud Intents/Base.lproj/Intents.intentdefinition +++ b/ownCloud Intents/Base.lproj/Intents.intentdefinition @@ -126,11 +126,11 @@ INIntentDefinitionNamespace K5U8aR INIntentDefinitionSystemVersion - 21A559 + 21E230 INIntentDefinitionToolsBuildVersion - 13A233 + 13E113 INIntentDefinitionToolsVersion - 13.0 + 13.3 INIntents @@ -2358,6 +2358,8 @@ INIntentParameterConfigurable + INIntentParameterCustomDisambiguation + INIntentParameterDisplayName Path INIntentParameterDisplayNameID @@ -2441,6 +2443,8 @@ Confirmation + INIntentParameterSupportsDynamicEnumeration + INIntentParameterSupportsResolution INIntentParameterTag From 94be4380e71f08f38e482c0303ee18a7006b4f71 Mon Sep 17 00:00:00 2001 From: Felix Schwarz Date: Mon, 9 May 2022 09:29:26 +0200 Subject: [PATCH 06/14] [fix/copy-timeout] Fix copy timeout (#1119) * - update SDK for improved error handling - add environment variable switch to enable/disable action-timeout-simulator host simulator * - update SDK with changes addressing code review findings by @hosy in #1119 --- ios-sdk | 2 +- ownCloud.xcodeproj/xcshareddata/xcschemes/ownCloud.xcscheme | 5 +++++ 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/ios-sdk b/ios-sdk index 95b7c5fc2..b1bda6a7d 160000 --- a/ios-sdk +++ b/ios-sdk @@ -1 +1 @@ -Subproject commit 95b7c5fc2b54c1077f08637590f19964179efb19 +Subproject commit b1bda6a7debb56b6517aaf50740e0df9456bee6c diff --git a/ownCloud.xcodeproj/xcshareddata/xcschemes/ownCloud.xcscheme b/ownCloud.xcodeproj/xcshareddata/xcschemes/ownCloud.xcscheme index b6809e148..e0dd390a7 100644 --- a/ownCloud.xcodeproj/xcshareddata/xcschemes/ownCloud.xcscheme +++ b/ownCloud.xcodeproj/xcshareddata/xcschemes/ownCloud.xcscheme @@ -310,6 +310,11 @@ value = "[auth-race-condition]" isEnabled = "NO"> + + Date: Mon, 9 May 2022 15:25:04 +0200 Subject: [PATCH 07/14] - added release notes changelog files - added in-app release notes - changed app version number - removed beta build warning --- changelog/unreleased/1066 | 5 +++ changelog/unreleased/1114 | 5 +++ changelog/unreleased/1119 | 5 +++ changelog/unreleased/1123 | 5 +++ ownCloud.xcodeproj/project.pbxproj | 4 +-- ownCloud/Release Notes/ReleaseNotes.plist | 37 ++++++++++++++++++++ ownCloudAppShared/Tools/VendorServices.swift | 4 +-- 7 files changed, 61 insertions(+), 4 deletions(-) create mode 100644 changelog/unreleased/1066 create mode 100644 changelog/unreleased/1114 create mode 100644 changelog/unreleased/1119 create mode 100644 changelog/unreleased/1123 diff --git a/changelog/unreleased/1066 b/changelog/unreleased/1066 new file mode 100644 index 000000000..5208206de --- /dev/null +++ b/changelog/unreleased/1066 @@ -0,0 +1,5 @@ +Bugfix: iOS 15 SDK + +After upgrading to iOS 15 SDK some UI fixes were needed. + +https://github.com/owncloud/ios-app/issue/1066 diff --git a/changelog/unreleased/1114 b/changelog/unreleased/1114 new file mode 100644 index 000000000..e52a8c1c9 --- /dev/null +++ b/changelog/unreleased/1114 @@ -0,0 +1,5 @@ +Bugfix: EMM Shortcuts Licensing + +If app was build as EMM version, the app shown an licensing error, when running shortcut intents. + +https://github.com/owncloud/ios-app/issue/1114 diff --git a/changelog/unreleased/1119 b/changelog/unreleased/1119 new file mode 100644 index 000000000..f0a286103 --- /dev/null +++ b/changelog/unreleased/1119 @@ -0,0 +1,5 @@ +Bugfix: Increased Timeout for Copy Action + +Increased HTTP request timeout for COPY actions from 1 minute to 10 minutes and improved error handling for request timeouts. + +https://github.com/owncloud/ios-app/issue/1119 diff --git a/changelog/unreleased/1123 b/changelog/unreleased/1123 new file mode 100644 index 000000000..10f4444b5 --- /dev/null +++ b/changelog/unreleased/1123 @@ -0,0 +1,5 @@ +Bugfix: Shortcuts Action Delete Path Item + +The shortcuts action Delete Path Item did not provided configured accounts. + +https://github.com/owncloud/ios-app/issue/1123 diff --git a/ownCloud.xcodeproj/project.pbxproj b/ownCloud.xcodeproj/project.pbxproj index 9d2182492..496ac4819 100644 --- a/ownCloud.xcodeproj/project.pbxproj +++ b/ownCloud.xcodeproj/project.pbxproj @@ -4671,7 +4671,7 @@ APP_BUILD_FLAGS_SWIFT = "$(APP_BUILD_FLAGS)"; APP_PRODUCT_NAME = ownCloud; APP_SHORT_VERSION = 11.10.0; - APP_VERSION = 214; + APP_VERSION = 217; CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES; CLANG_ANALYZER_NONNULL = YES; CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; @@ -4740,7 +4740,7 @@ APP_BUILD_FLAGS_SWIFT = "$(APP_BUILD_FLAGS)"; APP_PRODUCT_NAME = ownCloud; APP_SHORT_VERSION = 11.10.0; - APP_VERSION = 214; + APP_VERSION = 217; CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES; CLANG_ANALYZER_NONNULL = YES; CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; diff --git a/ownCloud/Release Notes/ReleaseNotes.plist b/ownCloud/Release Notes/ReleaseNotes.plist index da4204e31..52a50d9c7 100644 --- a/ownCloud/Release Notes/ReleaseNotes.plist +++ b/ownCloud/Release Notes/ReleaseNotes.plist @@ -1576,6 +1576,43 @@ Added an optional "Wait for completion" option to the "Save File& + + Version + 11.10.0 + ReleaseNotes + + + Title + UI fixes on iOS 15 + Subtitle + This version fixes some UI problems on iOS 15. + Type + Fix + ImageName + wrench + + + Title + Shortcuts Action + Subtitle + The shortcuts action Delete Path Item did not provided configured accounts. + Type + Fix + ImageName + wrench + + + Title + Increased Timeout for Copy Action + Subtitle + Timeout for Copy Action was increased up to 10 minutes. + Type + Fix + ImageName + wrench + + + diff --git a/ownCloudAppShared/Tools/VendorServices.swift b/ownCloudAppShared/Tools/VendorServices.swift index 511a27fd0..e44f5b15f 100644 --- a/ownCloudAppShared/Tools/VendorServices.swift +++ b/ownCloudAppShared/Tools/VendorServices.swift @@ -167,8 +167,8 @@ extension VendorServices : OCClassSettingsSupport { public static func defaultSettings(forIdentifier identifier: OCClassSettingsIdentifier) -> [OCClassSettingsKey : Any]? { if identifier == .app { return [ - .isBetaBuild : true, - .showBetaWarning : true, + .isBetaBuild : false, + .showBetaWarning : false, .enableUIAnimations: true, .enableReviewPrompt: VendorServices.shared.enableReviewPrompt, From 223210401ea0053ce2a633ee6e940d9ab08023d2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Matthias=20Hu=CC=88hne?= <> Date: Mon, 9 May 2022 15:27:16 +0200 Subject: [PATCH 08/14] added OpenSSL changelog entry --- changelog/unreleased/1116 | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 changelog/unreleased/1116 diff --git a/changelog/unreleased/1116 b/changelog/unreleased/1116 new file mode 100644 index 000000000..510d7303f --- /dev/null +++ b/changelog/unreleased/1116 @@ -0,0 +1,5 @@ +Change: Migration to OpenSSL 1.1.0 + +Migrated code to OpenSSL 1.1.1 API. + +https://github.com/owncloud/ios-app/pull/1116 From fbf68cc696cc5d319efd87f0ae6db9c84213576c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Matthias=20Hu=CC=88hne?= <> Date: Fri, 13 May 2022 19:13:03 +0200 Subject: [PATCH 09/14] updated Xcode version --- .xcode-version | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.xcode-version b/.xcode-version index 7befaf8cf..c3d10c59d 100644 --- a/.xcode-version +++ b/.xcode-version @@ -1 +1 @@ -13.3 +13.3.1 From 6b238b56d227fa379a70570fbed621636701b95e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Matthias=20Hu=CC=88hne?= <> Date: Mon, 16 May 2022 10:04:21 +0200 Subject: [PATCH 10/14] only perform table updates, when query is final to prevent flickering and showing empty folder message (QA finding 1, 2) --- .../QueryFileListTableViewController.swift | 51 ++++++++++--------- 1 file changed, 26 insertions(+), 25 deletions(-) diff --git a/ownCloudAppShared/Client/File Lists/QueryFileListTableViewController.swift b/ownCloudAppShared/Client/File Lists/QueryFileListTableViewController.swift index fb9c309ca..430793be9 100644 --- a/ownCloudAppShared/Client/File Lists/QueryFileListTableViewController.swift +++ b/ownCloudAppShared/Client/File Lists/QueryFileListTableViewController.swift @@ -296,31 +296,32 @@ open class QueryFileListTableViewController: FileListTableViewController, SortBa self.actionContext = ActionContext(viewController: self, core: core, query: query, items: [OCItem](), location: actionsLocation) } - switch query.state { - case .contentsFromCache, .idle, .waitingForServerReply: - if previousItemCount == 0, self.items.count == 0, query.state == .waitingForServerReply { - break - } - - if self.items.count == 0 { - if self.searchController?.searchBar.text != "" { - self.messageView?.message(show: true, with: UIEdgeInsets(top: sortBar?.frame.size.height ?? 0, left: 0, bottom: 0, right: 0), imageName: "icon-search", title: "No matches".localized, message: "There is no results for this search".localized) - } else { - self.messageView?.message(show: true, imageName: "folder", title: "Empty folder".localized, message: "This folder contains no files or folders.".localized) - } - } else { - self.messageView?.message(show: false) - } - - self.reloadTableData() - - case .targetRemoved: - self.messageView?.message(show: true, imageName: "folder", title: "Folder removed".localized, message: "This folder no longer exists on the server.".localized) - self.reloadTableData() - - default: - self.messageView?.message(show: false) - } + switch query.state { + case .contentsFromCache, .idle, .waitingForServerReply: + if previousItemCount == 0, self.items.count == 0, query.state == .waitingForServerReply { + break + } + + if query.state.isFinal { + if self.items.count == 0 { + if self.searchController?.searchBar.text != "" { + self.messageView?.message(show: true, with: UIEdgeInsets(top: sortBar?.frame.size.height ?? 0, left: 0, bottom: 0, right: 0), imageName: "icon-search", title: "No matches".localized, message: "There is no results for this search".localized) + } else { + self.messageView?.message(show: true, imageName: "folder", title: "Empty folder".localized, message: "This folder contains no files or folders.".localized) + } + } else { + self.messageView?.message(show: false) + } + + self.reloadTableData() + } + case .targetRemoved: + self.messageView?.message(show: true, imageName: "folder", title: "Folder removed".localized, message: "This folder no longer exists on the server.".localized) + self.reloadTableData() + + default: + self.messageView?.message(show: false) + } } // MARK: - Themeable From 4b5abb8c9dbd4c526920e6f586c0cfab6fd071ac Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Matthias=20Hu=CC=88hne?= <> Date: Mon, 16 May 2022 15:13:09 +0200 Subject: [PATCH 11/14] moved changelog folder to new release folder --- changelog/{unreleased => 11.10.0_2022-05-16}/1066 | 0 changelog/{unreleased => 11.10.0_2022-05-16}/1114 | 0 changelog/{unreleased => 11.10.0_2022-05-16}/1116 | 0 changelog/{unreleased => 11.10.0_2022-05-16}/1119 | 0 changelog/{unreleased => 11.10.0_2022-05-16}/1123 | 0 5 files changed, 0 insertions(+), 0 deletions(-) rename changelog/{unreleased => 11.10.0_2022-05-16}/1066 (100%) rename changelog/{unreleased => 11.10.0_2022-05-16}/1114 (100%) rename changelog/{unreleased => 11.10.0_2022-05-16}/1116 (100%) rename changelog/{unreleased => 11.10.0_2022-05-16}/1119 (100%) rename changelog/{unreleased => 11.10.0_2022-05-16}/1123 (100%) diff --git a/changelog/unreleased/1066 b/changelog/11.10.0_2022-05-16/1066 similarity index 100% rename from changelog/unreleased/1066 rename to changelog/11.10.0_2022-05-16/1066 diff --git a/changelog/unreleased/1114 b/changelog/11.10.0_2022-05-16/1114 similarity index 100% rename from changelog/unreleased/1114 rename to changelog/11.10.0_2022-05-16/1114 diff --git a/changelog/unreleased/1116 b/changelog/11.10.0_2022-05-16/1116 similarity index 100% rename from changelog/unreleased/1116 rename to changelog/11.10.0_2022-05-16/1116 diff --git a/changelog/unreleased/1119 b/changelog/11.10.0_2022-05-16/1119 similarity index 100% rename from changelog/unreleased/1119 rename to changelog/11.10.0_2022-05-16/1119 diff --git a/changelog/unreleased/1123 b/changelog/11.10.0_2022-05-16/1123 similarity index 100% rename from changelog/unreleased/1123 rename to changelog/11.10.0_2022-05-16/1123 From d935d608fdf001222e5146027550c29febf8be0c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Matthias=20Hu=CC=88hne?= <> Date: Mon, 16 May 2022 15:18:03 +0200 Subject: [PATCH 12/14] updated fastlane release notes for App Store --- fastlane/metadata-emm/en-US/release_notes.txt | 11 +++++++---- .../metadata-owncloud-online/en-US/release_notes.txt | 11 +++++++---- fastlane/metadata/en-US/release_notes.txt | 11 +++++++---- 3 files changed, 21 insertions(+), 12 deletions(-) diff --git a/fastlane/metadata-emm/en-US/release_notes.txt b/fastlane/metadata-emm/en-US/release_notes.txt index c5fff08a7..5da11c0dc 100644 --- a/fastlane/metadata-emm/en-US/release_notes.txt +++ b/fastlane/metadata-emm/en-US/release_notes.txt @@ -1,6 +1,9 @@ -• Faster Account Scan -We improved the time for the initial scan after setting up a new account +• UI fixes on iOS 15 +This version fixes some UI problems on iOS 15. -• Biometrical Authentication Button -Improvements when setting up a passcode with biometrical unlock +• 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. diff --git a/fastlane/metadata-owncloud-online/en-US/release_notes.txt b/fastlane/metadata-owncloud-online/en-US/release_notes.txt index c5fff08a7..5da11c0dc 100644 --- a/fastlane/metadata-owncloud-online/en-US/release_notes.txt +++ b/fastlane/metadata-owncloud-online/en-US/release_notes.txt @@ -1,6 +1,9 @@ -• Faster Account Scan -We improved the time for the initial scan after setting up a new account +• UI fixes on iOS 15 +This version fixes some UI problems on iOS 15. -• Biometrical Authentication Button -Improvements when setting up a passcode with biometrical unlock +• 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. diff --git a/fastlane/metadata/en-US/release_notes.txt b/fastlane/metadata/en-US/release_notes.txt index c5fff08a7..5da11c0dc 100644 --- a/fastlane/metadata/en-US/release_notes.txt +++ b/fastlane/metadata/en-US/release_notes.txt @@ -1,6 +1,9 @@ -• Faster Account Scan -We improved the time for the initial scan after setting up a new account +• UI fixes on iOS 15 +This version fixes some UI problems on iOS 15. -• Biometrical Authentication Button -Improvements when setting up a passcode with biometrical unlock +• 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. From b87bfce79478249ce1a29b3c1ebd9094fc94a0bc Mon Sep 17 00:00:00 2001 From: Felix Schwarz Date: Mon, 16 May 2022 16:24:29 +0200 Subject: [PATCH 13/14] - change SDK reference from develop to release commit --- ios-sdk | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ios-sdk b/ios-sdk index b1bda6a7d..6bcd960e1 160000 --- a/ios-sdk +++ b/ios-sdk @@ -1 +1 @@ -Subproject commit b1bda6a7debb56b6517aaf50740e0df9456bee6c +Subproject commit 6bcd960e12f6beddddd0afea5027fd11281afc72 From 9ba531cfba1b434887ef27c32313a85f6661ca6b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Matthias=20Hu=CC=88hne?= <> Date: Mon, 16 May 2022 16:51:20 +0200 Subject: [PATCH 14/14] fixed typo --- ownCloud/Release Notes/ReleaseNotes.plist | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ownCloud/Release Notes/ReleaseNotes.plist b/ownCloud/Release Notes/ReleaseNotes.plist index 52a50d9c7..1b56de0f7 100644 --- a/ownCloud/Release Notes/ReleaseNotes.plist +++ b/ownCloud/Release Notes/ReleaseNotes.plist @@ -1595,7 +1595,7 @@ Added an optional "Wait for completion" option to the "Save File& Title Shortcuts Action Subtitle - The shortcuts action Delete Path Item did not provided configured accounts. + The shortcuts action Delete Path Item did not provide configured accounts. Type Fix ImageName