Skip to content

refactor: improve conversation list rendering performance#4853

Open
MohamadJaara wants to merge 2 commits into
developfrom
mo/refactor/markdown-formating-while-mapping-conversaions
Open

refactor: improve conversation list rendering performance#4853
MohamadJaara wants to merge 2 commits into
developfrom
mo/refactor/markdown-formating-while-mapping-conversaions

Conversation

@MohamadJaara
Copy link
Copy Markdown
Member

Refactors conversation list item rendering to avoid doing UI-only and expensive work during paged item mapping. Search highlighting, legal-hold visibility, and currently playing audio state are now applied closer to rendering, reducing unnecessary remapping when those UI states change.

Also defers last-message markdown preview parsing to the UI layer and adds a lightweight markdown preview parser so conversation subtitles avoid full markdown parsing while preserving formatted previews.

@MohamadJaara MohamadJaara requested a review from saleniuk May 21, 2026 10:07
@MohamadJaara MohamadJaara requested review from Garzas and removed request for saleniuk May 21, 2026 10:07
@MohamadJaara MohamadJaara changed the title Mo/refactor/markdown formating while mapping conversaions refactor: improve conversation list rendering performance May 21, 2026
@sonarqubecloud
Copy link
Copy Markdown

@MohamadJaara MohamadJaara requested a review from saleniuk May 21, 2026 10:14
@codecov
Copy link
Copy Markdown

codecov Bot commented May 21, 2026

Codecov Report

❌ Patch coverage is 55.91398% with 41 lines in your changes missing coverage. Please review.
✅ Project coverage is 51.19%. Comparing base (9341b52) to head (47174d4).

Files with missing lines Patch % Lines
...id/ui/markdown/LightweightMarkdownPreviewParser.kt 53.33% 6 Missing and 8 partials ⚠️
...ome/conversationslist/ConversationListViewModel.kt 44.44% 10 Missing ⚠️
...tions/usecase/GetConversationsFromSearchUseCase.kt 62.50% 4 Missing and 2 partials ⚠️
...i/home/conversationslist/model/ConversationItem.kt 33.33% 4 Missing ⚠️
...tlin/com/wire/android/mapper/ConversationMapper.kt 66.66% 2 Missing and 1 partial ⚠️
...wire/android/mapper/MessagePreviewContentMapper.kt 75.00% 2 Missing ⚠️
...lin/com/wire/android/ui/markdown/MarkdownParser.kt 66.66% 0 Missing and 2 partials ⚠️

❌ Your patch check has failed because the patch coverage (55.91%) is below the target coverage (80.00%). You can increase the patch coverage or adjust the target coverage.

Additional details and impacted files
@@             Coverage Diff             @@
##           develop    #4853      +/-   ##
===========================================
- Coverage    51.26%   51.19%   -0.08%     
===========================================
  Files          611      612       +1     
  Lines        21181    21172       -9     
  Branches      3405     3421      +16     
===========================================
- Hits         10859    10839      -20     
- Misses        9308     9318      +10     
- Partials      1014     1015       +1     
Files with missing lines Coverage Δ
...wire/android/mapper/MessagePreviewContentMapper.kt 58.87% <75.00%> (+0.30%) ⬆️
...lin/com/wire/android/ui/markdown/MarkdownParser.kt 67.50% <66.66%> (-0.07%) ⬇️
...tlin/com/wire/android/mapper/ConversationMapper.kt 54.16% <66.66%> (+1.18%) ⬆️
...i/home/conversationslist/model/ConversationItem.kt 54.86% <33.33%> (-1.50%) ⬇️
...tions/usecase/GetConversationsFromSearchUseCase.kt 74.24% <62.50%> (-6.80%) ⬇️
...ome/conversationslist/ConversationListViewModel.kt 29.29% <44.44%> (-5.79%) ⬇️
...id/ui/markdown/LightweightMarkdownPreviewParser.kt 53.33% <53.33%> (ø)

... and 3 files with indirect coverage changes


Continue to review full report in Codecov by Sentry.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 9341b52...47174d4. Read the comment docs.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

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

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant