Skip to content

fix: restore sidebar-view testID visibility for Maestro#7319

Closed
diegolmello wants to merge 1 commit into
developfrom
fix/sidebar-view-testid
Closed

fix: restore sidebar-view testID visibility for Maestro#7319
diegolmello wants to merge 1 commit into
developfrom
fix/sidebar-view-testid

Conversation

@diegolmello
Copy link
Copy Markdown
Member

@diegolmello diegolmello commented May 11, 2026

Proposed changes

PR #6918 (Voice support, cd2faa0) collapsed the SidebarView wrapper — testID='sidebar-view' moved from a SafeAreaView onto the ScrollView. On Android, React Native's ScrollView does not propagate testID to the native accessibility tree, so Maestro can no longer find the element. The SafeAreaView (a regular View) did.

Evidence: maestro hierarchy on a fresh app-experimental-release.apk shows sidebar-profile, sidebar-chats, sidebar-settings, etc. present in the tree, but sidebar-view absent. Wrapping the ScrollView in a plain View that carries the testID restores accessibility-tree visibility without changing the layout (both use styles.containerflex: 1).

Affected flows (13 of them wait on sidebar-view):

  • profile.yaml, status.yaml, setting.yaml, user-preferences.yaml
  • change-avatar.yaml, i18n.yaml
  • e2ee/utils/navigate-to-e2ee-security.yaml
  • assorted/utils/check-server.yaml, assorted/utils/nav-to-language.yaml

Issue(s)

Unblocks shard 8 (Android) on #7311 — surfaces a real regression that #7311's CI stabilization work exposed.

How to test or reproduce

  1. Boot an Android emulator (e.g. Medium_Phone_API_36).
  2. Install app-experimental-release.apk.
  3. Run maestro test .maestro/tests/assorted/profile.yaml --include-tags=test-8 with Maestro 2.5.1.

Before this fix: flow fails ~1m 33s in with Assertion is false: id: sidebar-view is visible.
After this fix: flow progresses past the sidebar step and gets ~3m 49s deep into the Profile flow (matching CI's failure point on #7311, which is a separate password-sheet issue tracked elsewhere).

You can also verify directly: maestro --device emulator-5554 hierarchy | grep sidebar-view returns 0 matches on develop, returns the testID on this branch.

Screenshots

n/a — accessibility-tree change, no visual diff.

Types of changes

  • Bugfix (non-breaking change which fixes an issue)

Checklist

  • I have read the CONTRIBUTING doc
  • I have signed the CLA
  • Lint and unit tests pass locally with my changes
  • I have added tests that prove my fix is effective or that my feature works (if applicable) — covered by existing Maestro flows that were broken
  • I have added necessary documentation (if applicable) — n/a
  • Any dependent changes have been merged and published in downstream modules

Further comments

Recommend landing #7311 first (it stabilizes the CI scaffolding that lets these flows actually run). With #7311 in place, this fix will turn shard 8's sidebar-view assertion green; the password-sheet failure visible in #7311's shard 8 logs is a separate issue not addressed here.

Summary by CodeRabbit

  • Refactor
    • Reorganized the sidebar component's internal structure for improved code organization.

Review Change Stack

PR #6918 (Voice support, cd2faa0) collapsed the SidebarView wrapper —
the testID='sidebar-view' moved from a SafeAreaView to a ScrollView. On
Android, React Native ScrollView's testID is not exposed to the native
accessibility tree, so Maestro can no longer find the element.

Confirmed via maestro hierarchy dump on a fresh experimental release
build: sidebar-profile and other sibling testIDs are present, sidebar-view
is absent. Affects 13 Maestro flows that wait for sidebar-view (profile,
status, settings, user-preferences, change-avatar, i18n, e2ee, etc.).

Fix: wrap the ScrollView in a View that carries the testID. Verified
locally with Maestro 2.5.1 on the Medium_Phone_API_36 emulator — the
Profile flow now progresses past the sidebar step.
@diegolmello diegolmello requested a deployment to approve_e2e_testing May 11, 2026 19:04 — with GitHub Actions Waiting
@diegolmello diegolmello deleted the fix/sidebar-view-testid branch May 11, 2026 19:07
@diegolmello diegolmello requested a deployment to experimental_ios_build May 11, 2026 19:08 — with GitHub Actions Waiting
@diegolmello diegolmello requested a deployment to experimental_android_build May 11, 2026 19:08 — with GitHub Actions Waiting
@diegolmello diegolmello requested a deployment to official_ios_build May 11, 2026 19:08 — with GitHub Actions Waiting
@diegolmello diegolmello requested a deployment to official_android_build May 11, 2026 19:08 — with GitHub Actions Waiting
@coderabbitai
Copy link
Copy Markdown
Contributor

coderabbitai Bot commented May 11, 2026

Caution

Review failed

The pull request is closed.

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: 3f3afe6d-2b11-4ce4-83dd-d21464399349

📥 Commits

Reviewing files that changed from the base of the PR and between fca8b8e and baa7e04.

📒 Files selected for processing (1)
  • app/views/SidebarView/index.tsx

Walkthrough

SidebarView is restructured to wrap its ScrollView inside an outer View element. The testID='sidebar-view' identifier and styles.container styling are moved from the ScrollView to the wrapper, with View added to the component imports from react-native.

Changes

Sidebar View Wrapper

Layer / File(s) Summary
Component Structure Update
app/views/SidebarView/index.tsx
React-native View import is added. Render structure is updated with an outer View wrapping the ScrollView, moving testID='sidebar-view' and styles.container from the scroll component to the wrapper element.

Estimated code review effort

🎯 1 (Trivial) | ⏱️ ~3 minutes

Possibly related PRs

  • RocketChat/Rocket.Chat.ReactNative#7259: Both PRs modify app/views/SidebarView/index.tsx to change where testID='sidebar-view' is applied (one moves it onto an outer View, the other restores it on the ScrollView), indicating they are directly related.

Suggested labels

type: bug


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 and usage tips.

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.

1 participant