diff --git a/.github/workflows/build-pr.yml b/.github/workflows/build-pr.yml index 9871d27b04d..9bb41bbe264 100644 --- a/.github/workflows/build-pr.yml +++ b/.github/workflows/build-pr.yml @@ -105,4 +105,18 @@ jobs: shard: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13] fail-fast: false with: - shard: ${{ matrix.shard }} \ No newline at end of file + shard: ${{ matrix.shard }} + + storybook-build-android: + name: Storybook Build Android + if: ${{ github.repository == 'RocketChat/Rocket.Chat.ReactNative' }} + uses: ./.github/workflows/storybook-build-android.yml + needs: [e2e-hold] + secrets: inherit + + storybook-run-android: + name: Storybook Run Android + if: ${{ github.repository == 'RocketChat/Rocket.Chat.ReactNative' }} + uses: ./.github/workflows/maestro-storybook-android.yml + needs: [storybook-build-android] + secrets: inherit \ No newline at end of file diff --git a/.github/workflows/maestro-storybook-android.yml b/.github/workflows/maestro-storybook-android.yml new file mode 100644 index 00000000000..7f412cf0e13 --- /dev/null +++ b/.github/workflows/maestro-storybook-android.yml @@ -0,0 +1,85 @@ +name: Maestro Storybook Tests on Android + +on: + workflow_call: + +jobs: + android-test: + name: 'Android Tests' + runs-on: ubuntu-latest + env: + MAESTRO_VERSION: 2.3.0 + + steps: + - name: Checkout Repository + uses: actions/checkout@v4 + + - name: Setup Java + uses: actions/setup-java@v4 + with: + distribution: temurin + java-version: 17 + + - name: Cache Android AVD + uses: actions/cache@v4 + with: + path: | + ~/.android/avd/* + ~/.android/adb* + key: avd-${{ runner.os }}-api34 + + - name: Cache Maestro + uses: actions/cache@v4 + with: + path: ~/.maestro + key: maestro-${{ runner.os }}-${{ env.MAESTRO_VERSION }} + + - name: Download APK + uses: actions/download-artifact@v4 + with: + name: Android Experimental Storybook APK + + - name: Install Maestro + run: | + curl -Ls "https://get.maestro.mobile.dev" | bash + echo "$HOME/.maestro/bin" >> "$GITHUB_PATH" + + - name: Enable KVM group permissions + run: | + echo 'KERNEL=="kvm", GROUP="kvm", MODE="0666", OPTIONS+="static_node=kvm"' | sudo tee /etc/udev/rules.d/99-kvm4all.rules + sudo udevadm control --reload-rules + sudo udevadm trigger --name-match=kvm + + - name: Disable unnecessary services (improves emulator stability) + run: | + sudo systemctl stop docker || true + sudo systemctl stop snapd || true + + - name: Make Maestro script executable + run: chmod +x .github/scripts/run-maestro.sh + + - name: Start Android Emulator and Run Maestro Tests + uses: reactivecircus/android-emulator-runner@v2 + timeout-minutes: 60 + with: + api-level: 34 + disk-size: 4096M + arch: x86_64 + target: google_apis + profile: pixel_7_pro + cores: 4 + ram-size: 4096M + force-avd-creation: false + disable-animations: true + emulator-boot-timeout: 900 + emulator-options: -no-window -gpu swiftshader_indirect -noaudio -no-boot-anim -camera-back none -accel on + script: | + maestro test .maestro/storybook/storybook.yaml + + - name: Android Storybook Maestro Logs + if: always() + uses: actions/upload-artifact@v4 + with: + name: Android Storybook Maestro Logs + path: ~/.maestro/tests/**/*.png + retention-days: 7 diff --git a/.github/workflows/storybook-build-android.yml b/.github/workflows/storybook-build-android.yml new file mode 100644 index 00000000000..7ea0f9520d3 --- /dev/null +++ b/.github/workflows/storybook-build-android.yml @@ -0,0 +1,97 @@ +name: E2E Build Android + +on: + workflow_call: + secrets: + EXPERIMENTAL_KEYSTORE_BASE64: + required: true + EXPERIMENTAL_KEYSTORE_PASSWORD: + required: true + EXPERIMENTAL_KEY_ALIAS: + required: true + EXPERIMENTAL_KEY_PASSWORD: + required: true + BUGSNAG_KEY: + required: true + +jobs: + android-build: + runs-on: ubuntu-latest + + outputs: + artifact_name: Android Experimental Storybook APK + + steps: + - name: Checkout Repository + uses: actions/checkout@v4 + + - name: Checkout and Setup Node + uses: ./.github/actions/setup-node + + - name: Cache Gradle dependencies + uses: actions/cache@v4 + with: + path: | + ~/.gradle + key: gradle-${{ runner.os }}-${{ hashFiles('**/*.gradle*', '**/gradle-wrapper.properties') }} + restore-keys: | + gradle-${{ runner.os }}- + + - name: Cache Android build + uses: actions/cache@v4 + with: + path: | + android/.gradle + android/app/build + android/app/.cxx + key: android-build-${{ runner.os }}-${{ hashFiles('package.json', '**/*.gradle*', 'android/gradle.properties', 'android/settings.gradle') }} + restore-keys: | + android-build-${{ runner.os }}- + + - name: Set up JDK + uses: actions/setup-java@v4 + with: + java-version: '17' + distribution: 'temurin' + + - name: Setup Android SDK + uses: android-actions/setup-android@v3 + + - name: Set up Gradle + uses: gradle/actions/setup-gradle@v4 + with: + gradle-version: wrapper + + - name: Decode Keystore + run: | + echo "${{ secrets.EXPERIMENTAL_KEYSTORE_BASE64 }}" | base64 -d > android/app/release.keystore + + - name: Set gradle.properties + working-directory: android + run: | + echo "" > ./gradle.properties + echo -e "org.gradle.jvmargs=-Xmx4g -XX:MaxMetaspaceSize=1g -Dfile.encoding=UTF-8" >> ./gradle.properties + echo -e "android.useAndroidX=true" >> ./gradle.properties + echo -e "android.enableJetifier=true" >> ./gradle.properties + echo -e "reactNativeArchitectures=x86_64" >> ./gradle.properties + echo -e "APPLICATION_ID=chat.rocket.reactnative" >> ./gradle.properties + echo -e "newArchEnabled=true" >> ./gradle.properties + echo -e "hermesEnabled=true" >> ./gradle.properties + echo -e "VERSIONCODE=999999" >> ./gradle.properties + echo -e "KEYSTORE=release.keystore" >> ./gradle.properties + echo -e "KEYSTORE_PASSWORD=${{ secrets.EXPERIMENTAL_KEYSTORE_PASSWORD }}" >> ./gradle.properties + echo -e "KEY_ALIAS=${{ secrets.EXPERIMENTAL_KEY_ALIAS }}" >> ./gradle.properties + echo -e "KEY_PASSWORD=${{ secrets.EXPERIMENTAL_KEY_PASSWORD }}" >> ./gradle.properties + echo -e "BugsnagAPIKey=${{ secrets.BUGSNAG_KEY }}" >> ./gradle.properties + + - name: Build Android Release APK + working-directory: android + run: USE_STORYBOOK=true ./gradlew assembleExperimentalRelease --build-cache --parallel --max-workers=4 --no-daemon --stacktrace + env: + RUNNING_E2E_TESTS: true + + - name: Upload APK + uses: actions/upload-artifact@v4 + with: + name: Android Experimental Storybook APK + path: android/app/build/outputs/apk/experimental/release/app-experimental-release.apk \ No newline at end of file diff --git a/.maestro/screenshots/avatar--avatar-base-64.png b/.maestro/screenshots/avatar--avatar-base-64.png new file mode 100644 index 00000000000..36b4db48fe1 Binary files /dev/null and b/.maestro/screenshots/avatar--avatar-base-64.png differ diff --git a/.maestro/screenshots/avatar--avatar-external-provider-url.png b/.maestro/screenshots/avatar--avatar-external-provider-url.png new file mode 100644 index 00000000000..111a1ec87bb Binary files /dev/null and b/.maestro/screenshots/avatar--avatar-external-provider-url.png differ diff --git a/.maestro/screenshots/avatar--avatar-path.png b/.maestro/screenshots/avatar--avatar-path.png new file mode 100644 index 00000000000..da0024e339a Binary files /dev/null and b/.maestro/screenshots/avatar--avatar-path.png differ diff --git a/.maestro/screenshots/avatar--avatar-room-id.png b/.maestro/screenshots/avatar--avatar-room-id.png new file mode 100644 index 00000000000..da0024e339a Binary files /dev/null and b/.maestro/screenshots/avatar--avatar-room-id.png differ diff --git a/.maestro/screenshots/avatar--avatar-text.png b/.maestro/screenshots/avatar--avatar-text.png new file mode 100644 index 00000000000..175159289c7 Binary files /dev/null and b/.maestro/screenshots/avatar--avatar-text.png differ diff --git a/.maestro/screenshots/avatar--avatar-url.png b/.maestro/screenshots/avatar--avatar-url.png new file mode 100644 index 00000000000..3a37da725eb Binary files /dev/null and b/.maestro/screenshots/avatar--avatar-url.png differ diff --git a/.maestro/screenshots/avatar--channel.png b/.maestro/screenshots/avatar--channel.png new file mode 100644 index 00000000000..8c7ba3bb21e Binary files /dev/null and b/.maestro/screenshots/avatar--channel.png differ diff --git a/.maestro/screenshots/avatar--children.png b/.maestro/screenshots/avatar--children.png new file mode 100644 index 00000000000..6b5ecd924fc Binary files /dev/null and b/.maestro/screenshots/avatar--children.png differ diff --git a/.maestro/screenshots/avatar--custom-border-radius.png b/.maestro/screenshots/avatar--custom-border-radius.png new file mode 100644 index 00000000000..882e06fe485 Binary files /dev/null and b/.maestro/screenshots/avatar--custom-border-radius.png differ diff --git a/.maestro/screenshots/avatar--custom-style.png b/.maestro/screenshots/avatar--custom-style.png new file mode 100644 index 00000000000..d8c00155a1b Binary files /dev/null and b/.maestro/screenshots/avatar--custom-style.png differ diff --git a/.maestro/screenshots/avatar--direct.png b/.maestro/screenshots/avatar--direct.png new file mode 100644 index 00000000000..da0024e339a Binary files /dev/null and b/.maestro/screenshots/avatar--direct.png differ diff --git a/.maestro/screenshots/avatar--emoji.png b/.maestro/screenshots/avatar--emoji.png new file mode 100644 index 00000000000..0bef9037a8e Binary files /dev/null and b/.maestro/screenshots/avatar--emoji.png differ diff --git a/.maestro/screenshots/avatar--room-avatar-external-provider-url.png b/.maestro/screenshots/avatar--room-avatar-external-provider-url.png new file mode 100644 index 00000000000..6f8b7df0bb3 Binary files /dev/null and b/.maestro/screenshots/avatar--room-avatar-external-provider-url.png differ diff --git a/.maestro/screenshots/avatar--static.png b/.maestro/screenshots/avatar--static.png new file mode 100644 index 00000000000..3a37da725eb Binary files /dev/null and b/.maestro/screenshots/avatar--static.png differ diff --git a/.maestro/screenshots/avatar--touchable.png b/.maestro/screenshots/avatar--touchable.png new file mode 100644 index 00000000000..175159289c7 Binary files /dev/null and b/.maestro/screenshots/avatar--touchable.png differ diff --git a/.maestro/screenshots/avatar--with-e-tag.png b/.maestro/screenshots/avatar--with-e-tag.png new file mode 100644 index 00000000000..850dd68c619 Binary files /dev/null and b/.maestro/screenshots/avatar--with-e-tag.png differ diff --git a/.maestro/screenshots/avatar--without-e-tag.png b/.maestro/screenshots/avatar--without-e-tag.png new file mode 100644 index 00000000000..c81bc6215a0 Binary files /dev/null and b/.maestro/screenshots/avatar--without-e-tag.png differ diff --git a/.maestro/screenshots/avatar--wrong-server.png b/.maestro/screenshots/avatar--wrong-server.png new file mode 100644 index 00000000000..5c245e9c21a Binary files /dev/null and b/.maestro/screenshots/avatar--wrong-server.png differ diff --git a/.maestro/screenshots/backgroundcontainer--basic.png b/.maestro/screenshots/backgroundcontainer--basic.png new file mode 100644 index 00000000000..fce9e69a01f Binary files /dev/null and b/.maestro/screenshots/backgroundcontainer--basic.png differ diff --git a/.maestro/screenshots/backgroundcontainer--black-theme-loading.png b/.maestro/screenshots/backgroundcontainer--black-theme-loading.png new file mode 100644 index 00000000000..e0a997b1e72 Binary files /dev/null and b/.maestro/screenshots/backgroundcontainer--black-theme-loading.png differ diff --git a/.maestro/screenshots/backgroundcontainer--black-theme-text.png b/.maestro/screenshots/backgroundcontainer--black-theme-text.png new file mode 100644 index 00000000000..3078ca5f16f Binary files /dev/null and b/.maestro/screenshots/backgroundcontainer--black-theme-text.png differ diff --git a/.maestro/screenshots/backgroundcontainer--dark-theme-loading.png b/.maestro/screenshots/backgroundcontainer--dark-theme-loading.png new file mode 100644 index 00000000000..efc76ee8a63 Binary files /dev/null and b/.maestro/screenshots/backgroundcontainer--dark-theme-loading.png differ diff --git a/.maestro/screenshots/backgroundcontainer--dark-theme-text.png b/.maestro/screenshots/backgroundcontainer--dark-theme-text.png new file mode 100644 index 00000000000..323b3ae6af4 Binary files /dev/null and b/.maestro/screenshots/backgroundcontainer--dark-theme-text.png differ diff --git a/.maestro/screenshots/backgroundcontainer--loading.png b/.maestro/screenshots/backgroundcontainer--loading.png new file mode 100644 index 00000000000..85a6d1d81d5 Binary files /dev/null and b/.maestro/screenshots/backgroundcontainer--loading.png differ diff --git a/.maestro/screenshots/backgroundcontainer--long-text.png b/.maestro/screenshots/backgroundcontainer--long-text.png new file mode 100644 index 00000000000..d1e289aa60b Binary files /dev/null and b/.maestro/screenshots/backgroundcontainer--long-text.png differ diff --git a/.maestro/screenshots/backgroundcontainer--text.png b/.maestro/screenshots/backgroundcontainer--text.png new file mode 100644 index 00000000000..6d95207614f Binary files /dev/null and b/.maestro/screenshots/backgroundcontainer--text.png differ diff --git a/.maestro/screenshots/button--custom-button.png b/.maestro/screenshots/button--custom-button.png new file mode 100644 index 00000000000..a13e0130370 Binary files /dev/null and b/.maestro/screenshots/button--custom-button.png differ diff --git a/.maestro/screenshots/button--disabled-button.png b/.maestro/screenshots/button--disabled-button.png new file mode 100644 index 00000000000..58ae8d8f25e Binary files /dev/null and b/.maestro/screenshots/button--disabled-button.png differ diff --git a/.maestro/screenshots/button--disabled-loading-button.png b/.maestro/screenshots/button--disabled-loading-button.png new file mode 100644 index 00000000000..4e7c49196ee Binary files /dev/null and b/.maestro/screenshots/button--disabled-loading-button.png differ diff --git a/.maestro/screenshots/button--loading-button.png b/.maestro/screenshots/button--loading-button.png new file mode 100644 index 00000000000..752d0e11ff8 Binary files /dev/null and b/.maestro/screenshots/button--loading-button.png differ diff --git a/.maestro/screenshots/button--primary-button.png b/.maestro/screenshots/button--primary-button.png new file mode 100644 index 00000000000..36be87309d2 Binary files /dev/null and b/.maestro/screenshots/button--primary-button.png differ diff --git a/.maestro/screenshots/button--secondary-button.png b/.maestro/screenshots/button--secondary-button.png new file mode 100644 index 00000000000..2015bb57ed5 Binary files /dev/null and b/.maestro/screenshots/button--secondary-button.png differ diff --git a/.maestro/screenshots/button--small-button.png b/.maestro/screenshots/button--small-button.png new file mode 100644 index 00000000000..853d5941fe0 Binary files /dev/null and b/.maestro/screenshots/button--small-button.png differ diff --git a/.maestro/screenshots/cannedresponseitem--itens.png b/.maestro/screenshots/cannedresponseitem--itens.png new file mode 100644 index 00000000000..897f930e91a Binary files /dev/null and b/.maestro/screenshots/cannedresponseitem--itens.png differ diff --git a/.maestro/screenshots/chip--chip-full-width.png b/.maestro/screenshots/chip--chip-full-width.png new file mode 100644 index 00000000000..277d6282baf Binary files /dev/null and b/.maestro/screenshots/chip--chip-full-width.png differ diff --git a/.maestro/screenshots/chip--chip-text.png b/.maestro/screenshots/chip--chip-text.png new file mode 100644 index 00000000000..23a36968d7c Binary files /dev/null and b/.maestro/screenshots/chip--chip-text.png differ diff --git a/.maestro/screenshots/chip--chip-with-short-text.png b/.maestro/screenshots/chip--chip-with-short-text.png new file mode 100644 index 00000000000..373345cb8fb Binary files /dev/null and b/.maestro/screenshots/chip--chip-with-short-text.png differ diff --git a/.maestro/screenshots/chip--chip-without-avatar-and-icon.png b/.maestro/screenshots/chip--chip-without-avatar-and-icon.png new file mode 100644 index 00000000000..5ac99a51b3b Binary files /dev/null and b/.maestro/screenshots/chip--chip-without-avatar-and-icon.png differ diff --git a/.maestro/screenshots/chip--chip-without-avatar.png b/.maestro/screenshots/chip--chip-without-avatar.png new file mode 100644 index 00000000000..12f2767fde6 Binary files /dev/null and b/.maestro/screenshots/chip--chip-without-avatar.png differ diff --git a/.maestro/screenshots/chip--chip-without-icon.png b/.maestro/screenshots/chip--chip-without-icon.png new file mode 100644 index 00000000000..1d40fd1731a Binary files /dev/null and b/.maestro/screenshots/chip--chip-without-icon.png differ diff --git a/.maestro/screenshots/collapsible-text--item.png b/.maestro/screenshots/collapsible-text--item.png new file mode 100644 index 00000000000..637795bcb86 Binary files /dev/null and b/.maestro/screenshots/collapsible-text--item.png differ diff --git a/.maestro/screenshots/collapsiblequote--item.png b/.maestro/screenshots/collapsiblequote--item.png new file mode 100644 index 00000000000..15115675efc Binary files /dev/null and b/.maestro/screenshots/collapsiblequote--item.png differ diff --git a/.maestro/screenshots/directoryitem--custom-style.png b/.maestro/screenshots/directoryitem--custom-style.png new file mode 100644 index 00000000000..82226eb9871 Binary files /dev/null and b/.maestro/screenshots/directoryitem--custom-style.png differ diff --git a/.maestro/screenshots/directoryitem--default.png b/.maestro/screenshots/directoryitem--default.png new file mode 100644 index 00000000000..2a7750eeecd Binary files /dev/null and b/.maestro/screenshots/directoryitem--default.png differ diff --git a/.maestro/screenshots/directoryitem--direct-message.png b/.maestro/screenshots/directoryitem--direct-message.png new file mode 100644 index 00000000000..a28868ca8ba Binary files /dev/null and b/.maestro/screenshots/directoryitem--direct-message.png differ diff --git a/.maestro/screenshots/directoryitem--long-room-name.png b/.maestro/screenshots/directoryitem--long-room-name.png new file mode 100644 index 00000000000..3a7d9912a91 Binary files /dev/null and b/.maestro/screenshots/directoryitem--long-room-name.png differ diff --git a/.maestro/screenshots/directoryitem--only-title.png b/.maestro/screenshots/directoryitem--only-title.png new file mode 100644 index 00000000000..f0e74c29026 Binary files /dev/null and b/.maestro/screenshots/directoryitem--only-title.png differ diff --git a/.maestro/screenshots/directoryitem--team-main.png b/.maestro/screenshots/directoryitem--team-main.png new file mode 100644 index 00000000000..52b574c3aeb Binary files /dev/null and b/.maestro/screenshots/directoryitem--team-main.png differ diff --git a/.maestro/screenshots/directoryitem--with-right-label.png b/.maestro/screenshots/directoryitem--with-right-label.png new file mode 100644 index 00000000000..ab154ad2de8 Binary files /dev/null and b/.maestro/screenshots/directoryitem--with-right-label.png differ diff --git a/.maestro/screenshots/directoryitem--without-description.png b/.maestro/screenshots/directoryitem--without-description.png new file mode 100644 index 00000000000..1a753aa3e7c Binary files /dev/null and b/.maestro/screenshots/directoryitem--without-description.png differ diff --git a/.maestro/screenshots/discussionsview-item--content.png b/.maestro/screenshots/discussionsview-item--content.png new file mode 100644 index 00000000000..5019784b912 Binary files /dev/null and b/.maestro/screenshots/discussionsview-item--content.png differ diff --git a/.maestro/screenshots/discussionsview-item--themes.png b/.maestro/screenshots/discussionsview-item--themes.png new file mode 100644 index 00000000000..63400057eed Binary files /dev/null and b/.maestro/screenshots/discussionsview-item--themes.png differ diff --git a/.maestro/screenshots/headerbuttons--badge.png b/.maestro/screenshots/headerbuttons--badge.png new file mode 100644 index 00000000000..50f5d84578f Binary files /dev/null and b/.maestro/screenshots/headerbuttons--badge.png differ diff --git a/.maestro/screenshots/headerbuttons--common.png b/.maestro/screenshots/headerbuttons--common.png new file mode 100644 index 00000000000..e39a5d03ae1 Binary files /dev/null and b/.maestro/screenshots/headerbuttons--common.png differ diff --git a/.maestro/screenshots/headerbuttons--icons.png b/.maestro/screenshots/headerbuttons--icons.png new file mode 100644 index 00000000000..4c7a85e21ac Binary files /dev/null and b/.maestro/screenshots/headerbuttons--icons.png differ diff --git a/.maestro/screenshots/headerbuttons--themes.png b/.maestro/screenshots/headerbuttons--themes.png new file mode 100644 index 00000000000..c584fc0da7c Binary files /dev/null and b/.maestro/screenshots/headerbuttons--themes.png differ diff --git a/.maestro/screenshots/headerbuttons--title.png b/.maestro/screenshots/headerbuttons--title.png new file mode 100644 index 00000000000..2a4752ca5ad Binary files /dev/null and b/.maestro/screenshots/headerbuttons--title.png differ diff --git a/.maestro/screenshots/list--alert.png b/.maestro/screenshots/list--alert.png new file mode 100644 index 00000000000..a59dd4cc9df Binary files /dev/null and b/.maestro/screenshots/list--alert.png differ diff --git a/.maestro/screenshots/list--header.png b/.maestro/screenshots/list--header.png new file mode 100644 index 00000000000..c2ae030d5b0 Binary files /dev/null and b/.maestro/screenshots/list--header.png differ diff --git a/.maestro/screenshots/list--icon.png b/.maestro/screenshots/list--icon.png new file mode 100644 index 00000000000..44d80352e6c Binary files /dev/null and b/.maestro/screenshots/list--icon.png differ diff --git a/.maestro/screenshots/list--list-item-with-right-container-style.png b/.maestro/screenshots/list--list-item-with-right-container-style.png new file mode 100644 index 00000000000..08e4c2add40 Binary files /dev/null and b/.maestro/screenshots/list--list-item-with-right-container-style.png differ diff --git a/.maestro/screenshots/list--pressable.png b/.maestro/screenshots/list--pressable.png new file mode 100644 index 00000000000..9a5d8c7b934 Binary files /dev/null and b/.maestro/screenshots/list--pressable.png differ diff --git a/.maestro/screenshots/list--radio.png b/.maestro/screenshots/list--radio.png new file mode 100644 index 00000000000..f14e910eaeb Binary files /dev/null and b/.maestro/screenshots/list--radio.png differ diff --git a/.maestro/screenshots/list--section-and-info.png b/.maestro/screenshots/list--section-and-info.png new file mode 100644 index 00000000000..d6a12a22a86 Binary files /dev/null and b/.maestro/screenshots/list--section-and-info.png differ diff --git a/.maestro/screenshots/list--separator.png b/.maestro/screenshots/list--separator.png new file mode 100644 index 00000000000..364a57cce89 Binary files /dev/null and b/.maestro/screenshots/list--separator.png differ diff --git a/.maestro/screenshots/list--title-and-subtitle.png b/.maestro/screenshots/list--title-and-subtitle.png new file mode 100644 index 00000000000..a09adcfb1bb Binary files /dev/null and b/.maestro/screenshots/list--title-and-subtitle.png differ diff --git a/.maestro/screenshots/list--with-bigger-font.png b/.maestro/screenshots/list--with-bigger-font.png new file mode 100644 index 00000000000..5bc387dcd84 Binary files /dev/null and b/.maestro/screenshots/list--with-bigger-font.png differ diff --git a/.maestro/screenshots/list--with-black-theme.png b/.maestro/screenshots/list--with-black-theme.png new file mode 100644 index 00000000000..e2c398b863a Binary files /dev/null and b/.maestro/screenshots/list--with-black-theme.png differ diff --git a/.maestro/screenshots/list--with-custom-colors.png b/.maestro/screenshots/list--with-custom-colors.png new file mode 100644 index 00000000000..5b9ce31777a Binary files /dev/null and b/.maestro/screenshots/list--with-custom-colors.png differ diff --git a/.maestro/screenshots/list--with-dark-theme.png b/.maestro/screenshots/list--with-dark-theme.png new file mode 100644 index 00000000000..2ca6f78d2ff Binary files /dev/null and b/.maestro/screenshots/list--with-dark-theme.png differ diff --git a/.maestro/screenshots/list--with-flat-list.png b/.maestro/screenshots/list--with-flat-list.png new file mode 100644 index 00000000000..ba56c4f68c2 Binary files /dev/null and b/.maestro/screenshots/list--with-flat-list.png differ diff --git a/.maestro/screenshots/list--with-icon.png b/.maestro/screenshots/list--with-icon.png new file mode 100644 index 00000000000..cef222f8dd2 Binary files /dev/null and b/.maestro/screenshots/list--with-icon.png differ diff --git a/.maestro/screenshots/list--with-small-font.png b/.maestro/screenshots/list--with-small-font.png new file mode 100644 index 00000000000..5bc387dcd84 Binary files /dev/null and b/.maestro/screenshots/list--with-small-font.png differ diff --git a/.maestro/screenshots/login-services--separators.png b/.maestro/screenshots/login-services--separators.png new file mode 100644 index 00000000000..8db2ade7d9b Binary files /dev/null and b/.maestro/screenshots/login-services--separators.png differ diff --git a/.maestro/screenshots/login-services--service-list.png b/.maestro/screenshots/login-services--service-list.png new file mode 100644 index 00000000000..044f51bff92 Binary files /dev/null and b/.maestro/screenshots/login-services--service-list.png differ diff --git a/.maestro/screenshots/markdown--block-quote.png b/.maestro/screenshots/markdown--block-quote.png new file mode 100644 index 00000000000..a083c88205e Binary files /dev/null and b/.maestro/screenshots/markdown--block-quote.png differ diff --git a/.maestro/screenshots/markdown--code.png b/.maestro/screenshots/markdown--code.png new file mode 100644 index 00000000000..28357e43a99 Binary files /dev/null and b/.maestro/screenshots/markdown--code.png differ diff --git a/.maestro/screenshots/markdown--emoji.png b/.maestro/screenshots/markdown--emoji.png new file mode 100644 index 00000000000..e4399474435 Binary files /dev/null and b/.maestro/screenshots/markdown--emoji.png differ diff --git a/.maestro/screenshots/markdown--hashtag.png b/.maestro/screenshots/markdown--hashtag.png new file mode 100644 index 00000000000..7080a4cfe22 Binary files /dev/null and b/.maestro/screenshots/markdown--hashtag.png differ diff --git a/.maestro/screenshots/markdown--headers.png b/.maestro/screenshots/markdown--headers.png new file mode 100644 index 00000000000..c005cf47674 Binary files /dev/null and b/.maestro/screenshots/markdown--headers.png differ diff --git a/.maestro/screenshots/markdown--image.png b/.maestro/screenshots/markdown--image.png new file mode 100644 index 00000000000..829870d3cfc Binary files /dev/null and b/.maestro/screenshots/markdown--image.png differ diff --git a/.maestro/screenshots/markdown--links.png b/.maestro/screenshots/markdown--links.png new file mode 100644 index 00000000000..d22d0338b9c Binary files /dev/null and b/.maestro/screenshots/markdown--links.png differ diff --git a/.maestro/screenshots/markdown--lists.png b/.maestro/screenshots/markdown--lists.png new file mode 100644 index 00000000000..dfb9fc4e689 Binary files /dev/null and b/.maestro/screenshots/markdown--lists.png differ diff --git a/.maestro/screenshots/markdown--mentions.png b/.maestro/screenshots/markdown--mentions.png new file mode 100644 index 00000000000..fe4dafeafaa Binary files /dev/null and b/.maestro/screenshots/markdown--mentions.png differ diff --git a/.maestro/screenshots/markdown--preview.png b/.maestro/screenshots/markdown--preview.png new file mode 100644 index 00000000000..4bba8b19914 Binary files /dev/null and b/.maestro/screenshots/markdown--preview.png differ diff --git a/.maestro/screenshots/markdown--text.png b/.maestro/screenshots/markdown--text.png new file mode 100644 index 00000000000..aac3f055b21 Binary files /dev/null and b/.maestro/screenshots/markdown--text.png differ diff --git a/.maestro/screenshots/markdown--timestamp.png b/.maestro/screenshots/markdown--timestamp.png new file mode 100644 index 00000000000..a012a3a53e7 Binary files /dev/null and b/.maestro/screenshots/markdown--timestamp.png differ diff --git a/.maestro/screenshots/message--archived-large-font.png b/.maestro/screenshots/message--archived-large-font.png new file mode 100644 index 00000000000..721c03dae9a Binary files /dev/null and b/.maestro/screenshots/message--archived-large-font.png differ diff --git a/.maestro/screenshots/message--archived.png b/.maestro/screenshots/message--archived.png new file mode 100644 index 00000000000..cc37c599fb0 Binary files /dev/null and b/.maestro/screenshots/message--archived.png differ diff --git a/.maestro/screenshots/message--attachment-with-text-and-link-large-font.png b/.maestro/screenshots/message--attachment-with-text-and-link-large-font.png new file mode 100644 index 00000000000..51d264fd1a1 Binary files /dev/null and b/.maestro/screenshots/message--attachment-with-text-and-link-large-font.png differ diff --git a/.maestro/screenshots/message--attachment-with-text-and-link.png b/.maestro/screenshots/message--attachment-with-text-and-link.png new file mode 100644 index 00000000000..442155f9ede Binary files /dev/null and b/.maestro/screenshots/message--attachment-with-text-and-link.png differ diff --git a/.maestro/screenshots/message--avatar.png b/.maestro/screenshots/message--avatar.png new file mode 100644 index 00000000000..81ffa93e5a6 Binary files /dev/null and b/.maestro/screenshots/message--avatar.png differ diff --git a/.maestro/screenshots/message--basic-large-font.png b/.maestro/screenshots/message--basic-large-font.png new file mode 100644 index 00000000000..442334097f5 Binary files /dev/null and b/.maestro/screenshots/message--basic-large-font.png differ diff --git a/.maestro/screenshots/message--basic.png b/.maestro/screenshots/message--basic.png new file mode 100644 index 00000000000..8cfd2ff3589 Binary files /dev/null and b/.maestro/screenshots/message--basic.png differ diff --git a/.maestro/screenshots/message--block-quote-large-font.png b/.maestro/screenshots/message--block-quote-large-font.png new file mode 100644 index 00000000000..a56a153acb4 Binary files /dev/null and b/.maestro/screenshots/message--block-quote-large-font.png differ diff --git a/.maestro/screenshots/message--block-quote.png b/.maestro/screenshots/message--block-quote.png new file mode 100644 index 00000000000..415616cfd32 Binary files /dev/null and b/.maestro/screenshots/message--block-quote.png differ diff --git a/.maestro/screenshots/message--broadcast-large-font.png b/.maestro/screenshots/message--broadcast-large-font.png new file mode 100644 index 00000000000..e9c5c29acf1 Binary files /dev/null and b/.maestro/screenshots/message--broadcast-large-font.png differ diff --git a/.maestro/screenshots/message--broadcast.png b/.maestro/screenshots/message--broadcast.png new file mode 100644 index 00000000000..fad7aeee17f Binary files /dev/null and b/.maestro/screenshots/message--broadcast.png differ diff --git a/.maestro/screenshots/message--collapsed-attachments-large-font.png b/.maestro/screenshots/message--collapsed-attachments-large-font.png new file mode 100644 index 00000000000..40435715998 Binary files /dev/null and b/.maestro/screenshots/message--collapsed-attachments-large-font.png differ diff --git a/.maestro/screenshots/message--collapsed-attachments.png b/.maestro/screenshots/message--collapsed-attachments.png new file mode 100644 index 00000000000..b644816db06 Binary files /dev/null and b/.maestro/screenshots/message--collapsed-attachments.png differ diff --git a/.maestro/screenshots/message--collapsible-attachment-with-text-large-font.png b/.maestro/screenshots/message--collapsible-attachment-with-text-large-font.png new file mode 100644 index 00000000000..7cac58ab2e0 Binary files /dev/null and b/.maestro/screenshots/message--collapsible-attachment-with-text-large-font.png differ diff --git a/.maestro/screenshots/message--collapsible-attachment-with-text.png b/.maestro/screenshots/message--collapsible-attachment-with-text.png new file mode 100644 index 00000000000..5da41de111d Binary files /dev/null and b/.maestro/screenshots/message--collapsible-attachment-with-text.png differ diff --git a/.maestro/screenshots/message--colored-attachments-large-font.png b/.maestro/screenshots/message--colored-attachments-large-font.png new file mode 100644 index 00000000000..a67b8d1b646 Binary files /dev/null and b/.maestro/screenshots/message--colored-attachments-large-font.png differ diff --git a/.maestro/screenshots/message--colored-attachments.png b/.maestro/screenshots/message--colored-attachments.png new file mode 100644 index 00000000000..799fe22ba0c Binary files /dev/null and b/.maestro/screenshots/message--colored-attachments.png differ diff --git a/.maestro/screenshots/message--custom-fields-large-font.png b/.maestro/screenshots/message--custom-fields-large-font.png new file mode 100644 index 00000000000..e5e6632c3ff Binary files /dev/null and b/.maestro/screenshots/message--custom-fields-large-font.png differ diff --git a/.maestro/screenshots/message--custom-fields.png b/.maestro/screenshots/message--custom-fields.png new file mode 100644 index 00000000000..5391a365543 Binary files /dev/null and b/.maestro/screenshots/message--custom-fields.png differ diff --git a/.maestro/screenshots/message--date-and-unread-separators-large-font.png b/.maestro/screenshots/message--date-and-unread-separators-large-font.png new file mode 100644 index 00000000000..e91caa77e61 Binary files /dev/null and b/.maestro/screenshots/message--date-and-unread-separators-large-font.png differ diff --git a/.maestro/screenshots/message--date-and-unread-separators.png b/.maestro/screenshots/message--date-and-unread-separators.png new file mode 100644 index 00000000000..010ef170989 Binary files /dev/null and b/.maestro/screenshots/message--date-and-unread-separators.png differ diff --git a/.maestro/screenshots/message--discussion-large-font.png b/.maestro/screenshots/message--discussion-large-font.png new file mode 100644 index 00000000000..25f639cf425 Binary files /dev/null and b/.maestro/screenshots/message--discussion-large-font.png differ diff --git a/.maestro/screenshots/message--discussion.png b/.maestro/screenshots/message--discussion.png new file mode 100644 index 00000000000..be5516f5f5b Binary files /dev/null and b/.maestro/screenshots/message--discussion.png differ diff --git a/.maestro/screenshots/message--edited-large-font.png b/.maestro/screenshots/message--edited-large-font.png new file mode 100644 index 00000000000..9a23cdcffcb Binary files /dev/null and b/.maestro/screenshots/message--edited-large-font.png differ diff --git a/.maestro/screenshots/message--edited.png b/.maestro/screenshots/message--edited.png new file mode 100644 index 00000000000..80610248902 Binary files /dev/null and b/.maestro/screenshots/message--edited.png differ diff --git a/.maestro/screenshots/message--editing-large-font.png b/.maestro/screenshots/message--editing-large-font.png new file mode 100644 index 00000000000..86a7a045f78 Binary files /dev/null and b/.maestro/screenshots/message--editing-large-font.png differ diff --git a/.maestro/screenshots/message--editing.png b/.maestro/screenshots/message--editing.png new file mode 100644 index 00000000000..ce488f98ee0 Binary files /dev/null and b/.maestro/screenshots/message--editing.png differ diff --git a/.maestro/screenshots/message--emojis-large-font.png b/.maestro/screenshots/message--emojis-large-font.png new file mode 100644 index 00000000000..5cbba71eb66 Binary files /dev/null and b/.maestro/screenshots/message--emojis-large-font.png differ diff --git a/.maestro/screenshots/message--emojis.png b/.maestro/screenshots/message--emojis.png new file mode 100644 index 00000000000..98fb1a0e7c4 Binary files /dev/null and b/.maestro/screenshots/message--emojis.png differ diff --git a/.maestro/screenshots/message--encrypted-large-font.png b/.maestro/screenshots/message--encrypted-large-font.png new file mode 100644 index 00000000000..bd6491b8d4e Binary files /dev/null and b/.maestro/screenshots/message--encrypted-large-font.png differ diff --git a/.maestro/screenshots/message--encrypted.png b/.maestro/screenshots/message--encrypted.png new file mode 100644 index 00000000000..7e11297cfb8 Binary files /dev/null and b/.maestro/screenshots/message--encrypted.png differ diff --git a/.maestro/screenshots/message--error-large-font.png b/.maestro/screenshots/message--error-large-font.png new file mode 100644 index 00000000000..428b08fd234 Binary files /dev/null and b/.maestro/screenshots/message--error-large-font.png differ diff --git a/.maestro/screenshots/message--error.png b/.maestro/screenshots/message--error.png new file mode 100644 index 00000000000..508322c77b4 Binary files /dev/null and b/.maestro/screenshots/message--error.png differ diff --git a/.maestro/screenshots/message--file-attachments-with-filenames-large-font.png b/.maestro/screenshots/message--file-attachments-with-filenames-large-font.png new file mode 100644 index 00000000000..562d66c5a2b Binary files /dev/null and b/.maestro/screenshots/message--file-attachments-with-filenames-large-font.png differ diff --git a/.maestro/screenshots/message--file-attachments-with-filenames.png b/.maestro/screenshots/message--file-attachments-with-filenames.png new file mode 100644 index 00000000000..ac674b12097 Binary files /dev/null and b/.maestro/screenshots/message--file-attachments-with-filenames.png differ diff --git a/.maestro/screenshots/message--full-name-large-font.png b/.maestro/screenshots/message--full-name-large-font.png new file mode 100644 index 00000000000..1527dc2f049 Binary files /dev/null and b/.maestro/screenshots/message--full-name-large-font.png differ diff --git a/.maestro/screenshots/message--full-name.png b/.maestro/screenshots/message--full-name.png new file mode 100644 index 00000000000..c3fe42343ea Binary files /dev/null and b/.maestro/screenshots/message--full-name.png differ diff --git a/.maestro/screenshots/message--grouped-messages-large-font.png b/.maestro/screenshots/message--grouped-messages-large-font.png new file mode 100644 index 00000000000..5a52d873cbf Binary files /dev/null and b/.maestro/screenshots/message--grouped-messages-large-font.png differ diff --git a/.maestro/screenshots/message--grouped-messages.png b/.maestro/screenshots/message--grouped-messages.png new file mode 100644 index 00000000000..cd9c0229321 Binary files /dev/null and b/.maestro/screenshots/message--grouped-messages.png differ diff --git a/.maestro/screenshots/message--ignored-large-font.png b/.maestro/screenshots/message--ignored-large-font.png new file mode 100644 index 00000000000..b23bb78a5ba Binary files /dev/null and b/.maestro/screenshots/message--ignored-large-font.png differ diff --git a/.maestro/screenshots/message--ignored.png b/.maestro/screenshots/message--ignored.png new file mode 100644 index 00000000000..c60f7cba72c Binary files /dev/null and b/.maestro/screenshots/message--ignored.png differ diff --git a/.maestro/screenshots/message--inline-katex-large-font.png b/.maestro/screenshots/message--inline-katex-large-font.png new file mode 100644 index 00000000000..8ef75eaf5b4 Binary files /dev/null and b/.maestro/screenshots/message--inline-katex-large-font.png differ diff --git a/.maestro/screenshots/message--inline-katex.png b/.maestro/screenshots/message--inline-katex.png new file mode 100644 index 00000000000..49a7b64a300 Binary files /dev/null and b/.maestro/screenshots/message--inline-katex.png differ diff --git a/.maestro/screenshots/message--katex-array-large-font.png b/.maestro/screenshots/message--katex-array-large-font.png new file mode 100644 index 00000000000..941c7583cff Binary files /dev/null and b/.maestro/screenshots/message--katex-array-large-font.png differ diff --git a/.maestro/screenshots/message--katex-array.png b/.maestro/screenshots/message--katex-array.png new file mode 100644 index 00000000000..0873b7da5b9 Binary files /dev/null and b/.maestro/screenshots/message--katex-array.png differ diff --git a/.maestro/screenshots/message--katex-large-font.png b/.maestro/screenshots/message--katex-large-font.png new file mode 100644 index 00000000000..68bcc865570 Binary files /dev/null and b/.maestro/screenshots/message--katex-large-font.png differ diff --git a/.maestro/screenshots/message--katex.png b/.maestro/screenshots/message--katex.png new file mode 100644 index 00000000000..0c190659e42 Binary files /dev/null and b/.maestro/screenshots/message--katex.png differ diff --git a/.maestro/screenshots/message--lists-large-font.png b/.maestro/screenshots/message--lists-large-font.png new file mode 100644 index 00000000000..e503af43030 Binary files /dev/null and b/.maestro/screenshots/message--lists-large-font.png differ diff --git a/.maestro/screenshots/message--lists.png b/.maestro/screenshots/message--lists.png new file mode 100644 index 00000000000..81787965d26 Binary files /dev/null and b/.maestro/screenshots/message--lists.png differ diff --git a/.maestro/screenshots/message--long-name-user-large-font.png b/.maestro/screenshots/message--long-name-user-large-font.png new file mode 100644 index 00000000000..d37ae329a1e Binary files /dev/null and b/.maestro/screenshots/message--long-name-user-large-font.png differ diff --git a/.maestro/screenshots/message--long-name-user.png b/.maestro/screenshots/message--long-name-user.png new file mode 100644 index 00000000000..9f6bb72c355 Binary files /dev/null and b/.maestro/screenshots/message--long-name-user.png differ diff --git a/.maestro/screenshots/message--mentions-large-font.png b/.maestro/screenshots/message--mentions-large-font.png new file mode 100644 index 00000000000..8b5f24e2882 Binary files /dev/null and b/.maestro/screenshots/message--mentions-large-font.png differ diff --git a/.maestro/screenshots/message--mentions.png b/.maestro/screenshots/message--mentions.png new file mode 100644 index 00000000000..355788e9d70 Binary files /dev/null and b/.maestro/screenshots/message--mentions.png differ diff --git a/.maestro/screenshots/message--message-with-nested-reply-and-file.png b/.maestro/screenshots/message--message-with-nested-reply-and-file.png new file mode 100644 index 00000000000..853e2c6707c Binary files /dev/null and b/.maestro/screenshots/message--message-with-nested-reply-and-file.png differ diff --git a/.maestro/screenshots/message--message-with-read-receipt-large-font.png b/.maestro/screenshots/message--message-with-read-receipt-large-font.png new file mode 100644 index 00000000000..fda20760dd6 Binary files /dev/null and b/.maestro/screenshots/message--message-with-read-receipt-large-font.png differ diff --git a/.maestro/screenshots/message--message-with-read-receipt.png b/.maestro/screenshots/message--message-with-read-receipt.png new file mode 100644 index 00000000000..16749d6cb2b Binary files /dev/null and b/.maestro/screenshots/message--message-with-read-receipt.png differ diff --git a/.maestro/screenshots/message--message-with-reply-and-file-large-font.png b/.maestro/screenshots/message--message-with-reply-and-file-large-font.png new file mode 100644 index 00000000000..afa60eb33ba Binary files /dev/null and b/.maestro/screenshots/message--message-with-reply-and-file-large-font.png differ diff --git a/.maestro/screenshots/message--message-with-reply-and-file.png b/.maestro/screenshots/message--message-with-reply-and-file.png new file mode 100644 index 00000000000..4b0d7e863a7 Binary files /dev/null and b/.maestro/screenshots/message--message-with-reply-and-file.png differ diff --git a/.maestro/screenshots/message--message-with-reply-large-font.png b/.maestro/screenshots/message--message-with-reply-large-font.png new file mode 100644 index 00000000000..39953b704a6 Binary files /dev/null and b/.maestro/screenshots/message--message-with-reply-large-font.png differ diff --git a/.maestro/screenshots/message--message-with-reply.png b/.maestro/screenshots/message--message-with-reply.png new file mode 100644 index 00000000000..6e288fbdc61 Binary files /dev/null and b/.maestro/screenshots/message--message-with-reply.png differ diff --git a/.maestro/screenshots/message--message-with-thread-large-font.png b/.maestro/screenshots/message--message-with-thread-large-font.png new file mode 100644 index 00000000000..ec66184057c Binary files /dev/null and b/.maestro/screenshots/message--message-with-thread-large-font.png differ diff --git a/.maestro/screenshots/message--message-with-thread.png b/.maestro/screenshots/message--message-with-thread.png new file mode 100644 index 00000000000..5387aa7eafa Binary files /dev/null and b/.maestro/screenshots/message--message-with-thread.png differ diff --git a/.maestro/screenshots/message--message.png b/.maestro/screenshots/message--message.png new file mode 100644 index 00000000000..a130494fa49 Binary files /dev/null and b/.maestro/screenshots/message--message.png differ diff --git a/.maestro/screenshots/message--pinned-large-font.png b/.maestro/screenshots/message--pinned-large-font.png new file mode 100644 index 00000000000..4fffc99e39a Binary files /dev/null and b/.maestro/screenshots/message--pinned-large-font.png differ diff --git a/.maestro/screenshots/message--pinned.png b/.maestro/screenshots/message--pinned.png new file mode 100644 index 00000000000..3765f544c9e Binary files /dev/null and b/.maestro/screenshots/message--pinned.png differ diff --git a/.maestro/screenshots/message--reactions-large-font.png b/.maestro/screenshots/message--reactions-large-font.png new file mode 100644 index 00000000000..2d99760240d Binary files /dev/null and b/.maestro/screenshots/message--reactions-large-font.png differ diff --git a/.maestro/screenshots/message--reactions.png b/.maestro/screenshots/message--reactions.png new file mode 100644 index 00000000000..4f8909c1c05 Binary files /dev/null and b/.maestro/screenshots/message--reactions.png differ diff --git a/.maestro/screenshots/message--sequential-thread-messages-following-thread-button-large-font.png b/.maestro/screenshots/message--sequential-thread-messages-following-thread-button-large-font.png new file mode 100644 index 00000000000..c4fa8fba21d Binary files /dev/null and b/.maestro/screenshots/message--sequential-thread-messages-following-thread-button-large-font.png differ diff --git a/.maestro/screenshots/message--sequential-thread-messages-following-thread-button.png b/.maestro/screenshots/message--sequential-thread-messages-following-thread-button.png new file mode 100644 index 00000000000..b6f5f1a532f Binary files /dev/null and b/.maestro/screenshots/message--sequential-thread-messages-following-thread-button.png differ diff --git a/.maestro/screenshots/message--sequential-thread-messages-following-thread-reply-large-font.png b/.maestro/screenshots/message--sequential-thread-messages-following-thread-reply-large-font.png new file mode 100644 index 00000000000..db01c519ae5 Binary files /dev/null and b/.maestro/screenshots/message--sequential-thread-messages-following-thread-reply-large-font.png differ diff --git a/.maestro/screenshots/message--sequential-thread-messages-following-thread-reply.png b/.maestro/screenshots/message--sequential-thread-messages-following-thread-reply.png new file mode 100644 index 00000000000..2f503503881 Binary files /dev/null and b/.maestro/screenshots/message--sequential-thread-messages-following-thread-reply.png differ diff --git a/.maestro/screenshots/message--show-button-as-attachment-large-font.png b/.maestro/screenshots/message--show-button-as-attachment-large-font.png new file mode 100644 index 00000000000..292f521042e Binary files /dev/null and b/.maestro/screenshots/message--show-button-as-attachment-large-font.png differ diff --git a/.maestro/screenshots/message--show-button-as-attachment.png b/.maestro/screenshots/message--show-button-as-attachment.png new file mode 100644 index 00000000000..8718806f993 Binary files /dev/null and b/.maestro/screenshots/message--show-button-as-attachment.png differ diff --git a/.maestro/screenshots/message--static-avatar-large-font.png b/.maestro/screenshots/message--static-avatar-large-font.png new file mode 100644 index 00000000000..1c9d21d94aa Binary files /dev/null and b/.maestro/screenshots/message--static-avatar-large-font.png differ diff --git a/.maestro/screenshots/message--static-avatar.png b/.maestro/screenshots/message--static-avatar.png new file mode 100644 index 00000000000..5b82440dca6 Binary files /dev/null and b/.maestro/screenshots/message--static-avatar.png differ diff --git a/.maestro/screenshots/message--system-messages-large-font.png b/.maestro/screenshots/message--system-messages-large-font.png new file mode 100644 index 00000000000..879170128b6 Binary files /dev/null and b/.maestro/screenshots/message--system-messages-large-font.png differ diff --git a/.maestro/screenshots/message--system-messages.png b/.maestro/screenshots/message--system-messages.png new file mode 100644 index 00000000000..f3e36915a15 Binary files /dev/null and b/.maestro/screenshots/message--system-messages.png differ diff --git a/.maestro/screenshots/message--temp-large-font.png b/.maestro/screenshots/message--temp-large-font.png new file mode 100644 index 00000000000..f1cdd2a0e47 Binary files /dev/null and b/.maestro/screenshots/message--temp-large-font.png differ diff --git a/.maestro/screenshots/message--temp.png b/.maestro/screenshots/message--temp.png new file mode 100644 index 00000000000..1c5e4a3450a Binary files /dev/null and b/.maestro/screenshots/message--temp.png differ diff --git a/.maestro/screenshots/message--thumbnail-from-server-large-font.png b/.maestro/screenshots/message--thumbnail-from-server-large-font.png new file mode 100644 index 00000000000..52f1e72841c Binary files /dev/null and b/.maestro/screenshots/message--thumbnail-from-server-large-font.png differ diff --git a/.maestro/screenshots/message--thumbnail-from-server.png b/.maestro/screenshots/message--thumbnail-from-server.png new file mode 100644 index 00000000000..8b4db8ef6d7 Binary files /dev/null and b/.maestro/screenshots/message--thumbnail-from-server.png differ diff --git a/.maestro/screenshots/message--time-format-large-font.png b/.maestro/screenshots/message--time-format-large-font.png new file mode 100644 index 00000000000..6f9653cc7f3 Binary files /dev/null and b/.maestro/screenshots/message--time-format-large-font.png differ diff --git a/.maestro/screenshots/message--time-format.png b/.maestro/screenshots/message--time-format.png new file mode 100644 index 00000000000..f7415ac3586 Binary files /dev/null and b/.maestro/screenshots/message--time-format.png differ diff --git a/.maestro/screenshots/message--translated-large-font.png b/.maestro/screenshots/message--translated-large-font.png new file mode 100644 index 00000000000..c2366ef265a Binary files /dev/null and b/.maestro/screenshots/message--translated-large-font.png differ diff --git a/.maestro/screenshots/message--translated.png b/.maestro/screenshots/message--translated.png new file mode 100644 index 00000000000..86e67310c6d Binary files /dev/null and b/.maestro/screenshots/message--translated.png differ diff --git a/.maestro/screenshots/message--two-short-custom-fields-with-markdown-large-font.png b/.maestro/screenshots/message--two-short-custom-fields-with-markdown-large-font.png new file mode 100644 index 00000000000..1ae9f7660e9 Binary files /dev/null and b/.maestro/screenshots/message--two-short-custom-fields-with-markdown-large-font.png differ diff --git a/.maestro/screenshots/message--two-short-custom-fields-with-markdown.png b/.maestro/screenshots/message--two-short-custom-fields-with-markdown.png new file mode 100644 index 00000000000..0bdb5f89b25 Binary files /dev/null and b/.maestro/screenshots/message--two-short-custom-fields-with-markdown.png differ diff --git a/.maestro/screenshots/message--url-image-preview-large-font.png b/.maestro/screenshots/message--url-image-preview-large-font.png new file mode 100644 index 00000000000..7bde85d2413 Binary files /dev/null and b/.maestro/screenshots/message--url-image-preview-large-font.png differ diff --git a/.maestro/screenshots/message--url-image-preview.png b/.maestro/screenshots/message--url-image-preview.png new file mode 100644 index 00000000000..5a91e94197b Binary files /dev/null and b/.maestro/screenshots/message--url-image-preview.png differ diff --git a/.maestro/screenshots/message--url-large-font.png b/.maestro/screenshots/message--url-large-font.png new file mode 100644 index 00000000000..71d956ea5d9 Binary files /dev/null and b/.maestro/screenshots/message--url-large-font.png differ diff --git a/.maestro/screenshots/message--url.png b/.maestro/screenshots/message--url.png new file mode 100644 index 00000000000..9c0d5666b03 Binary files /dev/null and b/.maestro/screenshots/message--url.png differ diff --git a/.maestro/screenshots/message--with-alias-large-font.png b/.maestro/screenshots/message--with-alias-large-font.png new file mode 100644 index 00000000000..0870d29c575 Binary files /dev/null and b/.maestro/screenshots/message--with-alias-large-font.png differ diff --git a/.maestro/screenshots/message--with-alias.png b/.maestro/screenshots/message--with-alias.png new file mode 100644 index 00000000000..bcc69965f3c Binary files /dev/null and b/.maestro/screenshots/message--with-alias.png differ diff --git a/.maestro/screenshots/message--with-audio-large-font.png b/.maestro/screenshots/message--with-audio-large-font.png new file mode 100644 index 00000000000..a4ff49c2201 Binary files /dev/null and b/.maestro/screenshots/message--with-audio-large-font.png differ diff --git a/.maestro/screenshots/message--with-audio.png b/.maestro/screenshots/message--with-audio.png new file mode 100644 index 00000000000..a0c9886ba86 Binary files /dev/null and b/.maestro/screenshots/message--with-audio.png differ diff --git a/.maestro/screenshots/message--with-file-large-font.png b/.maestro/screenshots/message--with-file-large-font.png new file mode 100644 index 00000000000..d22f578bb54 Binary files /dev/null and b/.maestro/screenshots/message--with-file-large-font.png differ diff --git a/.maestro/screenshots/message--with-file.png b/.maestro/screenshots/message--with-file.png new file mode 100644 index 00000000000..25955098ada Binary files /dev/null and b/.maestro/screenshots/message--with-file.png differ diff --git a/.maestro/screenshots/message--with-image-large-font.png b/.maestro/screenshots/message--with-image-large-font.png new file mode 100644 index 00000000000..f953a29374d Binary files /dev/null and b/.maestro/screenshots/message--with-image-large-font.png differ diff --git a/.maestro/screenshots/message--with-image.png b/.maestro/screenshots/message--with-image.png new file mode 100644 index 00000000000..017aaa1647e Binary files /dev/null and b/.maestro/screenshots/message--with-image.png differ diff --git a/.maestro/screenshots/message--with-video-large-font.png b/.maestro/screenshots/message--with-video-large-font.png new file mode 100644 index 00000000000..83754c6cdcd Binary files /dev/null and b/.maestro/screenshots/message--with-video-large-font.png differ diff --git a/.maestro/screenshots/message--with-video.png b/.maestro/screenshots/message--with-video.png new file mode 100644 index 00000000000..412bd6c7daf Binary files /dev/null and b/.maestro/screenshots/message--with-video.png differ diff --git a/.maestro/screenshots/message--without-header-large-font.png b/.maestro/screenshots/message--without-header-large-font.png new file mode 100644 index 00000000000..bd332f98f04 Binary files /dev/null and b/.maestro/screenshots/message--without-header-large-font.png differ diff --git a/.maestro/screenshots/message--without-header.png b/.maestro/screenshots/message--without-header.png new file mode 100644 index 00000000000..9b7adae778c Binary files /dev/null and b/.maestro/screenshots/message--without-header.png differ diff --git a/.maestro/screenshots/reactionslist--reactions-list-full-name.png b/.maestro/screenshots/reactionslist--reactions-list-full-name.png new file mode 100644 index 00000000000..d869805d2bc Binary files /dev/null and b/.maestro/screenshots/reactionslist--reactions-list-full-name.png differ diff --git a/.maestro/screenshots/reactionslist--reactions-list-story.png b/.maestro/screenshots/reactionslist--reactions-list-story.png new file mode 100644 index 00000000000..f32e3d6dfcf Binary files /dev/null and b/.maestro/screenshots/reactionslist--reactions-list-story.png differ diff --git a/.maestro/screenshots/roomheader--icons.png b/.maestro/screenshots/roomheader--icons.png new file mode 100644 index 00000000000..dc72fc4dc94 Binary files /dev/null and b/.maestro/screenshots/roomheader--icons.png differ diff --git a/.maestro/screenshots/roomheader--themes.png b/.maestro/screenshots/roomheader--themes.png new file mode 100644 index 00000000000..f30a88a98de Binary files /dev/null and b/.maestro/screenshots/roomheader--themes.png differ diff --git a/.maestro/screenshots/roomheader--thread.png b/.maestro/screenshots/roomheader--thread.png new file mode 100644 index 00000000000..b3effe21489 Binary files /dev/null and b/.maestro/screenshots/roomheader--thread.png differ diff --git a/.maestro/screenshots/roomheader--title-subtitle.png b/.maestro/screenshots/roomheader--title-subtitle.png new file mode 100644 index 00000000000..0563d744d4a Binary files /dev/null and b/.maestro/screenshots/roomheader--title-subtitle.png differ diff --git a/.maestro/screenshots/roomheader--typing.png b/.maestro/screenshots/roomheader--typing.png new file mode 100644 index 00000000000..a5bf0edc419 Binary files /dev/null and b/.maestro/screenshots/roomheader--typing.png differ diff --git a/.maestro/screenshots/roominfoabac--black.png b/.maestro/screenshots/roominfoabac--black.png new file mode 100644 index 00000000000..63f406a81ad Binary files /dev/null and b/.maestro/screenshots/roominfoabac--black.png differ diff --git a/.maestro/screenshots/roominfoabac--dark.png b/.maestro/screenshots/roominfoabac--dark.png new file mode 100644 index 00000000000..e9208045a57 Binary files /dev/null and b/.maestro/screenshots/roominfoabac--dark.png differ diff --git a/.maestro/screenshots/roominfoabac--light.png b/.maestro/screenshots/roominfoabac--light.png new file mode 100644 index 00000000000..e7354df00a4 Binary files /dev/null and b/.maestro/screenshots/roominfoabac--light.png differ diff --git a/.maestro/screenshots/roomitem--alerts.png b/.maestro/screenshots/roomitem--alerts.png new file mode 100644 index 00000000000..c7b73ba8712 Binary files /dev/null and b/.maestro/screenshots/roomitem--alerts.png differ diff --git a/.maestro/screenshots/roomitem--basic.png b/.maestro/screenshots/roomitem--basic.png new file mode 100644 index 00000000000..3fb869135cc Binary files /dev/null and b/.maestro/screenshots/roomitem--basic.png differ diff --git a/.maestro/screenshots/roomitem--condensed-room-item-without-avatar.png b/.maestro/screenshots/roomitem--condensed-room-item-without-avatar.png new file mode 100644 index 00000000000..1ab417da5a2 Binary files /dev/null and b/.maestro/screenshots/roomitem--condensed-room-item-without-avatar.png differ diff --git a/.maestro/screenshots/roomitem--condensed-room-item.png b/.maestro/screenshots/roomitem--condensed-room-item.png new file mode 100644 index 00000000000..80ce4a2ded1 Binary files /dev/null and b/.maestro/screenshots/roomitem--condensed-room-item.png differ diff --git a/.maestro/screenshots/roomitem--expanded-room-item-without-avatar.png b/.maestro/screenshots/roomitem--expanded-room-item-without-avatar.png new file mode 100644 index 00000000000..9790246d877 Binary files /dev/null and b/.maestro/screenshots/roomitem--expanded-room-item-without-avatar.png differ diff --git a/.maestro/screenshots/roomitem--invited-room.png b/.maestro/screenshots/roomitem--invited-room.png new file mode 100644 index 00000000000..239aa95ad9a Binary files /dev/null and b/.maestro/screenshots/roomitem--invited-room.png differ diff --git a/.maestro/screenshots/roomitem--last-message.png b/.maestro/screenshots/roomitem--last-message.png new file mode 100644 index 00000000000..1fc4f07f660 Binary files /dev/null and b/.maestro/screenshots/roomitem--last-message.png differ diff --git a/.maestro/screenshots/roomitem--omnichannel-icon.png b/.maestro/screenshots/roomitem--omnichannel-icon.png new file mode 100644 index 00000000000..ae3a53252a7 Binary files /dev/null and b/.maestro/screenshots/roomitem--omnichannel-icon.png differ diff --git a/.maestro/screenshots/roomitem--tag.png b/.maestro/screenshots/roomitem--tag.png new file mode 100644 index 00000000000..a1a267ada45 Binary files /dev/null and b/.maestro/screenshots/roomitem--tag.png differ diff --git a/.maestro/screenshots/roomitem--touch.png b/.maestro/screenshots/roomitem--touch.png new file mode 100644 index 00000000000..3fb869135cc Binary files /dev/null and b/.maestro/screenshots/roomitem--touch.png differ diff --git a/.maestro/screenshots/roomitem--type.png b/.maestro/screenshots/roomitem--type.png new file mode 100644 index 00000000000..f035cd2a7c6 Binary files /dev/null and b/.maestro/screenshots/roomitem--type.png differ diff --git a/.maestro/screenshots/roomitem--user.png b/.maestro/screenshots/roomitem--user.png new file mode 100644 index 00000000000..b9cf13adf0b Binary files /dev/null and b/.maestro/screenshots/roomitem--user.png differ diff --git a/.maestro/screenshots/roomtypeicon--all.png b/.maestro/screenshots/roomtypeicon--all.png new file mode 100644 index 00000000000..e330945d1f3 Binary files /dev/null and b/.maestro/screenshots/roomtypeicon--all.png differ diff --git a/.maestro/screenshots/roomview-loadmore--basic.png b/.maestro/screenshots/roomview-loadmore--basic.png new file mode 100644 index 00000000000..a5814f0407c Binary files /dev/null and b/.maestro/screenshots/roomview-loadmore--basic.png differ diff --git a/.maestro/screenshots/roomview-loadmore--black-theme.png b/.maestro/screenshots/roomview-loadmore--black-theme.png new file mode 100644 index 00000000000..be00be805bb Binary files /dev/null and b/.maestro/screenshots/roomview-loadmore--black-theme.png differ diff --git a/.maestro/screenshots/roomview-loadmore--dark-theme.png b/.maestro/screenshots/roomview-loadmore--dark-theme.png new file mode 100644 index 00000000000..769b0778bb6 Binary files /dev/null and b/.maestro/screenshots/roomview-loadmore--dark-theme.png differ diff --git a/.maestro/screenshots/roomview-loadmore--light-theme.png b/.maestro/screenshots/roomview-loadmore--light-theme.png new file mode 100644 index 00000000000..542cfcfd9df Binary files /dev/null and b/.maestro/screenshots/roomview-loadmore--light-theme.png differ diff --git a/.maestro/screenshots/searchbox--basic.png b/.maestro/screenshots/searchbox--basic.png new file mode 100644 index 00000000000..daec47085d4 Binary files /dev/null and b/.maestro/screenshots/searchbox--basic.png differ diff --git a/.maestro/screenshots/serveritem--content.png b/.maestro/screenshots/serveritem--content.png new file mode 100644 index 00000000000..20faf9f307f Binary files /dev/null and b/.maestro/screenshots/serveritem--content.png differ diff --git a/.maestro/screenshots/serveritem--swipe-actions.png b/.maestro/screenshots/serveritem--swipe-actions.png new file mode 100644 index 00000000000..5787e042f03 Binary files /dev/null and b/.maestro/screenshots/serveritem--swipe-actions.png differ diff --git a/.maestro/screenshots/serveritem--themes.png b/.maestro/screenshots/serveritem--themes.png new file mode 100644 index 00000000000..2cbe810a805 Binary files /dev/null and b/.maestro/screenshots/serveritem--themes.png differ diff --git a/.maestro/screenshots/servershistoryitem--content.png b/.maestro/screenshots/servershistoryitem--content.png new file mode 100644 index 00000000000..3cbc56a21c8 Binary files /dev/null and b/.maestro/screenshots/servershistoryitem--content.png differ diff --git a/.maestro/screenshots/servershistoryitem--swipe-actions.png b/.maestro/screenshots/servershistoryitem--swipe-actions.png new file mode 100644 index 00000000000..ebc6b230e52 Binary files /dev/null and b/.maestro/screenshots/servershistoryitem--swipe-actions.png differ diff --git a/.maestro/screenshots/servershistoryitem--themes.png b/.maestro/screenshots/servershistoryitem--themes.png new file mode 100644 index 00000000000..1caf5e8ff14 Binary files /dev/null and b/.maestro/screenshots/servershistoryitem--themes.png differ diff --git a/.maestro/screenshots/status--all.png b/.maestro/screenshots/status--all.png new file mode 100644 index 00000000000..53d4789f2e7 Binary files /dev/null and b/.maestro/screenshots/status--all.png differ diff --git a/.maestro/screenshots/switchitem--switch.png b/.maestro/screenshots/switchitem--switch.png new file mode 100644 index 00000000000..c3357689e58 Binary files /dev/null and b/.maestro/screenshots/switchitem--switch.png differ diff --git a/.maestro/screenshots/textinput--icons.png b/.maestro/screenshots/textinput--icons.png new file mode 100644 index 00000000000..c3ac775ef58 Binary files /dev/null and b/.maestro/screenshots/textinput--icons.png differ diff --git a/.maestro/screenshots/textinput--loading.png b/.maestro/screenshots/textinput--loading.png new file mode 100644 index 00000000000..eb36cff64db Binary files /dev/null and b/.maestro/screenshots/textinput--loading.png differ diff --git a/.maestro/screenshots/textinput--multiline.png b/.maestro/screenshots/textinput--multiline.png new file mode 100644 index 00000000000..5fdebd72cf8 Binary files /dev/null and b/.maestro/screenshots/textinput--multiline.png differ diff --git a/.maestro/screenshots/textinput--secure-text-entry.png b/.maestro/screenshots/textinput--secure-text-entry.png new file mode 100644 index 00000000000..7473b726d40 Binary files /dev/null and b/.maestro/screenshots/textinput--secure-text-entry.png differ diff --git a/.maestro/screenshots/textinput--short-and-long.png b/.maestro/screenshots/textinput--short-and-long.png new file mode 100644 index 00000000000..9c1c9825a70 Binary files /dev/null and b/.maestro/screenshots/textinput--short-and-long.png differ diff --git a/.maestro/screenshots/threadmessagesview-item--badge.png b/.maestro/screenshots/threadmessagesview-item--badge.png new file mode 100644 index 00000000000..51d5e7e629a Binary files /dev/null and b/.maestro/screenshots/threadmessagesview-item--badge.png differ diff --git a/.maestro/screenshots/threadmessagesview-item--content.png b/.maestro/screenshots/threadmessagesview-item--content.png new file mode 100644 index 00000000000..d42faffb924 Binary files /dev/null and b/.maestro/screenshots/threadmessagesview-item--content.png differ diff --git a/.maestro/screenshots/threadmessagesview-item--themes.png b/.maestro/screenshots/threadmessagesview-item--themes.png new file mode 100644 index 00000000000..fbf4602e7f2 Binary files /dev/null and b/.maestro/screenshots/threadmessagesview-item--themes.png differ diff --git a/.maestro/screenshots/uikit-uikitmessage--action-button.png b/.maestro/screenshots/uikit-uikitmessage--action-button.png new file mode 100644 index 00000000000..a3032466b65 Binary files /dev/null and b/.maestro/screenshots/uikit-uikitmessage--action-button.png differ diff --git a/.maestro/screenshots/uikit-uikitmessage--action-select.png b/.maestro/screenshots/uikit-uikitmessage--action-select.png new file mode 100644 index 00000000000..2f336a84836 Binary files /dev/null and b/.maestro/screenshots/uikit-uikitmessage--action-select.png differ diff --git a/.maestro/screenshots/uikit-uikitmessage--fields.png b/.maestro/screenshots/uikit-uikitmessage--fields.png new file mode 100644 index 00000000000..5c245e9c21a Binary files /dev/null and b/.maestro/screenshots/uikit-uikitmessage--fields.png differ diff --git a/.maestro/screenshots/uikit-uikitmessage--section-button.png b/.maestro/screenshots/uikit-uikitmessage--section-button.png new file mode 100644 index 00000000000..01168997add Binary files /dev/null and b/.maestro/screenshots/uikit-uikitmessage--section-button.png differ diff --git a/.maestro/screenshots/uikit-uikitmessage--section-date-picker.png b/.maestro/screenshots/uikit-uikitmessage--section-date-picker.png new file mode 100644 index 00000000000..39641e76748 Binary files /dev/null and b/.maestro/screenshots/uikit-uikitmessage--section-date-picker.png differ diff --git a/.maestro/screenshots/uikit-uikitmessage--section-markdown-list.png b/.maestro/screenshots/uikit-uikitmessage--section-markdown-list.png new file mode 100644 index 00000000000..5c245e9c21a Binary files /dev/null and b/.maestro/screenshots/uikit-uikitmessage--section-markdown-list.png differ diff --git a/.maestro/screenshots/uikit-uikitmessage--section-multi-select.png b/.maestro/screenshots/uikit-uikitmessage--section-multi-select.png new file mode 100644 index 00000000000..96cf3c59453 Binary files /dev/null and b/.maestro/screenshots/uikit-uikitmessage--section-multi-select.png differ diff --git a/.maestro/screenshots/uikit-uikitmessage--section-overflow.png b/.maestro/screenshots/uikit-uikitmessage--section-overflow.png new file mode 100644 index 00000000000..c279ee914f6 Binary files /dev/null and b/.maestro/screenshots/uikit-uikitmessage--section-overflow.png differ diff --git a/.maestro/screenshots/uikit-uikitmessage--section-select.png b/.maestro/screenshots/uikit-uikitmessage--section-select.png new file mode 100644 index 00000000000..9663895e15c Binary files /dev/null and b/.maestro/screenshots/uikit-uikitmessage--section-select.png differ diff --git a/.maestro/screenshots/uikit-uikitmessage--section.png b/.maestro/screenshots/uikit-uikitmessage--section.png new file mode 100644 index 00000000000..5c245e9c21a Binary files /dev/null and b/.maestro/screenshots/uikit-uikitmessage--section.png differ diff --git a/.maestro/screenshots/uikit-uikitmodal--modal-actions-with-show-more.png b/.maestro/screenshots/uikit-uikitmodal--modal-actions-with-show-more.png new file mode 100644 index 00000000000..928d18d0bad Binary files /dev/null and b/.maestro/screenshots/uikit-uikitmodal--modal-actions-with-show-more.png differ diff --git a/.maestro/screenshots/uikit-uikitmodal--modal-actions.png b/.maestro/screenshots/uikit-uikitmodal--modal-actions.png new file mode 100644 index 00000000000..2f4c01e3c37 Binary files /dev/null and b/.maestro/screenshots/uikit-uikitmodal--modal-actions.png differ diff --git a/.maestro/screenshots/uikit-uikitmodal--modal-contexts-dividers.png b/.maestro/screenshots/uikit-uikitmodal--modal-contexts-dividers.png new file mode 100644 index 00000000000..1d1d0f48184 Binary files /dev/null and b/.maestro/screenshots/uikit-uikitmodal--modal-contexts-dividers.png differ diff --git a/.maestro/screenshots/uikit-uikitmodal--modal-date-picker-with-error.png b/.maestro/screenshots/uikit-uikitmodal--modal-date-picker-with-error.png new file mode 100644 index 00000000000..dae1e067241 Binary files /dev/null and b/.maestro/screenshots/uikit-uikitmodal--modal-date-picker-with-error.png differ diff --git a/.maestro/screenshots/uikit-uikitmodal--modal-form-input.png b/.maestro/screenshots/uikit-uikitmodal--modal-form-input.png new file mode 100644 index 00000000000..55f2bf8c1ff Binary files /dev/null and b/.maestro/screenshots/uikit-uikitmodal--modal-form-input.png differ diff --git a/.maestro/screenshots/uikit-uikitmodal--modal-form-text-area.png b/.maestro/screenshots/uikit-uikitmodal--modal-form-text-area.png new file mode 100644 index 00000000000..aefea27165a Binary files /dev/null and b/.maestro/screenshots/uikit-uikitmodal--modal-form-text-area.png differ diff --git a/.maestro/screenshots/uikit-uikitmodal--modal-input-with-add-field.png b/.maestro/screenshots/uikit-uikitmodal--modal-input-with-add-field.png new file mode 100644 index 00000000000..43c8751c3f2 Binary files /dev/null and b/.maestro/screenshots/uikit-uikitmodal--modal-input-with-add-field.png differ diff --git a/.maestro/screenshots/uikit-uikitmodal--modal-input-with-error.png b/.maestro/screenshots/uikit-uikitmodal--modal-input-with-error.png new file mode 100644 index 00000000000..be6d1dd480f Binary files /dev/null and b/.maestro/screenshots/uikit-uikitmodal--modal-input-with-error.png differ diff --git a/.maestro/screenshots/uikit-uikitmodal--modal-multi-select.png b/.maestro/screenshots/uikit-uikitmodal--modal-multi-select.png new file mode 100644 index 00000000000..7b47ef97c35 Binary files /dev/null and b/.maestro/screenshots/uikit-uikitmodal--modal-multi-select.png differ diff --git a/.maestro/screenshots/uikit-uikitmodal--modal-multilne-with-error.png b/.maestro/screenshots/uikit-uikitmodal--modal-multilne-with-error.png new file mode 100644 index 00000000000..54cc8a01ef2 Binary files /dev/null and b/.maestro/screenshots/uikit-uikitmodal--modal-multilne-with-error.png differ diff --git a/.maestro/screenshots/uikit-uikitmodal--modal-section-accessories.png b/.maestro/screenshots/uikit-uikitmodal--modal-section-accessories.png new file mode 100644 index 00000000000..ebd25eb3a81 Binary files /dev/null and b/.maestro/screenshots/uikit-uikitmodal--modal-section-accessories.png differ diff --git a/.maestro/screenshots/uikit-uikitmodal--modal-section-selects.png b/.maestro/screenshots/uikit-uikitmodal--modal-section-selects.png new file mode 100644 index 00000000000..364a57cce89 Binary files /dev/null and b/.maestro/screenshots/uikit-uikitmodal--modal-section-selects.png differ diff --git a/.maestro/screenshots/unread-badge--all.png b/.maestro/screenshots/unread-badge--all.png new file mode 100644 index 00000000000..beef6d716ea Binary files /dev/null and b/.maestro/screenshots/unread-badge--all.png differ diff --git a/.maestro/screenshots/unread-badge--different-mention-types.png b/.maestro/screenshots/unread-badge--different-mention-types.png new file mode 100644 index 00000000000..b082c245836 Binary files /dev/null and b/.maestro/screenshots/unread-badge--different-mention-types.png differ diff --git a/.maestro/screenshots/unread-badge--normal.png b/.maestro/screenshots/unread-badge--normal.png new file mode 100644 index 00000000000..f4e9f23956a Binary files /dev/null and b/.maestro/screenshots/unread-badge--normal.png differ diff --git a/.maestro/screenshots/unread-badge--small.png b/.maestro/screenshots/unread-badge--small.png new file mode 100644 index 00000000000..41435af13ec Binary files /dev/null and b/.maestro/screenshots/unread-badge--small.png differ diff --git a/.maestro/screenshots/unread-badge--themes.png b/.maestro/screenshots/unread-badge--themes.png new file mode 100644 index 00000000000..e1332b7f3b4 Binary files /dev/null and b/.maestro/screenshots/unread-badge--themes.png differ diff --git a/.maestro/storybook/storybook.yaml b/.maestro/storybook/storybook.yaml new file mode 100644 index 00000000000..be46d010d1d --- /dev/null +++ b/.maestro/storybook/storybook.yaml @@ -0,0 +1,2090 @@ +appId: chat.rocket.reactnative +--- + +- openLink: "rocketchat://storybook?path=/story/avatar--avatar-base-64" +- assertScreenshot: + path: .maestro/screenshots/avatar--avatar-base-64 + cropOn: + id: avatar--avatar-base-64 + thresholdPercentage: 1 + optional: true + +- openLink: "rocketchat://storybook?path=/story/avatar--avatar-external-provider-url" +- assertScreenshot: + path: .maestro/screenshots/avatar--avatar-external-provider-url + cropOn: + id: avatar--avatar-external-provider-url + thresholdPercentage: 1 + optional: true + +- openLink: "rocketchat://storybook?path=/story/avatar--avatar-path" +- assertScreenshot: + path: .maestro/screenshots/avatar--avatar-path + cropOn: + id: avatar--avatar-path + thresholdPercentage: 1 + optional: true + +- openLink: "rocketchat://storybook?path=/story/avatar--avatar-room-id" +- assertScreenshot: + path: .maestro/screenshots/avatar--avatar-room-id + cropOn: + id: avatar--avatar-room-id + thresholdPercentage: 1 + optional: true + +- openLink: "rocketchat://storybook?path=/story/avatar--avatar-text" +- assertScreenshot: + path: .maestro/screenshots/avatar--avatar-text + cropOn: + id: avatar--avatar-text + thresholdPercentage: 1 + optional: true + +- openLink: "rocketchat://storybook?path=/story/avatar--avatar-url" +- assertScreenshot: + path: .maestro/screenshots/avatar--avatar-url + cropOn: + id: avatar--avatar-url + thresholdPercentage: 1 + optional: true + +- openLink: "rocketchat://storybook?path=/story/avatar--channel" +- assertScreenshot: + path: .maestro/screenshots/avatar--channel + cropOn: + id: avatar--channel + thresholdPercentage: 1 + optional: true + +- openLink: "rocketchat://storybook?path=/story/avatar--children" +- assertScreenshot: + path: .maestro/screenshots/avatar--children + cropOn: + id: avatar--children + thresholdPercentage: 1 + optional: true + +- openLink: "rocketchat://storybook?path=/story/avatar--custom-border-radius" +- assertScreenshot: + path: .maestro/screenshots/avatar--custom-border-radius + cropOn: + id: avatar--custom-border-radius + thresholdPercentage: 1 + optional: true + +- openLink: "rocketchat://storybook?path=/story/avatar--custom-style" +- assertScreenshot: + path: .maestro/screenshots/avatar--custom-style + cropOn: + id: avatar--custom-style + thresholdPercentage: 1 + optional: true + +- openLink: "rocketchat://storybook?path=/story/avatar--direct" +- assertScreenshot: + path: .maestro/screenshots/avatar--direct + cropOn: + id: avatar--direct + thresholdPercentage: 1 + optional: true + +- openLink: "rocketchat://storybook?path=/story/avatar--emoji" +- assertScreenshot: + path: .maestro/screenshots/avatar--emoji + cropOn: + id: avatar--emoji + thresholdPercentage: 1 + optional: true + +- openLink: "rocketchat://storybook?path=/story/avatar--room-avatar-external-provider-url" +- assertScreenshot: + path: .maestro/screenshots/avatar--room-avatar-external-provider-url + cropOn: + id: avatar--room-avatar-external-provider-url + thresholdPercentage: 1 + optional: true + +- openLink: "rocketchat://storybook?path=/story/avatar--static" +- assertScreenshot: + path: .maestro/screenshots/avatar--static + cropOn: + id: avatar--static + thresholdPercentage: 1 + optional: true + +- openLink: "rocketchat://storybook?path=/story/avatar--touchable" +- assertScreenshot: + path: .maestro/screenshots/avatar--touchable + cropOn: + id: avatar--touchable + thresholdPercentage: 1 + optional: true + +- openLink: "rocketchat://storybook?path=/story/avatar--with-e-tag" +- assertScreenshot: + path: .maestro/screenshots/avatar--with-e-tag + cropOn: + id: avatar--with-e-tag + thresholdPercentage: 1 + optional: true + +- openLink: "rocketchat://storybook?path=/story/avatar--without-e-tag" +- assertScreenshot: + path: .maestro/screenshots/avatar--without-e-tag + cropOn: + id: avatar--without-e-tag + thresholdPercentage: 1 + optional: true + +- openLink: "rocketchat://storybook?path=/story/avatar--wrong-server" +- assertScreenshot: + path: .maestro/screenshots/avatar--wrong-server + cropOn: + id: avatar--wrong-server + thresholdPercentage: 1 + optional: true + +- openLink: "rocketchat://storybook?path=/story/backgroundcontainer--basic" +- assertScreenshot: + path: .maestro/screenshots/backgroundcontainer--basic + cropOn: + id: backgroundcontainer--basic + thresholdPercentage: 1 + optional: true + +- openLink: "rocketchat://storybook?path=/story/backgroundcontainer--black-theme-loading" +- assertScreenshot: + path: .maestro/screenshots/backgroundcontainer--black-theme-loading + cropOn: + id: backgroundcontainer--black-theme-loading + thresholdPercentage: 1 + optional: true + +- openLink: "rocketchat://storybook?path=/story/backgroundcontainer--black-theme-text" +- assertScreenshot: + path: .maestro/screenshots/backgroundcontainer--black-theme-text + cropOn: + id: backgroundcontainer--black-theme-text + thresholdPercentage: 1 + optional: true + +- openLink: "rocketchat://storybook?path=/story/backgroundcontainer--dark-theme-loading" +- assertScreenshot: + path: .maestro/screenshots/backgroundcontainer--dark-theme-loading + cropOn: + id: backgroundcontainer--dark-theme-loading + thresholdPercentage: 1 + optional: true + +- openLink: "rocketchat://storybook?path=/story/backgroundcontainer--dark-theme-text" +- assertScreenshot: + path: .maestro/screenshots/backgroundcontainer--dark-theme-text + cropOn: + id: backgroundcontainer--dark-theme-text + thresholdPercentage: 1 + optional: true + +- openLink: "rocketchat://storybook?path=/story/backgroundcontainer--loading" +- assertScreenshot: + path: .maestro/screenshots/backgroundcontainer--loading + cropOn: + id: backgroundcontainer--loading + thresholdPercentage: 1 + optional: true + +- openLink: "rocketchat://storybook?path=/story/backgroundcontainer--long-text" +- assertScreenshot: + path: .maestro/screenshots/backgroundcontainer--long-text + cropOn: + id: backgroundcontainer--long-text + thresholdPercentage: 1 + optional: true + +- openLink: "rocketchat://storybook?path=/story/backgroundcontainer--text" +- assertScreenshot: + path: .maestro/screenshots/backgroundcontainer--text + cropOn: + id: backgroundcontainer--text + thresholdPercentage: 1 + optional: true + +- openLink: "rocketchat://storybook?path=/story/button--custom-button" +- assertScreenshot: + path: .maestro/screenshots/button--custom-button + cropOn: + id: button--custom-button + thresholdPercentage: 1 + optional: true + +- openLink: "rocketchat://storybook?path=/story/button--disabled-button" +- assertScreenshot: + path: .maestro/screenshots/button--disabled-button + cropOn: + id: button--disabled-button + thresholdPercentage: 1 + optional: true + +- openLink: "rocketchat://storybook?path=/story/button--disabled-loading-button" +- assertScreenshot: + path: .maestro/screenshots/button--disabled-loading-button + cropOn: + id: button--disabled-loading-button + thresholdPercentage: 1 + optional: true + +- openLink: "rocketchat://storybook?path=/story/button--loading-button" +- assertScreenshot: + path: .maestro/screenshots/button--loading-button + cropOn: + id: button--loading-button + thresholdPercentage: 1 + optional: true + +- openLink: "rocketchat://storybook?path=/story/button--primary-button" +- assertScreenshot: + path: .maestro/screenshots/button--primary-button + cropOn: + id: button--primary-button + thresholdPercentage: 1 + optional: true + +- openLink: "rocketchat://storybook?path=/story/button--secondary-button" +- assertScreenshot: + path: .maestro/screenshots/button--secondary-button + cropOn: + id: button--secondary-button + thresholdPercentage: 1 + optional: true + +- openLink: "rocketchat://storybook?path=/story/button--small-button" +- assertScreenshot: + path: .maestro/screenshots/button--small-button + cropOn: + id: button--small-button + thresholdPercentage: 1 + optional: true + +- openLink: "rocketchat://storybook?path=/story/chip--chip-full-width" +- assertScreenshot: + path: .maestro/screenshots/chip--chip-full-width + cropOn: + id: chip--chip-full-width + thresholdPercentage: 1 + optional: true + +- openLink: "rocketchat://storybook?path=/story/chip--chip-text" +- assertScreenshot: + path: .maestro/screenshots/chip--chip-text + cropOn: + id: chip--chip-text + thresholdPercentage: 1 + optional: true + +- openLink: "rocketchat://storybook?path=/story/chip--chip-without-avatar" +- assertScreenshot: + path: .maestro/screenshots/chip--chip-without-avatar + cropOn: + id: chip--chip-without-avatar + thresholdPercentage: 1 + optional: true + +- openLink: "rocketchat://storybook?path=/story/chip--chip-without-avatar-and-icon" +- assertScreenshot: + path: .maestro/screenshots/chip--chip-without-avatar-and-icon + cropOn: + id: chip--chip-without-avatar-and-icon + thresholdPercentage: 1 + optional: true + +- openLink: "rocketchat://storybook?path=/story/chip--chip-without-icon" +- assertScreenshot: + path: .maestro/screenshots/chip--chip-without-icon + cropOn: + id: chip--chip-without-icon + thresholdPercentage: 1 + optional: true + +- openLink: "rocketchat://storybook?path=/story/chip--chip-with-short-text" +- assertScreenshot: + path: .maestro/screenshots/chip--chip-with-short-text + cropOn: + id: chip--chip-with-short-text + thresholdPercentage: 1 + optional: true + +- openLink: "rocketchat://storybook?path=/story/collapsible-text--item" +- assertScreenshot: + path: .maestro/screenshots/collapsible-text--item + cropOn: + id: collapsible-text--item + thresholdPercentage: 1 + optional: true + +- openLink: "rocketchat://storybook?path=/story/directoryitem--custom-style" +- assertScreenshot: + path: .maestro/screenshots/directoryitem--custom-style + cropOn: + id: directoryitem--custom-style + thresholdPercentage: 1 + optional: true + +- openLink: "rocketchat://storybook?path=/story/directoryitem--default" +- assertScreenshot: + path: .maestro/screenshots/directoryitem--default + cropOn: + id: directoryitem--default + thresholdPercentage: 1 + optional: true + +- openLink: "rocketchat://storybook?path=/story/directoryitem--direct-message" +- assertScreenshot: + path: .maestro/screenshots/directoryitem--direct-message + cropOn: + id: directoryitem--direct-message + thresholdPercentage: 1 + optional: true + +- openLink: "rocketchat://storybook?path=/story/directoryitem--long-room-name" +- assertScreenshot: + path: .maestro/screenshots/directoryitem--long-room-name + cropOn: + id: directoryitem--long-room-name + thresholdPercentage: 1 + optional: true + +- openLink: "rocketchat://storybook?path=/story/directoryitem--only-title" +- assertScreenshot: + path: .maestro/screenshots/directoryitem--only-title + cropOn: + id: directoryitem--only-title + thresholdPercentage: 1 + optional: true + +- openLink: "rocketchat://storybook?path=/story/directoryitem--team-main" +- assertScreenshot: + path: .maestro/screenshots/directoryitem--team-main + cropOn: + id: directoryitem--team-main + thresholdPercentage: 1 + optional: true + +- openLink: "rocketchat://storybook?path=/story/directoryitem--without-description" +- assertScreenshot: + path: .maestro/screenshots/directoryitem--without-description + cropOn: + id: directoryitem--without-description + thresholdPercentage: 1 + optional: true + +- openLink: "rocketchat://storybook?path=/story/directoryitem--with-right-label" +- assertScreenshot: + path: .maestro/screenshots/directoryitem--with-right-label + cropOn: + id: directoryitem--with-right-label + thresholdPercentage: 1 + optional: true + +- openLink: "rocketchat://storybook?path=/story/headerbuttons--badge" +- assertScreenshot: + path: .maestro/screenshots/headerbuttons--badge + cropOn: + id: headerbuttons--badge + thresholdPercentage: 1 + optional: true + +- openLink: "rocketchat://storybook?path=/story/headerbuttons--common" +- assertScreenshot: + path: .maestro/screenshots/headerbuttons--common + cropOn: + id: headerbuttons--common + thresholdPercentage: 1 + optional: true + +- openLink: "rocketchat://storybook?path=/story/headerbuttons--icons" +- assertScreenshot: + path: .maestro/screenshots/headerbuttons--icons + cropOn: + id: headerbuttons--icons + thresholdPercentage: 1 + optional: true + +- openLink: "rocketchat://storybook?path=/story/headerbuttons--themes" +- assertScreenshot: + path: .maestro/screenshots/headerbuttons--themes + cropOn: + id: headerbuttons--themes + thresholdPercentage: 1 + optional: true + +- openLink: "rocketchat://storybook?path=/story/headerbuttons--title" +- assertScreenshot: + path: .maestro/screenshots/headerbuttons--title + cropOn: + id: headerbuttons--title + thresholdPercentage: 1 + optional: true + +- openLink: "rocketchat://storybook?path=/story/list--alert" +- assertScreenshot: + path: .maestro/screenshots/list--alert + cropOn: + id: list--alert + thresholdPercentage: 1 + optional: true + +- openLink: "rocketchat://storybook?path=/story/list--header" +- assertScreenshot: + path: .maestro/screenshots/list--header + cropOn: + id: list--header + thresholdPercentage: 1 + optional: true + +- openLink: "rocketchat://storybook?path=/story/list--icon" +- assertScreenshot: + path: .maestro/screenshots/list--icon + cropOn: + id: list--icon + thresholdPercentage: 1 + optional: true + +- openLink: "rocketchat://storybook?path=/story/list--list-item-with-right-container-style" +- assertScreenshot: + path: .maestro/screenshots/list--list-item-with-right-container-style + cropOn: + id: list--list-item-with-right-container-style + thresholdPercentage: 1 + optional: true + +- openLink: "rocketchat://storybook?path=/story/list--pressable" +- assertScreenshot: + path: .maestro/screenshots/list--pressable + cropOn: + id: list--pressable + thresholdPercentage: 1 + optional: true + +- openLink: "rocketchat://storybook?path=/story/list--radio" +- assertScreenshot: + path: .maestro/screenshots/list--radio + cropOn: + id: list--radio + thresholdPercentage: 1 + optional: true + +- openLink: "rocketchat://storybook?path=/story/list--section-and-info" +- assertScreenshot: + path: .maestro/screenshots/list--section-and-info + cropOn: + id: list--section-and-info + thresholdPercentage: 1 + optional: true + +- openLink: "rocketchat://storybook?path=/story/list--separator" +- assertScreenshot: + path: .maestro/screenshots/list--separator + cropOn: + id: list--separator + thresholdPercentage: 1 + optional: true + +- openLink: "rocketchat://storybook?path=/story/list--title-and-subtitle" +- assertScreenshot: + path: .maestro/screenshots/list--title-and-subtitle + cropOn: + id: list--title-and-subtitle + thresholdPercentage: 1 + optional: true + +- openLink: "rocketchat://storybook?path=/story/list--with-bigger-font" +- assertScreenshot: + path: .maestro/screenshots/list--with-bigger-font + cropOn: + id: list--with-bigger-font + thresholdPercentage: 1 + optional: true + +- openLink: "rocketchat://storybook?path=/story/list--with-black-theme" +- assertScreenshot: + path: .maestro/screenshots/list--with-black-theme + cropOn: + id: list--with-black-theme + thresholdPercentage: 1 + optional: true + +- openLink: "rocketchat://storybook?path=/story/list--with-custom-colors" +- assertScreenshot: + path: .maestro/screenshots/list--with-custom-colors + cropOn: + id: list--with-custom-colors + thresholdPercentage: 1 + optional: true + +- openLink: "rocketchat://storybook?path=/story/list--with-dark-theme" +- assertScreenshot: + path: .maestro/screenshots/list--with-dark-theme + cropOn: + id: list--with-dark-theme + thresholdPercentage: 1 + optional: true + +- openLink: "rocketchat://storybook?path=/story/list--with-flat-list" +- assertScreenshot: + path: .maestro/screenshots/list--with-flat-list + cropOn: + id: list--with-flat-list + thresholdPercentage: 1 + optional: true + +- openLink: "rocketchat://storybook?path=/story/list--with-icon" +- assertScreenshot: + path: .maestro/screenshots/list--with-icon + cropOn: + id: list--with-icon + thresholdPercentage: 1 + optional: true + +- openLink: "rocketchat://storybook?path=/story/list--with-small-font" +- assertScreenshot: + path: .maestro/screenshots/list--with-small-font + cropOn: + id: list--with-small-font + thresholdPercentage: 1 + optional: true + +- openLink: "rocketchat://storybook?path=/story/login-services--separators" +- assertScreenshot: + path: .maestro/screenshots/login-services--separators + cropOn: + id: login-services--separators + thresholdPercentage: 1 + optional: true + +- openLink: "rocketchat://storybook?path=/story/login-services--service-list" +- assertScreenshot: + path: .maestro/screenshots/login-services--service-list + cropOn: + id: login-services--service-list + thresholdPercentage: 1 + optional: true + +- openLink: "rocketchat://storybook?path=/story/reactionslist--reactions-list-full-name" +- assertScreenshot: + path: .maestro/screenshots/reactionslist--reactions-list-full-name + cropOn: + id: reactionslist--reactions-list-full-name + thresholdPercentage: 1 + optional: true + +- openLink: "rocketchat://storybook?path=/story/reactionslist--reactions-list-story" +- assertScreenshot: + path: .maestro/screenshots/reactionslist--reactions-list-story + cropOn: + id: reactionslist--reactions-list-story + thresholdPercentage: 1 + optional: true + +- openLink: "rocketchat://storybook?path=/story/roomheader--icons" +- assertScreenshot: + path: .maestro/screenshots/roomheader--icons + cropOn: + id: roomheader--icons + thresholdPercentage: 1 + optional: true + +- openLink: "rocketchat://storybook?path=/story/roomheader--themes" +- assertScreenshot: + path: .maestro/screenshots/roomheader--themes + cropOn: + id: roomheader--themes + thresholdPercentage: 1 + optional: true + +- openLink: "rocketchat://storybook?path=/story/roomheader--thread" +- assertScreenshot: + path: .maestro/screenshots/roomheader--thread + cropOn: + id: roomheader--thread + thresholdPercentage: 1 + optional: true + +- openLink: "rocketchat://storybook?path=/story/roomheader--title-subtitle" +- assertScreenshot: + path: .maestro/screenshots/roomheader--title-subtitle + cropOn: + id: roomheader--title-subtitle + thresholdPercentage: 1 + optional: true + +- openLink: "rocketchat://storybook?path=/story/roomheader--typing" +- assertScreenshot: + path: .maestro/screenshots/roomheader--typing + cropOn: + id: roomheader--typing + thresholdPercentage: 1 + optional: true + +- openLink: "rocketchat://storybook?path=/story/roomitem--alerts" +- assertScreenshot: + path: .maestro/screenshots/roomitem--alerts + cropOn: + id: roomitem--alerts + thresholdPercentage: 1 + optional: true + +- openLink: "rocketchat://storybook?path=/story/roomitem--basic" +- assertScreenshot: + path: .maestro/screenshots/roomitem--basic + cropOn: + id: roomitem--basic + thresholdPercentage: 1 + optional: true + +- openLink: "rocketchat://storybook?path=/story/roomitem--condensed-room-item" +- assertScreenshot: + path: .maestro/screenshots/roomitem--condensed-room-item + cropOn: + id: roomitem--condensed-room-item + thresholdPercentage: 1 + optional: true + +- openLink: "rocketchat://storybook?path=/story/roomitem--condensed-room-item-without-avatar" +- assertScreenshot: + path: .maestro/screenshots/roomitem--condensed-room-item-without-avatar + cropOn: + id: roomitem--condensed-room-item-without-avatar + thresholdPercentage: 1 + optional: true + +- openLink: "rocketchat://storybook?path=/story/roomitem--expanded-room-item-without-avatar" +- assertScreenshot: + path: .maestro/screenshots/roomitem--expanded-room-item-without-avatar + cropOn: + id: roomitem--expanded-room-item-without-avatar + thresholdPercentage: 1 + optional: true + +- openLink: "rocketchat://storybook?path=/story/roomitem--invited-room" +- assertScreenshot: + path: .maestro/screenshots/roomitem--invited-room + cropOn: + id: roomitem--invited-room + thresholdPercentage: 1 + optional: true + +- openLink: "rocketchat://storybook?path=/story/roomitem--last-message" +- assertScreenshot: + path: .maestro/screenshots/roomitem--last-message + cropOn: + id: roomitem--last-message + thresholdPercentage: 1 + optional: true + +- openLink: "rocketchat://storybook?path=/story/roomitem--omnichannel-icon" +- assertScreenshot: + path: .maestro/screenshots/roomitem--omnichannel-icon + cropOn: + id: roomitem--omnichannel-icon + thresholdPercentage: 1 + optional: true + +- openLink: "rocketchat://storybook?path=/story/roomitem--tag" +- assertScreenshot: + path: .maestro/screenshots/roomitem--tag + cropOn: + id: roomitem--tag + thresholdPercentage: 1 + optional: true + +- openLink: "rocketchat://storybook?path=/story/roomitem--touch" +- assertScreenshot: + path: .maestro/screenshots/roomitem--touch + cropOn: + id: roomitem--touch + thresholdPercentage: 1 + optional: true + +- openLink: "rocketchat://storybook?path=/story/roomitem--type" +- assertScreenshot: + path: .maestro/screenshots/roomitem--type + cropOn: + id: roomitem--type + thresholdPercentage: 1 + optional: true + +- openLink: "rocketchat://storybook?path=/story/roomitem--user" +- assertScreenshot: + path: .maestro/screenshots/roomitem--user + cropOn: + id: roomitem--user + thresholdPercentage: 1 + optional: true + +- openLink: "rocketchat://storybook?path=/story/roomtypeicon--all" +- assertScreenshot: + path: .maestro/screenshots/roomtypeicon--all + cropOn: + id: roomtypeicon--all + thresholdPercentage: 1 + optional: true + +- openLink: "rocketchat://storybook?path=/story/searchbox--basic" +- assertScreenshot: + path: .maestro/screenshots/searchbox--basic + cropOn: + id: searchbox--basic + thresholdPercentage: 1 + optional: true + +- openLink: "rocketchat://storybook?path=/story/serveritem--content" +- assertScreenshot: + path: .maestro/screenshots/serveritem--content + cropOn: + id: serveritem--content + thresholdPercentage: 1 + optional: true + +- openLink: "rocketchat://storybook?path=/story/serveritem--swipe-actions" +- assertScreenshot: + path: .maestro/screenshots/serveritem--swipe-actions + cropOn: + id: serveritem--swipe-actions + thresholdPercentage: 1 + optional: true + +- openLink: "rocketchat://storybook?path=/story/serveritem--themes" +- assertScreenshot: + path: .maestro/screenshots/serveritem--themes + cropOn: + id: serveritem--themes + thresholdPercentage: 1 + optional: true + +- openLink: "rocketchat://storybook?path=/story/status--all" +- assertScreenshot: + path: .maestro/screenshots/status--all + cropOn: + id: status--all + thresholdPercentage: 1 + optional: true + +- openLink: "rocketchat://storybook?path=/story/textinput--icons" +- assertScreenshot: + path: .maestro/screenshots/textinput--icons + cropOn: + id: textinput--icons + thresholdPercentage: 1 + optional: true + +- openLink: "rocketchat://storybook?path=/story/textinput--loading" +- assertScreenshot: + path: .maestro/screenshots/textinput--loading + cropOn: + id: textinput--loading + thresholdPercentage: 1 + optional: true + +- openLink: "rocketchat://storybook?path=/story/textinput--multiline" +- assertScreenshot: + path: .maestro/screenshots/textinput--multiline + cropOn: + id: textinput--multiline + thresholdPercentage: 1 + optional: true + +- openLink: "rocketchat://storybook?path=/story/textinput--secure-text-entry" +- assertScreenshot: + path: .maestro/screenshots/textinput--secure-text-entry + cropOn: + id: textinput--secure-text-entry + thresholdPercentage: 1 + optional: true + +- openLink: "rocketchat://storybook?path=/story/textinput--short-and-long" +- assertScreenshot: + path: .maestro/screenshots/textinput--short-and-long + cropOn: + id: textinput--short-and-long + thresholdPercentage: 1 + optional: true + +- openLink: "rocketchat://storybook?path=/story/uikit-uikitmessage--action-button" +- assertScreenshot: + path: .maestro/screenshots/uikit-uikitmessage--action-button + cropOn: + id: uikit-uikitmessage--action-button + thresholdPercentage: 1 + optional: true + +- openLink: "rocketchat://storybook?path=/story/uikit-uikitmessage--action-select" +- assertScreenshot: + path: .maestro/screenshots/uikit-uikitmessage--action-select + cropOn: + id: uikit-uikitmessage--action-select + thresholdPercentage: 1 + optional: true + +- openLink: "rocketchat://storybook?path=/story/uikit-uikitmessage--fields" +- assertScreenshot: + path: .maestro/screenshots/uikit-uikitmessage--fields + cropOn: + id: uikit-uikitmessage--fields + thresholdPercentage: 1 + optional: true + +- openLink: "rocketchat://storybook?path=/story/uikit-uikitmessage--section" +- assertScreenshot: + path: .maestro/screenshots/uikit-uikitmessage--section + cropOn: + id: uikit-uikitmessage--section + thresholdPercentage: 1 + optional: true + +- openLink: "rocketchat://storybook?path=/story/uikit-uikitmessage--section-button" +- assertScreenshot: + path: .maestro/screenshots/uikit-uikitmessage--section-button + cropOn: + id: uikit-uikitmessage--section-button + thresholdPercentage: 1 + optional: true + +- openLink: "rocketchat://storybook?path=/story/uikit-uikitmessage--section-date-picker" +- assertScreenshot: + path: .maestro/screenshots/uikit-uikitmessage--section-date-picker + cropOn: + id: uikit-uikitmessage--section-date-picker + thresholdPercentage: 1 + optional: true + +- openLink: "rocketchat://storybook?path=/story/uikit-uikitmessage--section-markdown-list" +- assertScreenshot: + path: .maestro/screenshots/uikit-uikitmessage--section-markdown-list + cropOn: + id: uikit-uikitmessage--section-markdown-list + thresholdPercentage: 1 + optional: true + +- openLink: "rocketchat://storybook?path=/story/uikit-uikitmessage--section-multi-select" +- assertScreenshot: + path: .maestro/screenshots/uikit-uikitmessage--section-multi-select + cropOn: + id: uikit-uikitmessage--section-multi-select + thresholdPercentage: 1 + optional: true + +- openLink: "rocketchat://storybook?path=/story/uikit-uikitmessage--section-overflow" +- assertScreenshot: + path: .maestro/screenshots/uikit-uikitmessage--section-overflow + cropOn: + id: uikit-uikitmessage--section-overflow + thresholdPercentage: 1 + optional: true + +- openLink: "rocketchat://storybook?path=/story/uikit-uikitmessage--section-select" +- assertScreenshot: + path: .maestro/screenshots/uikit-uikitmessage--section-select + cropOn: + id: uikit-uikitmessage--section-select + thresholdPercentage: 1 + optional: true + +- openLink: "rocketchat://storybook?path=/story/uikit-uikitmodal--modal-actions" +- assertScreenshot: + path: .maestro/screenshots/uikit-uikitmodal--modal-actions + cropOn: + id: uikit-uikitmodal--modal-actions + thresholdPercentage: 1 + optional: true + +- openLink: "rocketchat://storybook?path=/story/uikit-uikitmodal--modal-actions-with-show-more" +- assertScreenshot: + path: .maestro/screenshots/uikit-uikitmodal--modal-actions-with-show-more + cropOn: + id: uikit-uikitmodal--modal-actions-with-show-more + thresholdPercentage: 1 + optional: true + +- openLink: "rocketchat://storybook?path=/story/uikit-uikitmodal--modal-contexts-dividers" +- assertScreenshot: + path: .maestro/screenshots/uikit-uikitmodal--modal-contexts-dividers + cropOn: + id: uikit-uikitmodal--modal-contexts-dividers + thresholdPercentage: 1 + optional: true + +- openLink: "rocketchat://storybook?path=/story/uikit-uikitmodal--modal-date-picker-with-error" +- assertScreenshot: + path: .maestro/screenshots/uikit-uikitmodal--modal-date-picker-with-error + cropOn: + id: uikit-uikitmodal--modal-date-picker-with-error + thresholdPercentage: 1 + optional: true + +- openLink: "rocketchat://storybook?path=/story/uikit-uikitmodal--modal-form-input" +- assertScreenshot: + path: .maestro/screenshots/uikit-uikitmodal--modal-form-input + cropOn: + id: uikit-uikitmodal--modal-form-input + thresholdPercentage: 1 + optional: true + +- openLink: "rocketchat://storybook?path=/story/uikit-uikitmodal--modal-form-text-area" +- assertScreenshot: + path: .maestro/screenshots/uikit-uikitmodal--modal-form-text-area + cropOn: + id: uikit-uikitmodal--modal-form-text-area + thresholdPercentage: 1 + optional: true + +- openLink: "rocketchat://storybook?path=/story/uikit-uikitmodal--modal-input-with-add-field" +- assertScreenshot: + path: .maestro/screenshots/uikit-uikitmodal--modal-input-with-add-field + cropOn: + id: uikit-uikitmodal--modal-input-with-add-field + thresholdPercentage: 1 + optional: true + +- openLink: "rocketchat://storybook?path=/story/uikit-uikitmodal--modal-input-with-error" +- assertScreenshot: + path: .maestro/screenshots/uikit-uikitmodal--modal-input-with-error + cropOn: + id: uikit-uikitmodal--modal-input-with-error + thresholdPercentage: 1 + optional: true + +- openLink: "rocketchat://storybook?path=/story/uikit-uikitmodal--modal-multilne-with-error" +- assertScreenshot: + path: .maestro/screenshots/uikit-uikitmodal--modal-multilne-with-error + cropOn: + id: uikit-uikitmodal--modal-multilne-with-error + thresholdPercentage: 1 + optional: true + +- openLink: "rocketchat://storybook?path=/story/uikit-uikitmodal--modal-multi-select" +- assertScreenshot: + path: .maestro/screenshots/uikit-uikitmodal--modal-multi-select + cropOn: + id: uikit-uikitmodal--modal-multi-select + thresholdPercentage: 1 + optional: true + +- openLink: "rocketchat://storybook?path=/story/uikit-uikitmodal--modal-section-accessories" +- assertScreenshot: + path: .maestro/screenshots/uikit-uikitmodal--modal-section-accessories + cropOn: + id: uikit-uikitmodal--modal-section-accessories + thresholdPercentage: 1 + optional: true + +- openLink: "rocketchat://storybook?path=/story/uikit-uikitmodal--modal-section-selects" +- assertScreenshot: + path: .maestro/screenshots/uikit-uikitmodal--modal-section-selects + cropOn: + id: uikit-uikitmodal--modal-section-selects + thresholdPercentage: 1 + optional: true + +- openLink: "rocketchat://storybook?path=/story/unread-badge--all" +- assertScreenshot: + path: .maestro/screenshots/unread-badge--all + cropOn: + id: unread-badge--all + thresholdPercentage: 1 + optional: true + +- openLink: "rocketchat://storybook?path=/story/unread-badge--different-mention-types" +- assertScreenshot: + path: .maestro/screenshots/unread-badge--different-mention-types + cropOn: + id: unread-badge--different-mention-types + thresholdPercentage: 1 + optional: true + +- openLink: "rocketchat://storybook?path=/story/unread-badge--normal" +- assertScreenshot: + path: .maestro/screenshots/unread-badge--normal + cropOn: + id: unread-badge--normal + thresholdPercentage: 1 + optional: true + +- openLink: "rocketchat://storybook?path=/story/unread-badge--small" +- assertScreenshot: + path: .maestro/screenshots/unread-badge--small + cropOn: + id: unread-badge--small + thresholdPercentage: 1 + optional: true + +- openLink: "rocketchat://storybook?path=/story/unread-badge--themes" +- assertScreenshot: + path: .maestro/screenshots/unread-badge--themes + cropOn: + id: unread-badge--themes + thresholdPercentage: 1 + optional: true + +- openLink: "rocketchat://storybook?path=/story/markdown--block-quote" +- assertScreenshot: + path: .maestro/screenshots/markdown--block-quote + cropOn: + id: markdown--block-quote + thresholdPercentage: 1 + optional: true + +- openLink: "rocketchat://storybook?path=/story/markdown--code" +- assertScreenshot: + path: .maestro/screenshots/markdown--code + cropOn: + id: markdown--code + thresholdPercentage: 1 + optional: true + +- openLink: "rocketchat://storybook?path=/story/markdown--emoji" +- assertScreenshot: + path: .maestro/screenshots/markdown--emoji + cropOn: + id: markdown--emoji + thresholdPercentage: 1 + optional: true + +- openLink: "rocketchat://storybook?path=/story/markdown--hashtag" +- assertScreenshot: + path: .maestro/screenshots/markdown--hashtag + cropOn: + id: markdown--hashtag + thresholdPercentage: 1 + optional: true + +- openLink: "rocketchat://storybook?path=/story/markdown--headers" +- assertScreenshot: + path: .maestro/screenshots/markdown--headers + cropOn: + id: markdown--headers + thresholdPercentage: 1 + optional: true + +- openLink: "rocketchat://storybook?path=/story/markdown--image" +- assertScreenshot: + path: .maestro/screenshots/markdown--image + cropOn: + id: markdown--image + thresholdPercentage: 1 + optional: true + +- openLink: "rocketchat://storybook?path=/story/markdown--links" +- assertScreenshot: + path: .maestro/screenshots/markdown--links + cropOn: + id: markdown--links + thresholdPercentage: 1 + optional: true + +- openLink: "rocketchat://storybook?path=/story/markdown--lists" +- assertScreenshot: + path: .maestro/screenshots/markdown--lists + cropOn: + id: markdown--lists + thresholdPercentage: 1 + optional: true + +- openLink: "rocketchat://storybook?path=/story/markdown--mentions" +- assertScreenshot: + path: .maestro/screenshots/markdown--mentions + cropOn: + id: markdown--mentions + thresholdPercentage: 1 + optional: true + +- openLink: "rocketchat://storybook?path=/story/markdown--preview" +- assertScreenshot: + path: .maestro/screenshots/markdown--preview + cropOn: + id: markdown--preview + thresholdPercentage: 1 + optional: true + +- openLink: "rocketchat://storybook?path=/story/markdown--text" +- assertScreenshot: + path: .maestro/screenshots/markdown--text + cropOn: + id: markdown--text + thresholdPercentage: 1 + optional: true + +- openLink: "rocketchat://storybook?path=/story/markdown--timestamp" +- assertScreenshot: + path: .maestro/screenshots/markdown--timestamp + cropOn: + id: markdown--timestamp + thresholdPercentage: 1 + optional: true + +- openLink: "rocketchat://storybook?path=/story/collapsiblequote--item" +- assertScreenshot: + path: .maestro/screenshots/collapsiblequote--item + cropOn: + id: collapsiblequote--item + thresholdPercentage: 1 + optional: true + +- openLink: "rocketchat://storybook?path=/story/message--archived" +- assertScreenshot: + path: .maestro/screenshots/message--archived + cropOn: + id: message--archived + thresholdPercentage: 1 + optional: true + +- openLink: "rocketchat://storybook?path=/story/message--archived-large-font" +- assertScreenshot: + path: .maestro/screenshots/message--archived-large-font + cropOn: + id: message--archived-large-font + thresholdPercentage: 1 + optional: true + +- openLink: "rocketchat://storybook?path=/story/message--attachment-with-text-and-link" +- assertScreenshot: + path: .maestro/screenshots/message--attachment-with-text-and-link + cropOn: + id: message--attachment-with-text-and-link + thresholdPercentage: 1 + optional: true + +- openLink: "rocketchat://storybook?path=/story/message--attachment-with-text-and-link-large-font" +- assertScreenshot: + path: .maestro/screenshots/message--attachment-with-text-and-link-large-font + cropOn: + id: message--attachment-with-text-and-link-large-font + thresholdPercentage: 1 + optional: true + +- openLink: "rocketchat://storybook?path=/story/message--avatar" +- assertScreenshot: + path: .maestro/screenshots/message--avatar + cropOn: + id: message--avatar + thresholdPercentage: 1 + optional: true + +- openLink: "rocketchat://storybook?path=/story/message--basic" +- assertScreenshot: + path: .maestro/screenshots/message--basic + cropOn: + id: message--basic + thresholdPercentage: 1 + optional: true + +- openLink: "rocketchat://storybook?path=/story/message--basic-large-font" +- assertScreenshot: + path: .maestro/screenshots/message--basic-large-font + cropOn: + id: message--basic-large-font + thresholdPercentage: 1 + optional: true + +- openLink: "rocketchat://storybook?path=/story/message--block-quote" +- assertScreenshot: + path: .maestro/screenshots/message--block-quote + cropOn: + id: message--block-quote + thresholdPercentage: 1 + optional: true + +- openLink: "rocketchat://storybook?path=/story/message--block-quote-large-font" +- assertScreenshot: + path: .maestro/screenshots/message--block-quote-large-font + cropOn: + id: message--block-quote-large-font + thresholdPercentage: 1 + optional: true + +- openLink: "rocketchat://storybook?path=/story/message--broadcast" +- assertScreenshot: + path: .maestro/screenshots/message--broadcast + cropOn: + id: message--broadcast + thresholdPercentage: 1 + optional: true + +- openLink: "rocketchat://storybook?path=/story/message--broadcast-large-font" +- assertScreenshot: + path: .maestro/screenshots/message--broadcast-large-font + cropOn: + id: message--broadcast-large-font + thresholdPercentage: 1 + optional: true + +- openLink: "rocketchat://storybook?path=/story/message--collapsed-attachments" +- assertScreenshot: + path: .maestro/screenshots/message--collapsed-attachments + cropOn: + id: message--collapsed-attachments + thresholdPercentage: 1 + optional: true + +- openLink: "rocketchat://storybook?path=/story/message--collapsed-attachments-large-font" +- assertScreenshot: + path: .maestro/screenshots/message--collapsed-attachments-large-font + cropOn: + id: message--collapsed-attachments-large-font + thresholdPercentage: 1 + optional: true + +- openLink: "rocketchat://storybook?path=/story/message--collapsible-attachment-with-text" +- assertScreenshot: + path: .maestro/screenshots/message--collapsible-attachment-with-text + cropOn: + id: message--collapsible-attachment-with-text + thresholdPercentage: 1 + optional: true + +- openLink: "rocketchat://storybook?path=/story/message--collapsible-attachment-with-text-large-font" +- assertScreenshot: + path: .maestro/screenshots/message--collapsible-attachment-with-text-large-font + cropOn: + id: message--collapsible-attachment-with-text-large-font + thresholdPercentage: 1 + optional: true + +- openLink: "rocketchat://storybook?path=/story/message--colored-attachments" +- assertScreenshot: + path: .maestro/screenshots/message--colored-attachments + cropOn: + id: message--colored-attachments + thresholdPercentage: 1 + optional: true + +- openLink: "rocketchat://storybook?path=/story/message--colored-attachments-large-font" +- assertScreenshot: + path: .maestro/screenshots/message--colored-attachments-large-font + cropOn: + id: message--colored-attachments-large-font + thresholdPercentage: 1 + optional: true + +- openLink: "rocketchat://storybook?path=/story/message--custom-fields" +- assertScreenshot: + path: .maestro/screenshots/message--custom-fields + cropOn: + id: message--custom-fields + thresholdPercentage: 1 + optional: true + +- openLink: "rocketchat://storybook?path=/story/message--custom-fields-large-font" +- assertScreenshot: + path: .maestro/screenshots/message--custom-fields-large-font + cropOn: + id: message--custom-fields-large-font + thresholdPercentage: 1 + optional: true + +- openLink: "rocketchat://storybook?path=/story/message--date-and-unread-separators" +- assertScreenshot: + path: .maestro/screenshots/message--date-and-unread-separators + cropOn: + id: message--date-and-unread-separators + thresholdPercentage: 1 + optional: true + +- openLink: "rocketchat://storybook?path=/story/message--date-and-unread-separators-large-font" +- assertScreenshot: + path: .maestro/screenshots/message--date-and-unread-separators-large-font + cropOn: + id: message--date-and-unread-separators-large-font + thresholdPercentage: 1 + optional: true + +- openLink: "rocketchat://storybook?path=/story/message--discussion" +- assertScreenshot: + path: .maestro/screenshots/message--discussion + cropOn: + id: message--discussion + thresholdPercentage: 1 + optional: true + +- openLink: "rocketchat://storybook?path=/story/message--discussion-large-font" +- assertScreenshot: + path: .maestro/screenshots/message--discussion-large-font + cropOn: + id: message--discussion-large-font + thresholdPercentage: 1 + optional: true + +- openLink: "rocketchat://storybook?path=/story/message--edited" +- assertScreenshot: + path: .maestro/screenshots/message--edited + cropOn: + id: message--edited + thresholdPercentage: 1 + optional: true + +- openLink: "rocketchat://storybook?path=/story/message--edited-large-font" +- assertScreenshot: + path: .maestro/screenshots/message--edited-large-font + cropOn: + id: message--edited-large-font + thresholdPercentage: 1 + optional: true + +- openLink: "rocketchat://storybook?path=/story/message--editing" +- assertScreenshot: + path: .maestro/screenshots/message--editing + cropOn: + id: message--editing + thresholdPercentage: 1 + optional: true + +- openLink: "rocketchat://storybook?path=/story/message--editing-large-font" +- assertScreenshot: + path: .maestro/screenshots/message--editing-large-font + cropOn: + id: message--editing-large-font + thresholdPercentage: 1 + optional: true + +- openLink: "rocketchat://storybook?path=/story/message--emojis" +- assertScreenshot: + path: .maestro/screenshots/message--emojis + cropOn: + id: message--emojis + thresholdPercentage: 1 + optional: true + +- openLink: "rocketchat://storybook?path=/story/message--emojis-large-font" +- assertScreenshot: + path: .maestro/screenshots/message--emojis-large-font + cropOn: + id: message--emojis-large-font + thresholdPercentage: 1 + optional: true + +- openLink: "rocketchat://storybook?path=/story/message--encrypted" +- assertScreenshot: + path: .maestro/screenshots/message--encrypted + cropOn: + id: message--encrypted + thresholdPercentage: 1 + optional: true + +- openLink: "rocketchat://storybook?path=/story/message--encrypted-large-font" +- assertScreenshot: + path: .maestro/screenshots/message--encrypted-large-font + cropOn: + id: message--encrypted-large-font + thresholdPercentage: 1 + optional: true + +- openLink: "rocketchat://storybook?path=/story/message--error" +- assertScreenshot: + path: .maestro/screenshots/message--error + cropOn: + id: message--error + thresholdPercentage: 1 + optional: true + +- openLink: "rocketchat://storybook?path=/story/message--error-large-font" +- assertScreenshot: + path: .maestro/screenshots/message--error-large-font + cropOn: + id: message--error-large-font + thresholdPercentage: 1 + optional: true + +- openLink: "rocketchat://storybook?path=/story/message--file-attachments-with-filenames" +- assertScreenshot: + path: .maestro/screenshots/message--file-attachments-with-filenames + cropOn: + id: message--file-attachments-with-filenames + thresholdPercentage: 1 + optional: true + +- openLink: "rocketchat://storybook?path=/story/message--file-attachments-with-filenames-large-font" +- assertScreenshot: + path: .maestro/screenshots/message--file-attachments-with-filenames-large-font + cropOn: + id: message--file-attachments-with-filenames-large-font + thresholdPercentage: 1 + optional: true + +- openLink: "rocketchat://storybook?path=/story/message--full-name" +- assertScreenshot: + path: .maestro/screenshots/message--full-name + cropOn: + id: message--full-name + thresholdPercentage: 1 + optional: true + +- openLink: "rocketchat://storybook?path=/story/message--full-name-large-font" +- assertScreenshot: + path: .maestro/screenshots/message--full-name-large-font + cropOn: + id: message--full-name-large-font + thresholdPercentage: 1 + optional: true + +- openLink: "rocketchat://storybook?path=/story/message--grouped-messages" +- assertScreenshot: + path: .maestro/screenshots/message--grouped-messages + cropOn: + id: message--grouped-messages + thresholdPercentage: 1 + optional: true + +- openLink: "rocketchat://storybook?path=/story/message--grouped-messages-large-font" +- assertScreenshot: + path: .maestro/screenshots/message--grouped-messages-large-font + cropOn: + id: message--grouped-messages-large-font + thresholdPercentage: 1 + optional: true + +- openLink: "rocketchat://storybook?path=/story/message--ignored" +- assertScreenshot: + path: .maestro/screenshots/message--ignored + cropOn: + id: message--ignored + thresholdPercentage: 1 + optional: true + +- openLink: "rocketchat://storybook?path=/story/message--ignored-large-font" +- assertScreenshot: + path: .maestro/screenshots/message--ignored-large-font + cropOn: + id: message--ignored-large-font + thresholdPercentage: 1 + optional: true + +- openLink: "rocketchat://storybook?path=/story/message--inline-katex" +- assertScreenshot: + path: .maestro/screenshots/message--inline-katex + cropOn: + id: message--inline-katex + thresholdPercentage: 1 + optional: true + +- openLink: "rocketchat://storybook?path=/story/message--inline-katex-large-font" +- assertScreenshot: + path: .maestro/screenshots/message--inline-katex-large-font + cropOn: + id: message--inline-katex-large-font + thresholdPercentage: 1 + optional: true + +- openLink: "rocketchat://storybook?path=/story/message--katex" +- assertScreenshot: + path: .maestro/screenshots/message--katex + cropOn: + id: message--katex + thresholdPercentage: 1 + optional: true + +- openLink: "rocketchat://storybook?path=/story/message--katex-array" +- assertScreenshot: + path: .maestro/screenshots/message--katex-array + cropOn: + id: message--katex-array + thresholdPercentage: 1 + optional: true + +- openLink: "rocketchat://storybook?path=/story/message--katex-array-large-font" +- assertScreenshot: + path: .maestro/screenshots/message--katex-array-large-font + cropOn: + id: message--katex-array-large-font + thresholdPercentage: 1 + optional: true + +- openLink: "rocketchat://storybook?path=/story/message--katex-large-font" +- assertScreenshot: + path: .maestro/screenshots/message--katex-large-font + cropOn: + id: message--katex-large-font + thresholdPercentage: 1 + optional: true + +- openLink: "rocketchat://storybook?path=/story/message--lists" +- assertScreenshot: + path: .maestro/screenshots/message--lists + cropOn: + id: message--lists + thresholdPercentage: 1 + optional: true + +- openLink: "rocketchat://storybook?path=/story/message--lists-large-font" +- assertScreenshot: + path: .maestro/screenshots/message--lists-large-font + cropOn: + id: message--lists-large-font + thresholdPercentage: 1 + optional: true + +- openLink: "rocketchat://storybook?path=/story/message--long-name-user" +- assertScreenshot: + path: .maestro/screenshots/message--long-name-user + cropOn: + id: message--long-name-user + thresholdPercentage: 1 + optional: true + +- openLink: "rocketchat://storybook?path=/story/message--long-name-user-large-font" +- assertScreenshot: + path: .maestro/screenshots/message--long-name-user-large-font + cropOn: + id: message--long-name-user-large-font + thresholdPercentage: 1 + optional: true + +- openLink: "rocketchat://storybook?path=/story/message--mentions" +- assertScreenshot: + path: .maestro/screenshots/message--mentions + cropOn: + id: message--mentions + thresholdPercentage: 1 + optional: true + +- openLink: "rocketchat://storybook?path=/story/message--mentions-large-font" +- assertScreenshot: + path: .maestro/screenshots/message--mentions-large-font + cropOn: + id: message--mentions-large-font + thresholdPercentage: 1 + optional: true + +- openLink: "rocketchat://storybook?path=/story/message--message" +- assertScreenshot: + path: .maestro/screenshots/message--message + cropOn: + id: message--message + thresholdPercentage: 1 + optional: true + +- openLink: "rocketchat://storybook?path=/story/message--message-with-nested-reply-and-file" +- assertScreenshot: + path: .maestro/screenshots/message--message-with-nested-reply-and-file + cropOn: + id: message--message-with-nested-reply-and-file + thresholdPercentage: 1 + optional: true + +- openLink: "rocketchat://storybook?path=/story/message--message-with-read-receipt" +- assertScreenshot: + path: .maestro/screenshots/message--message-with-read-receipt + cropOn: + id: message--message-with-read-receipt + thresholdPercentage: 1 + optional: true + +- openLink: "rocketchat://storybook?path=/story/message--message-with-read-receipt-large-font" +- assertScreenshot: + path: .maestro/screenshots/message--message-with-read-receipt-large-font + cropOn: + id: message--message-with-read-receipt-large-font + thresholdPercentage: 1 + optional: true + +- openLink: "rocketchat://storybook?path=/story/message--message-with-reply" +- assertScreenshot: + path: .maestro/screenshots/message--message-with-reply + cropOn: + id: message--message-with-reply + thresholdPercentage: 1 + optional: true + +- openLink: "rocketchat://storybook?path=/story/message--message-with-reply-and-file" +- assertScreenshot: + path: .maestro/screenshots/message--message-with-reply-and-file + cropOn: + id: message--message-with-reply-and-file + thresholdPercentage: 1 + optional: true + +- openLink: "rocketchat://storybook?path=/story/message--message-with-reply-and-file-large-font" +- assertScreenshot: + path: .maestro/screenshots/message--message-with-reply-and-file-large-font + cropOn: + id: message--message-with-reply-and-file-large-font + thresholdPercentage: 1 + optional: true + +- openLink: "rocketchat://storybook?path=/story/message--message-with-reply-large-font" +- assertScreenshot: + path: .maestro/screenshots/message--message-with-reply-large-font + cropOn: + id: message--message-with-reply-large-font + thresholdPercentage: 1 + optional: true + +- openLink: "rocketchat://storybook?path=/story/message--message-with-thread" +- assertScreenshot: + path: .maestro/screenshots/message--message-with-thread + cropOn: + id: message--message-with-thread + thresholdPercentage: 1 + optional: true + +- openLink: "rocketchat://storybook?path=/story/message--message-with-thread-large-font" +- assertScreenshot: + path: .maestro/screenshots/message--message-with-thread-large-font + cropOn: + id: message--message-with-thread-large-font + thresholdPercentage: 1 + optional: true + +- openLink: "rocketchat://storybook?path=/story/message--pinned" +- assertScreenshot: + path: .maestro/screenshots/message--pinned + cropOn: + id: message--pinned + thresholdPercentage: 1 + optional: true + +- openLink: "rocketchat://storybook?path=/story/message--pinned-large-font" +- assertScreenshot: + path: .maestro/screenshots/message--pinned-large-font + cropOn: + id: message--pinned-large-font + thresholdPercentage: 1 + optional: true + +- openLink: "rocketchat://storybook?path=/story/message--reactions" +- assertScreenshot: + path: .maestro/screenshots/message--reactions + cropOn: + id: message--reactions + thresholdPercentage: 1 + optional: true + +- openLink: "rocketchat://storybook?path=/story/message--reactions-large-font" +- assertScreenshot: + path: .maestro/screenshots/message--reactions-large-font + cropOn: + id: message--reactions-large-font + thresholdPercentage: 1 + optional: true + +- openLink: "rocketchat://storybook?path=/story/message--sequential-thread-messages-following-thread-button" +- assertScreenshot: + path: .maestro/screenshots/message--sequential-thread-messages-following-thread-button + cropOn: + id: message--sequential-thread-messages-following-thread-button + thresholdPercentage: 1 + optional: true + +- openLink: "rocketchat://storybook?path=/story/message--sequential-thread-messages-following-thread-button-large-font" +- assertScreenshot: + path: .maestro/screenshots/message--sequential-thread-messages-following-thread-button-large-font + cropOn: + id: message--sequential-thread-messages-following-thread-button-large-font + thresholdPercentage: 1 + optional: true + +- openLink: "rocketchat://storybook?path=/story/message--sequential-thread-messages-following-thread-reply" +- assertScreenshot: + path: .maestro/screenshots/message--sequential-thread-messages-following-thread-reply + cropOn: + id: message--sequential-thread-messages-following-thread-reply + thresholdPercentage: 1 + optional: true + +- openLink: "rocketchat://storybook?path=/story/message--sequential-thread-messages-following-thread-reply-large-font" +- assertScreenshot: + path: .maestro/screenshots/message--sequential-thread-messages-following-thread-reply-large-font + cropOn: + id: message--sequential-thread-messages-following-thread-reply-large-font + thresholdPercentage: 1 + optional: true + +- openLink: "rocketchat://storybook?path=/story/message--show-button-as-attachment" +- assertScreenshot: + path: .maestro/screenshots/message--show-button-as-attachment + cropOn: + id: message--show-button-as-attachment + thresholdPercentage: 1 + optional: true + +- openLink: "rocketchat://storybook?path=/story/message--show-button-as-attachment-large-font" +- assertScreenshot: + path: .maestro/screenshots/message--show-button-as-attachment-large-font + cropOn: + id: message--show-button-as-attachment-large-font + thresholdPercentage: 1 + optional: true + +- openLink: "rocketchat://storybook?path=/story/message--static-avatar" +- assertScreenshot: + path: .maestro/screenshots/message--static-avatar + cropOn: + id: message--static-avatar + thresholdPercentage: 1 + optional: true + +- openLink: "rocketchat://storybook?path=/story/message--static-avatar-large-font" +- assertScreenshot: + path: .maestro/screenshots/message--static-avatar-large-font + cropOn: + id: message--static-avatar-large-font + thresholdPercentage: 1 + optional: true + +- openLink: "rocketchat://storybook?path=/story/message--system-messages" +- assertScreenshot: + path: .maestro/screenshots/message--system-messages + cropOn: + id: message--system-messages + thresholdPercentage: 1 + optional: true + +- openLink: "rocketchat://storybook?path=/story/message--system-messages-large-font" +- assertScreenshot: + path: .maestro/screenshots/message--system-messages-large-font + cropOn: + id: message--system-messages-large-font + thresholdPercentage: 1 + optional: true + +- openLink: "rocketchat://storybook?path=/story/message--temp" +- assertScreenshot: + path: .maestro/screenshots/message--temp + cropOn: + id: message--temp + thresholdPercentage: 1 + optional: true + +- openLink: "rocketchat://storybook?path=/story/message--temp-large-font" +- assertScreenshot: + path: .maestro/screenshots/message--temp-large-font + cropOn: + id: message--temp-large-font + thresholdPercentage: 1 + optional: true + +- openLink: "rocketchat://storybook?path=/story/message--thumbnail-from-server" +- assertScreenshot: + path: .maestro/screenshots/message--thumbnail-from-server + cropOn: + id: message--thumbnail-from-server + thresholdPercentage: 1 + optional: true + +- openLink: "rocketchat://storybook?path=/story/message--thumbnail-from-server-large-font" +- assertScreenshot: + path: .maestro/screenshots/message--thumbnail-from-server-large-font + cropOn: + id: message--thumbnail-from-server-large-font + thresholdPercentage: 1 + optional: true + +- openLink: "rocketchat://storybook?path=/story/message--time-format" +- assertScreenshot: + path: .maestro/screenshots/message--time-format + cropOn: + id: message--time-format + thresholdPercentage: 1 + optional: true + +- openLink: "rocketchat://storybook?path=/story/message--time-format-large-font" +- assertScreenshot: + path: .maestro/screenshots/message--time-format-large-font + cropOn: + id: message--time-format-large-font + thresholdPercentage: 1 + optional: true + +- openLink: "rocketchat://storybook?path=/story/message--translated" +- assertScreenshot: + path: .maestro/screenshots/message--translated + cropOn: + id: message--translated + thresholdPercentage: 1 + optional: true + +- openLink: "rocketchat://storybook?path=/story/message--translated-large-font" +- assertScreenshot: + path: .maestro/screenshots/message--translated-large-font + cropOn: + id: message--translated-large-font + thresholdPercentage: 1 + optional: true + +- openLink: "rocketchat://storybook?path=/story/message--two-short-custom-fields-with-markdown" +- assertScreenshot: + path: .maestro/screenshots/message--two-short-custom-fields-with-markdown + cropOn: + id: message--two-short-custom-fields-with-markdown + thresholdPercentage: 1 + optional: true + +- openLink: "rocketchat://storybook?path=/story/message--two-short-custom-fields-with-markdown-large-font" +- assertScreenshot: + path: .maestro/screenshots/message--two-short-custom-fields-with-markdown-large-font + cropOn: + id: message--two-short-custom-fields-with-markdown-large-font + thresholdPercentage: 1 + optional: true + +- openLink: "rocketchat://storybook?path=/story/message--url" +- assertScreenshot: + path: .maestro/screenshots/message--url + cropOn: + id: message--url + thresholdPercentage: 1 + optional: true + +- openLink: "rocketchat://storybook?path=/story/message--url-image-preview" +- assertScreenshot: + path: .maestro/screenshots/message--url-image-preview + cropOn: + id: message--url-image-preview + thresholdPercentage: 1 + optional: true + +- openLink: "rocketchat://storybook?path=/story/message--url-image-preview-large-font" +- assertScreenshot: + path: .maestro/screenshots/message--url-image-preview-large-font + cropOn: + id: message--url-image-preview-large-font + thresholdPercentage: 1 + optional: true + +- openLink: "rocketchat://storybook?path=/story/message--url-large-font" +- assertScreenshot: + path: .maestro/screenshots/message--url-large-font + cropOn: + id: message--url-large-font + thresholdPercentage: 1 + optional: true + +- openLink: "rocketchat://storybook?path=/story/message--with-alias" +- assertScreenshot: + path: .maestro/screenshots/message--with-alias + cropOn: + id: message--with-alias + thresholdPercentage: 1 + optional: true + +- openLink: "rocketchat://storybook?path=/story/message--with-alias-large-font" +- assertScreenshot: + path: .maestro/screenshots/message--with-alias-large-font + cropOn: + id: message--with-alias-large-font + thresholdPercentage: 1 + optional: true + +- openLink: "rocketchat://storybook?path=/story/message--with-audio" +- assertScreenshot: + path: .maestro/screenshots/message--with-audio + cropOn: + id: message--with-audio + thresholdPercentage: 1 + optional: true + +- openLink: "rocketchat://storybook?path=/story/message--with-audio-large-font" +- assertScreenshot: + path: .maestro/screenshots/message--with-audio-large-font + cropOn: + id: message--with-audio-large-font + thresholdPercentage: 1 + optional: true + +- openLink: "rocketchat://storybook?path=/story/message--with-file" +- assertScreenshot: + path: .maestro/screenshots/message--with-file + cropOn: + id: message--with-file + thresholdPercentage: 1 + optional: true + +- openLink: "rocketchat://storybook?path=/story/message--with-file-large-font" +- assertScreenshot: + path: .maestro/screenshots/message--with-file-large-font + cropOn: + id: message--with-file-large-font + thresholdPercentage: 1 + optional: true + +- openLink: "rocketchat://storybook?path=/story/message--with-image" +- assertScreenshot: + path: .maestro/screenshots/message--with-image + cropOn: + id: message--with-image + thresholdPercentage: 1 + optional: true + +- openLink: "rocketchat://storybook?path=/story/message--with-image-large-font" +- assertScreenshot: + path: .maestro/screenshots/message--with-image-large-font + cropOn: + id: message--with-image-large-font + thresholdPercentage: 1 + optional: true + +- openLink: "rocketchat://storybook?path=/story/message--without-header" +- assertScreenshot: + path: .maestro/screenshots/message--without-header + cropOn: + id: message--without-header + thresholdPercentage: 1 + optional: true + +- openLink: "rocketchat://storybook?path=/story/message--without-header-large-font" +- assertScreenshot: + path: .maestro/screenshots/message--without-header-large-font + cropOn: + id: message--without-header-large-font + thresholdPercentage: 1 + optional: true + +- openLink: "rocketchat://storybook?path=/story/message--with-video" +- assertScreenshot: + path: .maestro/screenshots/message--with-video + cropOn: + id: message--with-video + thresholdPercentage: 1 + optional: true + +- openLink: "rocketchat://storybook?path=/story/message--with-video-large-font" +- assertScreenshot: + path: .maestro/screenshots/message--with-video-large-font + cropOn: + id: message--with-video-large-font + thresholdPercentage: 1 + optional: true + +- openLink: "rocketchat://storybook?path=/story/cannedresponseitem--itens" +- assertScreenshot: + path: .maestro/screenshots/cannedresponseitem--itens + cropOn: + id: cannedresponseitem--itens + thresholdPercentage: 1 + optional: true + +- openLink: "rocketchat://storybook?path=/story/switchitem--switch" +- assertScreenshot: + path: .maestro/screenshots/switchitem--switch + cropOn: + id: switchitem--switch + thresholdPercentage: 1 + optional: true + +- openLink: "rocketchat://storybook?path=/story/discussionsview-item--content" +- assertScreenshot: + path: .maestro/screenshots/discussionsview-item--content + cropOn: + id: discussionsview-item--content + thresholdPercentage: 1 + optional: true + +- openLink: "rocketchat://storybook?path=/story/discussionsview-item--themes" +- assertScreenshot: + path: .maestro/screenshots/discussionsview-item--themes + cropOn: + id: discussionsview-item--themes + thresholdPercentage: 1 + optional: true + +- openLink: "rocketchat://storybook?path=/story/servershistoryitem--content" +- assertScreenshot: + path: .maestro/screenshots/servershistoryitem--content + cropOn: + id: servershistoryitem--content + thresholdPercentage: 1 + optional: true + +- openLink: "rocketchat://storybook?path=/story/servershistoryitem--swipe-actions" +- assertScreenshot: + path: .maestro/screenshots/servershistoryitem--swipe-actions + cropOn: + id: servershistoryitem--swipe-actions + thresholdPercentage: 1 + optional: true + +- openLink: "rocketchat://storybook?path=/story/servershistoryitem--themes" +- assertScreenshot: + path: .maestro/screenshots/servershistoryitem--themes + cropOn: + id: servershistoryitem--themes + thresholdPercentage: 1 + optional: true + +- openLink: "rocketchat://storybook?path=/story/roominfoabac--black" +- assertScreenshot: + path: .maestro/screenshots/roominfoabac--black + cropOn: + id: roominfoabac--black + thresholdPercentage: 1 + optional: true + +- openLink: "rocketchat://storybook?path=/story/roominfoabac--dark" +- assertScreenshot: + path: .maestro/screenshots/roominfoabac--dark + cropOn: + id: roominfoabac--dark + thresholdPercentage: 1 + optional: true + +- openLink: "rocketchat://storybook?path=/story/roominfoabac--light" +- assertScreenshot: + path: .maestro/screenshots/roominfoabac--light + cropOn: + id: roominfoabac--light + thresholdPercentage: 1 + optional: true + +- openLink: "rocketchat://storybook?path=/story/roomview-loadmore--basic" +- assertScreenshot: + path: .maestro/screenshots/roomview-loadmore--basic + cropOn: + id: roomview-loadmore--basic + thresholdPercentage: 1 + optional: true + +- openLink: "rocketchat://storybook?path=/story/roomview-loadmore--black-theme" +- assertScreenshot: + path: .maestro/screenshots/roomview-loadmore--black-theme + cropOn: + id: roomview-loadmore--black-theme + thresholdPercentage: 1 + optional: true + +- openLink: "rocketchat://storybook?path=/story/roomview-loadmore--dark-theme" +- assertScreenshot: + path: .maestro/screenshots/roomview-loadmore--dark-theme + cropOn: + id: roomview-loadmore--dark-theme + thresholdPercentage: 1 + optional: true + +- openLink: "rocketchat://storybook?path=/story/roomview-loadmore--light-theme" +- assertScreenshot: + path: .maestro/screenshots/roomview-loadmore--light-theme + cropOn: + id: roomview-loadmore--light-theme + thresholdPercentage: 1 + optional: true + +- openLink: "rocketchat://storybook?path=/story/threadmessagesview-item--badge" +- assertScreenshot: + path: .maestro/screenshots/threadmessagesview-item--badge + cropOn: + id: threadmessagesview-item--badge + thresholdPercentage: 1 + optional: true + +- openLink: "rocketchat://storybook?path=/story/threadmessagesview-item--content" +- assertScreenshot: + path: .maestro/screenshots/threadmessagesview-item--content + cropOn: + id: threadmessagesview-item--content + thresholdPercentage: 1 + optional: true + +- openLink: "rocketchat://storybook?path=/story/threadmessagesview-item--themes" +- assertScreenshot: + path: .maestro/screenshots/threadmessagesview-item--themes + cropOn: + id: threadmessagesview-item--themes + thresholdPercentage: 1 + optional: true diff --git a/.maestro/storybook/update-storybook.yaml b/.maestro/storybook/update-storybook.yaml new file mode 100644 index 00000000000..91390ad3074 --- /dev/null +++ b/.maestro/storybook/update-storybook.yaml @@ -0,0 +1,1568 @@ +appId: chat.rocket.reactnative +--- + +- openLink: "rocketchat://storybook?path=/story/avatar--avatar-base-64" +- takeScreenshot: + path: .maestro/screenshots/avatar--avatar-base-64 + cropOn: + id: avatar--avatar-base-64 + +- openLink: "rocketchat://storybook?path=/story/avatar--avatar-external-provider-url" +- takeScreenshot: + path: .maestro/screenshots/avatar--avatar-external-provider-url + cropOn: + id: avatar--avatar-external-provider-url + +- openLink: "rocketchat://storybook?path=/story/avatar--avatar-path" +- takeScreenshot: + path: .maestro/screenshots/avatar--avatar-path + cropOn: + id: avatar--avatar-path + +- openLink: "rocketchat://storybook?path=/story/avatar--avatar-room-id" +- takeScreenshot: + path: .maestro/screenshots/avatar--avatar-room-id + cropOn: + id: avatar--avatar-room-id + +- openLink: "rocketchat://storybook?path=/story/avatar--avatar-text" +- takeScreenshot: + path: .maestro/screenshots/avatar--avatar-text + cropOn: + id: avatar--avatar-text + +- openLink: "rocketchat://storybook?path=/story/avatar--avatar-url" +- takeScreenshot: + path: .maestro/screenshots/avatar--avatar-url + cropOn: + id: avatar--avatar-url + +- openLink: "rocketchat://storybook?path=/story/avatar--channel" +- takeScreenshot: + path: .maestro/screenshots/avatar--channel + cropOn: + id: avatar--channel + +- openLink: "rocketchat://storybook?path=/story/avatar--children" +- takeScreenshot: + path: .maestro/screenshots/avatar--children + cropOn: + id: avatar--children + +- openLink: "rocketchat://storybook?path=/story/avatar--custom-border-radius" +- takeScreenshot: + path: .maestro/screenshots/avatar--custom-border-radius + cropOn: + id: avatar--custom-border-radius + +- openLink: "rocketchat://storybook?path=/story/avatar--custom-style" +- takeScreenshot: + path: .maestro/screenshots/avatar--custom-style + cropOn: + id: avatar--custom-style + +- openLink: "rocketchat://storybook?path=/story/avatar--direct" +- takeScreenshot: + path: .maestro/screenshots/avatar--direct + cropOn: + id: avatar--direct + +- openLink: "rocketchat://storybook?path=/story/avatar--emoji" +- takeScreenshot: + path: .maestro/screenshots/avatar--emoji + cropOn: + id: avatar--emoji + +- openLink: "rocketchat://storybook?path=/story/avatar--room-avatar-external-provider-url" +- takeScreenshot: + path: .maestro/screenshots/avatar--room-avatar-external-provider-url + cropOn: + id: avatar--room-avatar-external-provider-url + +- openLink: "rocketchat://storybook?path=/story/avatar--static" +- takeScreenshot: + path: .maestro/screenshots/avatar--static + cropOn: + id: avatar--static + +- openLink: "rocketchat://storybook?path=/story/avatar--touchable" +- takeScreenshot: + path: .maestro/screenshots/avatar--touchable + cropOn: + id: avatar--touchable + +- openLink: "rocketchat://storybook?path=/story/avatar--with-e-tag" +- takeScreenshot: + path: .maestro/screenshots/avatar--with-e-tag + cropOn: + id: avatar--with-e-tag + +- openLink: "rocketchat://storybook?path=/story/avatar--without-e-tag" +- takeScreenshot: + path: .maestro/screenshots/avatar--without-e-tag + cropOn: + id: avatar--without-e-tag + +- openLink: "rocketchat://storybook?path=/story/avatar--wrong-server" +- takeScreenshot: + path: .maestro/screenshots/avatar--wrong-server + cropOn: + id: avatar--wrong-server + +- openLink: "rocketchat://storybook?path=/story/backgroundcontainer--basic" +- takeScreenshot: + path: .maestro/screenshots/backgroundcontainer--basic + cropOn: + id: backgroundcontainer--basic + +- openLink: "rocketchat://storybook?path=/story/backgroundcontainer--black-theme-loading" +- takeScreenshot: + path: .maestro/screenshots/backgroundcontainer--black-theme-loading + cropOn: + id: backgroundcontainer--black-theme-loading + +- openLink: "rocketchat://storybook?path=/story/backgroundcontainer--black-theme-text" +- takeScreenshot: + path: .maestro/screenshots/backgroundcontainer--black-theme-text + cropOn: + id: backgroundcontainer--black-theme-text + +- openLink: "rocketchat://storybook?path=/story/backgroundcontainer--dark-theme-loading" +- takeScreenshot: + path: .maestro/screenshots/backgroundcontainer--dark-theme-loading + cropOn: + id: backgroundcontainer--dark-theme-loading + +- openLink: "rocketchat://storybook?path=/story/backgroundcontainer--dark-theme-text" +- takeScreenshot: + path: .maestro/screenshots/backgroundcontainer--dark-theme-text + cropOn: + id: backgroundcontainer--dark-theme-text + +- openLink: "rocketchat://storybook?path=/story/backgroundcontainer--loading" +- takeScreenshot: + path: .maestro/screenshots/backgroundcontainer--loading + cropOn: + id: backgroundcontainer--loading + +- openLink: "rocketchat://storybook?path=/story/backgroundcontainer--long-text" +- takeScreenshot: + path: .maestro/screenshots/backgroundcontainer--long-text + cropOn: + id: backgroundcontainer--long-text + +- openLink: "rocketchat://storybook?path=/story/backgroundcontainer--text" +- takeScreenshot: + path: .maestro/screenshots/backgroundcontainer--text + cropOn: + id: backgroundcontainer--text + +- openLink: "rocketchat://storybook?path=/story/button--custom-button" +- takeScreenshot: + path: .maestro/screenshots/button--custom-button + cropOn: + id: button--custom-button + +- openLink: "rocketchat://storybook?path=/story/button--disabled-button" +- takeScreenshot: + path: .maestro/screenshots/button--disabled-button + cropOn: + id: button--disabled-button + +- openLink: "rocketchat://storybook?path=/story/button--disabled-loading-button" +- takeScreenshot: + path: .maestro/screenshots/button--disabled-loading-button + cropOn: + id: button--disabled-loading-button + +- openLink: "rocketchat://storybook?path=/story/button--loading-button" +- takeScreenshot: + path: .maestro/screenshots/button--loading-button + cropOn: + id: button--loading-button + +- openLink: "rocketchat://storybook?path=/story/button--primary-button" +- takeScreenshot: + path: .maestro/screenshots/button--primary-button + cropOn: + id: button--primary-button + +- openLink: "rocketchat://storybook?path=/story/button--secondary-button" +- takeScreenshot: + path: .maestro/screenshots/button--secondary-button + cropOn: + id: button--secondary-button + +- openLink: "rocketchat://storybook?path=/story/button--small-button" +- takeScreenshot: + path: .maestro/screenshots/button--small-button + cropOn: + id: button--small-button + +- openLink: "rocketchat://storybook?path=/story/chip--chip-full-width" +- takeScreenshot: + path: .maestro/screenshots/chip--chip-full-width + cropOn: + id: chip--chip-full-width + +- openLink: "rocketchat://storybook?path=/story/chip--chip-text" +- takeScreenshot: + path: .maestro/screenshots/chip--chip-text + cropOn: + id: chip--chip-text + +- openLink: "rocketchat://storybook?path=/story/chip--chip-without-avatar" +- takeScreenshot: + path: .maestro/screenshots/chip--chip-without-avatar + cropOn: + id: chip--chip-without-avatar + +- openLink: "rocketchat://storybook?path=/story/chip--chip-without-avatar-and-icon" +- takeScreenshot: + path: .maestro/screenshots/chip--chip-without-avatar-and-icon + cropOn: + id: chip--chip-without-avatar-and-icon + +- openLink: "rocketchat://storybook?path=/story/chip--chip-without-icon" +- takeScreenshot: + path: .maestro/screenshots/chip--chip-without-icon + cropOn: + id: chip--chip-without-icon + +- openLink: "rocketchat://storybook?path=/story/chip--chip-with-short-text" +- takeScreenshot: + path: .maestro/screenshots/chip--chip-with-short-text + cropOn: + id: chip--chip-with-short-text + +- openLink: "rocketchat://storybook?path=/story/collapsible-text--item" +- takeScreenshot: + path: .maestro/screenshots/collapsible-text--item + cropOn: + id: collapsible-text--item + +- openLink: "rocketchat://storybook?path=/story/directoryitem--custom-style" +- takeScreenshot: + path: .maestro/screenshots/directoryitem--custom-style + cropOn: + id: directoryitem--custom-style + +- openLink: "rocketchat://storybook?path=/story/directoryitem--default" +- takeScreenshot: + path: .maestro/screenshots/directoryitem--default + cropOn: + id: directoryitem--default + +- openLink: "rocketchat://storybook?path=/story/directoryitem--direct-message" +- takeScreenshot: + path: .maestro/screenshots/directoryitem--direct-message + cropOn: + id: directoryitem--direct-message + +- openLink: "rocketchat://storybook?path=/story/directoryitem--long-room-name" +- takeScreenshot: + path: .maestro/screenshots/directoryitem--long-room-name + cropOn: + id: directoryitem--long-room-name + +- openLink: "rocketchat://storybook?path=/story/directoryitem--only-title" +- takeScreenshot: + path: .maestro/screenshots/directoryitem--only-title + cropOn: + id: directoryitem--only-title + +- openLink: "rocketchat://storybook?path=/story/directoryitem--team-main" +- takeScreenshot: + path: .maestro/screenshots/directoryitem--team-main + cropOn: + id: directoryitem--team-main + +- openLink: "rocketchat://storybook?path=/story/directoryitem--without-description" +- takeScreenshot: + path: .maestro/screenshots/directoryitem--without-description + cropOn: + id: directoryitem--without-description + +- openLink: "rocketchat://storybook?path=/story/directoryitem--with-right-label" +- takeScreenshot: + path: .maestro/screenshots/directoryitem--with-right-label + cropOn: + id: directoryitem--with-right-label + +- openLink: "rocketchat://storybook?path=/story/headerbuttons--badge" +- takeScreenshot: + path: .maestro/screenshots/headerbuttons--badge + cropOn: + id: headerbuttons--badge + +- openLink: "rocketchat://storybook?path=/story/headerbuttons--common" +- takeScreenshot: + path: .maestro/screenshots/headerbuttons--common + cropOn: + id: headerbuttons--common + +- openLink: "rocketchat://storybook?path=/story/headerbuttons--icons" +- takeScreenshot: + path: .maestro/screenshots/headerbuttons--icons + cropOn: + id: headerbuttons--icons + +- openLink: "rocketchat://storybook?path=/story/headerbuttons--themes" +- takeScreenshot: + path: .maestro/screenshots/headerbuttons--themes + cropOn: + id: headerbuttons--themes + +- openLink: "rocketchat://storybook?path=/story/headerbuttons--title" +- takeScreenshot: + path: .maestro/screenshots/headerbuttons--title + cropOn: + id: headerbuttons--title + +- openLink: "rocketchat://storybook?path=/story/list--alert" +- takeScreenshot: + path: .maestro/screenshots/list--alert + cropOn: + id: list--alert + +- openLink: "rocketchat://storybook?path=/story/list--header" +- takeScreenshot: + path: .maestro/screenshots/list--header + cropOn: + id: list--header + +- openLink: "rocketchat://storybook?path=/story/list--icon" +- takeScreenshot: + path: .maestro/screenshots/list--icon + cropOn: + id: list--icon + +- openLink: "rocketchat://storybook?path=/story/list--list-item-with-right-container-style" +- takeScreenshot: + path: .maestro/screenshots/list--list-item-with-right-container-style + cropOn: + id: list--list-item-with-right-container-style + +- openLink: "rocketchat://storybook?path=/story/list--pressable" +- takeScreenshot: + path: .maestro/screenshots/list--pressable + cropOn: + id: list--pressable + +- openLink: "rocketchat://storybook?path=/story/list--radio" +- takeScreenshot: + path: .maestro/screenshots/list--radio + cropOn: + id: list--radio + +- openLink: "rocketchat://storybook?path=/story/list--section-and-info" +- takeScreenshot: + path: .maestro/screenshots/list--section-and-info + cropOn: + id: list--section-and-info + +- openLink: "rocketchat://storybook?path=/story/list--separator" +- takeScreenshot: + path: .maestro/screenshots/list--separator + cropOn: + id: list--separator + +- openLink: "rocketchat://storybook?path=/story/list--title-and-subtitle" +- takeScreenshot: + path: .maestro/screenshots/list--title-and-subtitle + cropOn: + id: list--title-and-subtitle + +- openLink: "rocketchat://storybook?path=/story/list--with-bigger-font" +- takeScreenshot: + path: .maestro/screenshots/list--with-bigger-font + cropOn: + id: list--with-bigger-font + +- openLink: "rocketchat://storybook?path=/story/list--with-black-theme" +- takeScreenshot: + path: .maestro/screenshots/list--with-black-theme + cropOn: + id: list--with-black-theme + +- openLink: "rocketchat://storybook?path=/story/list--with-custom-colors" +- takeScreenshot: + path: .maestro/screenshots/list--with-custom-colors + cropOn: + id: list--with-custom-colors + +- openLink: "rocketchat://storybook?path=/story/list--with-dark-theme" +- takeScreenshot: + path: .maestro/screenshots/list--with-dark-theme + cropOn: + id: list--with-dark-theme + +- openLink: "rocketchat://storybook?path=/story/list--with-flat-list" +- takeScreenshot: + path: .maestro/screenshots/list--with-flat-list + cropOn: + id: list--with-flat-list + +- openLink: "rocketchat://storybook?path=/story/list--with-icon" +- takeScreenshot: + path: .maestro/screenshots/list--with-icon + cropOn: + id: list--with-icon + +- openLink: "rocketchat://storybook?path=/story/list--with-small-font" +- takeScreenshot: + path: .maestro/screenshots/list--with-small-font + cropOn: + id: list--with-small-font + +- openLink: "rocketchat://storybook?path=/story/login-services--separators" +- takeScreenshot: + path: .maestro/screenshots/login-services--separators + cropOn: + id: login-services--separators + +- openLink: "rocketchat://storybook?path=/story/login-services--service-list" +- takeScreenshot: + path: .maestro/screenshots/login-services--service-list + cropOn: + id: login-services--service-list + +- openLink: "rocketchat://storybook?path=/story/reactionslist--reactions-list-full-name" +- takeScreenshot: + path: .maestro/screenshots/reactionslist--reactions-list-full-name + cropOn: + id: reactionslist--reactions-list-full-name + +- openLink: "rocketchat://storybook?path=/story/reactionslist--reactions-list-story" +- takeScreenshot: + path: .maestro/screenshots/reactionslist--reactions-list-story + cropOn: + id: reactionslist--reactions-list-story + +- openLink: "rocketchat://storybook?path=/story/roomheader--icons" +- takeScreenshot: + path: .maestro/screenshots/roomheader--icons + cropOn: + id: roomheader--icons + +- openLink: "rocketchat://storybook?path=/story/roomheader--themes" +- takeScreenshot: + path: .maestro/screenshots/roomheader--themes + cropOn: + id: roomheader--themes + +- openLink: "rocketchat://storybook?path=/story/roomheader--thread" +- takeScreenshot: + path: .maestro/screenshots/roomheader--thread + cropOn: + id: roomheader--thread + +- openLink: "rocketchat://storybook?path=/story/roomheader--title-subtitle" +- takeScreenshot: + path: .maestro/screenshots/roomheader--title-subtitle + cropOn: + id: roomheader--title-subtitle + +- openLink: "rocketchat://storybook?path=/story/roomheader--typing" +- takeScreenshot: + path: .maestro/screenshots/roomheader--typing + cropOn: + id: roomheader--typing + +- openLink: "rocketchat://storybook?path=/story/roomitem--alerts" +- takeScreenshot: + path: .maestro/screenshots/roomitem--alerts + cropOn: + id: roomitem--alerts + +- openLink: "rocketchat://storybook?path=/story/roomitem--basic" +- takeScreenshot: + path: .maestro/screenshots/roomitem--basic + cropOn: + id: roomitem--basic + +- openLink: "rocketchat://storybook?path=/story/roomitem--condensed-room-item" +- takeScreenshot: + path: .maestro/screenshots/roomitem--condensed-room-item + cropOn: + id: roomitem--condensed-room-item + +- openLink: "rocketchat://storybook?path=/story/roomitem--condensed-room-item-without-avatar" +- takeScreenshot: + path: .maestro/screenshots/roomitem--condensed-room-item-without-avatar + cropOn: + id: roomitem--condensed-room-item-without-avatar + +- openLink: "rocketchat://storybook?path=/story/roomitem--expanded-room-item-without-avatar" +- takeScreenshot: + path: .maestro/screenshots/roomitem--expanded-room-item-without-avatar + cropOn: + id: roomitem--expanded-room-item-without-avatar + +- openLink: "rocketchat://storybook?path=/story/roomitem--invited-room" +- takeScreenshot: + path: .maestro/screenshots/roomitem--invited-room + cropOn: + id: roomitem--invited-room + +- openLink: "rocketchat://storybook?path=/story/roomitem--last-message" +- takeScreenshot: + path: .maestro/screenshots/roomitem--last-message + cropOn: + id: roomitem--last-message + +- openLink: "rocketchat://storybook?path=/story/roomitem--omnichannel-icon" +- takeScreenshot: + path: .maestro/screenshots/roomitem--omnichannel-icon + cropOn: + id: roomitem--omnichannel-icon + +- openLink: "rocketchat://storybook?path=/story/roomitem--tag" +- takeScreenshot: + path: .maestro/screenshots/roomitem--tag + cropOn: + id: roomitem--tag + +- openLink: "rocketchat://storybook?path=/story/roomitem--touch" +- takeScreenshot: + path: .maestro/screenshots/roomitem--touch + cropOn: + id: roomitem--touch + +- openLink: "rocketchat://storybook?path=/story/roomitem--type" +- takeScreenshot: + path: .maestro/screenshots/roomitem--type + cropOn: + id: roomitem--type + +- openLink: "rocketchat://storybook?path=/story/roomitem--user" +- takeScreenshot: + path: .maestro/screenshots/roomitem--user + cropOn: + id: roomitem--user + +- openLink: "rocketchat://storybook?path=/story/roomtypeicon--all" +- takeScreenshot: + path: .maestro/screenshots/roomtypeicon--all + cropOn: + id: roomtypeicon--all + +- openLink: "rocketchat://storybook?path=/story/searchbox--basic" +- takeScreenshot: + path: .maestro/screenshots/searchbox--basic + cropOn: + id: searchbox--basic + +- openLink: "rocketchat://storybook?path=/story/serveritem--content" +- takeScreenshot: + path: .maestro/screenshots/serveritem--content + cropOn: + id: serveritem--content + +- openLink: "rocketchat://storybook?path=/story/serveritem--swipe-actions" +- takeScreenshot: + path: .maestro/screenshots/serveritem--swipe-actions + cropOn: + id: serveritem--swipe-actions + +- openLink: "rocketchat://storybook?path=/story/serveritem--themes" +- takeScreenshot: + path: .maestro/screenshots/serveritem--themes + cropOn: + id: serveritem--themes + +- openLink: "rocketchat://storybook?path=/story/status--all" +- takeScreenshot: + path: .maestro/screenshots/status--all + cropOn: + id: status--all + +- openLink: "rocketchat://storybook?path=/story/textinput--icons" +- takeScreenshot: + path: .maestro/screenshots/textinput--icons + cropOn: + id: textinput--icons + +- openLink: "rocketchat://storybook?path=/story/textinput--loading" +- takeScreenshot: + path: .maestro/screenshots/textinput--loading + cropOn: + id: textinput--loading + +- openLink: "rocketchat://storybook?path=/story/textinput--multiline" +- takeScreenshot: + path: .maestro/screenshots/textinput--multiline + cropOn: + id: textinput--multiline + +- openLink: "rocketchat://storybook?path=/story/textinput--secure-text-entry" +- takeScreenshot: + path: .maestro/screenshots/textinput--secure-text-entry + cropOn: + id: textinput--secure-text-entry + +- openLink: "rocketchat://storybook?path=/story/textinput--short-and-long" +- takeScreenshot: + path: .maestro/screenshots/textinput--short-and-long + cropOn: + id: textinput--short-and-long + +- openLink: "rocketchat://storybook?path=/story/uikit-uikitmessage--action-button" +- takeScreenshot: + path: .maestro/screenshots/uikit-uikitmessage--action-button + cropOn: + id: uikit-uikitmessage--action-button + +- openLink: "rocketchat://storybook?path=/story/uikit-uikitmessage--action-select" +- takeScreenshot: + path: .maestro/screenshots/uikit-uikitmessage--action-select + cropOn: + id: uikit-uikitmessage--action-select + +- openLink: "rocketchat://storybook?path=/story/uikit-uikitmessage--fields" +- takeScreenshot: + path: .maestro/screenshots/uikit-uikitmessage--fields + cropOn: + id: uikit-uikitmessage--fields + +- openLink: "rocketchat://storybook?path=/story/uikit-uikitmessage--section" +- takeScreenshot: + path: .maestro/screenshots/uikit-uikitmessage--section + cropOn: + id: uikit-uikitmessage--section + +- openLink: "rocketchat://storybook?path=/story/uikit-uikitmessage--section-button" +- takeScreenshot: + path: .maestro/screenshots/uikit-uikitmessage--section-button + cropOn: + id: uikit-uikitmessage--section-button + +- openLink: "rocketchat://storybook?path=/story/uikit-uikitmessage--section-date-picker" +- takeScreenshot: + path: .maestro/screenshots/uikit-uikitmessage--section-date-picker + cropOn: + id: uikit-uikitmessage--section-date-picker + +- openLink: "rocketchat://storybook?path=/story/uikit-uikitmessage--section-markdown-list" +- takeScreenshot: + path: .maestro/screenshots/uikit-uikitmessage--section-markdown-list + cropOn: + id: uikit-uikitmessage--section-markdown-list + +- openLink: "rocketchat://storybook?path=/story/uikit-uikitmessage--section-multi-select" +- takeScreenshot: + path: .maestro/screenshots/uikit-uikitmessage--section-multi-select + cropOn: + id: uikit-uikitmessage--section-multi-select + +- openLink: "rocketchat://storybook?path=/story/uikit-uikitmessage--section-overflow" +- takeScreenshot: + path: .maestro/screenshots/uikit-uikitmessage--section-overflow + cropOn: + id: uikit-uikitmessage--section-overflow + +- openLink: "rocketchat://storybook?path=/story/uikit-uikitmessage--section-select" +- takeScreenshot: + path: .maestro/screenshots/uikit-uikitmessage--section-select + cropOn: + id: uikit-uikitmessage--section-select + +- openLink: "rocketchat://storybook?path=/story/uikit-uikitmodal--modal-actions" +- takeScreenshot: + path: .maestro/screenshots/uikit-uikitmodal--modal-actions + cropOn: + id: uikit-uikitmodal--modal-actions + +- openLink: "rocketchat://storybook?path=/story/uikit-uikitmodal--modal-actions-with-show-more" +- takeScreenshot: + path: .maestro/screenshots/uikit-uikitmodal--modal-actions-with-show-more + cropOn: + id: uikit-uikitmodal--modal-actions-with-show-more + +- openLink: "rocketchat://storybook?path=/story/uikit-uikitmodal--modal-contexts-dividers" +- takeScreenshot: + path: .maestro/screenshots/uikit-uikitmodal--modal-contexts-dividers + cropOn: + id: uikit-uikitmodal--modal-contexts-dividers + +- openLink: "rocketchat://storybook?path=/story/uikit-uikitmodal--modal-date-picker-with-error" +- takeScreenshot: + path: .maestro/screenshots/uikit-uikitmodal--modal-date-picker-with-error + cropOn: + id: uikit-uikitmodal--modal-date-picker-with-error + +- openLink: "rocketchat://storybook?path=/story/uikit-uikitmodal--modal-form-input" +- takeScreenshot: + path: .maestro/screenshots/uikit-uikitmodal--modal-form-input + cropOn: + id: uikit-uikitmodal--modal-form-input + +- openLink: "rocketchat://storybook?path=/story/uikit-uikitmodal--modal-form-text-area" +- takeScreenshot: + path: .maestro/screenshots/uikit-uikitmodal--modal-form-text-area + cropOn: + id: uikit-uikitmodal--modal-form-text-area + +- openLink: "rocketchat://storybook?path=/story/uikit-uikitmodal--modal-input-with-add-field" +- takeScreenshot: + path: .maestro/screenshots/uikit-uikitmodal--modal-input-with-add-field + cropOn: + id: uikit-uikitmodal--modal-input-with-add-field + +- openLink: "rocketchat://storybook?path=/story/uikit-uikitmodal--modal-input-with-error" +- takeScreenshot: + path: .maestro/screenshots/uikit-uikitmodal--modal-input-with-error + cropOn: + id: uikit-uikitmodal--modal-input-with-error + +- openLink: "rocketchat://storybook?path=/story/uikit-uikitmodal--modal-multilne-with-error" +- takeScreenshot: + path: .maestro/screenshots/uikit-uikitmodal--modal-multilne-with-error + cropOn: + id: uikit-uikitmodal--modal-multilne-with-error + +- openLink: "rocketchat://storybook?path=/story/uikit-uikitmodal--modal-multi-select" +- takeScreenshot: + path: .maestro/screenshots/uikit-uikitmodal--modal-multi-select + cropOn: + id: uikit-uikitmodal--modal-multi-select + +- openLink: "rocketchat://storybook?path=/story/uikit-uikitmodal--modal-section-accessories" +- takeScreenshot: + path: .maestro/screenshots/uikit-uikitmodal--modal-section-accessories + cropOn: + id: uikit-uikitmodal--modal-section-accessories + +- openLink: "rocketchat://storybook?path=/story/uikit-uikitmodal--modal-section-selects" +- takeScreenshot: + path: .maestro/screenshots/uikit-uikitmodal--modal-section-selects + cropOn: + id: uikit-uikitmodal--modal-section-selects + +- openLink: "rocketchat://storybook?path=/story/unread-badge--all" +- takeScreenshot: + path: .maestro/screenshots/unread-badge--all + cropOn: + id: unread-badge--all + +- openLink: "rocketchat://storybook?path=/story/unread-badge--different-mention-types" +- takeScreenshot: + path: .maestro/screenshots/unread-badge--different-mention-types + cropOn: + id: unread-badge--different-mention-types + +- openLink: "rocketchat://storybook?path=/story/unread-badge--normal" +- takeScreenshot: + path: .maestro/screenshots/unread-badge--normal + cropOn: + id: unread-badge--normal + +- openLink: "rocketchat://storybook?path=/story/unread-badge--small" +- takeScreenshot: + path: .maestro/screenshots/unread-badge--small + cropOn: + id: unread-badge--small + +- openLink: "rocketchat://storybook?path=/story/unread-badge--themes" +- takeScreenshot: + path: .maestro/screenshots/unread-badge--themes + cropOn: + id: unread-badge--themes + +- openLink: "rocketchat://storybook?path=/story/markdown--block-quote" +- takeScreenshot: + path: .maestro/screenshots/markdown--block-quote + cropOn: + id: markdown--block-quote + +- openLink: "rocketchat://storybook?path=/story/markdown--code" +- takeScreenshot: + path: .maestro/screenshots/markdown--code + cropOn: + id: markdown--code + +- openLink: "rocketchat://storybook?path=/story/markdown--emoji" +- takeScreenshot: + path: .maestro/screenshots/markdown--emoji + cropOn: + id: markdown--emoji + +- openLink: "rocketchat://storybook?path=/story/markdown--hashtag" +- takeScreenshot: + path: .maestro/screenshots/markdown--hashtag + cropOn: + id: markdown--hashtag + +- openLink: "rocketchat://storybook?path=/story/markdown--headers" +- takeScreenshot: + path: .maestro/screenshots/markdown--headers + cropOn: + id: markdown--headers + +- openLink: "rocketchat://storybook?path=/story/markdown--image" +- takeScreenshot: + path: .maestro/screenshots/markdown--image + cropOn: + id: markdown--image + +- openLink: "rocketchat://storybook?path=/story/markdown--links" +- takeScreenshot: + path: .maestro/screenshots/markdown--links + cropOn: + id: markdown--links + +- openLink: "rocketchat://storybook?path=/story/markdown--lists" +- takeScreenshot: + path: .maestro/screenshots/markdown--lists + cropOn: + id: markdown--lists + +- openLink: "rocketchat://storybook?path=/story/markdown--mentions" +- takeScreenshot: + path: .maestro/screenshots/markdown--mentions + cropOn: + id: markdown--mentions + +- openLink: "rocketchat://storybook?path=/story/markdown--preview" +- takeScreenshot: + path: .maestro/screenshots/markdown--preview + cropOn: + id: markdown--preview + +- openLink: "rocketchat://storybook?path=/story/markdown--text" +- takeScreenshot: + path: .maestro/screenshots/markdown--text + cropOn: + id: markdown--text + +- openLink: "rocketchat://storybook?path=/story/markdown--timestamp" +- takeScreenshot: + path: .maestro/screenshots/markdown--timestamp + cropOn: + id: markdown--timestamp + +- openLink: "rocketchat://storybook?path=/story/collapsiblequote--item" +- takeScreenshot: + path: .maestro/screenshots/collapsiblequote--item + cropOn: + id: collapsiblequote--item + +- openLink: "rocketchat://storybook?path=/story/message--archived" +- takeScreenshot: + path: .maestro/screenshots/message--archived + cropOn: + id: message--archived + +- openLink: "rocketchat://storybook?path=/story/message--archived-large-font" +- takeScreenshot: + path: .maestro/screenshots/message--archived-large-font + cropOn: + id: message--archived-large-font + +- openLink: "rocketchat://storybook?path=/story/message--attachment-with-text-and-link" +- takeScreenshot: + path: .maestro/screenshots/message--attachment-with-text-and-link + cropOn: + id: message--attachment-with-text-and-link + +- openLink: "rocketchat://storybook?path=/story/message--attachment-with-text-and-link-large-font" +- takeScreenshot: + path: .maestro/screenshots/message--attachment-with-text-and-link-large-font + cropOn: + id: message--attachment-with-text-and-link-large-font + +- openLink: "rocketchat://storybook?path=/story/message--avatar" +- takeScreenshot: + path: .maestro/screenshots/message--avatar + cropOn: + id: message--avatar + +- openLink: "rocketchat://storybook?path=/story/message--basic" +- takeScreenshot: + path: .maestro/screenshots/message--basic + cropOn: + id: message--basic + +- openLink: "rocketchat://storybook?path=/story/message--basic-large-font" +- takeScreenshot: + path: .maestro/screenshots/message--basic-large-font + cropOn: + id: message--basic-large-font + +- openLink: "rocketchat://storybook?path=/story/message--block-quote" +- takeScreenshot: + path: .maestro/screenshots/message--block-quote + cropOn: + id: message--block-quote + +- openLink: "rocketchat://storybook?path=/story/message--block-quote-large-font" +- takeScreenshot: + path: .maestro/screenshots/message--block-quote-large-font + cropOn: + id: message--block-quote-large-font + +- openLink: "rocketchat://storybook?path=/story/message--broadcast" +- takeScreenshot: + path: .maestro/screenshots/message--broadcast + cropOn: + id: message--broadcast + +- openLink: "rocketchat://storybook?path=/story/message--broadcast-large-font" +- takeScreenshot: + path: .maestro/screenshots/message--broadcast-large-font + cropOn: + id: message--broadcast-large-font + +- openLink: "rocketchat://storybook?path=/story/message--collapsed-attachments" +- takeScreenshot: + path: .maestro/screenshots/message--collapsed-attachments + cropOn: + id: message--collapsed-attachments + +- openLink: "rocketchat://storybook?path=/story/message--collapsed-attachments-large-font" +- takeScreenshot: + path: .maestro/screenshots/message--collapsed-attachments-large-font + cropOn: + id: message--collapsed-attachments-large-font + +- openLink: "rocketchat://storybook?path=/story/message--collapsible-attachment-with-text" +- takeScreenshot: + path: .maestro/screenshots/message--collapsible-attachment-with-text + cropOn: + id: message--collapsible-attachment-with-text + +- openLink: "rocketchat://storybook?path=/story/message--collapsible-attachment-with-text-large-font" +- takeScreenshot: + path: .maestro/screenshots/message--collapsible-attachment-with-text-large-font + cropOn: + id: message--collapsible-attachment-with-text-large-font + +- openLink: "rocketchat://storybook?path=/story/message--colored-attachments" +- takeScreenshot: + path: .maestro/screenshots/message--colored-attachments + cropOn: + id: message--colored-attachments + +- openLink: "rocketchat://storybook?path=/story/message--colored-attachments-large-font" +- takeScreenshot: + path: .maestro/screenshots/message--colored-attachments-large-font + cropOn: + id: message--colored-attachments-large-font + +- openLink: "rocketchat://storybook?path=/story/message--custom-fields" +- takeScreenshot: + path: .maestro/screenshots/message--custom-fields + cropOn: + id: message--custom-fields + +- openLink: "rocketchat://storybook?path=/story/message--custom-fields-large-font" +- takeScreenshot: + path: .maestro/screenshots/message--custom-fields-large-font + cropOn: + id: message--custom-fields-large-font + +- openLink: "rocketchat://storybook?path=/story/message--date-and-unread-separators" +- takeScreenshot: + path: .maestro/screenshots/message--date-and-unread-separators + cropOn: + id: message--date-and-unread-separators + +- openLink: "rocketchat://storybook?path=/story/message--date-and-unread-separators-large-font" +- takeScreenshot: + path: .maestro/screenshots/message--date-and-unread-separators-large-font + cropOn: + id: message--date-and-unread-separators-large-font + +- openLink: "rocketchat://storybook?path=/story/message--discussion" +- takeScreenshot: + path: .maestro/screenshots/message--discussion + cropOn: + id: message--discussion + +- openLink: "rocketchat://storybook?path=/story/message--discussion-large-font" +- takeScreenshot: + path: .maestro/screenshots/message--discussion-large-font + cropOn: + id: message--discussion-large-font + +- openLink: "rocketchat://storybook?path=/story/message--edited" +- takeScreenshot: + path: .maestro/screenshots/message--edited + cropOn: + id: message--edited + +- openLink: "rocketchat://storybook?path=/story/message--edited-large-font" +- takeScreenshot: + path: .maestro/screenshots/message--edited-large-font + cropOn: + id: message--edited-large-font + +- openLink: "rocketchat://storybook?path=/story/message--editing" +- takeScreenshot: + path: .maestro/screenshots/message--editing + cropOn: + id: message--editing + +- openLink: "rocketchat://storybook?path=/story/message--editing-large-font" +- takeScreenshot: + path: .maestro/screenshots/message--editing-large-font + cropOn: + id: message--editing-large-font + +- openLink: "rocketchat://storybook?path=/story/message--emojis" +- takeScreenshot: + path: .maestro/screenshots/message--emojis + cropOn: + id: message--emojis + +- openLink: "rocketchat://storybook?path=/story/message--emojis-large-font" +- takeScreenshot: + path: .maestro/screenshots/message--emojis-large-font + cropOn: + id: message--emojis-large-font + +- openLink: "rocketchat://storybook?path=/story/message--encrypted" +- takeScreenshot: + path: .maestro/screenshots/message--encrypted + cropOn: + id: message--encrypted + +- openLink: "rocketchat://storybook?path=/story/message--encrypted-large-font" +- takeScreenshot: + path: .maestro/screenshots/message--encrypted-large-font + cropOn: + id: message--encrypted-large-font + +- openLink: "rocketchat://storybook?path=/story/message--error" +- takeScreenshot: + path: .maestro/screenshots/message--error + cropOn: + id: message--error + +- openLink: "rocketchat://storybook?path=/story/message--error-large-font" +- takeScreenshot: + path: .maestro/screenshots/message--error-large-font + cropOn: + id: message--error-large-font + +- openLink: "rocketchat://storybook?path=/story/message--file-attachments-with-filenames" +- takeScreenshot: + path: .maestro/screenshots/message--file-attachments-with-filenames + cropOn: + id: message--file-attachments-with-filenames + +- openLink: "rocketchat://storybook?path=/story/message--file-attachments-with-filenames-large-font" +- takeScreenshot: + path: .maestro/screenshots/message--file-attachments-with-filenames-large-font + cropOn: + id: message--file-attachments-with-filenames-large-font + +- openLink: "rocketchat://storybook?path=/story/message--full-name" +- takeScreenshot: + path: .maestro/screenshots/message--full-name + cropOn: + id: message--full-name + +- openLink: "rocketchat://storybook?path=/story/message--full-name-large-font" +- takeScreenshot: + path: .maestro/screenshots/message--full-name-large-font + cropOn: + id: message--full-name-large-font + +- openLink: "rocketchat://storybook?path=/story/message--grouped-messages" +- takeScreenshot: + path: .maestro/screenshots/message--grouped-messages + cropOn: + id: message--grouped-messages + +- openLink: "rocketchat://storybook?path=/story/message--grouped-messages-large-font" +- takeScreenshot: + path: .maestro/screenshots/message--grouped-messages-large-font + cropOn: + id: message--grouped-messages-large-font + +- openLink: "rocketchat://storybook?path=/story/message--ignored" +- takeScreenshot: + path: .maestro/screenshots/message--ignored + cropOn: + id: message--ignored + +- openLink: "rocketchat://storybook?path=/story/message--ignored-large-font" +- takeScreenshot: + path: .maestro/screenshots/message--ignored-large-font + cropOn: + id: message--ignored-large-font + +- openLink: "rocketchat://storybook?path=/story/message--inline-katex" +- takeScreenshot: + path: .maestro/screenshots/message--inline-katex + cropOn: + id: message--inline-katex + +- openLink: "rocketchat://storybook?path=/story/message--inline-katex-large-font" +- takeScreenshot: + path: .maestro/screenshots/message--inline-katex-large-font + cropOn: + id: message--inline-katex-large-font + +- openLink: "rocketchat://storybook?path=/story/message--katex" +- takeScreenshot: + path: .maestro/screenshots/message--katex + cropOn: + id: message--katex + +- openLink: "rocketchat://storybook?path=/story/message--katex-array" +- takeScreenshot: + path: .maestro/screenshots/message--katex-array + cropOn: + id: message--katex-array + +- openLink: "rocketchat://storybook?path=/story/message--katex-array-large-font" +- takeScreenshot: + path: .maestro/screenshots/message--katex-array-large-font + cropOn: + id: message--katex-array-large-font + +- openLink: "rocketchat://storybook?path=/story/message--katex-large-font" +- takeScreenshot: + path: .maestro/screenshots/message--katex-large-font + cropOn: + id: message--katex-large-font + +- openLink: "rocketchat://storybook?path=/story/message--lists" +- takeScreenshot: + path: .maestro/screenshots/message--lists + cropOn: + id: message--lists + +- openLink: "rocketchat://storybook?path=/story/message--lists-large-font" +- takeScreenshot: + path: .maestro/screenshots/message--lists-large-font + cropOn: + id: message--lists-large-font + +- openLink: "rocketchat://storybook?path=/story/message--long-name-user" +- takeScreenshot: + path: .maestro/screenshots/message--long-name-user + cropOn: + id: message--long-name-user + +- openLink: "rocketchat://storybook?path=/story/message--long-name-user-large-font" +- takeScreenshot: + path: .maestro/screenshots/message--long-name-user-large-font + cropOn: + id: message--long-name-user-large-font + +- openLink: "rocketchat://storybook?path=/story/message--mentions" +- takeScreenshot: + path: .maestro/screenshots/message--mentions + cropOn: + id: message--mentions + +- openLink: "rocketchat://storybook?path=/story/message--mentions-large-font" +- takeScreenshot: + path: .maestro/screenshots/message--mentions-large-font + cropOn: + id: message--mentions-large-font + +- openLink: "rocketchat://storybook?path=/story/message--message" +- takeScreenshot: + path: .maestro/screenshots/message--message + cropOn: + id: message--message + +- openLink: "rocketchat://storybook?path=/story/message--message-with-nested-reply-and-file" +- takeScreenshot: + path: .maestro/screenshots/message--message-with-nested-reply-and-file + cropOn: + id: message--message-with-nested-reply-and-file + +- openLink: "rocketchat://storybook?path=/story/message--message-with-read-receipt" +- takeScreenshot: + path: .maestro/screenshots/message--message-with-read-receipt + cropOn: + id: message--message-with-read-receipt + +- openLink: "rocketchat://storybook?path=/story/message--message-with-read-receipt-large-font" +- takeScreenshot: + path: .maestro/screenshots/message--message-with-read-receipt-large-font + cropOn: + id: message--message-with-read-receipt-large-font + +- openLink: "rocketchat://storybook?path=/story/message--message-with-reply" +- takeScreenshot: + path: .maestro/screenshots/message--message-with-reply + cropOn: + id: message--message-with-reply + +- openLink: "rocketchat://storybook?path=/story/message--message-with-reply-and-file" +- takeScreenshot: + path: .maestro/screenshots/message--message-with-reply-and-file + cropOn: + id: message--message-with-reply-and-file + +- openLink: "rocketchat://storybook?path=/story/message--message-with-reply-and-file-large-font" +- takeScreenshot: + path: .maestro/screenshots/message--message-with-reply-and-file-large-font + cropOn: + id: message--message-with-reply-and-file-large-font + +- openLink: "rocketchat://storybook?path=/story/message--message-with-reply-large-font" +- takeScreenshot: + path: .maestro/screenshots/message--message-with-reply-large-font + cropOn: + id: message--message-with-reply-large-font + +- openLink: "rocketchat://storybook?path=/story/message--message-with-thread" +- takeScreenshot: + path: .maestro/screenshots/message--message-with-thread + cropOn: + id: message--message-with-thread + +- openLink: "rocketchat://storybook?path=/story/message--message-with-thread-large-font" +- takeScreenshot: + path: .maestro/screenshots/message--message-with-thread-large-font + cropOn: + id: message--message-with-thread-large-font + +- openLink: "rocketchat://storybook?path=/story/message--pinned" +- takeScreenshot: + path: .maestro/screenshots/message--pinned + cropOn: + id: message--pinned + +- openLink: "rocketchat://storybook?path=/story/message--pinned-large-font" +- takeScreenshot: + path: .maestro/screenshots/message--pinned-large-font + cropOn: + id: message--pinned-large-font + +- openLink: "rocketchat://storybook?path=/story/message--reactions" +- takeScreenshot: + path: .maestro/screenshots/message--reactions + cropOn: + id: message--reactions + +- openLink: "rocketchat://storybook?path=/story/message--reactions-large-font" +- takeScreenshot: + path: .maestro/screenshots/message--reactions-large-font + cropOn: + id: message--reactions-large-font + +- openLink: "rocketchat://storybook?path=/story/message--sequential-thread-messages-following-thread-button" +- takeScreenshot: + path: .maestro/screenshots/message--sequential-thread-messages-following-thread-button + cropOn: + id: message--sequential-thread-messages-following-thread-button + +- openLink: "rocketchat://storybook?path=/story/message--sequential-thread-messages-following-thread-button-large-font" +- takeScreenshot: + path: .maestro/screenshots/message--sequential-thread-messages-following-thread-button-large-font + cropOn: + id: message--sequential-thread-messages-following-thread-button-large-font + +- openLink: "rocketchat://storybook?path=/story/message--sequential-thread-messages-following-thread-reply" +- takeScreenshot: + path: .maestro/screenshots/message--sequential-thread-messages-following-thread-reply + cropOn: + id: message--sequential-thread-messages-following-thread-reply + +- openLink: "rocketchat://storybook?path=/story/message--sequential-thread-messages-following-thread-reply-large-font" +- takeScreenshot: + path: .maestro/screenshots/message--sequential-thread-messages-following-thread-reply-large-font + cropOn: + id: message--sequential-thread-messages-following-thread-reply-large-font + +- openLink: "rocketchat://storybook?path=/story/message--show-button-as-attachment" +- takeScreenshot: + path: .maestro/screenshots/message--show-button-as-attachment + cropOn: + id: message--show-button-as-attachment + +- openLink: "rocketchat://storybook?path=/story/message--show-button-as-attachment-large-font" +- takeScreenshot: + path: .maestro/screenshots/message--show-button-as-attachment-large-font + cropOn: + id: message--show-button-as-attachment-large-font + +- openLink: "rocketchat://storybook?path=/story/message--static-avatar" +- takeScreenshot: + path: .maestro/screenshots/message--static-avatar + cropOn: + id: message--static-avatar + +- openLink: "rocketchat://storybook?path=/story/message--static-avatar-large-font" +- takeScreenshot: + path: .maestro/screenshots/message--static-avatar-large-font + cropOn: + id: message--static-avatar-large-font + +- openLink: "rocketchat://storybook?path=/story/message--system-messages" +- takeScreenshot: + path: .maestro/screenshots/message--system-messages + cropOn: + id: message--system-messages + +- openLink: "rocketchat://storybook?path=/story/message--system-messages-large-font" +- takeScreenshot: + path: .maestro/screenshots/message--system-messages-large-font + cropOn: + id: message--system-messages-large-font + +- openLink: "rocketchat://storybook?path=/story/message--temp" +- takeScreenshot: + path: .maestro/screenshots/message--temp + cropOn: + id: message--temp + +- openLink: "rocketchat://storybook?path=/story/message--temp-large-font" +- takeScreenshot: + path: .maestro/screenshots/message--temp-large-font + cropOn: + id: message--temp-large-font + +- openLink: "rocketchat://storybook?path=/story/message--thumbnail-from-server" +- takeScreenshot: + path: .maestro/screenshots/message--thumbnail-from-server + cropOn: + id: message--thumbnail-from-server + +- openLink: "rocketchat://storybook?path=/story/message--thumbnail-from-server-large-font" +- takeScreenshot: + path: .maestro/screenshots/message--thumbnail-from-server-large-font + cropOn: + id: message--thumbnail-from-server-large-font + +- openLink: "rocketchat://storybook?path=/story/message--time-format" +- takeScreenshot: + path: .maestro/screenshots/message--time-format + cropOn: + id: message--time-format + +- openLink: "rocketchat://storybook?path=/story/message--time-format-large-font" +- takeScreenshot: + path: .maestro/screenshots/message--time-format-large-font + cropOn: + id: message--time-format-large-font + +- openLink: "rocketchat://storybook?path=/story/message--translated" +- takeScreenshot: + path: .maestro/screenshots/message--translated + cropOn: + id: message--translated + +- openLink: "rocketchat://storybook?path=/story/message--translated-large-font" +- takeScreenshot: + path: .maestro/screenshots/message--translated-large-font + cropOn: + id: message--translated-large-font + +- openLink: "rocketchat://storybook?path=/story/message--two-short-custom-fields-with-markdown" +- takeScreenshot: + path: .maestro/screenshots/message--two-short-custom-fields-with-markdown + cropOn: + id: message--two-short-custom-fields-with-markdown + +- openLink: "rocketchat://storybook?path=/story/message--two-short-custom-fields-with-markdown-large-font" +- takeScreenshot: + path: .maestro/screenshots/message--two-short-custom-fields-with-markdown-large-font + cropOn: + id: message--two-short-custom-fields-with-markdown-large-font + +- openLink: "rocketchat://storybook?path=/story/message--url" +- takeScreenshot: + path: .maestro/screenshots/message--url + cropOn: + id: message--url + +- openLink: "rocketchat://storybook?path=/story/message--url-image-preview" +- takeScreenshot: + path: .maestro/screenshots/message--url-image-preview + cropOn: + id: message--url-image-preview + +- openLink: "rocketchat://storybook?path=/story/message--url-image-preview-large-font" +- takeScreenshot: + path: .maestro/screenshots/message--url-image-preview-large-font + cropOn: + id: message--url-image-preview-large-font + +- openLink: "rocketchat://storybook?path=/story/message--url-large-font" +- takeScreenshot: + path: .maestro/screenshots/message--url-large-font + cropOn: + id: message--url-large-font + +- openLink: "rocketchat://storybook?path=/story/message--with-alias" +- takeScreenshot: + path: .maestro/screenshots/message--with-alias + cropOn: + id: message--with-alias + +- openLink: "rocketchat://storybook?path=/story/message--with-alias-large-font" +- takeScreenshot: + path: .maestro/screenshots/message--with-alias-large-font + cropOn: + id: message--with-alias-large-font + +- openLink: "rocketchat://storybook?path=/story/message--with-audio" +- takeScreenshot: + path: .maestro/screenshots/message--with-audio + cropOn: + id: message--with-audio + +- openLink: "rocketchat://storybook?path=/story/message--with-audio-large-font" +- takeScreenshot: + path: .maestro/screenshots/message--with-audio-large-font + cropOn: + id: message--with-audio-large-font + +- openLink: "rocketchat://storybook?path=/story/message--with-file" +- takeScreenshot: + path: .maestro/screenshots/message--with-file + cropOn: + id: message--with-file + +- openLink: "rocketchat://storybook?path=/story/message--with-file-large-font" +- takeScreenshot: + path: .maestro/screenshots/message--with-file-large-font + cropOn: + id: message--with-file-large-font + +- openLink: "rocketchat://storybook?path=/story/message--with-image" +- takeScreenshot: + path: .maestro/screenshots/message--with-image + cropOn: + id: message--with-image + +- openLink: "rocketchat://storybook?path=/story/message--with-image-large-font" +- takeScreenshot: + path: .maestro/screenshots/message--with-image-large-font + cropOn: + id: message--with-image-large-font + +- openLink: "rocketchat://storybook?path=/story/message--without-header" +- takeScreenshot: + path: .maestro/screenshots/message--without-header + cropOn: + id: message--without-header + +- openLink: "rocketchat://storybook?path=/story/message--without-header-large-font" +- takeScreenshot: + path: .maestro/screenshots/message--without-header-large-font + cropOn: + id: message--without-header-large-font + +- openLink: "rocketchat://storybook?path=/story/message--with-video" +- takeScreenshot: + path: .maestro/screenshots/message--with-video + cropOn: + id: message--with-video + +- openLink: "rocketchat://storybook?path=/story/message--with-video-large-font" +- takeScreenshot: + path: .maestro/screenshots/message--with-video-large-font + cropOn: + id: message--with-video-large-font + +- openLink: "rocketchat://storybook?path=/story/cannedresponseitem--itens" +- takeScreenshot: + path: .maestro/screenshots/cannedresponseitem--itens + cropOn: + id: cannedresponseitem--itens + +- openLink: "rocketchat://storybook?path=/story/switchitem--switch" +- takeScreenshot: + path: .maestro/screenshots/switchitem--switch + cropOn: + id: switchitem--switch + +- openLink: "rocketchat://storybook?path=/story/discussionsview-item--content" +- takeScreenshot: + path: .maestro/screenshots/discussionsview-item--content + cropOn: + id: discussionsview-item--content + +- openLink: "rocketchat://storybook?path=/story/discussionsview-item--themes" +- takeScreenshot: + path: .maestro/screenshots/discussionsview-item--themes + cropOn: + id: discussionsview-item--themes + +- openLink: "rocketchat://storybook?path=/story/servershistoryitem--content" +- takeScreenshot: + path: .maestro/screenshots/servershistoryitem--content + cropOn: + id: servershistoryitem--content + +- openLink: "rocketchat://storybook?path=/story/servershistoryitem--swipe-actions" +- takeScreenshot: + path: .maestro/screenshots/servershistoryitem--swipe-actions + cropOn: + id: servershistoryitem--swipe-actions + +- openLink: "rocketchat://storybook?path=/story/servershistoryitem--themes" +- takeScreenshot: + path: .maestro/screenshots/servershistoryitem--themes + cropOn: + id: servershistoryitem--themes + +- openLink: "rocketchat://storybook?path=/story/roominfoabac--black" +- takeScreenshot: + path: .maestro/screenshots/roominfoabac--black + cropOn: + id: roominfoabac--black + +- openLink: "rocketchat://storybook?path=/story/roominfoabac--dark" +- takeScreenshot: + path: .maestro/screenshots/roominfoabac--dark + cropOn: + id: roominfoabac--dark + +- openLink: "rocketchat://storybook?path=/story/roominfoabac--light" +- takeScreenshot: + path: .maestro/screenshots/roominfoabac--light + cropOn: + id: roominfoabac--light + +- openLink: "rocketchat://storybook?path=/story/roomview-loadmore--basic" +- takeScreenshot: + path: .maestro/screenshots/roomview-loadmore--basic + cropOn: + id: roomview-loadmore--basic + +- openLink: "rocketchat://storybook?path=/story/roomview-loadmore--black-theme" +- takeScreenshot: + path: .maestro/screenshots/roomview-loadmore--black-theme + cropOn: + id: roomview-loadmore--black-theme + +- openLink: "rocketchat://storybook?path=/story/roomview-loadmore--dark-theme" +- takeScreenshot: + path: .maestro/screenshots/roomview-loadmore--dark-theme + cropOn: + id: roomview-loadmore--dark-theme + +- openLink: "rocketchat://storybook?path=/story/roomview-loadmore--light-theme" +- takeScreenshot: + path: .maestro/screenshots/roomview-loadmore--light-theme + cropOn: + id: roomview-loadmore--light-theme + +- openLink: "rocketchat://storybook?path=/story/threadmessagesview-item--badge" +- takeScreenshot: + path: .maestro/screenshots/threadmessagesview-item--badge + cropOn: + id: threadmessagesview-item--badge + +- openLink: "rocketchat://storybook?path=/story/threadmessagesview-item--content" +- takeScreenshot: + path: .maestro/screenshots/threadmessagesview-item--content + cropOn: + id: threadmessagesview-item--content + +- openLink: "rocketchat://storybook?path=/story/threadmessagesview-item--themes" +- takeScreenshot: + path: .maestro/screenshots/threadmessagesview-item--themes + cropOn: + id: threadmessagesview-item--themes diff --git a/.rnstorybook/index.ts b/.rnstorybook/index.ts index bada92bbc66..ddaed89913f 100644 --- a/.rnstorybook/index.ts +++ b/.rnstorybook/index.ts @@ -1,6 +1,7 @@ import AsyncStorage from '@react-native-async-storage/async-storage'; import { view } from './storybook.requires'; import RNBootSplash from 'react-native-bootsplash'; +import { Linking } from 'react-native'; const StorybookUIRoot = view.getStorybookUI({ storage: { @@ -9,6 +10,39 @@ const StorybookUIRoot = view.getStorybookUI({ } }); +function openStoryFromUrl(url: string | null) { + if (!url) return + + try { + const parsed = new URL(url) + const path = parsed.searchParams.get('path') + + if (!path) return + + const storyId = path.replace('/story/', '') + + const channel = view._channel + + const emit = () => { + channel.emit('setCurrentStory', { storyId }) + } + + if (channel) { + emit() + } else { + setTimeout(emit, 500) + } + } catch (e) { + console.log(e) + } +} + +Linking.getInitialURL().then(openStoryFromUrl); + +Linking.addEventListener('url', event => { + openStoryFromUrl(event.url) +}); + RNBootSplash.hide(); export default StorybookUIRoot; diff --git a/scripts/generate-maestro.js b/scripts/generate-maestro.js new file mode 100644 index 00000000000..d23f807c6be --- /dev/null +++ b/scripts/generate-maestro.js @@ -0,0 +1,124 @@ +const fs = require("fs") +const path = require("path") + +const ROOT = path.join(process.cwd(), "app") +const OUTPUT = path.join(process.cwd(), ".maestro/storybook/storybook.yaml") + +function findStoryFiles(dir, files = []) { + const items = fs.readdirSync(dir) + + for (const item of items) { + const full = path.join(dir, item) + const stat = fs.statSync(full) + + if (stat.isDirectory()) { + findStoryFiles(full, files) + continue + } + + if (item.endsWith(".stories.tsx") || item.endsWith(".stories.ts")) { + files.push(full) + } + } + + return files +} + +function parseStories(file) { + let content = fs.readFileSync(file, "utf8") + + content = stripComments(content) + + const defaultExport = content.match(/export\s+default\s*{([\s\S]*?)}/) + if (!defaultExport) return null + + const titleMatch = defaultExport[1].match(/title:\s*['"`](.*?)['"`]/) + if (!titleMatch) return null + + const title = titleMatch[1] + + const storyMatches = [...content.matchAll(/export const (\w+)/g)] + + const stories = storyMatches + .map(m => { + const exportName = m[1] + + return { + raw: exportName, + id: storyId(title, exportName) + } + }) + .sort((a, b) => a.raw.localeCompare(b.raw)) + + return { title, stories } +} + +function stripComments(code) { + return code + .replace(/\/\/.*$/gm, "") + .replace(/\/\*[\s\S]*?\*\//g, "") +} + +function buildSteps(story) { + return ` +- openLink: "rocketchat://storybook?path=/story/${story.id}" +- assertScreenshot: + path: .maestro/screenshots/${story.id} + cropOn: + id: ${story.id} + thresholdPercentage: 1 + optional: true +` +} + +function generateYaml(data) { + let yaml = `appId: chat.rocket.reactnative +--- +` + data.forEach(item => { + item.stories.forEach(story => { + yaml += buildSteps(story) + }) + }) + + return yaml +} + +function formatTitle(title) { + return title + .trim() + .toLowerCase() + .replace(/\s+/g, "-") + .replace(/\//g, "-") +} + +function kebabCase(str) { + return str + .replace(/([a-z0-9])([A-Z])/g, "$1-$2") + .replace(/([A-Z])([A-Z][a-z])/g, "$1-$2") + .replace(/([a-zA-Z])([0-9])/g, "$1-$2") + .replace(/([0-9])([a-zA-Z])/g, "$1-$2") + .replace(/[\s_]+/g, "-") + .toLowerCase() +} + +function storyId(title, exportName) { + return `${formatTitle(title)}--${kebabCase(exportName)}` +} + +function main() { + const files = findStoryFiles(ROOT) + + const parsed = files + .map(parseStories) + .filter(Boolean) + + const yaml = generateYaml(parsed) + + fs.mkdirSync(".maestro/storybook", { recursive: true }) + fs.writeFileSync(OUTPUT, yaml) + + console.log("Generated:", OUTPUT) +} + +main() \ No newline at end of file diff --git a/scripts/update-maestro.js b/scripts/update-maestro.js new file mode 100644 index 00000000000..c66c82745ad --- /dev/null +++ b/scripts/update-maestro.js @@ -0,0 +1,122 @@ +const fs = require("fs") +const path = require("path") + +const ROOT = path.join(process.cwd(), "app") +const OUTPUT = path.join(process.cwd(), ".maestro/storybook/update-storybook.yaml") + +function findStoryFiles(dir, files = []) { + const items = fs.readdirSync(dir) + + for (const item of items) { + const full = path.join(dir, item) + const stat = fs.statSync(full) + + if (stat.isDirectory()) { + findStoryFiles(full, files) + continue + } + + if (item.endsWith(".stories.tsx") || item.endsWith(".stories.ts")) { + files.push(full) + } + } + + return files +} + +function parseStories(file) { + let content = fs.readFileSync(file, "utf8") + + content = stripComments(content) + + const defaultExport = content.match(/export\s+default\s*{([\s\S]*?)}/) + if (!defaultExport) return null + + const titleMatch = defaultExport[1].match(/title:\s*['"`](.*?)['"`]/) + if (!titleMatch) return null + + const title = titleMatch[1] + + const storyMatches = [...content.matchAll(/export const (\w+)/g)] + + const stories = storyMatches + .map(m => { + const exportName = m[1] + + return { + raw: exportName, + id: storyId(title, exportName) + } + }) + .sort((a, b) => a.raw.localeCompare(b.raw)) + + return { title, stories } +} + +function stripComments(code) { + return code + .replace(/\/\/.*$/gm, "") + .replace(/\/\*[\s\S]*?\*\//g, "") +} + +function buildSteps(story) { + return ` +- openLink: "rocketchat://storybook?path=/story/${story.id}" +- takeScreenshot: + path: .maestro/screenshots/${story.id} + cropOn: + id: ${story.id} +` +} + +function generateYaml(data) { + let yaml = `appId: chat.rocket.reactnative +--- +` + data.forEach(item => { + item.stories.forEach(story => { + yaml += buildSteps(story) + }) + }) + + return yaml +} + +function formatTitle(title) { + return title + .trim() + .toLowerCase() + .replace(/\s+/g, "-") + .replace(/\//g, "-") +} + +function kebabCase(str) { + return str + .replace(/([a-z0-9])([A-Z])/g, "$1-$2") + .replace(/([A-Z])([A-Z][a-z])/g, "$1-$2") + .replace(/([a-zA-Z])([0-9])/g, "$1-$2") + .replace(/([0-9])([a-zA-Z])/g, "$1-$2") + .replace(/[\s_]+/g, "-") + .toLowerCase() +} + +function storyId(title, exportName) { + return `${formatTitle(title)}--${kebabCase(exportName)}` +} + +function main() { + const files = findStoryFiles(ROOT) + + const parsed = files + .map(parseStories) + .filter(Boolean) + + const yaml = generateYaml(parsed) + + fs.mkdirSync(".maestro/storybook", { recursive: true }) + fs.writeFileSync(OUTPUT, yaml) + + console.log("Generated:", OUTPUT) +} + +main() \ No newline at end of file