Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
[feature/account-wizard] Add account wizard (#1274)
* removed the logo label from the sidebar navigation bar to have more space for the logo image * - fix #1254 * Example JSON + README (#1255) Co-authored-by: Michael Stingl <git@michaelstingl.com> * Cleanup of Theming folder (#1260) * Remove old PLIST examples * move ownCloud.online theme + assets * move EMM assets * Adjust Fastfile for moved themes + assets * updated to Xcode 14.3 * move all app resources to the correct place in one copy command * updated to 14.3.1 --------- Co-authored-by: Michael Stingl <git@michaelstingl.com> Co-authored-by: Matthias Hühne <github@hosy.de> * - FileProvider: fix enumerator queue completion slowdown/blocking * - show vendor label in the sidebar if app is unbranded - added accessibility label to the logo image * - FileProvider cleanup and additional debug logging * - BottomButtonBar: avoid collapse of selectButton (fixes owncloud/enterprise#5889) * - add background image to welcome screen - add support for RGBA hex values to CSS * - change welcome screen background default color from dark to bright * - BookmarkViewController: add .bookmarkEditor CSS selector * - ThemeCSS: add support for $cssSelector.cssProperty * Assets.xcassets/AppIcon.appiconset generated with fastlane + welcome screen background (#1264) * - add background image to welcome screen - add support for RGBA hex values to CSS * Assets.xcassets/AppIcon.appiconset generated with fastlane * align icon name with branding --------- Co-authored-by: Felix Schwarz <fs-git@iospirit.com> Co-authored-by: Michael Stingl <git@michaelstingl.com> * - change welcome screen background default color from dark to bright * Assets.xcassets/AppIcon.appiconset generated with fastlane * rename vanilla appiconset again for fastlane changes * - ThemeCSS+SystemColors: add convenience methods to easily add CSS records for colors, incl. a set of system colors - ThemeCollection: add system colors (f.ex. UIColor.systemBlue as `os.color.blue`) and theme base colors (as `theme.color.light` and `theme.color.dark`) to CSS object * Vanilla: change welcome screen background default color from bright to dark * - BookmarkViewController: - add permanent logo branding to top of the view - make branding elements use same CSS selectors as welcome screen - ComposedMessageView: make CSS selectors extension public - RoundCornerBackgroundView: add new .fillImage property that allows filling the view with an image with "scaleAspectFill" contentMode * - BookmarkViewController: remove table view background image from branded builds * - RoundCornerBackgroundView: fix bug in sizeThatFills() * - DisplayViewController: handle nil OCQueryChangeSet.queryResult (should fix crash reported in #1245 (comment)) * fixed missing translation strings or localized function * fixed bug in sidebar: label color got the same color as background color and label was not readable, if lightBrandColor was similar to #000000 * - FileProviderExtension: add safeguards around `[NSError fileProviderErrorForNonExistentItemWithIdentifier:]` for the case that iOS (illegally) passes in a nil `identifier`, leading to a crash in said NSError method * [fix/overlapping-sharing-buttons] Overlapping Sharing Buttons (#1248) * [fix/passcode-device-enforced] MDM Parameter - Enforce Passcode Setup (#1249) * [fix/sidebar-logo] Sidebar Logo (#1247) * [translation-sync] Translation sync (#1250) * - minimal change to reopen PR * [tx] updated from transifex * [tx] updated from transifex * [tx] updated from transifex * [tx] updated from transifex * - revert minimum change to THIRD_PARTY.txt * [tx] updated from transifex * - fixed UTF issues - fixed missing german translations --------- Co-authored-by: Felix Schwarz <fs-git@iospirit.com> Co-authored-by: ownClouders <devops@owncloud.com> * - update SDK * - update SDK to update error message for OCErrorAuthorizationNoMethodData * - add "An error occurred" to Localizable.strings * - SDK update with updated strings * GH workflows: - add LocalizationTests with automatic UTF-16 to UTF-8 conversion * - GitHub workflows: move new GH workflow out of workflows folder to avoid permission issue - fix non-empty Branding.plist * Translation sync (#1269) * - minimal change to reopen PR * [tx] updated from transifex * [tx] updated from transifex * [tx] updated from transifex * [tx] updated from transifex * - revert minimum change to THIRD_PARTY.txt * [tx] updated from transifex * - fixed UTF issues - fixed missing german translations * [tx] updated from transifex * [tx] updated from transifex * [tx] updated from transifex * [tx] updated from transifex * [tx] updated from transifex * [tx] updated from transifex * - fix file encoding for en-GB.lproj/Localizable.strings --------- Co-authored-by: Matthias Hühne <github@hosy.de> Co-authored-by: ownClouders <devops@owncloud.com> * - update ios-sdk to gain ocstringstool - remove LocalizationTests.swift - remove UTF-8/16 enforcements for .strings files from ownCloud.xcodeproj - add tools/normalizestrings based on ios-sdk/ocstringstool - update GH action (now normalize-strings.yml) - normalize strings files to UTF-8 * - update release notes for 12.0.3 * - NSObject+ThemeApplication: fix wrong label colors for ThemeCSSLabels that are also subject to NSObject.applyThemeCollection() calls * - AppRootViewController + InitialSetupViewController: move initial setup view into own view controller - InitialSetupViewController: implement status bar style support for consistent status bar colors also pre-iOS 17 * - fix iOS 17 initial setup color issue * - address owncloud/core#40953 (comment) via SDK update * - fix: rename of a bookmark is not always reflected in the account list * - BottomButtonBar: adapt layout dynamically to size class, placing the promptText above the buttons in any but regular horizontal class size and stretching the buttons to fill the space beneath it * - ClientSidebarViewController: properly initialize accountsControllerSectionSource with item version tracking * - fix SwiftLint warnings * - BookmarkViewController: add modern password manager integration to BookmarkViewController via input field content types * - SDK update: OCHTTPPipeline: move metrics logging to response logging block * - SDK update for better formatted metrics line * SDK rebase * - add BookmarkComposer - add BookmarkSetupViewController UI for BookmarkComposer - other improvements * - BookmarkComposer: fix progress reporting, complete infinite PROPFIND implementation - BookmarkSetupStepPrepopulateViewController: implement infinite PROPFIND UI - BookmarkSetupStepViewController: allow updating the continue button label through .continueButtonLabelText - BookmarkSetupViewController: add CSS support for status bar style * - BookmarkComposer: - add optional .intro step and support in configuration - differentiate between user and internal actions when recording undo actions - BookmarkSetupStepIntroViewController: new intro view controller - AppRootViewController: use new BookmarkComposerConfiguration.hasIntro option * - Bookmark Composer: - add support for help button + label - add support for settings in .intro step - add basic theming support (WIP) - auto-focus on URL and username fields * - adopted step names - skip completed step if editing account is not allowed * respect can add account for adding toolbar button * - changed account css values to support system dark mode - moved logo image from the intro screen into the general account view - added navigation bar in account view (visible, if cancel button is visible) - removed title "Account Setup" and app name in branded client * - BookmarkSetupViewController: - add step-specific CSS selector - move logo on top of the step views and center both together vertically - replace UINavigationBar subview usage with UINavigationItem usage - rename step from .oidc to .authenticate because the step covers all auth methods, not just OIDC - use BookmarkComposerConfiguration.nameEditable to skip completed view instead of Branding.shared.canEditAccount directly - allow setting custom title and message for every step through locale.overrides - remove .headerTitle since it is no longer used - clean up code - BookmarkComposerConfiguration: make newBookmarkConfiguration use Branding.shared.canEditAccount for .nameEditable - BookmarkSetupStepViewController: - add support for moving focus and continue to the next step when pressing the return key - adopt in subclasses via the new .focusTextFields property - BookmarkViewController: wrap BookmarkSetupViewController in a ThemeNavigationController to add a standard navigation bar on top when adding an additional account - fix CSS color errors * - BookmarkComposer: - improve error handling in .enterURL step (fixing finding (3) in #1274) - also clear certificates when returning to .enterURL step (fixes displaying a certificate for a different server if a https server was chosen, then the user went back and changed the URL to a plain HTTP URL) - BookmarkComposerConfiguration: make .hasIntro default to false (=> no longer shows the intro screen when adding additional bookmarks) - BookmarkSetupStepViewController: add .cacheViewController property to allow signaling BookmarkSetupViewController that the view controller should not be cached - BookmarkSetupStepAuthenticateViewController: opt out of view controller caching - ThemeCollection: restore changes from 09e63b9 as comments * - ThemeCollection: restore changes from 09e63b9, keep previous state as comments * - Branding+App: add .certificateSummary CSS selector - CertificateSummaryView: - configure button to use a clear background color - make addressable via CSS .certificateSummary - ThemeCollection: make .certificateSummary default to a clear background color * - ownCloud.xcodeproj: fix Xcode 15 build errors - BookmarkComposer: pre-fill user name from server locator in subsequent token-based auth (fix finding (4) in #1274) - AccountControllerCell: fix layout issue where the eject button would get compressed to 0px for long user names (fix finding (5) in #1274) * Configuration documentation updated * - remove unused/replaced InitialSetupViewController - Branding: - introduce BrandingAssetSuffix type and new method to retrieve image with suffix where available - rename BrandingImageName.loginLogo and .loginBackground to .brandLogo and .brandBackground - add new BrandView to standardize display of logo, background and background color - add BrandView to top of side bar - BookmarkSetupViewController: add background view for hud message view and align font with steps * - AccountControllerCell: set content view height with priority .defaultHigh, fixing a conflicting constraints message * generate.sh for easy theme generation (#1281) * genrate.sh for easy theme generation * check if script is executed in the correct path * changed wording --------- Co-authored-by: Michael Stingl <git@michaelstingl.com> Co-authored-by: Matthias Hühne <github@hosy.de> * - Branding - rename "branding-login-background.png" to "branding-background.png" and add transient fallback for old name - rename "branding-login-logo.png" to "branding-logo.png" and add transient fallback for old name - BrandView: ensure BrandView can't be selected in the sidebar by adding compliance with DataItemSelectionInteraction, also fixing rectangular edges - BookmarkSetupStepViewController: use themed buttons - ThemeCollection: update CSS records for BookmarkSetupStepViewController to no longer use dynamic system colors - BookmarkSetupViewController: fix constraints warning for .contentView - Localizable.strings: add missing "Enter password" string to - Fastlane/Building: rename "app.version-number" build setting to "build.version-number" and add MDM documentation * Configuration documentation updated * - OCShare+UniversalItemListCellContentProvider: add "Decline" button to Accepted "for me" shares - ClientActivityViewController/MessageView: set a lower compression resistance for secondary text (message) to fix view controller expansion beyond screen size (per reports) - Localize "Loading…" in English and German * - add new dark and light themes based on system colors - use system color themes for branded clients unless they provide their own themes - enable theme switcher for branded clients using the system color themes - add new and fine-tune existing CSS records * - BookmarkSetupViewController - limit logo height to better fit screen height - no longer show logo when adding additional accounts to make up for the lost space due to the UINavigationBar being included, to work across all screen heights * - AppRootViewController: forward supported interface orientations and use of iOS 16 API to tell the OS of changes - BookmarkSetupViewController: limit to portrait orientation - SceneDelegate: no longer add root view controller's view manually, "fixing" a console message that informs this is no longer supported - OCAction+UIAction: add convenience method that builds a UIAction from a OCAction - NSObject+ThemeApplication: code cosmetics - ThemeCollection: add new CSS records for navigation bar popup icon colors - ThemeNavigationController: add support for forwarding supported interface orientations - ClientLocationPopupButton: new, re-usable button view that provides a breadcrumb view for a given OCLocation - DisplayViewController / DisplayHostViewController: - add location breadcrumb dropdown title - fix broken KVO observation that led to a lack of dynamic UI updates - ClientItemViewController: - add location breadcrumb dropdown title (iPad only due to lack of horizontal space on iPhone) * - Branding: add support for branding.theme-tint-color to allow providing a tint color to replace the standard iOS tint color * - workaround build issue on Xcode 14.2 (GitHub actions), preventing documentation updates * Configuration documentation updated * - BookmarkSetupViewController: snap width of progress hud to 400 points - in line with the rest of the interface, to look consistent on iPad with larger screen widths * # Branding changes: ## Default theme - now uses `Follow system appearance` rather than "first theme" by default ## Dynamic choice of branding assets - moved pristine app branding assets to `com.owncloud.ios-app` folder - added new `branding-assets folder - removed individual branding-*.png assets from Xcode project file - renamed assets in `online.owncloud.ios-app` to match new name conventions - added new build phase copying branding-*.png assets from - `com.owncloud.ios-app` if `branding-assets` contains no files matching `branding-*.png` - `branding-assets` if `branding-assets` contains files matching `branding-*.png` - integration via input and output xcfilelists ## BrandView changes - when showing the background, no longer choose between either the background color OR the background image, but show both if a background image is provided; adding support for background images with alpha channel ## Branding parameter extension and cleanup - added `branding.theme-css-records`:- new MDM/branding parameter to provide an array of CSS record strings that are interpreted and added to the CSS space of system-color-based themes for branded clients. Mutually exclusive with theme-definitions. - removed `branding.theme-generic-colors`: no longer used - removed code for (generic) `Colors` from `branding.theme-definitions`: no longer used * Configuration documentation updated * Branding changes: - remove branding.theme-tint-color to include it into a new option - add branding.theme-colors as an abstraction layer for commonly customized colors (allows custom handling and f.ex. using a single color for creating multiple CSS records in the future) - allow "black" and "white" as status bar styles Documentation changes: - update configuration.adoc.tmpl to support new "possibleKeys", used for the first time in branding.theme-colors * Configuration documentation updated * - Branding+App: documentation/description changes * Configuration documentation updated * - consistently use branding-splashscreen-[logo|background].png - AppRootViewController: pass-through for .preferredInterfaceOrientationForPresentation to contentViewController * - AccountSettingsProvider: use Branding instead of UIImage() directly * - remove `branding-bookmark-icon.png` and fill those edge case places where it was used with `BrandView` * - remove last reference to branding-bookmark-icon.png - add target path for optional branding-sidebar-link-icon.png - run com.owncloud.ios-app branding assets through ImageOptim, reducing size by 70% to 95% * - AccountController: add support for DataItemDropInteraction - LocalDataItem: make properties publicly - ClientSidebarViewController: add support for reordering accounts via drag & drop - SDK update * - ThemeCollection: make TVG files use default colors extracted from original SVG files * - add additional color selectors for additional TVG placeholders for: office document, office presentation, office spreadsheet, PDF files - allow setting all file icon colors to the same color at once via "file-icon-color" * - remove AccountSettingsProvider (`account-settings.*`) and use equivalent settings from `branding.*` instead - Branding+App: fix indentation and add default value for `branding.profile-allow-url-configuration` * - ClientSidebarViewController: add `self.` to allow compilation with Xcode 14 (CI) * Configuration documentation updated * - DataSourceCondition: only perform initial call after a .fulfilled value could be determined for the first time (fixing crash/finding 8 in #1274) * - ThemeCollection: correctly map office document color - change officeFileFillColor to documentFileFillColor * - SDK update: no longer fail validation of entire dictionary if there is a key that's not included in the list of possible keys * - update SDK to add support for <oc:spaceid> when resolving private links * - SDK update to fix #1128 * - update SDK to fix #1299 * Calens changelog updated * - update SDK to add support for local resolution of ocis private link (fixes fix finding (3) in #1295) * - ShareViewController: add support for entering and editing names of link shares * - update SDK (fix (2) in #1297) - OCShare+UniversalItemListCellContentProvider: show token instead of "Link" as placeholder for unnamed links (fix (3) in #1297) - ShareViewController: - show token instead of "Link" as placeholder for unnamed links (fix (3) in #1297) - fix layout issue for name text field (fix (1) in #1297) * - UniversalItemListCell: add new Content.iconWidth property to control icon width in the universal cell, with fallback to defaults - OCShareRole+UniversalItemListCellContentProvider: adapt icon width to size of option icons in ShareViewController * - update SDK to gain OCAppIdentity convenience URL schemes property - CancelLabelViewController: allow customizing the button label and use a proper type for the cancelAction - DocumentActionViewController: - refactor to allow custom button label and custom action - show message and open app if no account has been set up in the app yet * - add localizable strings * - update SDK - update Theme/CSS/README.md with documentation and examples on branding.theme-css-records, branding.theme-colors; add examples in flat notation * - add VisionKit text / machine-readable code / visual look up integration to image viewer (requires iOS 16+) * - add action.allow-image-interactions. To disable Image Interactions, set action.allow-image-interactions = false * [feature/suffix-protection] File extension / suffix protection (#1298) * - NamingViewController: add option .requiredFileExtension that enforces a particular suffix when set - CreateDocumentAction: take advantage of NamingViewController.requiredFileExtension to prevent changing file suffix for new files * - ThemeCSSTextField: add support for requiring a file extension (.requiredFileExtension) - NamingViewController: remove delegate code for .requiredFileExtension and use ThemeCSSTextField.requiredFileExtension instead - StaticTableViewRow: add support for requiring a file extension (.requiredFileExtension) based on ThemeCSSTextField.requiredFileExtension - ScanViewController: use StaticTableViewRow.requiredFileExtension to prevent deletion of required file extension * - ios-sdk update: fixes crash (finding #1 in #1298) - ScanViewController, NamingViewController: when enforcing file suffixes: prevent choice of filenames consisting just of a suffix (since these would be hidden files) by disabling the primary action button * Calens changelog updated --------- Co-authored-by: felix-schwarz <felix-schwarz@users.noreply.github.com> Co-authored-by: Matthias Hühne <github@hosy.de> * using correct ios-sdk commit * - ClientItemViewController: do not show breadcrumb dropdown for root folder - ClientLocationPopupButton: add excludeLastPathComponent option to exclude last path component from the popup's breadcrumbs - OCLocation+Breadcrumbs: for OC10 hosts, add the account's root folder to the breadcrumbs if drive name should be included * added remove extensions shell script if passed by app build flags * added new remove extension shell script to remove a target from the given ipa file * Update BUILD_CUSTOMIZATION.md with new build flag * [fix/fp-fixes] File Provider fixes (#1294) * - SDK update for less verbose logging - FileProviderExtension: log thumbnail requests - FileProviderExtensionThumbnailRequest: - fix retain cycle that could prompt the Files.app to repeatedly ask for thumbnails of files that don't have any - if no image was found, return a nil error rather than OCErrorInternal - ownCloud File Provider xcscheme: update logging configurations/env variables and enable malloc stack logging * - FileProviderExtension: change log level of core[enter|leave] messages to verbose * new app and build version * - update SDK to include JSON logging (owncloud/client#11224) * [feature/share-action-extension] Share Action Extension "Save to ownCloud" (#1301) * #1293 added a share action extension "Save to ownCloud" * Calens changelog updated * adopted fastlane code signing for new target "ownCloud Action Extension" * adopted the resign script and resign inspector for new action extension * - added action extension - fixed wrong emm identifier * fixed adding default bundle display name * replace CFBundleDisplayName in action extension with branded app name for english and german localisations * Update fastlane/Fastfile Co-authored-by: Felix Schwarz <fs-git@iospirit.com> --------- Co-authored-by: hosy <hosy@users.noreply.github.com> Co-authored-by: Felix Schwarz <fs-git@iospirit.com> * fixed disabling edit mode in markup document on iOS 17 (#1309) * - copying branded action extension icon into the correct branding assets folder - set a custom icon for the action extension target * update Xcode version for development VM * escape spaces in shell command path * set correct file path in shell command * escape path in fastlane shell command * fixed variable name in fastlane file * assigned final Xcode version for the release * only copy branding-action-extension-icon.png icon if available * fixed issues with fastlane app icon creation for branded builds * Added changelog files for version 12.1 * Calens changelog updated * added 12.1 in-app release notes * updated changelog file * Calens changelog updated * added app store release notes * - change SDK commit from develop to corresponding master commit after rebase * fixed app icon path generation in fastlane file * Removed tmp AppIcon assets * copy Branding.plist file for oC.online build to correct path * updated app version number * added missing localisation strings * updated app version number * Update SDK to add authentication-oauth2.omit-authorization-parameters option to allow omitting parameters from authorization requests (implements #1318) * added EMM suffix to ownCloud EMM app * removed unneeded color values from oC.online app * removed light and dark themes and set their identifier for system light and system dark. Allow theme selection for all clients. * - fixed theme key names - removed allowed authentication methods - added more allowed hosts * removed unneeded icon files (duplicated) * using new branding theme key names * new build number * - fixed switching dark/light themes - updated build number * use new app name "ownCloud EMM" for EMM version * Translation sync (#1317) * [tx] updated from transifex * [tx] updated from transifex * [tx] updated from transifex * [tx] updated from transifex * [tx] updated from transifex --------- Co-authored-by: ownClouders <devops@owncloud.com> * Calens changelog updated * - updated app store and in-app release notes - changed changelog release date * Calens changelog updated * added missing release notes entry --------- Co-authored-by: Matthias Hühne <github@hosy.de> Co-authored-by: Michael Stingl <214010+michaelstingl@users.noreply.github.com> Co-authored-by: Michael Stingl <git@michaelstingl.com> Co-authored-by: Matthias Hühne <mhuehne@owncloud.com> Co-authored-by: ownClouders <devops@owncloud.com> Co-authored-by: felix-schwarz <felix-schwarz@users.noreply.github.com> Co-authored-by: hosy <hosy@users.noreply.github.com>
- Loading branch information