Skip to content

refactor(message-list): reestructure composables to use atomic design and include scroll events handling#10810

Open
rafaeltonholo wants to merge 3 commits intothunderbird:mainfrom
rafaeltonholo:refactor/10775/message-list-components-reestructure
Open

refactor(message-list): reestructure composables to use atomic design and include scroll events handling#10810
rafaeltonholo wants to merge 3 commits intothunderbird:mainfrom
rafaeltonholo:refactor/10775/message-list-components-reestructure

Conversation

@rafaeltonholo
Copy link
Copy Markdown
Member

@rafaeltonholo rafaeltonholo commented Apr 8, 2026

Part of #10775.
feature-flag: enable_message_list_new_state

  • Restructure UI components into atomic design layers
  • Implement scroll-to-message effect with MessageListScope
  • Extract scroll event handling into a separate composable

@rafaeltonholo rafaeltonholo requested a review from a team as a code owner April 8, 2026 19:39
@rafaeltonholo rafaeltonholo requested a review from dani-zilla April 8, 2026 19:39
@rafaeltonholo rafaeltonholo added the report: exclude Exclude changes from user-facing reports (internal, minor, or not relevant to users). label Apr 8, 2026
@github-actions github-actions bot added the tb-team Tasks and features handled by project maintainers label Apr 8, 2026
@github-actions
Copy link
Copy Markdown
Contributor

github-actions bot commented Apr 8, 2026

Missing report label. Set exactly one of: report: include, report: exclude OR report: highlight.

…stScope

Introduced `MessageListScope` to enable controlled scrolling to messages from external callers (e.g., effect handlers).

- Added `MessageListScope` interface with `scrollToMessage()` method and `scrollEvents` flow.
- Created `ScrollToMessage` effect in `MessageListEffect`.
- Updated `MessageListScreenRenderer.Render()` to require `MessageListScope` receiver.
- Connected scroll events to `LazyColumn` in `MessageListPage` using `LifecycleStartEffect`.
…omposable

- Extracted scroll event effect logic into `ScrollEventEffect` composable function
- Added configuration restoration logic to scroll to active message when list state is restored
- Simplified `MessageList` composable by delegating scroll handling to `ScrollEventEffect`
@rafaeltonholo rafaeltonholo force-pushed the refactor/10775/message-list-components-reestructure branch from 0fd6e5d to fc1e88d Compare April 9, 2026 12:20
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

report: exclude Exclude changes from user-facing reports (internal, minor, or not relevant to users). tb-team Tasks and features handled by project maintainers

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants