[PR #2523] [MERGED] [PM-1575] Display Passkeys #3616

Closed
opened 2025-11-26 23:35:14 -06:00 by GiteaMirror · 0 comments
Owner

📋 Pull Request Information

Original PR: https://github.com/bitwarden/android/pull/2523
Author: @fedemkr
Created: 5/16/2023
Status: Merged
Merged: 7/26/2023
Merged by: @fedemkr

Base: masterHead: PM-1575-display-passkeys


📝 Commits (10+)

  • c5c1b14 PM-1575 Added new models for Fido2Key
  • cdb890e Merge branch 'master' into PM-1575-display-passkeys
  • 5731499 PM-1575 Added discoverable passkeys and WIP non-discoverable ones
  • 60303be Merge branch 'master' into PM-1575-display-passkeys
  • b88c0ea PM-1575 Fix format
  • 2aeb9b6 PM-1575 Added non-discoverable passkeys to login UI
  • 657dd30 Merge branch 'master' into PM-1575-display-passkeys
  • d62c34a PM-1575 Added copy application icon to Fido2Key UI
  • 9ffdd85 Merge branch 'master' into PM-1575-display-passkeys
  • 7ada685 PM-1575 Updated bwi font with the updated passkey icon

📊 Changes

42 files changed (+660 additions, -127 deletions)

View changed files

📝 src/Android/Assets/bwi-font.ttf (+0 -0)
📝 src/App/Controls/CipherViewCell/CipherViewCellViewModel.cs (+2 -2)
📝 src/App/Pages/Vault/BaseCipherViewModel.cs (+2 -0)
📝 src/App/Pages/Vault/CipherAddEditPage.xaml (+43 -0)
📝 src/App/Pages/Vault/CipherAddEditPageViewModel.cs (+7 -1)
📝 src/App/Pages/Vault/CipherDetailsPage.xaml (+69 -1)
📝 src/App/Pages/Vault/CipherDetailsPage.xaml.cs (+3 -17)
📝 src/App/Pages/Vault/CipherDetailsPageViewModel.cs (+33 -4)
📝 src/App/Pages/Vault/GroupingsPage/GroupingsPageListItem.cs (+6 -0)
📝 src/App/Pages/Vault/GroupingsPage/GroupingsPageViewModel.cs (+17 -35)
📝 src/App/Pages/Vault/SharePage.xaml (+1 -1)
📝 src/App/Pages/Vault/SharePage.xaml.cs (+0 -13)
📝 src/App/Pages/Vault/SharePageViewModel.cs (+15 -2)
📝 src/App/Resources/AppResources.Designer.cs (+91 -0)
📝 src/App/Resources/AppResources.resx (+31 -0)
📝 src/App/Utilities/AppHelpers.cs (+15 -3)
📝 src/App/Utilities/IconGlyphExtensions.cs (+7 -12)
📝 src/App/Utilities/IconImageConverter.cs (+29 -12)
📝 src/Core/Abstractions/ICipherService.cs (+7 -1)
📝 src/Core/BitwardenIcons.cs (+1 -0)

...and 22 more files

📄 Description

Type of change

  • Bug fix
  • New feature development
  • Tech debt (refactoring, code cleanup, dependency upgrades, etc)
  • Build/deploy pipeline (DevOps)
  • Other

Objective

Display Discoverable and Non-Discoverable Passkeys.

Code changes

  • bwi-font.ttf: Updated font with new icons for Passkeys
  • CipherViewCellViewModel.cs: Updated it to get the also the icon of a Fido2Key
  • BaseCipherViewModel.cs: Added CreationDate string built
  • CipherAddEditPage.xaml: Added Passkey section and non-discoverable passkey to login
  • CipherAddEditPageViewModel: Removed Fido2Key from Login when cloning and added bool to show/hide non-discoverable passkey if in clone mode.
  • CipherDetailsPage.xaml: Added Passkey section and non-discoverable passkey to login
  • CipherDetailsPage.xaml.cs: Removed Clone from the toolbar for Passkeys types. Moved Clone logic to ViewModel.
  • CipherDetailsPageViewModel.cs: Refactor a bit to use ILaunchableView to launch either a Login or a Passkey/Fido2Key. Added CloneCommand and moved clone logic here also adding when a cipher can be cloned, particularly on logins with non-discoverable passkey, the user needs to decide whether to clone it or not after warning them that the passkey won't be cloned.
  • GroupingsPageListItem.cs: Added Fido2Key name and icon
  • GroupingsPageViewModel.cs: Refactor a bit the section to add types items with count to be simpler and with less code. Also added Fido2Key to be taken into account when filtering by Login given that they should be displayed side by side.
  • SharePage.xaml, SharePage.xaml.cs, SharePageViewModel.cs : Changed to async command approach and changed the name to MoveCommand to be more specific.
  • IconGlyphExtensions.cs: Improved code
  • IconImageConverter.cs: Added Fido2Key logic and move things a little to be more reusable
  • CipherView.cs: Added Fido2Key. Also added ComparableName so we avoid type checking and it's more direct and in place. Additionally, added the ILaunchableView interface so that the caller doesn't need to know the inner types to get whether it can be launched or which is the launch uri.
  • ILaunchableView.cs: This is to mark views to be launchable and to decrease type checking.
  • CipherTypeExtensions.cs: This was created to improve readability on usage.
  • Others: Added Fido2Key new logic.

Screenshots

Discoverable Passkey View Item Discoverable Passkey View Item dark Discoverable Passkey Edit item Discoverable Passkey Edit item dark Non Discoverable Passkey  View Item Non Discoverable Passkey  View Item dark Non Discoverable Passkey Clone Warning Non Discoverable Passkey Clone Warning dark Non Discoverable Passkey  Edit Item Non Discoverable Passkey  Edit Item dark

Before you submit

  • Please check for formatting errors (dotnet format --verify-no-changes) (required)
  • Please add unit tests where it makes sense to do so (encouraged but not required)
  • If this change requires a documentation update - notify the documentation team
  • If this change has particular deployment requirements - notify the DevOps team

🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.

## 📋 Pull Request Information **Original PR:** https://github.com/bitwarden/android/pull/2523 **Author:** [@fedemkr](https://github.com/fedemkr) **Created:** 5/16/2023 **Status:** ✅ Merged **Merged:** 7/26/2023 **Merged by:** [@fedemkr](https://github.com/fedemkr) **Base:** `master` ← **Head:** `PM-1575-display-passkeys` --- ### 📝 Commits (10+) - [`c5c1b14`](https://github.com/bitwarden/android/commit/c5c1b14570423dad420cb2047e1e0e3debfa3228) PM-1575 Added new models for Fido2Key - [`cdb890e`](https://github.com/bitwarden/android/commit/cdb890ea699f74846cefcac004bf387bf4484bbc) Merge branch 'master' into PM-1575-display-passkeys - [`5731499`](https://github.com/bitwarden/android/commit/57314990448dfc664788ba50fa4aaa0e621910ef) PM-1575 Added discoverable passkeys and WIP non-discoverable ones - [`60303be`](https://github.com/bitwarden/android/commit/60303be962c615b0baa853152ccc2592e5d13840) Merge branch 'master' into PM-1575-display-passkeys - [`b88c0ea`](https://github.com/bitwarden/android/commit/b88c0ea61f49d5dd0269f387d71445debd7b3a0e) PM-1575 Fix format - [`2aeb9b6`](https://github.com/bitwarden/android/commit/2aeb9b6d31c8be5b03f2e5598956d9b37fb8ceac) PM-1575 Added non-discoverable passkeys to login UI - [`657dd30`](https://github.com/bitwarden/android/commit/657dd3047c131683d395b3c6ae1759fd79c1d771) Merge branch 'master' into PM-1575-display-passkeys - [`d62c34a`](https://github.com/bitwarden/android/commit/d62c34a823bd230a86cb041133d4652b0d494f84) PM-1575 Added copy application icon to Fido2Key UI - [`9ffdd85`](https://github.com/bitwarden/android/commit/9ffdd856117fcacc5e1d2139863e4d37ea9c3295) Merge branch 'master' into PM-1575-display-passkeys - [`7ada685`](https://github.com/bitwarden/android/commit/7ada68513ce14581a1fbbcb3ec2c6c75b2dc9664) PM-1575 Updated bwi font with the updated passkey icon ### 📊 Changes **42 files changed** (+660 additions, -127 deletions) <details> <summary>View changed files</summary> 📝 `src/Android/Assets/bwi-font.ttf` (+0 -0) 📝 `src/App/Controls/CipherViewCell/CipherViewCellViewModel.cs` (+2 -2) 📝 `src/App/Pages/Vault/BaseCipherViewModel.cs` (+2 -0) 📝 `src/App/Pages/Vault/CipherAddEditPage.xaml` (+43 -0) 📝 `src/App/Pages/Vault/CipherAddEditPageViewModel.cs` (+7 -1) 📝 `src/App/Pages/Vault/CipherDetailsPage.xaml` (+69 -1) 📝 `src/App/Pages/Vault/CipherDetailsPage.xaml.cs` (+3 -17) 📝 `src/App/Pages/Vault/CipherDetailsPageViewModel.cs` (+33 -4) 📝 `src/App/Pages/Vault/GroupingsPage/GroupingsPageListItem.cs` (+6 -0) 📝 `src/App/Pages/Vault/GroupingsPage/GroupingsPageViewModel.cs` (+17 -35) 📝 `src/App/Pages/Vault/SharePage.xaml` (+1 -1) 📝 `src/App/Pages/Vault/SharePage.xaml.cs` (+0 -13) 📝 `src/App/Pages/Vault/SharePageViewModel.cs` (+15 -2) 📝 `src/App/Resources/AppResources.Designer.cs` (+91 -0) 📝 `src/App/Resources/AppResources.resx` (+31 -0) 📝 `src/App/Utilities/AppHelpers.cs` (+15 -3) 📝 `src/App/Utilities/IconGlyphExtensions.cs` (+7 -12) 📝 `src/App/Utilities/IconImageConverter.cs` (+29 -12) 📝 `src/Core/Abstractions/ICipherService.cs` (+7 -1) 📝 `src/Core/BitwardenIcons.cs` (+1 -0) _...and 22 more files_ </details> ### 📄 Description ## Type of change - [ ] Bug fix - [X] New feature development - [ ] Tech debt (refactoring, code cleanup, dependency upgrades, etc) - [ ] Build/deploy pipeline (DevOps) - [ ] Other ## Objective <!--Describe what the purpose of this PR is. For example: what bug you're fixing or what new feature you're adding--> Display Discoverable and Non-Discoverable Passkeys. ## Code changes <!--Explain the changes you've made to each file or major component. This should help the reviewer understand your changes--> <!--Also refer to any related changes or PRs in other repositories--> * **bwi-font.ttf:** Updated font with new icons for Passkeys * **CipherViewCellViewModel.cs:** Updated it to get the also the icon of a `Fido2Key` * **BaseCipherViewModel.cs:** Added `CreationDate` string built * **CipherAddEditPage.xaml:** Added Passkey section and non-discoverable passkey to login * **CipherAddEditPageViewModel:** Removed `Fido2Key` from `Login` when cloning and added bool to show/hide non-discoverable passkey if in clone mode. * **CipherDetailsPage.xaml:** Added Passkey section and non-discoverable passkey to login * **CipherDetailsPage.xaml.cs:** Removed `Clone` from the toolbar for Passkeys types. Moved Clone logic to ViewModel. * **CipherDetailsPageViewModel.cs:** Refactor a bit to use `ILaunchableView` to launch either a `Login` or a `Passkey/Fido2Key`. Added `CloneCommand` and moved clone logic here also adding when a cipher can be cloned, particularly on logins with non-discoverable passkey, the user needs to decide whether to clone it or not after warning them that the passkey won't be cloned. * **GroupingsPageListItem.cs:** Added `Fido2Key` name and icon * **GroupingsPageViewModel.cs:** Refactor a bit the section to add types items with count to be simpler and with less code. Also added `Fido2Key` to be taken into account when filtering by `Login` given that they should be displayed side by side. * **SharePage.xaml, SharePage.xaml.cs, SharePageViewModel.cs :** Changed to async command approach and changed the name to `MoveCommand` to be more specific. * **IconGlyphExtensions.cs:** Improved code * **IconImageConverter.cs:** Added `Fido2Key` logic and move things a little to be more reusable * **CipherView.cs:** Added `Fido2Key`. Also added `ComparableName` so we avoid type checking and it's more direct and in place. Additionally, added the `ILaunchableView` interface so that the caller doesn't need to know the inner types to get whether it can be launched or which is the launch uri. * **ILaunchableView.cs:** This is to mark views to be launchable and to decrease type checking. * **CipherTypeExtensions.cs:** This was created to improve readability on usage. * **Others:** Added `Fido2Key` new logic. ## Screenshots <!--Required for any UI changes. Delete if not applicable--> <img width="314" alt="Discoverable Passkey View Item" src="https://github.com/bitwarden/mobile/assets/15682323/60901bfa-685c-42f4-994b-db5a93474c1c"> <img width="314" alt="Discoverable Passkey View Item dark" src="https://github.com/bitwarden/mobile/assets/15682323/86ae5662-514a-40a8-b753-8a62422e0e16"> <img width="314" alt="Discoverable Passkey Edit item" src="https://github.com/bitwarden/mobile/assets/15682323/47a4ea05-7c50-43e2-8dfb-cedbc9d4743f"> <img width="314" alt="Discoverable Passkey Edit item dark" src="https://github.com/bitwarden/mobile/assets/15682323/6046827e-e546-4df3-b7a1-34731a01905c"> <img width="314" alt="Non Discoverable Passkey View Item" src="https://github.com/bitwarden/mobile/assets/15682323/021d190a-d95b-4628-99fc-194e5f134b28"> <img width="314" alt="Non Discoverable Passkey View Item dark" src="https://github.com/bitwarden/mobile/assets/15682323/40904ef3-217d-4781-953d-e2f7823ff21f"> <img width="314" alt="Non Discoverable Passkey Clone Warning" src="https://github.com/bitwarden/mobile/assets/15682323/ffc8d782-e01c-411e-ae29-46d59851601b"> <img width="314" alt="Non Discoverable Passkey Clone Warning dark" src="https://github.com/bitwarden/mobile/assets/15682323/270b6088-f458-4080-b09f-816f4b21de7f"> <img width="314" alt="Non Discoverable Passkey Edit Item" src="https://github.com/bitwarden/mobile/assets/15682323/e806d5a7-70aa-4942-ad90-ac8fac87d2e3"> <img width="314" alt="Non Discoverable Passkey Edit Item dark" src="https://github.com/bitwarden/mobile/assets/15682323/62708624-b314-4f1c-88f3-f491e4788a86"> ## Before you submit - Please check for formatting errors (`dotnet format --verify-no-changes`) (required) - Please add **unit tests** where it makes sense to do so (encouraged but not required) - If this change requires a **documentation update** - notify the documentation team - If this change has particular **deployment requirements** - notify the DevOps team --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
GiteaMirror added the pull-request label 2025-11-26 23:35:14 -06:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: github-starred/android#3616