Skip to content

Commit

Permalink
[milestone/11.7.2] Milestone 11.8.0 (#1055)
Browse files Browse the repository at this point in the history
* 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 <[email protected]>

* [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

* [feature/hide-background-location-settings] Do not show Background Location section by default (#1051)

* #1050 The Background Uploads section should be only shown, if Auto Upload Photos/Videos was enabled. Otherwise the setting section Background Uploads confuses the user, why the disabled options in this section could not be enabled.

* fixed removing table view section

* [fix/branding refinement] Branding: Color and UI Improvements (#1057)

* Fixed branding issues

* - fixed default searchBar background and placeholder text color for branded builds
- show single account server list, if only one account is configured for branded and unbranded builds

* - fixed default (unselected) tab bar color
- added table view section border to branded account table view

* - fixed rounded border for text fields in branded login UI
- removed table row separator in branding login view
- fixed colors in contrast mode, if tint color is white
- fixed UIAlertView tint color

* fixed tint color in UIAlertController in dark mode for branding colors

* fixed color value again

* fixed tint color in single account server list cell view

* fixed missing profile UI

* removed optional branding values (only two color values are now needed for a complete branding, all other values are optional)

* fixed border color in single account server view, if navigationbar background color is white

* added gomplate template for Branding.plist creation to the iOS repo
adopted template for new Parameter and removed default values i template

* fixed some color issues, if tint color is white

* fixed setting custom UISearchBar backgroundColor on iOS 12

* set profile url as prefilled default value into setup url field

* added a new color style loginStatusBarStyle to set a custom status bar style for the login view

* if the key app.version-number exists, fastlane will use this value as app and extension short version number, which gives the possibility to set custom version numbers

* Fixed CR findings:
- added a protocol for setting the custom status bar style, instead of using static class names
- using the correct SDK method for round rect

* fixed merge error

* [fix/branding-login-retry] Retry Section for Branded Login Error (#1047)

* add a error section with a retry button in branded login view

* #4786 added a retry interval of 10 seconds. In this time interval the app retries to establish the connection before a error message will be shown

* only retry for network issues

* only show retry section on network issues

* - changed retry time interval to 30 seconds
- retries minimum of 3 times

* Update ownCloud/Static Login/Interface/StaticLoginSetupViewController.swift

Co-authored-by: Felix Schwarz <[email protected]>

* fixed connection retry and show retry section UI

* HTTP pipeline is ready to schedule HTTP requests before the Static Login View Controller is brought up. Moved it before setting up the UIWindow

* removed connection retries output and put it into the log

Co-authored-by: Felix Schwarz <[email protected]>

* [fix/single-accouont-display-name] Show Display Name in Branded Single Account View (#1049)

* username could be like a uuid, which is not user readable. Instead now showing the displayName and if not available, the userName

* fixed syntax error

* fixed compile error

* first draft for retrieving the user display name for the header view

* retrieving the users display name by init a connection and reloading the table view

* - new version and build number
- new release notes entry

* [feature/appstore-buildflag] Remove App Store / IAP code via build flag (#1052)

* - add support and documentation for DISABLE_APPSTORE_LICENSING build flag

* - ReleaseNotesHostViewController: remove unused reference to StoreKit
- OCLicenseDuration: make sure SKProductSubscriptionPeriod conversion code is excluded when using the DISABLE_APPSTORE_LICENSING build flag

* [fix/clear-lock] Clear lock when determining unlock expiry (#1061)

* - AppLockmanager: clear unlock and lastApplicationBackgroundedDate in case an unlock has expired, to protect against subsequent attempts setting the device time to an earlier date

* - AppLockManager: clear unlocked state if device time is earlier than lastBackgrounded time

* - fix logic bug and improve structure

* - AppLockManager: now returns correct unlock status when detecting that time was turned back

* [feature/custom-app-scheme] Custom app/auth schemes (#1060)

* - add support and documentation for DISABLE_APPSTORE_LICENSING build flag

* - ReleaseNotesHostViewController: remove unused reference to StoreKit
- OCLicenseDuration: make sure SKProductSubscriptionPeriod conversion code is excluded when using the DISABLE_APPSTORE_LICENSING build flag

* - add support for app.custom-app-scheme and app.custom-auth-scheme to Fastfile
- add documentation for new custom scheme Branding.plist parameters

* - remove test values from Branding.plist

* - move build options from `app.` space to `build.` space and rename options accordingly
- add legacy support for previously used Branding.plist build customization option names
- add `BuildOptions` class to `ownCloudApp` framework to make build customization options visible in documentation

* - ensure BuildOptions class is actually loaded/initialized

* - update Xcode to 12.5.1 for GitHub workflow configuration-documentation.yml

* - adapt code in `ImportPasteboardAction.swift` to also compile in Xcode 12.4

* Configuration documentation updated

Co-authored-by: felix-schwarz <[email protected]>
Co-authored-by: Matthias Hühne <[email protected]>

* - switch to ios-sdk milestone/11.7.2

* add an accesibility id for the access files row, so that it can be matched by the autom tests

* quote shell command, because it can contain spaces in path name

* added public release notes for version 11.8.0

* fixed regression test findings

* fixed toolbar visibility on iPad, if should not be shown

* updated in-app changelog and added calens changelog entries

* Calens changelog updated

* - change SDK to 11.8 release

* - updated fastlane release notes
- changed changelog folder name

* Calens changelog updated

Co-authored-by: Felix Schwarz <[email protected]>
Co-authored-by: felix-schwarz <[email protected]>
Co-authored-by: Jesus Recio <[email protected]>
Co-authored-by: hosy <[email protected]>
  • Loading branch information
5 people authored Dec 1, 2021
1 parent e7abd1d commit b1b674b
Show file tree
Hide file tree
Showing 119 changed files with 1,954 additions and 384 deletions.
6 changes: 4 additions & 2 deletions .swiftlint.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ excluded:
- ownCloudScreenshotsTests
- external

function_body_length: 100
#function_body_length: 100
# warning_threshold: 5
# line_length:
# warning: 300
Expand Down Expand Up @@ -33,8 +33,10 @@ disabled_rules:
- function_body_length
- implicit_getter
- computed_accessors_order
- unneeded_notification_center_removal
- function_parameter_count
- comment_spacing
- unused_closure_parameter
# - unneeded_notification_center_removal
custom_rules:
empty_line_after_guard_statement:
included: ".*\\.swift"
Expand Down
124 changes: 124 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,127 @@
Changelog for ownCloud iOS Client [11.8.0] (2021-12-01)
=======================================
The following sections list the changes in ownCloud iOS Client 11.8.0 relevant to
ownCloud admins and users.

[11.8.0]: https://github.com/owncloud/ios-app/compare/milestone/11.7.1...milestone/11.8.0

Summary
-------

* Bugfix - Background Location Settings: [#1050](https://github.com/owncloud/ios-app/issues/1050)
* Bugfix - Clear Passcode Lock: [#1061](https://github.com/owncloud/ios-app/pull/1061)
* Bugfix - Quick Access: [#4767](https://github.com/owncloud/enterprise/issues/4767)
* Bugfix - (Branding) Retry Section for Login Error: [#4786](https://github.com/owncloud/enterprise/issues/4786)
* Change - Account List: [#1014](https://github.com/owncloud/ios-app/issues/1014)
* Change - (Branding) Modular Localization: [#1054](https://github.com/owncloud/ios-app/pull/1054)
* Change - (Branding) Skip Account Screen: [#1056](https://github.com/owncloud/ios-app/pull/1056)
* Change - (Branding) Color and UI Improvements: [#1057](https://github.com/owncloud/ios-app/pull/1057)
* Change - Suggest Biometrical Unlock: [#4747](https://github.com/owncloud/enterprise/issues/4747)
* Change - (Branding) Default User Settings: [#4766](https://github.com/owncloud/enterprise/issues/4766)
* Change - Display Name: [#4798](https://github.com/owncloud/enterprise/issues/4798)
* Change - Licenses Overview: [#4801](https://github.com/owncloud/enterprise/issues/4801)
* Change - (Branding) Remove Code via Build Flag: [#4805](https://github.com/owncloud/enterprise/issues/4805)
* Change - (Branding) Biometrical Unlock Setting: [#4818](https://github.com/owncloud/enterprise/issues/4818)
* Change - (Branding) Custom App/Auth Schemes: [#4857](https://github.com/owncloud/enterprise/issues/4857)

Details
-------

* Bugfix - Background Location Settings: [#1050](https://github.com/owncloud/ios-app/issues/1050)

Do not show the Background Location settings section, if no upload path was chosen.

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

* Bugfix - Clear Passcode Lock: [#1061](https://github.com/owncloud/ios-app/pull/1061)

Clear unlock and in case an unlock has expired, to protect against subsequent attempts setting
the device time to an earlier date.

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

* Bugfix - Quick Access: [#4767](https://github.com/owncloud/enterprise/issues/4767)

Fix bug where a quick access entry showed no items when selected a second time.

https://github.com/owncloud/enterprise/issues/4767

* Bugfix - (Branding) Retry Section for Login Error: [#4786](https://github.com/owncloud/enterprise/issues/4786)

This adds a retry section to the branded login, e.g. if a server url could not be reached.

https://github.com/owncloud/enterprise/issues/4786

* Change - Account List: [#1014](https://github.com/owncloud/ios-app/issues/1014)

Show a new detailed single account view instead of the server list if only one account is
configured.

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

* Change - (Branding) Modular Localization: [#1054](https://github.com/owncloud/ios-app/pull/1054)

Allowing complex customization of localized strings with variables, value sources and
complete text replacements.

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

* Change - (Branding) Skip Account Screen: [#1056](https://github.com/owncloud/ios-app/pull/1056)

Skip "Manage" screen / automatically open "Files" screen after login via branding parameter.

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

* Change - (Branding) Color and UI Improvements: [#1057](https://github.com/owncloud/ios-app/pull/1057)

Setup a branding with only two color values and simplified a lot of branding values and
furthermore fixed some UI issues.

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

* Change - Suggest Biometrical Unlock: [#4747](https://github.com/owncloud/enterprise/issues/4747)

Suggest enabling biometrical unlock after setting up passcode protection.

https://github.com/owncloud/enterprise/issues/4747

* Change - (Branding) Default User Settings: [#4766](https://github.com/owncloud/enterprise/issues/4766)

Adds a new class setting to allow registration of alternative defaults for user defaults.

https://github.com/owncloud/enterprise/issues/4766

* Change - Display Name: [#4798](https://github.com/owncloud/enterprise/issues/4798)

Show display name in branded single account view if available, otherwise show the userName.

https://github.com/owncloud/enterprise/issues/4798

* Change - Licenses Overview: [#4801](https://github.com/owncloud/enterprise/issues/4801)

Add a new view controller to present license texts for each component individually.

https://github.com/owncloud/enterprise/issues/4801

* Change - (Branding) Remove Code via Build Flag: [#4805](https://github.com/owncloud/enterprise/issues/4805)

Adds support for disable code via parameters which can be specified via Branding.plist.

https://github.com/owncloud/enterprise/issues/4805

* Change - (Branding) Biometrical Unlock Setting: [#4818](https://github.com/owncloud/enterprise/issues/4818)

Control via branding parameter to auto enable biometrical unlock and immediately show Face ID
authorization after the feature was enabled.

https://github.com/owncloud/enterprise/issues/4818

* Change - (Branding) Custom App/Auth Schemes: [#4857](https://github.com/owncloud/enterprise/issues/4857)

New branding parameter to change the schemes for private links and auth scheme.

https://github.com/owncloud/enterprise/issues/4857

Changelog for ownCloud iOS Client [11.7.1] (2021-09-22)
=======================================
The following sections list the changes in ownCloud iOS Client 11.7.1 relevant to
Expand Down
5 changes: 5 additions & 0 deletions changelog/11.8.0_2021-12-01/1014
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
Change: Account List

Show a new detailed single account view instead of the server list if only one account is configured.

https://github.com/owncloud/ios-app/issues/1014
5 changes: 5 additions & 0 deletions changelog/11.8.0_2021-12-01/1050
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
Bugfix: Background Location Settings

Do not show the Background Location settings section, if no upload path was chosen.

https://github.com/owncloud/ios-app/issues/1050
5 changes: 5 additions & 0 deletions changelog/11.8.0_2021-12-01/1054
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
Change: (Branding) Modular Localization

Allowing complex customization of localized strings with variables, value sources and complete text replacements.

https://github.com/owncloud/ios-app/pull/1054
5 changes: 5 additions & 0 deletions changelog/11.8.0_2021-12-01/1056
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
Change: (Branding) Skip Account Screen

Skip "Manage" screen / automatically open "Files" screen after login via branding parameter.

https://github.com/owncloud/ios-app/pull/1056
5 changes: 5 additions & 0 deletions changelog/11.8.0_2021-12-01/1057
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
Change: (Branding) Color and UI Improvements

Setup a branding with only two color values and simplified a lot of branding values and furthermore fixed some UI issues.

https://github.com/owncloud/ios-app/pull/1057
5 changes: 5 additions & 0 deletions changelog/11.8.0_2021-12-01/1061
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
Bugfix: Clear Passcode Lock

Clear unlock and in case an unlock has expired, to protect against subsequent attempts setting the device time to an earlier date.

https://github.com/owncloud/ios-app/pull/1061
5 changes: 5 additions & 0 deletions changelog/11.8.0_2021-12-01/4747
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
Change: Suggest Biometrical Unlock

Suggest enabling biometrical unlock after setting up passcode protection.

https://github.com/owncloud/enterprise/issues/4747
5 changes: 5 additions & 0 deletions changelog/11.8.0_2021-12-01/4766
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
Change: (Branding) Default User Settings

Adds a new class setting to allow registration of alternative defaults for user defaults.

https://github.com/owncloud/enterprise/issues/4766
5 changes: 5 additions & 0 deletions changelog/11.8.0_2021-12-01/4767
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
Bugfix: Quick Access

Fix bug where a quick access entry showed no items when selected a second time.

https://github.com/owncloud/enterprise/issues/4767
5 changes: 5 additions & 0 deletions changelog/11.8.0_2021-12-01/4786
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
Bugfix: (Branding) Retry Section for Login Error

This adds a retry section to the branded login, e.g. if a server url could not be reached.

https://github.com/owncloud/enterprise/issues/4786
5 changes: 5 additions & 0 deletions changelog/11.8.0_2021-12-01/4798
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
Change: Display Name

Show display name in branded single account view if available, otherwise show the userName.

https://github.com/owncloud/enterprise/issues/4798
5 changes: 5 additions & 0 deletions changelog/11.8.0_2021-12-01/4801
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
Change: Licenses Overview

Add a new view controller to present license texts for each component individually.

https://github.com/owncloud/enterprise/issues/4801
5 changes: 5 additions & 0 deletions changelog/11.8.0_2021-12-01/4805
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
Change: (Branding) Remove Code via Build Flag

Adds support for disable code via parameters which can be specified via Branding.plist.

https://github.com/owncloud/enterprise/issues/4805
5 changes: 5 additions & 0 deletions changelog/11.8.0_2021-12-01/4818
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
Change: (Branding) Biometrical Unlock Setting

Control via branding parameter to auto enable biometrical unlock and immediately show Face ID authorization after the feature was enabled.

https://github.com/owncloud/enterprise/issues/4818
5 changes: 5 additions & 0 deletions changelog/11.8.0_2021-12-01/4857
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
Change: (Branding) Custom App/Auth Schemes

New branding parameter to change the schemes for private links and auth scheme.

https://github.com/owncloud/enterprise/issues/4857
6 changes: 6 additions & 0 deletions doc/APP_BUILD_FLAGS.md
Original file line number Diff line number Diff line change
Expand Up @@ -24,3 +24,9 @@ Removes the following from the app:
- the location description keys from the app's `Info.plist`

Not used by default.

### `DISABLE_APPSTORE_LICENSING`

Removes the following from the app:
- App Store integration for OCLicense
- App Store related view controllers and settings section
76 changes: 76 additions & 0 deletions doc/BUILD_CUSTOMIZATION.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,76 @@
# Build Flags

## Description

Build Flags can be used to control the inclusion or exclusion of certain functionality or features.

## Usage in Branding

A space-separated list of flags can be specified in the `Branding.plist` with the key `build.flags`, f.ex.:

```xml
<key>build.flags</key>
<string>DISABLE_BACKGROUND_LOCATION</string>
```

## Flags

The following options can be used as `build.flags`:

### `DISABLE_BACKGROUND_LOCATION`

Removes the following from the app:
- the option for location-triggered background uploads from Settings
- the location description keys from the app's `Info.plist`

Not used by default.

### `DISABLE_APPSTORE_LICENSING`

Removes the following from the app:
- App Store integration for OCLicense
- App Store related view controllers and settings section


# Custom Schemes

## Description

The app uses two URL schemes:
- `oc` for authentication
- `owncloud` for private links

Both schemes are part of the app's `Info.plist`, which can only be changed at build time.

## Usage in Branding

### Private Links

The default `owncloud` app URL scheme in `Info.plist` can be changed by providing an alternative scheme name in the `Branding.plist` with the key `build.custom-app-scheme`, f.ex.:

```xml
<key>build.custom-app-scheme</key>
<string>myscheme</string>
```

### Authentication

The default `oc` app URL scheme in `Info.plist` can be changed by providing an alternative scheme name in the `Branding.plist` with the key `build.custom-auth-scheme`, f.ex.:

```xml
<key>build.custom-auth-scheme</key>
<string>ms</string>
```

The change in the `Info.plist` is only necessary when an external browser is used for authentication via OAuth2 or OIDC. In that case, the scheme must also be changed in the regular options for OIDC and OAuth2 authentication methods:

```xml
<key>authentication-oauth2.oa2-redirect-uri</key>
<string>ms://ios.owncloud.com</string>
<key>authentication-oauth2.oidc-redirect-uri</key>
<string>ms://ios.owncloud.com</string>
```

Depending on OAuth2 and OIDC implementation on the server side:
- it may be necessary to also adapt the registered redirect URI on the server
- authentication could fail if not adapted on the server
Loading

0 comments on commit b1b674b

Please sign in to comment.