Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat(channel): add new Channel conversation type [WPB-15865] #3321

Open
wants to merge 1 commit into
base: develop
Choose a base branch
from

Conversation

vitorhugods
Copy link
Member

@vitorhugods vitorhugods commented Mar 7, 2025

StoryWPB-15865 [Android] Show channels in conversation list


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?

Channels, a new type of group conversation, are being introduced to the app.
They will have their own set of extra features, that regular group conversations won't.

Solutions

Transformed Conversation.Type from enum to a sealed type, so we can branch groups into Regular and Channel. The same treatment for ConversationDetails: Group is split into Regular and Channel. Adapted the checks from == Group to is Group, as all currently existing logic for groups should be the same for Channels.

This does not address persistence, nor API support for channels yet.

Testing

N/A


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.

Transformed `Conversation.Type` from enum to a sealed type, so we can branch groups into Regular and Channel. The same treatment for `ConversationDetails`: Group is split into Regular and Channel.
Adapted the checks from `== Group` to `is Group`, as all currently existing logic for groups should be the same for Channels.

This does not address persistence, nor API support for channels yet.
@vitorhugods vitorhugods changed the title feat(channel): add new Channel conversation type [WPB-15865 feat(channel): add new Channel conversation type [WPB-15865] Mar 7, 2025
@vitorhugods vitorhugods requested a review from ohassine March 7, 2025 12:38
Copy link

sonarqubecloud bot commented Mar 7, 2025

Copy link
Contributor

github-actions bot commented Mar 7, 2025

Test Results

3 529 tests  ±0   3 419 ✅ ±0   6m 41s ⏱️ +12s
  604 suites ±0     110 💤 ±0 
  604 files   ±0       0 ❌ ±0 

Results for commit 54f6c1e. ± Comparison against base commit c72e8b0.

♻️ This comment has been updated with latest results.

Copy link
Contributor

github-actions bot commented Mar 7, 2025

@codecov-commenter
Copy link

Codecov Report

Attention: Patch coverage is 22.44898% with 76 lines in your changes missing coverage. Please review.

Project coverage is 53.70%. Comparing base (c72e8b0) to head (54f6c1e).

Files with missing lines Patch % Lines
...ire/kalium/logic/data/conversation/Conversation.kt 0.00% 51 Missing ⚠️
...lium/logic/data/conversation/ConversationMapper.kt 40.00% 3 Missing and 3 partials ⚠️
...otlin/com/wire/kalium/logic/data/web/WebMappers.kt 0.00% 4 Missing ⚠️
...m/wire/kalium/logic/data/call/mapper/CallMapper.kt 50.00% 2 Missing and 1 partial ⚠️
...nc/receiver/conversation/MemberJoinEventHandler.kt 25.00% 2 Missing and 1 partial ⚠️
...conversation/JoinExistingMLSConversationUseCase.kt 75.00% 1 Missing and 1 partial ⚠️
...tlin/com/wire/kalium/logic/data/call/CallHelper.kt 50.00% 0 Missing and 1 partial ⚠️
.../com/wire/kalium/logic/data/call/CallRepository.kt 0.00% 0 Missing and 1 partial ⚠️
...ation/NewGroupConversationSystemMessagesCreator.kt 0.00% 0 Missing and 1 partial ⚠️
...ature/call/usecase/IsEligibleToStartCallUseCase.kt 50.00% 0 Missing and 1 partial ⚠️
... and 3 more
Additional details and impacted files
@@             Coverage Diff             @@
##           develop    #3321      +/-   ##
===========================================
- Coverage    53.72%   53.70%   -0.02%     
===========================================
  Files         1304     1304              
  Lines        37581    37592      +11     
  Branches      3817     3823       +6     
===========================================
  Hits         20190    20190              
- Misses       15967    15974       +7     
- Partials      1424     1428       +4     
Files with missing lines Coverage Δ
.../kalium/logic/feature/call/scenario/OnCloseCall.kt 85.71% <100.00%> (ø)
...alium/logic/feature/call/usecase/EndCallUseCase.kt 88.00% <100.00%> (ø)
...c/feature/conversation/SyncConversationsUseCase.kt 100.00% <100.00%> (ø)
...onversation/mls/MLSOneOnOneConversationResolver.kt 100.00% <100.00%> (ø)
...tlin/com/wire/kalium/logic/data/call/CallHelper.kt 55.55% <50.00%> (ø)
.../com/wire/kalium/logic/data/call/CallRepository.kt 87.65% <0.00%> (ø)
...ation/NewGroupConversationSystemMessagesCreator.kt 90.65% <0.00%> (ø)
...ature/call/usecase/IsEligibleToStartCallUseCase.kt 80.76% <50.00%> (ø)
...essage/confirmation/ConfirmationDeliveryHandler.kt 76.47% <0.00%> (ø)
...feature/message/receipt/SendConfirmationUseCase.kt 80.00% <0.00%> (ø)
... and 7 more

... 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 c72e8b0...54f6c1e. Read the comment docs.

🚀 New features to boost your workflow:
  • Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@datadog-wireapp
Copy link

Datadog Report

Branch report: feat/channels/add-channel-conversation-type
Commit report: a8e9ee0
Test service: kalium-jvm

✅ 0 Failed, 3419 Passed, 110 Skipped, 1m 2.01s Total Time

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

Successfully merging this pull request may close these issues.

2 participants