Skip to content

Fix for TransactionTooBig crashes due to passing Base64 encoded logos#151

Merged
dzolnai merged 4 commits intomainfrom
bugfix/TransactionTooBig
Oct 15, 2025
Merged

Fix for TransactionTooBig crashes due to passing Base64 encoded logos#151
dzolnai merged 4 commits intomainfrom
bugfix/TransactionTooBig

Conversation

@SanderVeer
Copy link
Copy Markdown
Collaborator

This PR changes the logic for how provider logos are passed between screens. The current implementation was causing TransactionTooBig crashes when the UiState was stored or retrieved in certain scenarios. By keeping the actual Bitmap in memory instead of passing huge Base64 string transactions are down to a few KB rather than several MB in some cases.

sandervantveer-dawn and others added 3 commits October 13, 2025 09:53
Added logging to track data sizes in:
- EAPIdentityProviderListNavType (serialization/deserialization)
- WifiConfigViewModel (receiving data via navigation)
- SelectProfileViewModel (storing EAPIdentityProviderList in UI state)

Fix TransactionTooLargeException by removing logos from SavedState

Solution overview:
- Store provider logos separately from SavedStateHandle
- Strip logos from EAPIdentityProviderList before navigation
- Keep logos visible on SelectProfileScreen via separate property
@SanderVeer SanderVeer requested a review from dzolnai October 15, 2025 09:15
@dzolnai dzolnai merged commit 607cfb9 into main Oct 15, 2025
1 check passed
@dzolnai dzolnai deleted the bugfix/TransactionTooBig branch October 15, 2025 10:01
@spaetow
Copy link
Copy Markdown

spaetow commented Oct 16, 2025

This PR changes the logic for how provider logos are passed between screens. The current implementation was causing TransactionTooBig crashes when the UiState was stored or retrieved in certain scenarios. By keeping the actual Bitmap in memory instead of passing huge Base64 string transactions are down to a few KB rather than several MB in some cases.

Just one thing to say is that this should probably be fed back to the CAT folks, because massive logos shouldn't be in the profile file in the first place. They should be sized down by the organisation who owns the profile, or the CAT system itself. I'll raise a CAT issue on this.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants