* Enable firefox relay address on creation
Adding a body (json) to the request and setting enabled to true.
Additionally the description is set to "Generated by Bitwarden." to mimick the behaviour of the other clients
* Add missing encoding and mediaType
* Replace JObject with anonymous type
* PM-1576 Moved registration of AccountsManager to avoid race conditions with the app start. To do so, added ConditionedAwaiterManager so that it handles a task to be awaited or completed depending on the callers.
* PM-1576 Fix format
* PM-1576 Fix throw to preserve StackTrace
* [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
* Finally stop filling password into username field
The logic in #2331 is unfortunately not very reliable as it'll only detect fields that have one of "email", "phone" or "username" in their id as username fields.
This commit ensures that additonally fields that have TextVariationWebEmailAddress are also detected as username fields.
* Add TextVariationEmailAddress
* Remove
---------
Co-authored-by: aj-rosado <109146700+aj-rosado@users.noreply.github.com>
* EC-770 Started implementing MessagePack for the iPhone -> Watch communication
* EC-770 Removed Pods and installed MessagePack through SPM
* EC-770 Implemented MessagePack + Lzfse compression when syncing iPhone -> Watch
* EC-770 Added MessagePack as submodule and updated the build to checkout the submodule as well. Also added MessagePack files as reference in the watch project
* EC-770 Updated build
Updated build.yml to checkout submodules on iOS
* [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)
* Use encoded query parameters over path
* Prefer POST for requests with sensitive information
* Send private information in headers over query
* B64 encode email
* Update iOS Distribution cert and provision profiles
* Rename the provision profiles
* Update the App Store provision profile names in plist
* Update Watch provision profile
* Remove testing code in pipeline
* Remove more test code
* 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
* [PS-1809] Updating the account premium state when syncing the vault
* [PS-1809] Added validation to check if HasPremiumPersonally needs to be updated
* PS-1809 Renamed SetPremiumAsync to SetPersonalPremiumAsync
* [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-469 Improve ApiException message to have the validation errors and message provided by the ErrorResponse
* EC-469 Updated default message format for ErrorResponse GetFullMessage()
* 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
Co-authored-by: aj-rosado <109146700+aj-rosado@users.noreply.github.com>
Co-authored-by: Andre Rosado <arosado@bitwarden.com>
* EC-628 Added Crashlytics to the watchOS project, missing GoogleService-Info.plist for now
* addition of GoogleServices-info.plist.gpg
* Re-add GoogleService-info.plist.gpg
* EC-628 Updated build.yml to decrypt and copy the GoogleService-Info.plist for Crashlytics and also added step to upload Watch dSYMs to Crashlytics
* EC-628 Fix run command upload watch dsym build.yml
* EC-628 Updated Apple iOS macos version to 12 in order to resolve Watch XCode dependencies correctly with SPM
* EC-628 Added some logs to see where I'm located cause it's issuing a wrong path. Also deactivated droid builds so that it's faster to test and doesn't consume resources on that till the build is OK
* EC-628 fixed variable reference build.yml
* EC-628 Removed ls of watch dsym export path before creating the folder that was causing the build to fail
* EC-628 Removed XCode build phase step to auto-upload dsym to firebase and added some logs to find the upload-symbols tool from SPM. Also fix making the dir for the watchOS dSYMs export path
* EC-628 Changed approach to upload watch dSYMs to Firebase by finding the upload-symbols script dynamically with find and then executing it
* EC-628 Added missing ; to command to upload watch dSYMs
* EC-628 Fix buld.yml Watch dSYMs copy to export path
* EC-628 Cleaned build.yml for the watch dSYMs upload to Firebase and bring back droid builds
Co-authored-by: sneakernuts <671942+sneakernuts@users.noreply.github.com>
* ✨ feat(Support): Add Lemur Browser
Lemur Browser is the mobile browser support Chrome and Edge extensions, build from chromium.
🔗 issue - https://github.com/bitwarden/mobile/issues/2260🔗 Lemur Browser - https://www.lemurbrowser.com/
* 🐞 fix(Sorted alphabetically): Move up one line
Please move this up one line to ensure the sections are sorted alphabetically
6d5cb73445
* EC-835 Added in the Watch app keychain accessible when passcode set this device only and when the passcode is set to signal the iPhone to trigger a sync on opening the watch app
* EC-835 Embed LocalAuthentication framework into the watch app to fix no such module when importing it
* EC-835 Changed approach to check if Watch has passcode enabled by using Keychain accessible kSecAttrAccessibleWhenPasscodeSetThisDeviceOnly instead of LAContext
* EC-835 Fix weird error saying unassigned local variable on the CI compiler. It seems it doesn't realize of the full condition
* EC-844 improve need login / need setup states on the watch
* EC-844 Fix naming of things and moved constant to the proper place to maintain format. Also removed UpdateLastUserShouldConnectToWatchAsync from the interface of the StateService given that it's not used outside the service and made it private
* Changed the current push token and last registration time to be user-based
* Fixed compile error.
* Fixed interface implementation.
* Fixed compile error for Android.
* Refactored to handle getting active user ID within state service
* Refactored methods allow existing logic to handle getting the active user.
* Updated to reconcile options.
* Updated naming and fixed issue with UserId.
* Removed space between constants.
* [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
* Only show 'remove account' option if user is in Accounts list
* Condense existing email logic
* Add line break
* Condense to local variable
* Cleanup spacing
* [SG-166] Update fonts to have necessary icons
* [SG-166] Add new custom view to hold a button with a font icon and a label.
* [SG-166] Two Step login flow - Mobile (#2153)
* [SG-166] Add UI elements to Home and Login pages. Change VMs to function with new UI. Add new string resources.
* [SG-166] Pass email parameter from Home to Login page.
* [SG-166] Pass email to password hint page.
* [SG-166] Remove remembered email from account switching.
* [SG-166] Add GetKnownDevice endpoint to ApiService
* [SG-166] Fix GetKnownDevice string uri
* [SG-166] Add Renderer for IconLabel control. Add RemoveFontPadding bool property.
* [SG-166] include IconLabelRenderer in Android csproj file
* [SG-166] Add new control. Add styles for the control.
* [SG-166] Add verification to start login if email is remembered
* [SG-166] Pass default email to hint page
* [SG-166] Login with device button only shows if it is a known device.
* [SG-166] Change Remember Email to Remember me. Change Check to Switch control.
* [SG-166] Add command to button for SSO Login
* Revert "[SG-166] Update fonts to have necessary icons"
This reverts commit 472b541cef.
* [SG-166] Remove IconLabel Android renderer. Add RemoveFontPadding effect.
* [SG-166] Update font with new device and suitcase icon
* [SG-166] Fix RemoveFontPadding effect
* [SG-166] Remove unused property in IconLabel
* [SG-166] Fix formatting on IconLabelButton.xaml
* [SG-166] Update padding effect to IconLabel
* [SG-166] Add control variable to run code once on create
* [SG-166] Add email validation before continue
* [SG-166] Refactor icons
* [SG-166] Update iOS Extension font
* [SG-166] Remove HomePage login btn step
* [SG-166] Make clickable area smaller
* [SG-166] Fix hint filled by default
* [SG-166] Fix IconButton font issue
* [SG-166] Fix iOS extension
* [SG-166] Move style to Base instead of platforms
* [SG-166] Fix layout for IconLabelButton
* [SG-166] Switched EventHandler for Command
* [SG-166] Removed event handler
* [SG-166] Fix LoginPage layout options
* [SG-166] Fix extensions Login null email
* [SG-166] Move remembered email logic to viewmodel
* [SG-166] Protect method and show dialog in case of error
* [SG-166] Rename of GetKnownDevice api method
* [SG-166] rename text resource key name
* [SG-166] Add close button to iOS extension
* [SG-166] Switch event handlers for commands
* [SG-166] Change commands UI thread invocation.
* [SG-166] Remove Login with device button from the UI
* [SG-166] Fixed appOptions and close button on iOS Extensions
* [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