Skip to content

Conversation

felix-schwarz
Copy link
Contributor

Description

PR for version 11.5.

Related Issue

Motivation and Context

How Has This Been Tested?

Screenshots (if appropriate):

Types of changes

  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to change)

Checklist:

  • My code follows the code style of this project.
  • My change requires a change to the documentation.
  • I have updated the documentation accordingly.
  • I have read the CONTRIBUTING document.
  • I have added tests to cover my changes.
  • All new and existing tests passed.

felix-schwarz and others added 30 commits June 11, 2020 17:14
…cate issue, eliminating redundant issues, respecting and remembering choices to either retry or put the connection offline
* - FileProvider: extend hardcoded MIME/Suffix -> UTI maps so files of these types are properly displayed in the Files app

* - add new ItemContainer protocol allowing the retrieval of an item from another object
- UIImageView+Thumbnails
	- fix item version comparison for thumbnails requested from the SDK (using ItemContainer)
	- add item version comparison for thumbnails generated locally via QLThumbnailGenerator (using ItemContainer)

* - Update SDK
- only show sharing items, if sharing is enabled and core is online
* Activate editing mode in viewDidAppear()

Sort of a hack but there is apparently no other way of achieving this

* Display more button in the PDF viewer. Preserving already configured UIBarButtonItem instances when adding more button.

* Re-rendering content if it has got modified locally

E.g. user could open markup editor and scribble on picture or PDF. Without this fix, he would need to go back to the file list and re-open document to see the changes.

* Fix for auto-tapping markup button

