Skip to content

Comments

iOS 2.15.0, Android 1.31.0 #88

Draft
Miki-Session wants to merge 108 commits intomainfrom
dev
Draft

iOS 2.15.0, Android 1.31.0 #88
Miki-Session wants to merge 108 commits intomainfrom
dev

Conversation

@Miki-Session
Copy link
Collaborator

No description provided.

@Miki-Session Miki-Session changed the title Ongoing changes iOS 2.15.0, Android 1.31.0 Feb 10, 2026
Miki-Session and others added 15 commits February 11, 2026 14:48
Bumps the monthly-updates group with 13 updates:

| Package | From | To |
| --- | --- | --- |
| [@playwright/test](https://github.com/microsoft/playwright) | `1.58.1` | `1.58.2` |
| [appium-xcuitest-driver](https://github.com/appium/appium-xcuitest-driver) | `10.19.1` | `10.21.2` |
| [dotenv](https://github.com/motdotla/dotenv) | `17.2.3` | `17.2.4` |
| [@eslint/js](https://github.com/eslint/eslint/tree/HEAD/packages/js) | `9.39.2` | `10.0.1` |
| [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node) | `25.2.0` | `25.2.3` |
| [@typescript-eslint/eslint-plugin](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin) | `8.54.0` | `8.55.0` |
| [@typescript-eslint/parser](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/parser) | `8.54.0` | `8.55.0` |
| [@wdio/types](https://github.com/webdriverio/webdriverio/tree/HEAD/packages/wdio-types) | `9.23.3` | `9.24.0` |
| [eslint](https://github.com/eslint/eslint) | `9.39.2` | `10.0.0` |
| [eslint-plugin-perfectionist](https://github.com/azat-io/eslint-plugin-perfectionist) | `5.4.0` | `5.5.0` |
| [glob](https://github.com/isaacs/node-glob) | `13.0.1` | `13.0.2` |
| [typescript-eslint](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/typescript-eslint) | `8.54.0` | `8.55.0` |
| [undici](https://github.com/nodejs/undici) | `7.20.0` | `7.21.0` |


Updates `@playwright/test` from 1.58.1 to 1.58.2
- [Release notes](https://github.com/microsoft/playwright/releases)
- [Commits](microsoft/playwright@v1.58.1...v1.58.2)

Updates `appium-xcuitest-driver` from 10.19.1 to 10.21.2
- [Release notes](https://github.com/appium/appium-xcuitest-driver/releases)
- [Changelog](https://github.com/appium/appium-xcuitest-driver/blob/master/CHANGELOG.md)
- [Commits](appium/appium-xcuitest-driver@v10.19.1...v10.21.2)

Updates `dotenv` from 17.2.3 to 17.2.4
- [Changelog](https://github.com/motdotla/dotenv/blob/master/CHANGELOG.md)
- [Commits](https://github.com/motdotla/dotenv/commits)

Updates `@eslint/js` from 9.39.2 to 10.0.1
- [Release notes](https://github.com/eslint/eslint/releases)
- [Commits](https://github.com/eslint/eslint/commits/HEAD/packages/js)

Updates `@types/node` from 25.2.0 to 25.2.3
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node)

Updates `@typescript-eslint/eslint-plugin` from 8.54.0 to 8.55.0
- [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases)
- [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/eslint-plugin/CHANGELOG.md)
- [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v8.55.0/packages/eslint-plugin)

Updates `@typescript-eslint/parser` from 8.54.0 to 8.55.0
- [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases)
- [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/parser/CHANGELOG.md)
- [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v8.55.0/packages/parser)

Updates `@wdio/types` from 9.23.3 to 9.24.0
- [Release notes](https://github.com/webdriverio/webdriverio/releases)
- [Changelog](https://github.com/webdriverio/webdriverio/blob/main/CHANGELOG.md)
- [Commits](https://github.com/webdriverio/webdriverio/commits/v9.24.0/packages/wdio-types)

Updates `eslint` from 9.39.2 to 10.0.0
- [Release notes](https://github.com/eslint/eslint/releases)
- [Commits](eslint/eslint@v9.39.2...v10.0.0)

Updates `eslint-plugin-perfectionist` from 5.4.0 to 5.5.0
- [Release notes](https://github.com/azat-io/eslint-plugin-perfectionist/releases)
- [Changelog](https://github.com/azat-io/eslint-plugin-perfectionist/blob/main/changelog.md)
- [Commits](azat-io/eslint-plugin-perfectionist@v5.4.0...v5.5.0)

Updates `glob` from 13.0.1 to 13.0.2
- [Changelog](https://github.com/isaacs/node-glob/blob/main/changelog.md)
- [Commits](isaacs/node-glob@v13.0.1...v13.0.2)

Updates `typescript-eslint` from 8.54.0 to 8.55.0
- [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases)
- [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/typescript-eslint/CHANGELOG.md)
- [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v8.55.0/packages/typescript-eslint)

Updates `undici` from 7.20.0 to 7.21.0
- [Release notes](https://github.com/nodejs/undici/releases)
- [Commits](nodejs/undici@v7.20.0...v7.21.0)

---
updated-dependencies:
- dependency-name: "@playwright/test"
  dependency-version: 1.58.2
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: monthly-updates
- dependency-name: appium-xcuitest-driver
  dependency-version: 10.21.2
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: monthly-updates
- dependency-name: dotenv
  dependency-version: 17.2.4
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: monthly-updates
- dependency-name: "@eslint/js"
  dependency-version: 10.0.1
  dependency-type: direct:development
  update-type: version-update:semver-major
  dependency-group: monthly-updates
- dependency-name: "@types/node"
  dependency-version: 25.2.3
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: monthly-updates
- dependency-name: "@typescript-eslint/eslint-plugin"
  dependency-version: 8.55.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: monthly-updates
- dependency-name: "@typescript-eslint/parser"
  dependency-version: 8.55.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: monthly-updates
- dependency-name: "@wdio/types"
  dependency-version: 9.24.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: monthly-updates
- dependency-name: eslint
  dependency-version: 10.0.0
  dependency-type: direct:development
  update-type: version-update:semver-major
  dependency-group: monthly-updates
- dependency-name: eslint-plugin-perfectionist
  dependency-version: 5.5.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: monthly-updates
- dependency-name: glob
  dependency-version: 13.0.2
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: monthly-updates
- dependency-name: typescript-eslint
  dependency-version: 8.55.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: monthly-updates
- dependency-name: undici
  dependency-version: 7.21.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: monthly-updates
...

Signed-off-by: dependabot[bot] <support@github.com>
this eliminates the `no-useless-assignment` and `preserve-caught-error` issues
…n/dev/monthly-updates-4280d6f00f

chore(deps): bump the monthly-updates group with 13 updates
@Miki-Session Miki-Session requested a review from Copilot February 16, 2026 00:26
Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

Updates the mobile regression test harness for the iOS 2.15.0 / Android 1.31.0 releases, adding new coverage (groups/community/admin actions) plus CI/workflow improvements (network targeting, emulator recovery) and locator/utility refactors.

Changes:

  • Add/extend Playwright/Appium test coverage for groups (promote/kick/invite/delete/leave) and community moderation (ban/unban; linked-device flows).
  • Introduce Android network targeting in CI, emulator recovery script, and improved reporting metadata (network target in Allure env).
  • Refactor utilities/locators for message requests, permissions (notification/background), and scrolling/CTA handling.

Reviewed changes

Copilot reviewed 68 out of 70 changed files in this pull request and generated 1 comment.

Show a summary per file
File Description
tsconfig.json Bumps TS target to ES2022 to support newer JS features.
scripts/emulator_health.ts Adds an adb-based emulator recovery tool for CI stability.
run/types/testing.ts Expands locator/types unions for new UI coverage.
run/types/allure.ts Adds new suites/steps (e.g., Ban/Unban, group actions) for reporting consistency.
run/types/DeviceWrapper.ts Adds helper flows (message requests), adjusts scrolling and error handling behavior.
run/test/utils/restore_account.ts Updates restore flow to include device identity and renamed permission handler.
run/test/utils/permissions.ts Splits notification permissions handling and adds Android background permissions helper.
run/test/utils/open_app.ts Adds cross-platform uninstall helper and minor typing adjustments.
run/test/utils/link_device.ts Updates permission handler rename for linked-device setup.
run/test/utils/join_community.ts Adds env-gated admin requirement helper for community moderation tests.
run/test/utils/handle_first_open.ts Minor cleanup in first-open Photos handling.
run/test/utils/get_account_id.ts Generalizes pubkey sorting across local and qa-seeder user types.
run/test/utils/create_contact.ts Refactors message request acceptance into a DeviceWrapper helper.
run/test/utils/create_account.ts Adds slow-mode/background permission options and documents state-pollution constraints.
run/test/utils/capabilities_ios.ts Adjusts iOS Appium timeouts and disables animations via env.
run/test/utils/allure/allureHelpers.ts Adds network target into report context/environment properties.
run/test/specs/user_actions_unblock_user.spec.ts Adds iOS scroll workaround for hidden block/unblock option.
run/test/specs/user_actions_delete_contact_ucs.spec.ts Uses the new MessageRequestItem locator for message request navigation.
run/test/specs/user_actions_create_contact.spec.ts Uses DeviceWrapper message request helper to reduce duplication.
run/test/specs/user_actions_block_conversation_options.spec.ts Adds iOS scroll workaround for hidden block option.
run/test/specs/slow_mode_background.spec.ts Adds Android-only test verifying slow-mode background permissions modal flow and cleanup.
run/test/specs/message_requests_delete.spec.ts Updates iOS swipe target to use MessageRequestItem selector.
run/test/specs/message_requests_decline.spec.ts Replaces accessibility-id click with MessageRequestItem locator.
run/test/specs/message_requests_block.spec.ts Replaces accessibility-id click with MessageRequestItem locator.
run/test/specs/message_requests_accept_text_reply.spec.ts Replaces accessibility-id click with MessageRequestItem locator.
run/test/specs/message_requests_accept.spec.ts Uses DeviceWrapper message request helper for accept flow.
run/test/specs/message_length.spec.ts Splits iOS vs Android behavior (modal vs CTA) for length limit flows.
run/test/specs/message_community_invitation.spec.ts Updates community join util import path.
run/test/specs/linked_group_leave.spec.ts Adjusts linked-device leave-group verification logic.
run/test/specs/linked_device_restore_group.spec.ts Updates restoreAccount call to include device identity.
run/test/specs/linked_device_community_ban.spec.ts Adds linked-device ban/unban and ban+delete community moderation tests.
run/test/specs/linked_device_block_user.spec.ts Improves linked-device assertions and adds iOS scroll workaround.
run/test/specs/group_tests_promote.spec.ts Adds Android promote-to-admin test suite including linked flows and multi-select.
run/test/specs/group_tests_kick_member_messages.spec.ts Adds Android-only “kick & delete messages” coverage.
run/test/specs/group_tests_kick_member.spec.ts Refactors kick-member test with better assertions and Allure steps.
run/test/specs/group_tests_invite_contact_banner.spec.ts Updates invite-contacts nav and asserts banner absence (both platforms).
run/test/specs/group_tests_edit_group_banner.spec.ts Asserts latest release banner absence on edit group screen.
run/test/specs/group_tests_delete_group.spec.ts Improves delete-group verification and adds Allure linkage.
run/test/specs/group_tests_create_group_banner.spec.ts Asserts latest release banner absence on create group screen.
run/test/specs/group_tests_admin_leave_group.spec.ts Adds Android-only tests for admin leave/delete constraints.
run/test/specs/group_tests_add_contact_nohistory.spec.ts Adds invite-without-history flow and verifies no historic messages appear.
run/test/specs/group_tests_add_contact.spec.ts Adds Android invite-with-history coverage and verifies historic messages appear.
run/test/specs/group_tests_add_accountid.spec.ts Adds Android invite-by-account-id flow coverage.
run/test/specs/disappearing_community_invite.spec.ts Adjusts back-navigation differences between platforms.
run/test/specs/community_tests_join.spec.ts Updates community join util import path.
run/test/specs/community_tests_image.spec.ts Updates community join util import path.
run/test/specs/community_requests_on.spec.ts Updates community join util import and message request navigation.
run/test/specs/community_requests_off.spec.ts Updates community join util import path.
run/test/specs/community_emoji_react.spec.ts Updates community join util import path.
run/test/specs/community_ban.spec.ts Adds community ban/unban and ban+delete coverage.
run/test/specs/app_disguise_set.spec.ts Uses uninstallApp helper for cleanup and fixes step naming.
run/test/locators/settings.ts Changes NotificationsMenuItem to scroll-into-view query on Android.
run/test/locators/index.ts Adds InviteAccountIDOrONS locator for Android.
run/test/locators/home.ts Adds Android background-permissions modal button locators.
run/test/locators/groups.ts Adds/updates many group-management locators (promote/remove/history share, etc.).
run/test/locators/global.ts Updates CTA feature locator strategy to reduce ambiguity on Android.
run/test/locators/conversation.ts Adds message request accept button + community moderation locators.
run/screenshots/android/settings_notifications.png Updates screenshot artifact for UI reference (LFS).
run/screenshots/android/settings.png Updates screenshot artifact for UI reference (LFS).
run/screenshots/android/landingpage_new_account.png Updates screenshot artifact for UI reference (LFS).
run/localizer/lib Updates localizer submodule revision.
run/constants/community.ts Adds unresolved community name constant for banned-user display cases.
package.json Updates tooling deps and adds emulator recovery script.
github/actions/setup/action.yml Sets NODE_OPTIONS for deterministic DNS resolution in CI.
github/actions/generate-publish-test-report/action.yml Adds NETWORK_TARGET input and propagates it into report generation/publish.
eslint.config.mjs Switches eslint config export helper (tseslint.config -> defineConfig).
README.md Changes submodule update instructions (now includes --remote).
.github/workflows/ios-regression.yml Adds permissions and network target env for report metadata.
.github/workflows/android-regression.yml Adds network target input, propagates env, and runs emulator recovery between test batches.
Files not reviewed (1)
  • pnpm-lock.yaml: Language not supported
Comments suppressed due to low confidence (6)

run/types/DeviceWrapper.ts:1

  • This helper only clicks the 'Accept message request' button on Android, but call sites replaced platform-agnostic acceptance flows (e.g., clickOnByAccessibilityID('Accept message request')) with this method. On iOS this will likely leave the request unaccepted and break tests. Consider clicking AcceptMessageRequestButton on both platforms (or branching explicitly if iOS differs), rather than gating it behind onAndroid().
    run/types/DeviceWrapper.ts:1
  • This changes the previous behavior where a stale element reference was treated as 'gone' (success case) during a 'verify not present' check. Throwing on stale references will make absence checks fail spuriously and increase flakiness. Suggest reverting to the earlier semantics: if visibility check throws due to stale reference, treat it as not present (log and continue) rather than throwing.
    run/test/specs/linked_group_leave.spec.ts:1
  • The locator is constructed with device2 but used to wait on device4. Since locators depend on the DeviceWrapper instance (platform/driver context), this can cause incorrect selector construction or usage. Construct the ConversationItem with device4 here.
    run/types/DeviceWrapper.ts:1
  • This switches CTA feature indexing/logging from 1-based to 0-based (i instead of i + 1). If the underlying UI ids are still cta-feature-1..n (as implied by the previous implementation), this will look for cta-feature-0 and fail. If the UI really changed to 0-based ids, consider at least keeping the assertion label 1-based for readability; otherwise, revert locator indexing to i + 1.
    scripts/emulator_health.ts:1
  • The numeric separator in 30_0000 is easy to misread and looks like a typo. If the intent is 5 minutes, use 300_000; if it’s 30 seconds, use 30_000. A clearer constant name (e.g., DEFAULT_BOOT_TIMEOUT_MS) would also reduce ambiguity.
    run/test/utils/permissions.ts:1
  • Prefer a strict undefined check (=== undefined) here (or typeof allowBackgroundPermissions === 'undefined') to avoid unintentionally treating null the same as 'not provided'. If you do want to treat null as 'not provided', consider making that explicit in the doc/comment or normalizing inputs earlier.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@Miki-Session Miki-Session requested a review from Copilot February 20, 2026 00:25
Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

Copilot reviewed 72 out of 74 changed files in this pull request and generated no new comments.

Files not reviewed (1)
  • pnpm-lock.yaml: Language not supported
Comments suppressed due to low confidence (2)

run/test/utils/capabilities_ios.ts:1

  • The timeout value of 600000ms (10 minutes) is a magic number. Consider defining this as a named constant (e.g., const NEW_COMMAND_TIMEOUT_MS = 10 * 60 * 1000) to improve readability and maintainability.
    run/test/utils/open_app.ts:1
  • The emulator number calculation (port - 5554) / 2 + 1 contains magic numbers. Consider extracting this logic into a helper function with a descriptive name (e.g., portToEmulatorNumber(port)) or at minimum add a comment explaining the formula.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

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.

2 participants