[PR #3123] [CLOSED] [PM-7134] Replace FFImageLoading with Net MAUI Image Control to avoid background issues #45639

Closed
opened 2026-04-26 12:55:57 -05:00 by GiteaMirror · 0 comments
Owner

📋 Pull Request Information

Original PR: https://github.com/bitwarden/android/pull/3123
Author: @dinisvieira
Created: 3/28/2024
Status: Closed

Base: mainHead: feature/replace-ffimageloading-with-image


📝 Commits (10+)

  • 375718f PM-3227 Avoid clone on discoverable passkeys. (#2648)
  • 0271a4d Autosync the updated translations (#2650)
  • 5aaff1e PM-3249 Removed back button from block autofill uris to be aligned to other views (#2654)
  • c4e64e0 Autosync the updated translations (#2660)
  • c34d1da PM-3298 Updated region selector to be logging in on and also its options (#2657)
  • ec93a61 [PM-3092] Clarify argon2 ios autofill warning (#2630)
  • eea7c6b [PM-2901] Synchronize sends on send creation/update/deletion notification (#2606)
  • 6d4793d [PM-1768] Set up CODEOWNERS file (#2464)
  • 420dc09 Update codeowners (#2691)
  • f426c0e Create section for crowdin sync (#2692)

📄 Description

Type of change

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

Objective

There is currently a crash that occurs sometimes when the app is in Background. That crash cause is suspected to be caused by FFImageLoading.
As such this PR was created to see the viability of removing FFImageLoading and using MAUI Image but still have Caching for icons.

Code changes

FFImageLoading CachedImage was replaced with MAUI Image and an UriImageSource was setup for icons to still have caching.
This seems to be working perfectly on Android but on iOS there are issues with the list not correctly loading some icons.

  • Core.csproj: Removed the FFImageLoaging nuget
  • App.csproj: Removed the FFImageLoaging nuget
  • CachedImage.cs: Removed as it's no longer needed
  • MauiProgram.cs: Removed FFImageLoading init and Stubs used by Unit tests
  • BaseCipherViewCell.cs: Removed Unit Tests stubs and changed CachedImage to Image
  • CipherItemViewModel.cs: Changed IconImageSource to be a UriImageSource instead of string to support the MAUI Caching for Image
  • AuthenticatorViewCell.xaml: Replaced CachedImage with Image
  • AuthenticatorViewCell.xaml.cs: Replaced CachedImage with Image and added the Image_OnLoaded method that tries to work with the previously existing Icon_Error and Icon_Success
  • CipherViewCell.xaml: Replaced CachedImage with Image
  • CipherViewCell.xaml.cs: Replaced CachedImage with Image and added the Image_OnLoaded method that tries to work with the previously existing Icon_Error and Icon_Success

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/3123 **Author:** [@dinisvieira](https://github.com/dinisvieira) **Created:** 3/28/2024 **Status:** ❌ Closed **Base:** `main` ← **Head:** `feature/replace-ffimageloading-with-image` --- ### 📝 Commits (10+) - [`375718f`](https://github.com/bitwarden/android/commit/375718f94521dceebc39a71202919213f814f206) PM-3227 Avoid clone on discoverable passkeys. (#2648) - [`0271a4d`](https://github.com/bitwarden/android/commit/0271a4db4ce6f18fda928c6328d64fb56ca32835) Autosync the updated translations (#2650) - [`5aaff1e`](https://github.com/bitwarden/android/commit/5aaff1ea2014909d870857042f67245f312ca4b4) PM-3249 Removed back button from block autofill uris to be aligned to other views (#2654) - [`c4e64e0`](https://github.com/bitwarden/android/commit/c4e64e082b8b9fd84f32d5fb4238c292aba9c2ab) Autosync the updated translations (#2660) - [`c34d1da`](https://github.com/bitwarden/android/commit/c34d1da6e64ee7b07d77cf57af2b4072fa81d332) PM-3298 Updated region selector to be logging in on and also its options (#2657) - [`ec93a61`](https://github.com/bitwarden/android/commit/ec93a612755099b8f652baa2ae12dd72056fbcdf) [PM-3092] Clarify argon2 ios autofill warning (#2630) - [`eea7c6b`](https://github.com/bitwarden/android/commit/eea7c6b7d72f96b6d3acbd71c6357dcf3a472344) [PM-2901] Synchronize sends on send creation/update/deletion notification (#2606) - [`6d4793d`](https://github.com/bitwarden/android/commit/6d4793d5928e90137aa0d717007d5868d740be44) [PM-1768] Set up CODEOWNERS file (#2464) - [`420dc09`](https://github.com/bitwarden/android/commit/420dc09fd147275b89a67e697c10f1e14b8be056) Update codeowners (#2691) - [`f426c0e`](https://github.com/bitwarden/android/commit/f426c0e37042aeae73fdc8b1c6bb494818b21e01) Create section for crowdin sync (#2692) ### 📄 Description ## Type of change - [x] Bug fix - [ ] New feature development - [ ] Tech debt (refactoring, code cleanup, dependency upgrades, etc) - [ ] Build/deploy pipeline (DevOps) - [ ] Other ## Objective There is currently a crash that occurs sometimes when the app is in Background. That crash cause is suspected to be caused by FFImageLoading. As such this PR was created to see the viability of removing FFImageLoading and using MAUI Image but still have Caching for icons. ## Code changes FFImageLoading CachedImage was replaced with MAUI Image and an UriImageSource was setup for icons to still have caching. **This seems to be working perfectly on Android but on iOS there are issues with the list not correctly loading some icons.** * **Core.csproj:** Removed the FFImageLoaging nuget * **App.csproj:** Removed the FFImageLoaging nuget * **CachedImage.cs:** Removed as it's no longer needed * **MauiProgram.cs:** Removed FFImageLoading init and Stubs used by Unit tests * **BaseCipherViewCell.cs:** Removed Unit Tests stubs and changed CachedImage to Image * **CipherItemViewModel.cs:** Changed IconImageSource to be a UriImageSource instead of string to support the MAUI Caching for Image * **AuthenticatorViewCell.xaml:** Replaced CachedImage with Image * **AuthenticatorViewCell.xaml.cs:** Replaced CachedImage with Image and added the Image_OnLoaded method that tries to work with the previously existing Icon_Error and Icon_Success * **CipherViewCell.xaml:** Replaced CachedImage with Image * **CipherViewCell.xaml.cs:** Replaced CachedImage with Image and added the Image_OnLoaded method that tries to work with the previously existing Icon_Error and Icon_Success ## 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 2026-04-26 12:55:57 -05:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: github-starred/android#45639