fix: Duplicate groups makes contact crash - #5
Open
lforg37 wants to merge 7972 commits into
Open
Conversation
- Rust team confirmed that Mailbox holds a weak reference to its parent MailUserContext, meaning once the user session is destroyed (logout / session revoked), previously created Mailboxes become invalid/useless and reusing them can lead to unexpected internal errors. - Removed all mailbox caching from RustMailboxFactory (iOS does not cache Mailbox objects either) - Creating Mailbox is a cheap operation ET-5576
NOJIRA
NOJIRA
NOJIRA
NOJIRA
- This action was probably used in the past. Now it's not used anymore. Scroll message id is obtained only during VM initialisation and it's not possible to change it afterwards with a UI action. ET-5569
- Introduce ScrollToMessageState
- Replace nullable scrollToMessage field in UI state with ScrollToMessageState
- Add helper getScrollTargetMessageIdOrNull() for UI convenience
ET-5569
- Handle MessagesData only when in NoScrollTarget - Compute scroll target index in reducer (previously it was in UI) - Ignore subsequent requests by keeping existing ScrollRequested/ScrollCompleted stable across MessagesData updates - Preserve completion by emitting ScrollCompleted(messageId) on ScrollRequestCompleted ET-5569
…to-expand
- Move scroll-to-index calculation out of Compose into reducer (targetMessageIndex)
- Drive scroll+expand from ScrollRequested state:
* hard scrollToItem(targetIndex)
* expand target message
* wait for final measuring then animate scroll to align header overlap
* notify VM via onScrollRequestCompleted(targetId)
ET-5569
Problem: When long subjects are truncated, highlighting could style text that is not actually visible. This produced colored artifacts near the “...” area. - Measure the visible text end for truncated text - Only highlight if a match is completely within visible part (last 3 letters of a match can be converted to Ellipsis later) ET-5553
NOJIRA
NOJIRA
…ogic in synchronized block ET-5496
Ensure that there is no blank screen displayed upon foregrounding and backgrounding the lock screen multiple times ET-5518
ET-5518
ET-5518
Detekt 1.23.8 currently does not run due to this. ET-5518
ET-5791
NOJIRA
- SwipeLifecycleState to define lifecycle of a swipe action - SwipeLifecycleEvent definitions for swipe lifecycle transitions - SwipeLifecycleReducer to drive state transitions ET-5786
- Refactor SwipeableItem to use SwipeLifecycleState instead of ad-hoc booleans
- Add finger release detector to reliably detect finger release
- Delay execution of swipe action until finger is released
ET-5786
Update Draft errors mapping with new branches introduced in this version. NOJIRA
ET-5766
- If the user changes his mind and swipes back below the threshold without lifting his finger, the action should not be performed - PointerReleased now returns Idle when not Armed (defensive cleanup). ET-5786
Remove lottie and go for a native solution. ET-5777
ET-5802
…e times."" This reverts commit af61dc4.
When some contacts have duplicated groups for the same items, the rendering crashed.
ankushkushwaha
approved these changes
Mar 6, 2026
AbhyanshAnand
approved these changes
Jul 27, 2026
AbhyanshAnand
approved these changes
Jul 30, 2026
Adhiraj-cell
approved these changes
Aug 22, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
When some contacts have duplicated groups for the same items, the rendering crashes.
Context, one of my contact has the following (anonymized) VCARD (exported from proton web ui):
Trying to open the detail view for this contact makes the application crash with the following trace: