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

Show error screens in group calls #4297

Merged
merged 2 commits into from
Mar 6, 2025
Merged

Conversation

robintown
Copy link
Member

@robintown robintown commented Feb 23, 2025

Content

Element Call now sends a 'close' widget action when the widget is ready to close. Usually this will be sent immediately after the 'hangup' action, but it could be sent later if the widget wants to present an error screen before closing. So by listening to the 'close' action rather than the 'hangup' action, we get to see these error screens.

Motivation and context

element-hq/element-call#2955
Depends on element-hq/element-call#3011

Screenshots / GIFs

Tests

  • Set Element Call base URL to https://pr3011--element-call.netlify.app/
  • Join a call
  • Turn on airplane mode
  • Wait 45 seconds
  • After some time, the call UI should disappear but the app should still remain on the 'Element Call' page. This looks broken, but is actually a successful indicator that Element Call is able to show error screens while disconnected from the call. We just need to fix some bugs on the Element Call side now so that you actually see the 'Connection lost' error screen here.

Tested devices

  • Physical
  • Emulator
  • OS version(s): LineageOS 22.1 (Android 15)

Checklist

  • Changes have been tested on an Android device or Android emulator with API 24
  • UI change has been tested on both light and dark themes
  • Accessibility has been taken into account. See https://github.com/element-hq/element-x-android/blob/develop/CONTRIBUTING.md#accessibility
  • Pull request is based on the develop branch
  • Pull request title will be used in the release note, it clearly define what will change for the user
  • Pull request includes screenshots or videos if containing UI changes
  • You've made a self review of your PR

Element Call now sends a 'close' widget action when the widget is ready to close. Usually this will be sent immediately after the 'hangup' action, but it could be sent later if the widget wants to present an error screen before closing. So by listening to the 'close' action rather than the 'hangup' action, we get to see these error screens.
Copy link
Contributor

Thank you for your contribution! Here are a few things to check in the PR to ensure it's reviewed as quickly as possible:

  • Your branch should be based on origin/develop, at least when it was created.
  • The title of the PR will be used for release notes, so it needs to describe the change visible to the user.
  • The test pass locally running ./gradlew test.
  • The code quality check suite pass locally running ./gradlew runQualityChecks.
  • If you modified anything related to the UI, including previews, you'll have to run the Record screenshots GH action in your forked repo: that will generate compatible new screenshots. However, given Github Actions limitations, it will prevent the CI from running temporarily, until you upload a new commit after that one. To do so, just pull the latest changes and push an empty commit.

@robintown robintown marked this pull request as ready for review February 24, 2025 07:53
@robintown robintown requested a review from a team as a code owner February 24, 2025 07:53
@robintown robintown requested review from bmarty and removed request for a team February 24, 2025 07:53
@robintown
Copy link
Member Author

The test failure looks unrelated, would someone on the team try re-running it for me?

@robintown robintown added the T-Defect Something isn't working: bugs, crashes, hangs and other reported problems label Feb 24, 2025
Copy link
Member

@bmarty bmarty left a comment

Choose a reason for hiding this comment

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

I'll take care of the failing test, you're right, it's unrelated.
This PR can be merged, thanks!

@robintown
Copy link
Member Author

OK, please don't merge it until I've taken the 'blocked' label off though, as I'm waiting for the linked Element Call change to be ready

Copy link

codecov bot commented Feb 24, 2025

Codecov Report

All modified and coverable lines are covered by tests ✅

Project coverage is 80.11%. Comparing base (0f888ae) to head (09231ff).
Report is 119 commits behind head on develop.

Additional details and impacted files
@@             Coverage Diff             @@
##           develop    #4297      +/-   ##
===========================================
- Coverage    80.12%   80.11%   -0.01%     
===========================================
  Files         2053     2053              
  Lines        54615    54616       +1     
  Branches      6686     6686              
===========================================
- Hits         43761    43758       -3     
- Misses        8565     8566       +1     
- Partials      2289     2292       +3     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 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.

@hughns
Copy link
Member

hughns commented Feb 24, 2025

This should not be merged until the criteria at element-hq/element-call#2955 (comment) are met.

@robintown
Copy link
Member Author

@bmarty You can merge this now, thank you!

@bmarty bmarty merged commit 0c35ad7 into element-hq:develop Mar 6, 2025
23 of 24 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
T-Defect Something isn't working: bugs, crashes, hangs and other reported problems
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants