Skip to content

feat: meeting occurrences pagination [WPB-20268]#5061

Merged
saleniuk merged 20 commits into
developfrom
feat/meeting-occurrences-pagination
Jul 17, 2026
Merged

feat: meeting occurrences pagination [WPB-20268]#5061
saleniuk merged 20 commits into
developfrom
feat/meeting-occurrences-pagination

Conversation

@saleniuk

@saleniuk saleniuk commented Jul 16, 2026

Copy link
Copy Markdown
Contributor

https://wearezeta.atlassian.net/browse/WPB-20268


PR Submission Checklist for internal contributors

  • The PR Title

    • conforms to the style of semantic commits messages¹ supported in Wire's Github Workflow²
    • contains a reference JIRA issue number like SQPIT-764
    • answers the question: If merged, this PR will: ... ³
  • The PR Description

    • is free of optional paragraphs and you have filled the relevant parts to the best of your ability

What's new in this PR?

Showing paginated meeting occurrences, fetched, stored and generated in kalium. Also, observing single meeting occurrence to be used on bottom sheet menu. It now uses real meetings data, some models and mappers had to be adjusted. Updated load-more to the simplified version according to current specs (load 20 items in each page, no "show more" button). Adjusted repeating frequencies to only use the ones that are supported.

Dependencies (Optional)

Needs releases with:

Testing

Test Coverage (Optional)

  • I have added automated test to this contribution

How to Test

You need to have an account that has some meetings already created and use dev debug version.

Attachments (Optional)

Screen_recording_20260716_130522.mp4

PR Post Submission Checklist for internal contributors (Optional)

  • Wire's Github Workflow has automatically linked the PR to a JIRA issue

PR Post Merge Checklist for internal contributors

  • If any soft of configuration variable was introduced by this PR, it has been added to the relevant documents and the CI jobs have been updated.

References
  1. https://sparkbox.com/foundry/semantic_commit_messages
  2. https://github.com/wireapp/.github#usage
  3. E.g. feat(conversation-list): Sort conversations by most emojis in the title #SQPIT-764.

@codecov

codecov Bot commented Jul 16, 2026

Copy link
Copy Markdown

Codecov Report

❌ Patch coverage is 30.00000% with 63 lines in your changes missing coverage. Please review.
✅ Project coverage is 49.40%. Comparing base (c601b16) to head (25c3151).
⚠️ Report is 4 commits behind head on develop.

Files with missing lines Patch % Lines
...meetings/ui/options/MeetingOptionsMenuViewModel.kt 0.00% 22 Missing ⚠️
...e/android/feature/meetings/mapper/MeetingMapper.kt 41.66% 9 Missing and 5 partials ⚠️
.../conversations/edit/MessageOptionsMenuViewModel.kt 0.00% 11 Missing ⚠️
...gs/ui/usecase/GetPaginatedFlowOfMeetingsUseCase.kt 0.00% 9 Missing ⚠️
...id/feature/meetings/ui/MeetingsViewModelFactory.kt 0.00% 4 Missing ⚠️
...d/feature/meetings/ui/list/MeetingListViewModel.kt 75.00% 2 Missing ⚠️
.../feature/meetings/ui/create/NewMeetingViewModel.kt 50.00% 1 Missing ⚠️

❌ Your patch check has failed because the patch coverage (30.00%) 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    #5061      +/-   ##
===========================================
- Coverage    49.41%   49.40%   -0.02%     
===========================================
  Files          657      656       -1     
  Lines        23912    23918       +6     
  Branches      3728     3730       +2     
===========================================
  Hits         11816    11816              
- Misses       10969    10973       +4     
- Partials      1127     1129       +2     
Files with missing lines Coverage Δ
...wire/android/feature/meetings/model/MeetingItem.kt 91.17% <100.00%> (ø)
...re/android/feature/meetings/ui/list/MeetingItem.kt 0.00% <ø> (ø)
...tings/ui/options/MeetingOptionsModalSheetLayout.kt 0.00% <ø> (ø)
.../feature/meetings/ui/create/NewMeetingViewModel.kt 85.26% <50.00%> (ø)
...d/feature/meetings/ui/list/MeetingListViewModel.kt 57.89% <75.00%> (+3.05%) ⬆️
...id/feature/meetings/ui/MeetingsViewModelFactory.kt 0.00% <0.00%> (ø)
...gs/ui/usecase/GetPaginatedFlowOfMeetingsUseCase.kt 0.00% <0.00%> (ø)
.../conversations/edit/MessageOptionsMenuViewModel.kt 0.00% <0.00%> (ø)
...e/android/feature/meetings/mapper/MeetingMapper.kt 60.00% <41.66%> (-37.30%) ⬇️
...meetings/ui/options/MeetingOptionsMenuViewModel.kt 0.00% <0.00%> (ø)

... and 2 files with indirect coverage changes


Continue to review full report in Codecov by Harness.

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

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

@github-actions

Copy link
Copy Markdown
Contributor

@saleniuk looks like you are rolling back kalium to a previous commitish.

This means that the PR's target branch (develop) is using a newer version of Kalium, and the changes in this PR will rollback Kalium to an older version.

develop This PR
33b62415d67b0f1b68edefc32d4d0d92a5cdb98c 96d66a7ef7503403a59049650a391195e79502c8

Is this intentional?

@github-actions

Copy link
Copy Markdown
Contributor

@saleniuk looks like you are rolling back kalium to a previous commitish.

This means that the PR's target branch (develop) is using a newer version of Kalium, and the changes in this PR will rollback Kalium to an older version.

develop This PR
d1ee0800b67b066616c2db236d5581f7944fd319 96d66a7ef7503403a59049650a391195e79502c8

Is this intentional?

* This use case observes and returns a flow of paginated meeting occurrences for the UI layer.
* TODO: MeetingsTabItem.PAST is not yet implemented, so it will return the same data as MeetingsTabItem.NEXT for now.
*/
class GetPaginatedFlowOfMeetingsUseCase @Inject constructor(

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can we have this use case in kalium side ?

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We do have use case in kalium, it's called GetPaginatedMeetingOccurrencesUseCase and it returns Flow of PagingData, and we usually have another one in android code to setup PagingConfig and other parameters. It follows our usual logic of having use case in android code which is responsible for setting up such things like start offset, filters, search query, depending on the current UI. We do have similar use cases for conversations, messages or assets and similarly here we will have different tabs ("past" and "next") and depending on that we need to setup the pager properly in android code or even use a different one for each tab (that can be true for past meetings), so we need to have some place where it's determined and kalium doesn't need to know how we group this data in UI.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@ohassine I will merge this PR with this use case, if you think that this should be changed then let me know, we can then discuss it on collective and/or create a proper refactor ticket for that to update all these paging use cases

@saleniuk
saleniuk requested a review from ohassine July 17, 2026 15:26
@saleniuk
saleniuk added this pull request to the merge queue Jul 17, 2026
Merged via the queue into develop with commit c7cbaab Jul 17, 2026
20 checks passed
@saleniuk
saleniuk deleted the feat/meeting-occurrences-pagination branch July 17, 2026 17:31
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.

4 participants