Skip to content

fix(e2e): restore testID='sidebar-view' on SidebarView#7259

Merged
diegolmello merged 1 commit into
feat.voip-lib-newfrom
claude/restore-sidebar-view-testid
Apr 28, 2026
Merged

fix(e2e): restore testID='sidebar-view' on SidebarView#7259
diegolmello merged 1 commit into
feat.voip-lib-newfrom
claude/restore-sidebar-view-testid

Conversation

@diegolmello

@diegolmello diegolmello commented Apr 27, 2026

Copy link
Copy Markdown
Member

Summary

  • Restore testID='sidebar-view' to <ScrollView> in app/views/SidebarView/index.tsx. Re-enables Maestro drawer flows that were timing out.

Root cause

Commit e7185612e "Add voice call item on sidebar" removed the <SafeAreaView testID='sidebar-view'> wrapper without re-attaching the testID. 5 of 13 Android E2E shards were failing every drawer-opening flow with Assertion is false: id: sidebar-view is visible.

Reference failing run: https://github.com/RocketChat/Rocket.Chat.ReactNative/actions/runs/25008420199/job/73243273302

Test plan

  • Verified locally on emulator-5554: maestro test .maestro/tests/assorted/change-avatar.yaml passes the sidebar-view visibility step.
  • CI: E2E Android shards 5/6/8/9 should now pass.

Summary by CodeRabbit

  • Tests
    • Enhanced automated testing infrastructure for the sidebar component to improve test reliability.

Commit e718561 removed the SafeAreaView wrapper that carried
testID='sidebar-view'. Maestro flows that wait for id: sidebar-view
after tapping rooms-list-view-sidebar were timing out, breaking 5 of
13 Android E2E shards.

Re-attach the testID to the existing ScrollView. No layout change.
@diegolmello diegolmello temporarily deployed to approve_e2e_testing April 27, 2026 20:13 — with GitHub Actions Inactive
@coderabbitai

coderabbitai Bot commented Apr 27, 2026

Copy link
Copy Markdown
Contributor

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: e8e1f10a-1518-4f90-af05-2230c6c20846

📥 Commits

Reviewing files that changed from the base of the PR and between 3941bf7 and d63dd66.

📒 Files selected for processing (1)
  • app/views/SidebarView/index.tsx
📜 Recent review details
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (1)
  • GitHub Check: ESLint and Test / run-eslint-and-test
🧰 Additional context used
📓 Path-based instructions (4)
**/*.{js,ts,jsx,tsx}

📄 CodeRabbit inference engine (AGENTS.md)

**/*.{js,ts,jsx,tsx}: Use descriptive names for functions, variables, and classes that clearly convey their purpose
Write comments that explain the 'why' behind code decisions, not the 'what'
Keep functions small and focused on a single responsibility
Use const by default, let when reassignment is needed, and avoid var
Prefer async/await over .then() chains for handling asynchronous operations
Use explicit error handling with try/catch blocks for async operations
Avoid deeply nested code; refactor complex logic into helper functions

Files:

  • app/views/SidebarView/index.tsx
**/*.{ts,tsx}

📄 CodeRabbit inference engine (AGENTS.md)

**/*.{ts,tsx}: Use TypeScript for type safety; add explicit type annotations to function parameters and return types
Prefer interfaces over type aliases for defining object shapes in TypeScript
Use enums for sets of related constants rather than magic strings or numbers

**/*.{ts,tsx}: Use TypeScript with strict mode enabled and baseUrl set to app/ for module imports
Support iOS 13.4+ and Android 6.0+ as minimum target platforms

Files:

  • app/views/SidebarView/index.tsx
**/*.{ts,tsx,js,jsx}

📄 CodeRabbit inference engine (CLAUDE.md)

**/*.{ts,tsx,js,jsx}: Use tabs for indentation with single quotes, 130 character line width, no trailing commas, and avoid arrow function parentheses when possible
Use ESLint with @rocket.chat/eslint-config base including React, React Native, TypeScript, and Jest plugins

Files:

  • app/views/SidebarView/index.tsx
app/views/**/*.{ts,tsx}

📄 CodeRabbit inference engine (CLAUDE.md)

Create view components (screens) in app/views/ directory

Files:

  • app/views/SidebarView/index.tsx
🧠 Learnings (1)
📚 Learning: 2026-04-22T22:57:58.545Z
Learnt from: CR
Repo: RocketChat/Rocket.Chat.ReactNative PR: 0
File: CLAUDE.md:0-0
Timestamp: 2026-04-22T22:57:58.545Z
Learning: Applies to app/AppContainer.tsx : Use AppContainer.tsx as the root navigation container that switches between authentication states

Applied to files:

  • app/views/SidebarView/index.tsx
🔇 Additional comments (1)
app/views/SidebarView/index.tsx (1)

28-28: Good fix: restores stable E2E selector without changing behavior.

Adding testID='sidebar-view' on the existing root ScrollView is a precise, low-risk way to recover the Maestro hook.


Walkthrough

A testID prop with value 'sidebar-view' is added to the root ScrollView component in SidebarView, enabling automated test identification while maintaining existing style and scroll behavior props.

Changes

Cohort / File(s) Summary
Test Infrastructure
app/views/SidebarView/index.tsx
Added testID prop to root ScrollView for automated test targeting.

Estimated code review effort

🎯 1 (Trivial) | ⏱️ ~2 minutes

Suggested labels

type: chore

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title accurately describes the main change: restoring a testID prop to the SidebarView component to fix E2E tests, which aligns perfectly with the changeset.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

Warning

Review ran into problems

🔥 Problems

Errors were encountered while retrieving linked issues.

Errors (1)
  • EMULATOR-5554: Request failed with status code 401

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.

@diegolmello diegolmello had a problem deploying to experimental_ios_build April 27, 2026 20:17 — with GitHub Actions Failure
@diegolmello diegolmello had a problem deploying to experimental_android_build April 27, 2026 20:17 — with GitHub Actions Failure
@diegolmello diegolmello had a problem deploying to official_android_build April 27, 2026 20:17 — with GitHub Actions Failure
@diegolmello diegolmello merged commit 29fe172 into feat.voip-lib-new Apr 28, 2026
26 of 38 checks passed
@diegolmello diegolmello deleted the claude/restore-sidebar-view-testid branch April 28, 2026 14:46
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