* PM-1402 Refactor pass generation service alongside policyservice
* PM-1402 Refactor PasswordGenerationService and PolicyService to have a simpler code and more specific to each class
* PM-1402 Fix format
* PM-1402 Moved policy consts from PolicyService to Policy
* PM-1402 fix crash due to lack of null checking
* PM-1402 fix format
* PM-1402 removed GetValueOrDefault() given that it was not needed and was changing the behavior
* Change bio integrity validation to work at account-level
* biometric state migration
* fix account bio valid key storage location during migration
* comment clarification
* fix for iOS extensions not using custom avatar color
* [AC-1070] Add EnforceOnLogin property to MasterPasswordPolicyOptions
* [AC-1070] Add MasterPasswordPolicy property to Identity responses
* [AC-1070] Add policy service dependency to auth service
* [AC-1070] Introduce logic to evaluate master password after successful login
* [AC-1070] Add optional ForcePasswordResetReason to profile / state service
* [AC-1070] Save ForcePasswordResetReason to state when a weak master password is found during login
- Additionally, save the AdminForcePasswordReset reason if the identity result indicates an admin password reset is in effect.
* [AC-1070] Check for a saved ForcePasswordReset reason on TabsPage load force show the update password page
* [AC-1070] Make InitAsync virtual
Allow the UpdateTempPasswordPage to override the InitAsync method to check for a reset password reason in the state service
* [AC-1070] Modify UpdateTempPassword page appearance
- Load the force password reset reason from the state service
- Make warning text dynamic based on force password reason
- Conditionally show the Current master password field if updating a weak master password
* [AC-1070] Add update password method to Api service
* [AC-1070] Introduce logic to update both temp and regular passwords
- Check the Reason to use the appropriate request/endpoint when submitting.
- Verify the users current password locally using the user verification service.
* [AC-1070] Introduce VerifyMasterPasswordResponse
* [AC-1070] Add logic to evaluate master password on unlock
* [AC-1070] Add support 2FA login flow
Keep track of the reset password reason after a password login requires 2FA. During 2FA submission, check if there is a saved reason, and if so, force the user to update their password.
* [AC-1070] Formatting
* [AC-1070] Remove string key from service resolution
* [AC-1070] Change master password options to method variable to avoid class field
Add null check for password strength result and log an error as this is an unexpected flow
* [AC-1070] Remove usage of i18nService
* [AC-1070] Use AsyncCommand for SubmitCommand
* [AC-1070] Remove type from ShowToast call
* [AC-1070] Simplify UpdatePassword methods to accept string for the new encryption key
* [AC-1070] Use full text for key for the CurrentMasterPassword resource
* [AC-1070] Convert Reason to a private class field
* [AC-1070] Formatting changes
* [AC-1070] Simplify if statements in master password options policy service method
* [AC-1070] Use the saved force password reset reason after 2FA login
* [AC-1070] Use constant for ForceUpdatePassword message command
* [AC-1070] Move shared RequirePasswordChangeOnLogin method into PolicyService
* Revert "[AC-1070] Move shared RequirePasswordChangeOnLogin method into PolicyService"
This reverts commit e4feac130f.
* [AC-1070] Add check for null password strength response
* [AC-1070] Fix broken show password icon
* [AC-1070] Add show password icon for current master password
* [EC-1045] lock action if policy and show message
* [EC-1045] add text for policy message
* [EC-1045] add consts to policy service
* [EC-1045] missed a const
* [AC-1045] fix build
* [AC-1045] fix bug where UI wasn't updating after sync
* [AC-1045] change FirstOrDefault to First to avoid nulls
* [AC-1045] refactor get vault timeout functions
* [AC-1045] don't filter action options unecessarily
* [AC-1045] refactor build alert logic for readability
* [AC-1045] use policy to filter timeout options instead of current timeout
* [AC-1045] update timeout during sync instead of getter
- remove encrypted from state since it's not encrypted
- if policies return a timeout policy, check and update vault timeout
* [AC-1045] default to custom if we can't find vault timeout option
* [AC-1045] revert Encrypted Policies rename
* [EC-1045] lock action if policy and show message
* [EC-1045] add text for policy message
* [EC-1045] add consts to policy service
* [EC-1045] missed a const
* [AC-1045] fix build
* [EC-980] Added iOS otpauth handler (#2370)
* EC-980 added Bitwarden as otpauth scheme handler
* EC-980 Fix format
* [EC-981] OTP handling - Set to selected cipher (#2404)
* EC-981 Started adding OTP to existing cipher. Reused AutofillCiphersPage for the cipher selection and refactored it so that we have more code reuse
* EC-981 Fix navigation on otp handling
* EC-981 Fix formatting
* EC-981 Added otp cipher selection callout and add close toolbar item when needed
* PM-1131 implemented cipher creation from otp handling flow with otp key filled (#2407)
* PM-1133 Updated empty states for search and cipher selection on otp flow (#2408)
* EC-1002 BEEEP Added ability to change language in app
* EC-1002 fix format
* EC-1002 Renamed IPreferencesStorageService to ISynchronousStorageService
* EC-1002 Moved get/set Locale to the StateService and added the StorageMediatorService to a new way to interact with the storage. Later the StateService will only interact with this mediator instead of directly with the storage services, with this we have more control inside the mediator and we can have both sync and async methods to interact with storages handled by the mediator
* [SG-516] Added DuckDuckGo provider
* [SG-516] Add Fastmail as generator provider
* [SG-516] code clean up
* [SG-516] Default to service empty if first time on screen. Order services by alphabetic order.
* [SG-516] Removed unnecessary prop.
* [PS-2278] Fixed inverted eye bug.
* [SG-516] Add icon glyph converter
* [SG-516] Fixed enum default value and ordering
* [SG-912] Modify the mobile app to retrieve the user's avatar color (#2277)
* work: baseline
* fix: dont use profile for store
* fiix: use userid in key
* fix: lookup on AccountView list create
* fix my own bad advice + tweaks
* Autosync the updated translations (#2279)
* fix my own bad advice + tweaks
* fiix: use userid in key
* [PS-1352] Fix ignore diacritics in search (#2044)
* Fix ignore diacritics in search
This change updates the search function to ignore diacritical marks in search results. Marks are stripped from both the search input and results.
* Removed logs, added null or whitespace validation and improved formatting
* [PS-2145] add rainsee browser series support (#2272)
* fix: lookup on AccountView list create
* Autosync the updated translations (#2279)
* fix my own bad advice + tweaks
* fix: single state grab is cool
* [EC-426] Add watchOS PoC app (#2054)
* EC-426 Added watchOS app, configured iOS.csproj to bundle the output of XCode build into the Xamarin iOS app and added some custom logic to use WCSession to communicate between the iOS and the watchOS apps
* EC-426 Removed Info.plist from iOS.Core project given that it's not needed
* [EC-426] Added new encrypted watch app profiles
* EC-426 added configuration for building watchApp and bundle it up on the iOS one
* EC-426 Fix build for watchOS
* EC-426 Fix build for watchOS applied shell bash
* EC-426 Fix build for watchOS echo
* EC-426 Fix build for watchOS simplify
* EC-426 Fix build for watchOS added workspace path
* EC-426 Changed code sign identity of watchOS project to Apple Distribution
* EC-426 added manual code sign style and specified the provisioning profile for the targets on the watch xcode project
* EC-426 updated path to watchOS on release on iOS.csproj and disabled android and f-.droid
* EC-426 fix build
* EC-426 fix path and check listing of directory of watchOS output just in case
* EC-426 Fix Apple Watch build to list the folder recursively just in case we need to change the path for the watch bundle
* EC-426 TEMP Change texts on input on login and lock to show that the app is for the Watch PoC testing
* EC-426 Fix WatchApp build path
* EC-426 Added WatchOS AppIcons
* EC-426 added gitignore for XCode project removed files supposed to be ignored
* EC-426 Cleaned the code a bit to avoid misbehavior
* EC-426 Code cleanup
Co-authored-by: Joseph Flinn <joseph.s.flinn@gmail.com>
* [EC-585] Added data, encryption and some helpers and structure to the Watch app (#2164)
* [EC-585] Added foundation classes on the watch to handle CoreData and some fixes on the communication of the ciphers, also some helper classes to store in keychain and encrypt data
* EC-585 Added keychain helper, encryption helpers and added data storage using CoreData configuring it appropiately. View and ViewModel are here only to test that the fetching/saving works but it's not the actual UI of the watch app. Also removed all the places where the automatic file signature was added by XCode
* EC-585 Fixed CipherServiceMock to implement protocol
* EC-585 Fixed DeviceActionService duplicated services
* [EC-614] Apple Watch MVP Cipher list UI (#2175)
* [EC-585] Added foundation classes on the watch to handle CoreData and some fixes on the communication of the ciphers, also some helper classes to store in keychain and encrypt data
* EC-585 Added keychain helper, encryption helpers and added data storage using CoreData configuring it appropiately. View and ViewModel are here only to test that the fetching/saving works but it's not the actual UI of the watch app. Also removed all the places where the automatic file signature was added by XCode
* EC-585 Fixed CipherServiceMock to implement protocol
* EC-585 Fixed DeviceActionService duplicated services
* EC-614 Implemented watch ciphers list UI
* [EC-615] Apple Watch MVP Cipher details UI (#2192)
* [EC-585] Added foundation classes on the watch to handle CoreData and some fixes on the communication of the ciphers, also some helper classes to store in keychain and encrypt data
* EC-585 Added keychain helper, encryption helpers and added data storage using CoreData configuring it appropiately. View and ViewModel are here only to test that the fetching/saving works but it's not the actual UI of the watch app. Also removed all the places where the automatic file signature was added by XCode
* EC-585 Fixed CipherServiceMock to implement protocol
* EC-585 Fixed DeviceActionService duplicated services
* EC-614 Implemented watch ciphers list UI
* EC-615 Added cipher details UI to watch and also implemented logic and helpers to generate the TOTPs
* EC-615 Added value transformer to login uris on the cipher entity
* EC-617 Added state view on watch app and some state helpers and wired it on the CipherListView. Also added some images (#2195)
* [EC-581] Implement Apple Watch MVP Sync (#2206)
* EC-581 Implemented sync iPhone -> watchOS, fix some issues with the watch database and sync flows for login/locks/multiple accounts
* EC-581 Added watch sync on unlocking and need setup state when no user is synced and the session is not active
* EC-581 Removed unused method
* EC-581 Fix format
* EC-759 Added avatar row on cipher list header to display avatar icon and email (#2213)
* [EC-786] Apple Watch MVP Sync fixes (#2214)
* EC-786 Commented things that are not going to be included on the MVP and fixed issue on the dictionary sent on the applicationContext to have a changing key based on time
* EC-786 Commented need unlock state
* EC-579 Added logic for Connect To Watch on iOS settings and moved it to the correct place. Also improved the synchronization and watch session activation logic (#2218)
* EC-616 Added search header for ciphers and polished the code (#2226)
Co-authored-by: Federico Maccaroni <fedemkr@gmail.com>
Co-authored-by: Joseph Flinn <joseph.s.flinn@gmail.com>
* [PS-1707] Changed the callout color to a Theme Color
* [PS-1707] Changed color defaults to defined colors
* [PS-1707] Added an effect to change the switch hint color to a theme color
* [PS-1707] Removed HintColorSwitchEffect and added the content to the CustomSwitchRenderer to affect all switches and update on theme change
* [SG-816] Get all login requests anfd pick the most recent
* [SG-816] Add check if active user has approve login with device active
* [SG-816] Build fix. Fix response model.
* [SG-816] Move code to sync service
* Merge branch 'master' into feature/SG-174-login-with-device
* [SG-813] Fix merge
* [SG-813] rename HomePage parameter name
* [SG-813] Added NavParams for home page on account switching.
* [SG-813] Remove account showing when adding new account.
* [SG-813] Add account switch pop up if email already exists
* [SG-813] Add default account avatar to HomePage
* [SG-813] Code format
* [SG-813] Remove unused import
* [SG-813] Renamed checkNavigateLogin to shouldCheckRememberEmail
* [SG-813] Move prompt account switch to account manager service
* [SG-813] Remove Account button appears if email is the same as the ActiveUser
* [SG-813] Fix code duplicate
* [SG-813] Fix for android RemoveAccount button
* [SG-813] Code format