Co-authored-by: Michael Neuwert <[email protected]>
- use entitlements from app binary instead of provisioning profile
- set app values from provisioning profile to entitlements file
- only set NSExtensionFileProviderDocumentGroup for File Provider extension
…Store (#728)

* Added all bits and pieces for app review request

* Fix for a review task not being run

* Changed the way review prompt is presented

* Fixed review findings

* Corrected sign of time interval properties

* Another sign for time interval corrected

* Corrected the way review is requested

Co-authored-by: Michael Neuwert <[email protected]>
* - OCBookmark+Extension
	- clean up OCBookmarkUserInfoKeys and move them to their own extension
	- add new OCBookmark.scanForAuthenticationMethodsRequired to mark bookmarks as needing a scan for available auth methods before editing
- BookmarkViewController
	- add support for OCBookmark.scanForAuthenticationMethodsRequired
- ClientRootViewController
	- add scan for available authentication methods once when encountering an authorization error
	- rename "Ignore" to "Continue offline"
	- extend ClientRootViewControllerAuthenticationDelegate to include preferredAuthenticationMethods
	- prepare for inline authentication data (username + password - or -  tokens) gathering in the next step

* - Client: add support for handling auth failures inline, without dropping out of the connection:
	- ClientAuthenticationUpdater
		- offers high-level abstraction
		- ties together token-/web-based auth UI and password-based auth UI (ClientAuthenticationUpdaterViewController)
	- ClientAuthenticationUpdaterViewController
		- view controller specialized in requesting a password from the user

* - Update SDK

* - ClientRootViewController: add support for OCCoreConnectionStatus.connecting

* - Update SDK

* - ClientAuthenticationUpdater: add check for .preferredAuthenticationMethodIdentifiers to .canUpdateInline
- ClientRootViewController: add support for plain HTTP bookmarks to authentication method scan
- add additional logging

Co-authored-by: Matthias Hühne <[email protected]>
* iOS13 gesture based multiple selection

- In file list view (2 finger pan)
- In photo selection grid view (1 finger or 2 finger pan)

* Disable gesture based multi-selection if prevent dragging optin is active

* changed option title and added a subtitle with a short description

* using better wording

Co-authored-by: Michael Neuwert <[email protected]>
Co-authored-by: Matthias Hühne <[email protected]>
* Add EMM support:
- new OCLicenseEMMProvider
	- unlocks all pro features if the main bundle ID (as found in the app's or app extension's Info.plist) ends with either "-emm" or ".emm"
	- OCLicenseEMMProvider.isEMMVersion provides information on whether the app is an EMM version
- Licensing Setup: if the app is an EMM version, no App Store IAP provider is set up/added
- Settings: for EMM versions, don't show the "Pro Features" or "Purchases" entries

* - added new fastlane lane to build a emm version of the iOS app
- using the new fastlane file from migration bundle-id branch

* init fastlane deliver action to get the current metadata from the app store to prepare for different apps uploads (regular iOS app and EMM version)

* new fastlane action to parse the release notes plist file

* - new fastlane lane too upload regular and emm iOS build to the AppStore, before release note, screenshots can be created automatically
- new fastlane action to generate the release notes from the ReleaseNotes.plist
- added new options for fastlane lane

* show suffix "EMM" on settings, support mail, when the app was a EMM build

* - fixed signing issues
- changed copyright date
- removed app name metadata template, because of conflicts when using different apps
- updated release notes

* - added app icon for emm version
- exchange app icon with emm version before building
- added a description.txt metadata file for emm app version

* - added app icon for emm app (AppStore Connect upload)
- moving description and app icon for metadata upload
- uncomment code after testing

* new app icon for emm version

* fixed app icon dimensions

* using function from OCLicenseEMMProvider

* enable binary upload on deliver action for emm build

* using newest SDK, to prevent using UIWebView

* updated app version number

Co-authored-by: Matthias Hühne <[email protected]>
* Improved various aspects of media uploads

- Changed a way how assets are exported which photo uploads significantly faster
- Refactored PHAsset+Upload.swift extensions which is now way more readable.
- Improved naming of assets
- Changed default naming of uploaded assets to the scheme legacy app was using
- Added an option allowing to preserve “original” asset names as used by iOS photo library
- Prepared code for future enhancments (exporting additional assets like RAW images and live photo video clips

* Localization of strings and other tiny changes

* Made a mechanism deriving original media asset name more reliable

* Fixed requesting image data

* Using PHAsset.creationDate as lastModifiedDate when uploading media asset

The timestamp is then set into corresponding property in the WebDAV request allowing to have proper file creation date when uploaded to oC server instance.

* Picking edited version of the photo when uploading by default

* Moved files around to have a cleaner structure in Xcode

* Using PHAssetResourceManager for export whenever possible

* Fixed small issues

* Corrected some comments

* Some small refactoring changes

* Add support for cellular transfer settings
- rename StorageSettingsSection to DataSettingsSection to extend scope
- add row and cellular transfer summary to DataSettingsSection
- add new CellularSettingsViewController to present and allow control over cellular settings

* - Update SDK with cellular switch improvements

* - Update SDK to adjust concurrency budgets for sync action so that wifi-only up-/downloads can't block cellular up-/downloads entirely

* Moved media upload settings into separate view

- New view for media upload settings
- Split settings into sections: Export, Auto Upload
- Changed appearance of the Upload Path setting
- Code refactoring changes

* Fixed swift lint warning

* Added cellular switch for media uploads

* Separate configuration for video auto-upload

Added posibility to select different account / path for video auto-uploads

* Fixed small issue in video upload

* Improved the UX for photo album view in upload

- Improved the way thumbnails are requested
- While view is active thumbnails for albums are cached
- Added activity indicator which is shown while albums are being fetched from photo library

* Uploading media from iCloud

- Showing cloud based photo albums in the selection UI
- Ability do upload media which is not available locally

* Improved vide exporting code

* Showing camera roll first in list of albums

* Refactored the method for asset fetching into separate extension

* Media upload queue refactoring

- More modular design and more maintainable code
- Started using OperationQueue for individual imports and created dedicated Operation subclass

* Forgot to add license header

* Small tweaks in media upload queue

- Changed import queue QoS to utility
- Added another cancellation point for MediaUploadOperation

* Configured main thread checker not to stop on first hit

* Background media uploads

- Improved and extended settings UI
- Using both BackgroundTasks and background location to enable background media uploads
- Local notifications informing about background uploads

* Fixed few issues concerning auto-upload settings

* Fixed some issues and added cellular switch for videos

- Some code refactoring in PHAsset export code
- Calling the upload completion handler when placeholder item is created allowing MediaUploadQueue to proceed

* Fixed an issue with photoLibraryChangeDetected flag reset at inappropriate time

* Improved wording in background upload settings

* Refactored local notifications in separate category

* Fixed swift lint warnings

* Cleaned up code

* Improved task scheduling code

* Re-added AVAsset extension

* Don’t show auto-upload settings if no accounts are configured

* Small improvements

- Wording for background location on iOS13 changed
- Added cell identifiers for easier creation of UI tests

* Fix of UI test was necessary since settings have moved

* Additional test for auto-upload settings added

* Fixed remaining failing UI tests

* Implemented CLLocationManagerDelegate error callback

* Re-applied a fix lost during merging

* Changed a way location tracking is initiated

- Start when app is going into background
- Stop when app is foreground
- Switch from significant location to visit monitoring

* Fixed review findings

* Removed a WiFi requirement from pending media upload task

* Removed some unused code

* Added more logs

* - add experimental option to force-enable background NSURLSession usage in the app
- in code, change all instances of the usage of the term "master" to "main"

* Removed an option allowing background NSURLSession

* Change the way background upload settings behave

* Removed background upload settings

Commented out and added a TODO

* Fixed some swift lint warnings

* Fixed review finding

* Only show bookmark / path if instant upload is enabled

Co-authored-by: Michael Neuwert <[email protected]>
Co-authored-by: Felix Schwarz <[email protected]>
* Correct some typos (#620)

Fix small errors in typos

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

* Add support for cellular transfer settings
- rename StorageSettingsSection to DataSettingsSection to extend scope
- add row and cellular transfer summary to DataSettingsSection
- add new CellularSettingsViewController to present and allow control over cellular settings

* - Update SDK with cellular switch improvements

* - Update SDK to adjust concurrency budgets for sync action so that wifi-only up-/downloads can't block cellular up-/downloads entirely

* - Update SDK with new prefixed-HTTP/single-line logging options
- Add new scheme options to selectively turn off single-line and prefixed HTTP logging

* - Update SDK to include logging improvements

* add extra check in release checklist, to avoid missing translations in some languages (#640)

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

* - Update SDK

* - in code, change all instances of the usage of the term "master" to "main"
- update SDK

* - removal of iOS 11 support (including SFAuthenticationSession) and updating to iOS 12+ APIs, adaption of docs where needed
- migration from MobileCoreServices to CoreServices
- drop deprecated serialization APIs in AppLockManager and FileProvider
- Cellular Options
	- display a message if cellular transfers have been disabled via MDM
	- adopt updated SDK to include cellular option improvements

* - Update message in Cellular Settings and dynamically show/hide it depending on whether the main switch is enabled or not

Co-authored-by: Carlos Damken <[email protected]>
Co-authored-by: Matthias Hühne <[email protected]>
Co-authored-by: Jesús Recio <[email protected]>
* #740 moved app version infos from footer to a row to perform a copy action to the clipboard with app version infos

* - fixed localization
- removed unneeded completion block
Deletion of this target solves a problem when building with fastlane (code signing error)
…ccess file list (#743)

* #733 some actions like contextual menu, multiple selection and swipe actions was missing in the generic file list class. Moved missing code to super class or super-super class.

* moved table view row swipe actions to parent class
…ssues and messages (#662)

* - ClientRootViewController: do not add dot to the end of the short connection status description if it already has one
- UIImageView+Thumbnails: fix retain loop, leading to leaking an OCCore - and all possible issues relating to that

* - Update to latest SDK

* - Update SDK and adapt ProgressSummarizer for new event type

* - Fix core-stop-blocking share reload query retain loop via SDK update

* - add permission checks to CreateFolderAction, DeleteAction, DocumentEditingAction, MoveAction, RenameAction, ScanAction and UploadBaseAction, so they are unavailable if permissions aren't sufficient for their usage
- add alert to inform the user that no actions are available in cases where no actions are available for a folder and the user presses the folder action "+" button

* - Update SDK

* fixed QA finding (1) #623

* Fix for QA issue (2)

Media upload settings shall not allow selection of the upload folder which lacks required Permissions

* #623 QA finding (6) allow Markup it at least one permission is available and restrict save actions to available permissions

* - address issue (1) using ActionContext.query.rootItem

* OCCore+Extension.swift:
- remove items from OCShareQueries where they are not used by the core to avoid warnings in the log
- add option for partial matches to sharesSharedWithMe() via allowPartialMatch option

PublicLinkTableViewController.swift:
- take advantage of allowPartialMatch option
- determine share nested the deepest to determine permissions (fixes finding 84) in #632

* - Update SDK

* - avoid using ":", "/" and "\" in localized time stamp of auto-created file names for document scanning, using "-" instead
- update SDK

* - DisplayViewController
	- make sure content is updated as new versions become available (fixing #630)
- FileProvider
	- make use of new SDK OCClaimLockTypeRead to encourage automatic file updates for opened files
- SDK update

* - Update SDK

* - Update SDK

* - DisplayViewController:
	- update for local changes, tracking the last modified date of the local file
	- source:didSet: remove duplicate/out-of-sync checks

* - EditDocumentViewController: fixing tabs, refresh when source file changes
- DisplayViewController: clarify code, add debug output
- OCItem+Extension: new OCItem.contentDifferent(than:core:) to determine whether the content of an item has likely changed based on two OCItem, based on identifiers and size, adapt OCItem.displaysDifferent(than:in:) to use the new method.

* - Change method to refresh QLPreviewController to .reloadData() as it works more reliable

* - Update SDK

* - Initial support for message queue

* - wrote down UI integration ideas

* - ownCloudApp framework
	- NotificationManager: provides necessary infrastructure for local notifications
	- NotificationMessagePresenter: an OCMessagePresenter using local notifications
- File Provider
	- temporarily drop all early-error-catching code to allow debugging messages
- Client
	- ClientActivityViewController: added support for display of OCMessages
	- ClientRootViewController:
		- added notificationPresenter and issueMessagePresenter
		- added presentAlertAsCard(viewController:withHandle:dismissable:) to present view controllers using the alertQueue
	- rewrite MessageCell to use the new AlertView instead
- Messages
	- AlertView and AlertViewController provide alert views suitable for showing as a card or inline in a table
	- CardIssueMessagePresenter: an OCMessagePresenter presenting messages as a card
	- SyncIssueMessagePresenter: an OCMessagePresenter bridging messages to the legacy OCIssue interface
- ServerListTableViewController: provide option for auto resolution using a particular error
- Fixes
	- MediaUploadQueue: fix deadlock and make sure the tracking doesn't stop prematurely (also resulting in a deadlock)
	- ProgressSummarizer: fix dangling pointer warning

* - Update SDK to incorporate ocis OIDC change

* Various fixes:
- SwiftLint: add implicit_getter to disabled_rules as it is broken and produces false positive warnings
- MediaUploadQueue: fix deadlock and avoid premature end of tracking (resulting in a hung/dysfunctional app)
- ProgressSummarizer: fix warning
- FileProviderExtension: adopt new lock type API

* - Update SDK to include OCAuthenticationMethodOpenIDConnect changes for ocis

* - WebViewDisplayViewController: add support for content updates, clean up code
- PreviewViewController: add support for content updates, clean up code

* - ImageDisplayViewController: add support for image file updates
- MediaDisplayViewController: fix indentation
- PDFViewerViewController: add support for file updates, fix indentation

* - CardIssueMessagePresenter: option to only show one message at once

* - Update SDK for latest improvements

* - AppDelegate: register notification categories at launch
- ClientRootViewController: add and remove presenters at core start/stop
- RoundedLabel: clean up and add styling support via Style struct and switch all usages of RoundedLabel over to new syntax
- ServerListTableViewController
	- track message count on a per-bookmark basis
	- update app icon badge count
	- broadcast change notifications
- ServerListBookmarkCell: add message count badge
- DisplayHostViewController & QueryFileListTableViewController: stop observation of OCQuery.state before stopping OCQueries
- MessageSelector: make filtering optional to allow for usage without filtering
- NotificationManager
	- add support to create and register notification categories based on registered OCSyncIssueTemplates
	- add support for routing and handling notification responses via ComposeNotificationIdentifier() and NotificationResponseHandler category
- NotificationMessagePresenter: implement NotificationResponseHandler category to feed back notification responses to OCMessageQueue

* - ClientRootViewController: rename card message presenter var
- ClientSessionManager: new class to keep track of active client sessions and route messages for presentation. All ClientRootViewController instances should henceforth be created through it
- CardIssueMessagePresenter: add bookmark UUID to .identifier and adapt to new presentation completionHandler
- ServerListTableViewController
	- add support for ClientSessionManager delegation
	- add support for presenting messages after successful login
- SyncIssueMessagePresenter: add bookmark UUID to .identifier and adapt to new presentation completionHandler
- NotificationMessagePresenter
	- add bookmark UUID to .identifier and adapt to new presentation completionHandler
	- implement endPresentationOfMessage to remove notifications for removed messages
	- add support for taps on notifications

* - SDK update
- ClientSessionManager: change showMessage(notification:) and ClientSessionManagerDelegate from binary to based on priorities
- AlertView and AlertViewController: add optional header view and label
- CardIssueMessagePresenter: show bookmark .shortName as header for messages not belonging to the presenter's bookmark
- SceneDelegate and ThemeWindow: tracking which window is visible and in foreground
- ServerListTableViewController > ClientSessionManagerDelegate:
	- take foreground status into account when computing the presentation priority
	- add support for presenting messages from other accounts, based on foreground status and availability of "unused" scenes

* - Update SDK

* Add support for grouping messages:
- new MessageGroup class to store messages in groups
- MessageGroupCell replaces MessageCell
	- improve performance
	- add alternative layout for groups with more than one message:
		- switch to apply a choice to more than one message; badge count if switch is on
		- button to show all messages
- extend MessageSelector with support for maintaining MessageGroups
- MessageTableViewController to show messages as a list of individual messages

* - Update SDK

* - Update SDK

* - remove SyncIssueMessagePresenter as it is not used
- show messages only if they haven't already been resolved (previously shown until removed from the queue)
- update code to use OCMessage properties rather than OCMessage.syncIssue, replacing OCSyncIssue dependant code whereever possible
- add MessageQueueExample.swift to show how to use OCMessageQueue from within the app
- fix bug where messages without categoryIdentifier would be grouped together

* FileProvider changes:
- re-instate local error handling for creation of folders in the File Provider
- add support for class settings to disable local error handling for test purposes

* - bring up an alert if a new folder is attampted to be created in a location where another item with the same name already exists
- add support for providing a title to the namecheck/validation result in NamingViewController

* - OCMessage+Extension: convenience method to simplify presentation of OCMessages in the app
- move MessageSelector from ClientActivityViewController to ClientRootViewController for joint access from different parts of the app
- MessageSelector: add option to also collect and update a Set of OCSyncRecordIDs found in active messages
- ClientActivityCell + ClientActivityViewController: add support to show tappable warning sign instead of progress indicator if a message for the activity's sync record ID has been found
- ClientItemCell + FileListTableViewcontroller/ClientQueryViewController: add support to show tappable warning sign instead of progress indicator or more button if a message for the item's active sync record IDs has been found

* - Remove unused code from SDk

* - display "All done" message in Status tab when there are no messages or activities going on

* - Fix review findings

* - more nuanced status message in case of pending issues

* - Adding key command support to AlertViewController

* - remove duplicate/reunify diverged code in "ownCloudAppShared/SDK Extensions/OCItem+Extension.swift" and "ownCloud/SDK Extensions/OCItem+Extension.swift"
	- move app-specific code to OCItem+AppExtension.swift
	- update ownCloudAppShared/SDK Extensions/OCItem+Extension.swift with all changes
- optimize speed of:
	- OCItem+Extension.isShareRootItem() by checking only the parent item and cache the result for the duration of the runloop iteration
	- OCItem+Extension.shareRootItem(from:) by wrapping all SQLite lookups into a single transaction, avoiding unnecessary idle/wait time

* - Update SDK to add Cancel option for uploads

* - Add initial call to (re)set app icon count in case the app got deleted with messages but kept the count upon reinstall

* - Address finding (5) in #662 via SDK update ("ugly" authentication error message)

* - Extensions / Categories:
	- move OCBookmark.userName, .displayName and .shortName to ownCloudApp.framework so it becomes available to the NotificationMessagePresenter
- NotificationManager:
	- extend NotificationManager to provide equivalents for relevant methods of UNUserNotificationCenter
	- change all usages of UNUserNotificationCenter to NotificationManager
- NotificationMessagePresenter:
	- add account information to notifications
	- only add account information if the user has more than one account in the app
- Update SDK

* - Update SDK to address (6)

* - fix finding (6) glitch where message/warning icons wouldn't disappear when resuming a download or upload

* - Update SDK

* - Update SDK

Co-authored-by: Matthias Hühne <[email protected]>
Co-authored-by: Michael Neuwert <[email protected]>
Co-authored-by: Matthias Hühne <[email protected]>
* - New Static Login
	- StaticLoginBundle: container for all Static Login parameters
	- StaticLoginProfile: individual parameters for a Static Login
	- StaticLoginViewController: WIP implementation for a Static Login UI
- Theme extensions
	- UIButton support
	- ThemeStyleIdentifier typealias for more expressive APIs
- Static Table View
	- added support for headerView and footerView of section

* - Add closeHandler-support to ClientRootViewController to run a block when a connection is closed by the user
- Fix crash in OCItem+Extension.lastModifiedInReadableFormat by adding a missing check
- Make sure ProgressHUDViewController.dismiss() always calls the completion block
- ServerListTableViewController enhancements:
    - hasToolbar-property to turn the toolbar on/off
    - make initialization with XIB optional
    - add showModal(), didUpdateServerList() and openBookmark() hooks for subclasses
- Add StaticLoginServerListViewController (ServerListTableViewController subclass)
- Add "Done" button to SettingsViewController if it is used as the rootViewController
- Add loginThemeStyleID to StaticLoginBundle
- Make StaticLoginSetupViewController feature-complete
- Add new ThemeView that can be used as container for ThemeAppliers that get removed automatically when the view is freed
- Relocate FullWidthHeaderView and make it a ThemeView subview
- Extend StaticTableViewSection.addButtonFooter() to support cancel-only versions
- Add toolbar to StaticLoginViewController
- Fix copyright notice formatting

* New Iconset for iOS: Filetype Icons

* Documentation for the app color scheme

* markdown definition for color theme values

* added links to type definitons

* added color definition

* added global colors

* added color values for dark scheme

* added light and classic color scheme

* Preparing branding support with themes and colors from plist file

* - using theme styles from plist file
- using splash image in welcome view

* set tint color for server list icon

* Add example images

* Change the color of the bookmark-logo

* Change colors to match example-theme

* use different icons

* All colors are not customizable by setting the color in Theme.plist. If the key is not set in plist, the default value will be used.

* fixed resolving theme color pair

* Added appiconset and changes branding colors

* Color adjustments and edited bookmark-logo

* Add Surf logos and colors

* setting new theme generic colors and reading them from keypath, if existing

* Add Surf logos and colors

* Add first SURF branding

* removed iOS 13 code

* Merge branch 'master' into Design

* fixed broken project file

* fixed broken plist file after merge

* Cleanup after cherry-pick from Design branch

* Add colors from SURF

* Add changes to Fastfile from tag 1.1.0

* Comment out Themes tests

* removed bookmark icon tint color

* Add new bookmark-icon.png

* Change the name to SURFdrive

* changed app name in build settings instead of target name

* customize search bar

* Add new bookmark icon and polish color settings

* Add new bookmark icon and polish color settings

* Change the name to SURFdrive, again

* - searchbar customization
- theming delete button in pass code view

* - Fix Swift and SwiftLint warnings
- Remove unused UploadsSettingsSection (was replaced by MediaUploadSettings)

* - adopted Fastfile to set the app name
- added app name to Themes.plist
- removed unneeded theme

* set correct path in Fastfile

* removed output name, because Bitrise expects other ipa name

* using branded image for quick access tab

* setting the placeholder color for UISearchBar text field in iOS 13

* check if app is branded, disable help and feedback, if branded app

* - support for branded urls (help, privacy)
- changed plist name

* hide Theme settings for branded apps

* using correct branding file name

* added tint color for alert view labels

* Branded App Name fixes

* Using correct app name, if branded

* Change spp name in extension targets for branded apps

* - using newest SDK for custom User-Agent
- setting CFBundleName by fastlane
- fixed badge text bug, caused by pango version
- updated Gems

* Added a vendor setting, if an account can be added, in UI (can b

* - changed AppName to use organizationNamer of Bundle in Branding.plist
- added maxBookmarkCount
- cleanup
- bug fixing

* - only show Feedback only for unbranded clients
- Fastlane: use new plist value from bundle dictionary as appName
- use correct logo image, without tint color
- set custom logo in Branding.plist

* added feedback mail

* adding a Done button to the settings view, if the Settings-View was presented modally

* Add image for the branded login

* - PushTransition:
	- allow customization of the recovery at the transition end with a new PushTransitionRecovery block option
- PushTransitionDelegate:
	- support handing through a PushTransitionRecovery block to PushTransition
- ServerListTableViewController:
	- replace all remaining present() calls with showModal() calls
	- add .pushFromViewController property to customize presentation with PushTransition
- StaticLoginServerListViewController:
	 - override showModal() to change the modalPresentationStyle of presented view controllers from .fullScreen to .overFullScreen
- StaticLoginViewController:
	- fix transition of .contentViewController if the same value is set again
	- add example of how the PushTransitionRecovery block could be used to fix the issue of disappearing views after transition (was an intermediate solution, preserved for the case it's needed again in the future)

* Updated with branding changes for better branding support and using the ownCloud.online theme

* fixed merge problems with new version

* - fixed title color in release notes
- fixed header/footer height, if nil (seen in release notes view controller)

* changed online creation of badge file for icon creation to local creation

* added own fastlane action to read APP_SHORT_VERSION and APP_VERSION from Xcode project file and set it as badge icon values

* changed variable names to match values

* removed build number, because of missing space

* - added missing localization strings
- fixed problem, when footer or header view was not nil
- fixed theme for activity view

* - fixed login problem on iOS 12
- fixed crash on logout
(both SingleAccount)

* change the folder color

* - remove duplicated files, accidentally moved new line
- update to latest/develop SDK version

* - remove unused LibraryFilesTableViewController.swift
- re-add missing empty line to UploadMediaAction.swift

* - Remove duplicate file ownCloudAppFramework/Info.plist

* - Remove unused file

* - remove redundant code, fix header comments

* - remove code that'll be never executed in StaticLoginViewController
- fixed force-cast warning in StaticLoginBundle
- switched ThemeProvider to use URLs rather than file base name
- ThemeStyle.registerDefaultStyles() registers default styles if no brandingURL can be determined
- removed repeated code from VendorServices and bundled it up in .brandingURL, .brandingURLFor(name:) and .brandingProperties
- removed duplicate entry for/duplicate compilation of UIView+Extension.swift

* - Fix merge errors in project file

* - Fix file headers
- Small simplification / code de-duplication

* - Use enums instead of plain numbers for sections and rows

* - make sure Branding.plist/Profiles/[n]/allowedAuthenticationMethods is honored
- add error message when no allowed authentication method is available from the server

* - Solved code review findings
- Added missing styles key in Branding.plist
- Using styles from Branding.plist for theming

* - ServerListTableViewController: make UIActivityIndicatorView indicating the app is connecting use the correct style so it has better visibility
- StaticLoginProfile, StaticLoginBundle and StaticLoginSetupViewController: added support for .promptForPasswordAuth and .promptForTokenAuth (with .prompt fallback)

* fixed QA findings:
- do not show cancel button, if canAddAccount is enabled and no account was configured
- set a working demo url
- use feedbackMail, when configured
- removed logo and background name from branding.plist, these values are not configurable
- moved organization name entry one level higher
- removed app name key
- removed translucence from toolbar

* Fixed QA finding:
Connecting to insecure http connection or after presenting a connection issue is now working

* moved branded images, changed names

* removed unneeded code and values

* fixed QA finding 11 crash, when Help and Privacy values was not provided

* fixed QA finding 14:
- do not show Cancel button, if no account was added
- show Welcome title instead of profile name for token based authentication

* fixed QA finding 17:
- show an alert message, when no profile URL was provided, instead of crashing
- fixed localization

* fixed QA finding 16, 3:
- using ServerListBookmarkCell for showing account infos in list with more informations
- moved "Add Account" to toolbar button

* fixed QA finding 9:
- fixed crash on delete account
- show welcome screen, when all accounts was deleted

* fixed QA finding 10:
always show toolbar, to have permanent access to app settings

* fixed QA finding 13, skip profile selection, when only one profile is available

* fixed QA finding 21, removed duplicated "Settings" in single account view

* added documentation for theme color values

* fixed reading and setting statusBar values from Branding.plist

* isBranded is only true, if Profiles was defined in Branding.plist. The file Branding.plist will be kept, even when the build is the regular iOS app build.

* - fixed findings, when app was not build as branded app to match the colors and icons like in the existing regular iOS app
- updated to correct images
- renamed image files

Co-authored-by: Felix Schwarz <[email protected]>
Co-authored-by: wuenschedesign <[email protected]>
Co-authored-by: Christian Scherm <[email protected]>
Co-authored-by: Felix Schwarz <[email protected]>
hosy and others added 24 commits February 3, 2021 15:56
- added dismissing notification alert on first app start
- added dismiss keyboard after adding an account
- added waiting condition for account button
- removed dismiss keyboard condition (because the iOS simulator does not work correct)
- added workaround for the account list screenshot to open the file list before (which dismiss the keyboard) and go immediately back to the account list
…y visible further information is available for certificates

- OCBookmark+AppExtensions: increase resilience of .shortName
- SDK update to extend support for redirections to other hosts for existing bookmarks
- adapt BookmarkViewController.swift to the nullability annotations in the latest SDK
Changed localization files from Transifex translation sync
@hosy hosy requested review from hosy and michaelstingl February 10, 2021 17:51
@hosy hosy merged commit d150125 into master Feb 10, 2021
@delete-merged-branch delete-merged-branch bot deleted the milestone/11.5 branch February 10, 2021 20:29
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

[RELEASE] ios-app 11.5.0
5 participants