Skip to content

fix(ui): close the composer suggestions on a tap outside - #3118

Merged
xsahil03x merged 23 commits into
masterfrom
sahil/flu-1093-tapping-the-message-list-doesnt-dismiss-the-composers
Oct 27, 2026
Merged

xsahil03x merged 23 commits into
masterfrom
sahil/flu-1093-tapping-the-message-list-doesnt-dismiss-the-composers

Conversation

@xsahil03x

@xsahil03x xsahil03x commented Oct 26, 2026 •

Copy link
Copy Markdown
Member

What

Typing / or @ opens suggestions above the composer. They already close when the field loses focus or the list is dragged. On Android and iOS, though, a touch tap on the message list doesn't unfocus a text field, so the suggestions stayed open until the trigger was deleted.

StreamAutocomplete now puts the field and its suggestions in one tap group. A tap outside both hides the suggestions, the same way losing focus already does, without clearing them. The field keeps focus and the keyboard stays up, as on iOS UIKit. The next keystroke, or refocusing the field on desktop, shows them again. Desktop, web and mouse input already unfocus on a tap outside, so they behave as before.

This also enables "command suggestions disappear when the user taps on the message list" in message_list_test.dart.

Fixes FLU-1093.

Stacked on #3105 (the e2e suite); GitHub retargets it to master once that merges.

Before: after tapping the list After: after tapping the list

Verification

  • message_composer_command_suggestions_test.dart:

    • a tap outside the composer hides the suggestions and keeps focus;
    • a tap on a suggestion still selects the command;
    • the next keystroke shows them again;
    • on desktop, a click back into the field shows them again.

    The tap-outside, suggestion and desktop tests each fail without their part of the change; the keystroke test guards against hiding them for good. The same tests also pass compiled for and run in Chrome, where a tap outside unfocuses the field as Flutter does on web.

  • The message input, autocomplete, message list and channel suites pass; only the local macOS goldens fail.

  • Android emulator: typed /, tapped the message list. Before, the suggestions stayed. After, they close and the keyboard stays.

  • e2e: the test is un-skipped and runs in this PR's E2E workflow.

v11: see the "Merging master into v11" comment on FLU-1093.

🤖 Generated with Claude Code

testableapple and others added 21 commits October 23, 2026 14:55
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
flu-1093-tapping-the-message-list-doesnt-dismiss-the-composers
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
@coderabbitai

coderabbitai Bot commented Oct 26, 2026 •

Copy link
Copy Markdown
Contributor

Warning

Review limit reached

You've used all free OSS reviews for now. Wait for the free limit to reset to keep reviewing this public repository.

Next included review available in 59 minutes.

Check out review usage here.

View limit details

Limit details: You’ve used all 4 included reviews currently available.

Learn how review limits work.

Review configuration:

Run configuration
  • Source mode: Auto
  • Repository: Unavailable
  • Branch: Unavailable
  • File: No configuration file from this repository applied
  • Commit: Unavailable
  • Layers: defaults
  • Review profile: CHILL
  • Plan: Advanced
  • Run ID: e1bfc79c-f426-4f63-b8e1-9d783124181d
Commits

Reviewing files that changed from the base of the PR and between 81f5c19 and fae3f64.

Files selected for processing: 4
  • e2e_app/integration_test/message_list_test.dart
  • packages/stream_chat_flutter/CHANGELOG.md
  • packages/stream_chat_flutter/lib/src/autocomplete/stream_autocomplete.dart
  • packages/stream_chat_flutter/test/src/message_input/message_composer_command_suggestions_test.dart
  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@codecov

codecov Bot commented Oct 26, 2026 •

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 80.38%. Comparing base (018b487) to head (fae3f64).
⚠️ Report is 3 commits behind head on master.

Additional details and impacted files
@@            Coverage Diff             @@
##           master    #3118      +/-   ##
==========================================
+ Coverage   80.28%   80.38%   +0.10%     
==========================================
  Files         455      455              
  Lines       29614    29619       +5     
==========================================
+ Hits        23775    23809      +34     
+ Misses       5839     5810      -29     

☔ View full report in Codecov by Harness.
📢 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.

…earing them (FLU-1093)

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Base automatically changed from test/e2e-native-parity to master October 27, 2026 17:37
…ing-the-message-list-doesnt-dismiss-the-composers

# Conflicts:
#	e2e_app/README.md
#	e2e_app/fastlane/Fastfile
#	e2e_app/integration_test/authentication_test.dart
#	e2e_app/integration_test/giphy_test.dart
#	e2e_app/integration_test/hyper_links_test.dart
#	e2e_app/integration_test/message_actions_test.dart
#	e2e_app/integration_test/message_delivery_status_test.dart
#	e2e_app/integration_test/message_list_test.dart
#	e2e_app/integration_test/pages/channel_list_page.dart
#	e2e_app/integration_test/robots/backend_robot.dart
#	e2e_app/integration_test/robots/participant_robot.dart
#	e2e_app/integration_test/robots/user_robot.dart
#	e2e_app/integration_test/robots/user_robot_message_list_asserts.dart
#	e2e_app/integration_test/support/stream_test_env.dart
#	e2e_app/lib/auth/auth_controller.dart
#	e2e_app/lib/pages/channel_list_tab.dart
#	e2e_app/lib/pages/choose_user_page.dart
#	e2e_app/lib/pages/home_page.dart
#	e2e_app/lib/pages/thread_list_tab.dart
#	e2e_app/lib/widgets/e2e_message_actions.dart
#	e2e_app/lib/widgets/search_text_field.dart
#	e2e_app/pubspec.yaml
#	packages/stream_chat_flutter/CHANGELOG.md
@xsahil03x
xsahil03x merged commit ce22959 into master Oct 27, 2026
36 checks passed
@xsahil03x
xsahil03x deleted the sahil/flu-1093-tapping-the-message-list-doesnt-dismiss-the-composers branch October 27, 2026 23:05
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants