From 324e586a7d416aab30708879c0c4cfe75210c870 Mon Sep 17 00:00:00 2001 From: Arjun Patel Date: Tue, 2 Jun 2026 07:53:59 -0700 Subject: [PATCH 1/5] add gh action for quality gate --- .github/workflows/pr-quality-gate.yml | 63 +++++++++++++++++++++++++++ 1 file changed, 63 insertions(+) create mode 100644 .github/workflows/pr-quality-gate.yml diff --git a/.github/workflows/pr-quality-gate.yml b/.github/workflows/pr-quality-gate.yml new file mode 100644 index 0000000..d534add --- /dev/null +++ b/.github/workflows/pr-quality-gate.yml @@ -0,0 +1,63 @@ +name: PR Quality Gate (client applications) + +on: + pull_request: + paths: + - "js/mobile/**" + - "js/desktop/**" + branches: [ main ] + types: [ opened, synchronize, reopened ] + +jobs: + mobile: + name: Lint & format check + runs-on: ubuntu-latest + defaults: + run: + working-directory: js/mobile + + steps: + - name: Check out repository code + uses: actions/checkout@v4 + + - name: Set up Node.js runtime + uses: actions/setup-node@v4 + with: + node-node-version: '20' + cache: 'yarn' + + - name: Install dependencies + run: yarn install --frozen-lockfile + + - name: Run Code Linter + run: yarn lint + + - name: Run Unit Tests + run: yarn format:check + desktop: + name: Lint & format check + runs-on: ubuntu-latest + defaults: + run: + working-directory: js/desktop + + steps: + - name: Check out repository code + uses: actions/checkout@v4 + + - name: Set up Node.js runtime + uses: actions/setup-node@v4 + with: + node-node-version: '20' + cache: 'yarn' + + - name: Install dependencies + run: yarn install --frozen-lockfile + + - name: Run Code Linter + run: yarn lint + + - name: Run Unit Tests + run: yarn format:check + + -- 2.54.0 From 36a1a4994c2ae15755061fbf98352e65d6097a34 Mon Sep 17 00:00:00 2001 From: Arjun Patel Date: Tue, 2 Jun 2026 07:55:16 -0700 Subject: [PATCH 2/5] test quality gate --- js/mobile/src/App.tsx | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/js/mobile/src/App.tsx b/js/mobile/src/App.tsx index bd7f209..fb57b10 100644 --- a/js/mobile/src/App.tsx +++ b/js/mobile/src/App.tsx @@ -9,10 +9,7 @@ import { } from 'react-native-safe-area-context'; import { Toaster } from 'sonner-native'; import { createQueryClient } from '@/lib/query-client'; -import { - flushPendingNavigation, - navigationRef, -} from '@/lib/notification-routing'; +import { flushPendingNavigation, navigationRef, } from '@/lib/notification-routing'; import { configureNotifications } from '@/lib/push-notifications'; import { PusherProvider } from '@/lib/pusher-provider'; import { RootNavigator } from '@/navigation/RootNavigator'; -- 2.54.0 From 5c317d05159e6899408dc6d430333702775b907f Mon Sep 17 00:00:00 2001 From: Arjun Patel Date: Tue, 2 Jun 2026 07:58:57 -0700 Subject: [PATCH 3/5] fix job --- .github/workflows/pr-quality-gate.yml | 22 +++++++++++++--------- 1 file changed, 13 insertions(+), 9 deletions(-) diff --git a/.github/workflows/pr-quality-gate.yml b/.github/workflows/pr-quality-gate.yml index d534add..f6fa762 100644 --- a/.github/workflows/pr-quality-gate.yml +++ b/.github/workflows/pr-quality-gate.yml @@ -20,15 +20,17 @@ jobs: - name: Check out repository code uses: actions/checkout@v4 - - name: Set up Node.js runtime + - name: Set up Node.js uses: actions/setup-node@v4 with: - node-node-version: '20' - cache: 'yarn' + node-version: '20' + + - name: Enable Corepack + run: corepack enable - name: Install dependencies - run: yarn install --frozen-lockfile - + run: yarn install --immutable + - name: Run Code Linter run: yarn lint @@ -45,14 +47,16 @@ jobs: - name: Check out repository code uses: actions/checkout@v4 - - name: Set up Node.js runtime + - name: Set up Node.js uses: actions/setup-node@v4 with: - node-node-version: '20' - cache: 'yarn' + node-version: '20' + + - name: Enable Corepack + run: corepack enable - name: Install dependencies - run: yarn install --frozen-lockfile + run: yarn install --immutable - name: Run Code Linter run: yarn lint -- 2.54.0 From 9adaf9ac38544716b6c70dd9c8cb330e2e34fc58 Mon Sep 17 00:00:00 2001 From: Arjun Patel Date: Tue, 2 Jun 2026 07:59:51 -0700 Subject: [PATCH 4/5] rename gh action jobs --- .github/workflows/pr-quality-gate.yml | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/.github/workflows/pr-quality-gate.yml b/.github/workflows/pr-quality-gate.yml index f6fa762..a7f7778 100644 --- a/.github/workflows/pr-quality-gate.yml +++ b/.github/workflows/pr-quality-gate.yml @@ -10,7 +10,7 @@ on: jobs: mobile: - name: Lint & format check + name: Lint & format check (mobile) runs-on: ubuntu-latest defaults: run: @@ -36,8 +36,9 @@ jobs: - name: Run Unit Tests run: yarn format:check + desktop: - name: Lint & format check + name: Lint & format check (desktop) runs-on: ubuntu-latest defaults: run: -- 2.54.0 From 458d3d36c3d49f429c9953b748919cd9af46dd28 Mon Sep 17 00:00:00 2001 From: Arjun Patel Date: Tue, 2 Jun 2026 08:02:07 -0700 Subject: [PATCH 5/5] format --- js/desktop/src/features/compose/compose-overlay.tsx | 2 +- js/desktop/src/features/particles/text-reaction-input.tsx | 2 +- js/mobile/src/App.tsx | 5 ++++- 3 files changed, 6 insertions(+), 3 deletions(-) diff --git a/js/desktop/src/features/compose/compose-overlay.tsx b/js/desktop/src/features/compose/compose-overlay.tsx index ccd4ef1..ef46124 100644 --- a/js/desktop/src/features/compose/compose-overlay.tsx +++ b/js/desktop/src/features/compose/compose-overlay.tsx @@ -412,7 +412,7 @@ export function ComposeOverlay({ setStepSync, createChildParticle, cancel, - handleQuotaError + handleQuotaError, ]); // New stream mode: create stream + first child diff --git a/js/desktop/src/features/particles/text-reaction-input.tsx b/js/desktop/src/features/particles/text-reaction-input.tsx index c3dd3cc..e44b2c8 100644 --- a/js/desktop/src/features/particles/text-reaction-input.tsx +++ b/js/desktop/src/features/particles/text-reaction-input.tsx @@ -28,7 +28,7 @@ export function TextReactionInput({ // NOTE: perform side effects here when opening if (open) { - setValue('') + setValue(''); } } diff --git a/js/mobile/src/App.tsx b/js/mobile/src/App.tsx index fb57b10..bd7f209 100644 --- a/js/mobile/src/App.tsx +++ b/js/mobile/src/App.tsx @@ -9,7 +9,10 @@ import { } from 'react-native-safe-area-context'; import { Toaster } from 'sonner-native'; import { createQueryClient } from '@/lib/query-client'; -import { flushPendingNavigation, navigationRef, } from '@/lib/notification-routing'; +import { + flushPendingNavigation, + navigationRef, +} from '@/lib/notification-routing'; import { configureNotifications } from '@/lib/push-notifications'; import { PusherProvider } from '@/lib/pusher-provider'; import { RootNavigator } from '@/navigation/RootNavigator'; -- 2.54.0