* [SG-705] Added pop up to perform account switching if the user receives a login request from another account.
* [SG-705] missing resource designer
* [SG-705] Fixed wrong key for state service variable.
* [SG-705] Fix formatting of account switch alert.
* [SG-705] dotnet format run
* [SG-705] Removed async
* [SG-705] Refactor on App
* EC-519 Refactored IDeviceActionService to be split into IFileService and IAutofillManager also some cleanups were made
* EC-519 Fix format
* EC-519 Fix merge to use the new AutofillHandler
* [SG-702] Tap notification now switches accounts if it is a passwordless notification.
* [SG-702] Fix compilation errors
* [SG-702] Fixed iOS notification tap fix
* [SG-702] Notification data model
* [SG-702] Change method signature with object containing properties. PR fixes.
* SG-666 SG-667 - Email is now prefilled for plus addressed email username type
* Username is auto generated upon navigation
* SG-666 - Fixed PR comments
* Added missing property initialization
* [SG-690] Add timeout of 15 for android notifications. Add condition to not prompt login requests if 15mins have passed. Add constant for timeout time.
* [SG-690] Added dialog on click confirm/deny if the request is expired.
* [SG-690] PR fixes
* [SG-690] PR fixes
* [SG-471] Passwordless device login screen (#2017)
* [SSG-471] Added UI for the device login request response.
* [SG-471] Added text resources and arguments to Page.
* [SG-471] Added properties to speed up page bindings
* [SG-471] Added mock services. Added Accept/reject command binding, navigation and toast messages.
* [SG-471] fixed code styling with dotnet-format
* [SG-471] Fixed back button placement. PR fixes.
* [SG-471] Added new Origin parameter to the page.
* [SG-471] PR Fixes
* [SG-471] PR fixes
* [SG-471] PR Fix: added FireAndForget.
* [SG-471] Moved fire and forget to run on ui thread task.
* [SG-381] Passwordless - Add setting to Mobile (#2037)
* [SG-381] Added settings option to approve passwordless login request. If user has notifications disabled, prompt to go to settings and enable them.
* [SG-381] Update settings pop up texts.
* [SG-381] Added new method to get notifications state on device settings. Added userId to property saved on device to differentiate value between users.
* [SG-381] Added text for the popup on selection.
* [SG-381] PR Fixes
* [SG-408] Implement passwordless api methods (#2055)
* [SG-408] Update notification model.
* [SG-408] removed duplicated resource
* [SG-408] Added implementation to Api Service of new passwordless methods.
* removed qa endpoints
* [SG-408] Changed auth methods implementation, added method call to viewmodel.
* [SG-408] ran code format
* [SG-408] PR fixes
* [SG-472] Add configuration for new notification type (#2056)
* [SG-472] Added methods to present local notification to the user. Configured new notification type for passwordless logins
* [SG-472] Updated code to new api service changes.
* [SG-472] ran dotnet format
* [SG-472] PR Fixes.
* [SG-472] PR Fixes
* [SG-169] End-to-end testing refactor. (#2073)
* [SG-169] Passwordless demo change requests (#2079)
* [SG-169] End-to-end testing refactor.
* [SG-169] Fixed labels. Changed color of Fingerprint phrase. Waited for app to be in foreground to launch passwordless modal to fix Android issues.
* [SG-169] Anchored buttons to the bottom of the screen.
* [SG-169] Changed device type from enum to string.
* [SG-169] PR fixes
* [SG-169] PR fixes
* [SG-169] Added comment on static variable
* [SG-671] removed unnecessary calc of otpauth period. protected cal of otpauth from crashing the app if url has a wrong format.
* [SG-671] changed logger
* [SG-671] Refactored GetQueryParams code to used HttpUtility.ParseQueryString.
* [SG-671] refactor and null protection.
* [SG-671] code format
* [SG-671] fixed bug where totp circle countdown was fixed to 30.
* [SG-167] added fallback for uri check. Changed all default totp timers to constant.
* [SG-671] missed unsaved file
* [SG-671] simplified code
* [PS-1312] Updated Android Target and Framework to Android12 and updated new SplashScreen for Android12
* PS-1312 Changed PendingIntents mutability
* PS-1312 Removed unused imports
* PS-1312 Added method to helper to add mutability option according to Android version
* PS-1312 Renamed helper method AddPendingIntentMutability and fixed validation
* PS-1312 Improved PendingIntentMutability method from helper readability and naming
* Refactored CustomFields to stop using RepeaterView and use BindableLayout and divided the different types on different files and added a factory to create them
* Fix formatting
* SG-223 - Changed page title and password title
* SG-223 - Refactored generated field
* Changed position of generated field
* Replaced buttons generate and copy for icons
* SG-223 - Refactor type to passwordType
* SG-223 - Added password or username selector
* Added string for label type selection
* SG-223 - Added logic for different types of username
* Added strings of new types
* [SG-223] - Added UI components for different username types
* Added static strings for new labels
* Added viewmodel properties to support username generation and their respective options
* [SG-223] Added control over type picker visibility
* [SG-223] Refactored username entry on add edit page and added generate icon
* Added GenerateUsername command
* [SG-223] - Implemented service for username generation
* [SG-223] - Added support for username generation for item creation flow
* Implemented cache for username options
* Added exception handling for api calls
* [SG-223] - Remove unused code
* [SG-223] - Added a new display field for username generated and respective command
* Added description label for each type of username
* Changed defautl value of username from string.Empty to -
* [SG-223] - Removed some StackLayouts and refactored some controls
* [SG-223] - Refactored properties name
* [SG-223] - Added visibility toggle icon for api keys of forwarded email username types
* [SG-223] - Refactored nested StackLayouts into grids.
* [SG-223] - Refactor and pr fixing
* [SG-223] - Removed string keys from Resolve
- Added static string to resources
* [SG-223] - Refactored Copy_Clicked as AsyncCommand
- Improved exception handling
- Refactored TypeSelected as GeneratorTypeSelected
* [SG-223] - Renamed PasswordFormatter
* [SG-223] - Refactored VM properties to use UsernameGenerationOptions
* Removed LoadUsernameOptions
* [SG-223] - Refactored added pickers to use SelectedItem instead SelectedIndex
* Deleted PickerIndexToBoolConverter as it isn't needed anymore
* [SG-223] - Refactored and simplified Grid row and column definitions
* [SG-223] - Refactored Command into async command
* Added exception handling and feedback to the user
* [SG-223] - Refactored GeneratorType picker to use Enum GeneratorType instead of string
* [SG-223] - Changed some resource keys
* [SG-223] - Refactor method name
* [SG-223] - Refactored code and added logs for switch default cases
* [SG-223] - Added flag to control visibility when in edit mode
* [SG-223] - Added suffix Parenthesis to keys to prevent future conflicts
* [SG-223] - Refactored multiple methods into one, GetUsernameFromAsync
* Removed unused Extensions from enums
* [SG-223] - Added exception message
* [SG-223] - Added localizable enum values through LocalizableEnumConverter
* [SG-223] - Fixed space between controls
* [SG-223] - Removed unused code and refactored some variables and methods names
* [SG-223] - Removed unused code and refactored constant name to be more elucidative
* [SG-223] - Removed unused variable
* Initial commit of new TOTP page
* Revert config files from previous commit
This reverts commit b02c58e362.
* clear extra code and fix build
* add tab page
* add authentication view cell
* add toolbar icons
* got the countdown working
* enable context loading and vm init
* PS-70 Added toggle to quickly filter TOTP cypher items and show their details, Added new text resource
* PS-70 removed old authentication tab
* removed unnecessary code on vm
* fixed formatting
* PS-70 Added circular progress to the OTP count down
* PS-70 Fixed grid cell width. Added red progress at 20 percent. Refactored circular progress view.
* PS-70 Added new props to custom control.
* PS-70 show toggle only if it's premium
* PS-70 removed unnecessary code
* PS-70 add copy to clipboard.
* PS-70 show upgrade to premium text on details to free user.
* PS-70 added text labels to resource files
* PS-70 Renamed TOTP to Totp to have consistency in naming. Removed a11y text of switch because android was overlapping text.
* PS-70 added new UI to enter code manually in the QR Code scanner screen. Changed existing labels on scanner screen.
* PS-70 Splited totp code to adjust spacing.
* PS-70 Added scanner square corner overlay. Added scanning animation. Added scan success animation.
* PS-70 let zxing scanner camera feed on until screen is closed.
* PS-70 fixed scanner animation for android devices
* PS-70 added vibrate permission to manifest. refactored scanpage code. added manual authentication key feature in scanner.
* PS-70 fixed totp cell title label font
* PS-70 added copy button to totp edit cipher. Added row button when totp is null.
* PS-70 changed labels on manual scanner screen
* PS-70 Added label on top of button to solve UI bug.
* PS-70 Fixed android button overlapping bug by adding button styling to a Frame view and placing a label inside. Fixed Color on scanner page.
* PS-70 Added frame styling for iOS, since frame view has different base configuration for android and iOS.
* PS-70 fixed font clipping bug on iOS
* PS-70 removed shadow for newer versions of android
* PS-70 code format
* PS-70 removed update to premium uri launch
* PS-70 PR fix for AppResource vs code behind generation.
* PS-70 changed premium required label. fixed bug when to show premium required label.
* [SSG-416] Removed the dashes from free user and just left the Premium subscription required.
* [SSG-416] removed unnecessary changes to the TabsPage file
* [SSG-416] removed unnecessary using.
* [SSG-416] Updated ViewPageViewModel and code refactoring.
* [SG-416] Updated scanner mode toggle text color to be inline with figma designs
* [SSG-416] Mobile PR Fixes
* [SSG-416] Add to remove a11y text from totp toggle because on android it places an helper text next to the switch making it invisible. Also removed from the label because it already reads the text from the label
* [SSG-416] run dotnet tool run dotnet-format
* [SSG-416] PR fixes
* Revert "[SSG-416] PR fixes"
This reverts commit 2f2b90acee.
* [PS-416] Fixed a bug where the item details page was not updating after saving.
* [SG-416] Authenticator toggle remake (#2027)
* [SG-416] Removed toggle to TOTP. Added on MainPage new entry to go to screen with TOTP codes. Added filter for TOTP codes to be used when searching.
* [SG-416] Removed unnecessary code. Added nav back if there is only 1 cipher with totp code and the user removes it.
* [SG-416] Run dotnet format tool
* [SG-416] PR fixes
* [SG-416] PR Fixes. Manifest formatting. Add try catch. Extracted method and added null protection.
* [SG-416] Make TOTP codes appear above favourites.
* [SG-416] PR fixes. Show error dialog.
Co-authored-by: Carlos J. Muentes <42616259+cmuentes@users.noreply.github.com>
Co-authored-by: Jacob Fink <jfink@bitwarden.com>
* PS-1116 Improved network error handling on ViewPageViewModel and AddEditPageViewModel
* PS-1116 Renamed ViewPage and AddEditPage pages to a more explicit name.
Refactored CheckPassword from the CipherPages to a single Base class.
* PS-1116 Updated variables relative to the AddEditPage and ViewPage refactor to CipherAddEditPage and CipherDetailPage
* Renamed CipherDetailPage to CipherDetailsPage
* Code improvement
* PS-1116 Improved code formatting
* PS-1116 Improved formatting
* PS-1116 Improved code formatting
* PS-1080 Added new accessibility text property to the custom field bool icon
* PS-1080 Added BoolValue property to the FieldView and added new AccessibilityProperty to bool icon
* settings option to allow screen capture on Android
* Improved code on Screen Capture and added prompt to the user to allow screen capture
* EC-325 Removed async on OnCreate of MainActivity given that's not necessary anymore
Co-authored-by: Federico Maccaroni <fedemkr@gmail.com>
* EC-324 Added more logging for trying to get more information on list out of range crash on AppCenter
* EC-324 Fix include on iOS.Core.csproj on iOS CollectionView files
* EC-259 Added Account switching on share extension on iOS, also improved performance for this and exception handling
* EC-259 code formatting
* EC-259 Added account switching to Share extension Send view
* EC-259 Fixed navigation on share extension when a forms page is already presented
* EC-259 Fix send text UI update when going from the iOS extension
* EC-259 Improved DateTimeViewModel with helper property to easily setup date and time at the same time and applied on usage
* PS-920 - Added feedback to user when saving bad formed URLs
* Added feedback to user when trying to perform login with bad formed URL
* PS-920 - Refactor to use AsyncCommand
*(missing file from previous commit)
* PS-920 - Fixed whitespace formatting
* PS-920 - Removed unused method
* PS-920 - Fixed validation
* Added comment for hard coded string
* PS-920 - Removed unused properties
* Fixed url validations
* Refactored method to local function
* PS-920 - Added exception handling and logging
* Added generic error message string to AppResources
* feat: update auto totp copy setting
* feat: update show icons settings
* feat: update auto add settings
* feat: update settings and options to sentence case
* feat: update translation keys
With the latest changes the translation keys had diverged from their contents.
This commit fixes that.
* fix: revert AndroidManifest changes
* chore: add todo comments to fix negative functions
* Added to AppResources.resx the message warning the user about setting the lockout option to "Never"
* Added the condition to check the newly selected option on the vault timeout settings
* Changed the wording on the warning as to reflect the mobile version
* Changed the vault timeout modal to have the ability to cancel
* Simplified the reversion of value if the user cancels the change
We only need master password hash because this is currently
only used for sso password setting after auto-provisioning. Key
Connector is not involved in these accounts
* SG-386 Updated active user when coming from background to the iOS app and the extension had switched users
* Added iOSExtensionActiveUserIdKey to preference keys
* Reorder iOS preference keys
* SG-210 Set up account switching on Autofill iOS
* SG-210 Fix refresh after sync on autofill ciphers, also added account switching on lock view on autofill. Also fix possible crash when scrolling when no items were displayed and also fixed navigation when login in on an automatically logged out account.
* SG-210 Added reference on iOS.Core project
* Fix formatting on AccountManager
* SG-210 Fix background color for dark theme
* Changing Report crash logs to Submit crash logs
* Updated resources keys to match the new value
Co-authored-by: Federico Andrés Maccaroni <fedemkr@gmail.com>
Update to icons used for Boolean and Linked to use real icons
Co-authored-by: CarleyDiaz-Bitwarden <103955722+CarleyDiaz-Bitwarden@users.noreply.github.com>
* PS-536 Fix by hack vault blank after unlocking and back navigate when previous page has value on iOS
* PS-536 Added platform check to the hack so it doesn't affect Android performance given that's an issue particular for iOS
* PS-676: Accessibility - "Options" expand/collapse control does not announce state
- Moved to click event to the stacklayout
- Added accessibility text to stacklayout
- Removed accessibility on views inside stacklayout
* PS-676 Changed event to command
Co-authored-by: André Bispo <abispo@bitwarden.com>
* PS-672: Accessibility - File/Text controls unintuitive, "Text" accessible name incorrect
- Added new text to help identify File / Text segmented button
- Added missing text for Text button accessibility
* PS-672: refactor code with pr suggestions
* PS-672: removed unnecessary code
* PS-672: change text from "click" to "tap"
* PS-672: removed comma
Co-authored-by: André Bispo <abispo@bitwarden.com>
- Logout was removing the 2FA token, portion of code deleted.
- Clear saved token when 2FA error is returned by the server.
Co-authored-by: André Bispo <abispo@bitwarden.com>
* PS-518 - Add setting to block AppCenter / Analytics - Mobile
- Added another entry into Settings page under the Others section
- Added prompt to ask user to enable / disable Crash Reports
- Added compilation tags to remove if the build is FDroid
* PS-518 Add setting to block AppCenter / Analytics - Mobile
- Reduced FDroid compilation tags throughout the code
- Added Init, Enable and State methods to Logger
- Simplified SettingsPageViewModel Enable/Disable code
* PS-518 Add setting to block AppCenter / Analytics - Mobile
- Appcenter references were removed from App project,
- Removed FDroid build.yml code that was deleting Appcenter packages from App.csproj
Co-authored-by: André Bispo <abispo@bitwarden.com>
* PS-591 - iOS - Avoid ambiguous characters is activated inside the main client, but is deactivated when creating a vault item from the autofill prompt. #1664
- Refactor the name of the property Ambiguous to AvoidAmbiguous, this naming was misleading.
- Fixed bug where the boolean value for the AvoidAmbiguous property was being stored inverted.
* PS-591 - iOS - Avoid ambiguous characters is activated inside the main client, but is deactivated when creating a vault item from the autofill prompt. #1664
- Changed AvoidAmbiguous to AllowAmbiguous
- Added wrapper Prop to bind UI Toggle to VM
Co-authored-by: André Bispo <abispo@bitwarden.com>
Change the value for 'copy notes' to 'copy note' since it is applying a single action on 1 item. This source string is already 'copy note' in the browser extension.
* Abstracted App Center Logging into its own component, so that we can have it centralized in one place and we avoid checking for FDroid on all the places we want to use it
* Implemented the new logger where Crashes.TrackError was being used except on some specific cases
* Improved logging, added a debug logger and removed AppCenter to be used on DEBUG
* Account Switching (#1720)
* Account switching
* WIP
* wip
* wip
* updates to send test logic
* fixed Send tests
* fixes for theme handling on account switching and re-adding existing account
* switch fixes
* fixes
* fixes
* cleanup
* vault timeout fixes
* account list status enhancements
* logout fixes and token handling improvements
* merge latest (#1727)
* remove duplicate dependency
* fix for initial login token storage paradox (#1730)
* Fix avatar color update toolbar item issue on iOS for account switching (#1735)
* Updated account switching menu UI (#1733)
* updated account switching menu UI
* additional changes
* add key suffix to constant
* GetFirstLetters method tweaks
* Fix crash on account switching when logging out when having more than user at a time (#1740)
* single account migration to multi-account on app update (#1741)
* Account Switching Tap to dismiss (#1743)
* Added tap to dismiss on the Account switching overlay and improved a bit the code
* Fix account switching overlay background transparent on the proper place
* Fixed transparent background and the shadow on the account switching overlay
* Fix iOS top space on Account switching list overlay after modal (#1746)
* Fix top space added to Account switching list overlay after closing modal
* Fix top space added to Account switching list overlay after closing modal on lock, login and home views just in case we add modals in the future there as well
* Usability: dismiss account list on certain events (#1748)
* dismiss account list on certain events
* use new FireAndForget method for back button logic
* Create and use Account Switching overlay control (#1753)
* Added Account switching overlay control and its own ViewModel and refactored accordingly
* Fix account switching Accounts list binding update
* Implemented dismiss account switching overlay when changing tabs and when selecting the same tab. Also updated the deprecated listener on CustomTabbedRenderer on Android (#1755)
* Overriden Equals on AvatarImageSource so it doesn't get set multiple times when it's the same image thus producing blinking on tab chaged (#1756)
* Usability improvements for logout on vault timeout (#1781)
* accountswitching fixes (#1784)
* Fix for invalid PIN lock state when switching accounts (#1792)
* fix for pin lock flow
* named tuple values and updated async
* clear send service cache on account switch (#1796)
* Global theme and account removal (#1793)
* Global theme and account removal
* remove redundant call to hide account list overlay
* cleanup and additional tweaks
* add try/catch to remove account dialog flow
Co-authored-by: Federico Maccaroni <fedemkr@gmail.com>