diff --git a/.github/workflows/build-android.yml b/.github/workflows/build-android.yml index c73996de..dc114339 100644 --- a/.github/workflows/build-android.yml +++ b/.github/workflows/build-android.yml @@ -30,7 +30,7 @@ jobs: - name: 🍞 Setup Bun uses: oven-sh/setup-bun@735343b667d3e6f658f44d0eca948eb6282f2b76 # v2.0.2 with: - bun-version: '1.2.17' + bun-version: latest - name: ☕ Setup JDK uses: actions/setup-java@c5195efecf7bdfc987ee8bae7a71cb8b11521c00 # v4.7.1 diff --git a/.github/workflows/build-ios.yml b/.github/workflows/build-ios.yml index 354b9b32..ce29d8a1 100644 --- a/.github/workflows/build-ios.yml +++ b/.github/workflows/build-ios.yml @@ -30,7 +30,7 @@ jobs: - name: 🍞 Setup Bun uses: oven-sh/setup-bun@735343b667d3e6f658f44d0eca948eb6282f2b76 # v2.0.2 with: - bun-version: '1.2.17' + bun-version: latest - name: 💾 Cache Bun dependencies uses: actions/cache@5a3ec84eff668545956fd18022155c47e93e2684 # v4 diff --git a/.github/workflows/check-lockfile.yml b/.github/workflows/check-lockfile.yml index 42cf3d1f..028b6133 100644 --- a/.github/workflows/check-lockfile.yml +++ b/.github/workflows/check-lockfile.yml @@ -29,7 +29,7 @@ jobs: - name: 🍞 Setup Bun uses: oven-sh/setup-bun@735343b667d3e6f658f44d0eca948eb6282f2b76 # v2.0.2 with: - bun-version: '1.2.17' + bun-version: latest - name: 💾 Cache Bun dependencies uses: actions/cache@5a3ec84eff668545956fd18022155c47e93e2684 # v4.2.3 diff --git a/.github/workflows/linting.yml b/.github/workflows/linting.yml index 56ac30fc..11ddab03 100644 --- a/.github/workflows/linting.yml +++ b/.github/workflows/linting.yml @@ -1,10 +1,12 @@ name: 🚦 Security & Quality Gate on: - pull_request_target: + pull_request: types: [opened, edited, synchronize, reopened] branches: [develop, master] workflow_dispatch: + push: + branches: [develop] permissions: contents: read @@ -61,6 +63,28 @@ jobs: base-ref: ${{ github.event.pull_request.base.sha || 'develop' }} head-ref: ${{ github.event.pull_request.head.sha || github.ref }} + expo-doctor: + name: 🚑 Expo Doctor Check + runs-on: ubuntu-24.04 + steps: + - name: 🛒 Checkout repository + uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 + with: + ref: ${{ github.event.pull_request.head.sha }} + submodules: recursive + fetch-depth: 0 + + - name: 🍞 Setup Bun + uses: oven-sh/setup-bun@735343b667d3e6f658f44d0eca948eb6282f2b76 # v2.0.2 + with: + bun-version: latest + + - name: 📦 Install dependencies (bun) + run: bun install --frozen-lockfile + + - name: 🚑 Run Expo Doctor + run: bun expo-doctor + code_quality: name: "🔍 Lint & Test (${{ matrix.command }})" runs-on: ubuntu-latest @@ -70,6 +94,7 @@ jobs: command: - "lint" - "check" + - "format" steps: - name: "📥 Checkout PR code" uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 @@ -86,7 +111,7 @@ jobs: - name: "🍞 Setup Bun" uses: oven-sh/setup-bun@735343b667d3e6f658f44d0eca948eb6282f2b76 # v2.0.2 with: - bun-version: '1.2.17' + bun-version: latest - name: "📦 Install dependencies" run: bun install --frozen-lockfile diff --git a/bun.lock b/bun.lock index f2bfdbef..236234e0 100644 --- a/bun.lock +++ b/bun.lock @@ -30,6 +30,7 @@ "expo-crypto": "~14.0.2", "expo-dev-client": "~5.0.11", "expo-device": "~7.0.2", + "expo-doctor": "^1.13.5", "expo-font": "~13.0.3", "expo-haptics": "~14.0.1", "expo-image": "~2.0.4", @@ -1150,6 +1151,8 @@ "expo-device": ["expo-device@7.0.3", "", { "dependencies": { "ua-parser-js": "^0.7.33" }, "peerDependencies": { "expo": "*" } }, "sha512-uNGhDYmpDj/3GySWZmRiYSt52Phdim11p0pXfgpCq/nMks0+UPZwl3D0vin5N8/gpVe5yzb13GYuFxiVoDyniw=="], + "expo-doctor": ["expo-doctor@1.13.5", "", { "bin": { "expo-doctor": "build/index.js" } }, "sha512-Kp9c0+qiQ636ZuKyU+TwSe0oO9kdK1Q+xCD6VBM1zPSv8Grqa5yg1F2EkGvqQeDJYUXUZvPUqVhRBz9sLyvQOg=="], + "expo-eas-client": ["expo-eas-client@0.13.3", "", {}, "sha512-t+1F1tiDocSot8iSnrn/CjTUMvVvPV2DpafSVcticpbSzMGybEN7wcamO1t18fK7WxGXpZE9gxtd80qwv/LLqQ=="], "expo-file-system": ["expo-file-system@18.0.12", "", { "dependencies": { "web-streams-polyfill": "^3.3.2" }, "peerDependencies": { "expo": "*", "react-native": "*" } }, "sha512-HAkrd/mb8r+G3lJ9MzmGeuW2B+BxQR1joKfeCyY4deLl1zoZ48FrAWjgZjHK9aHUVhJ0ehzInu/NQtikKytaeg=="], diff --git a/hooks/useJellyfinDiscovery.tsx b/hooks/useJellyfinDiscovery.tsx index 3bb0757a..47343c99 100644 --- a/hooks/useJellyfinDiscovery.tsx +++ b/hooks/useJellyfinDiscovery.tsx @@ -20,7 +20,7 @@ export const useJellyfinDiscovery = () => { setServers([]); const discoveredServers = new Set(); - let discoveryTimeout: NodeJS.Timeout; + let discoveryTimeout: number; const socket = dgram.createSocket({ type: "udp4", diff --git a/package.json b/package.json index 7839a2ad..b25cbcd4 100644 --- a/package.json +++ b/package.json @@ -45,6 +45,7 @@ "expo-crypto": "~14.0.2", "expo-dev-client": "~5.0.11", "expo-device": "~7.0.2", + "expo-doctor": "^1.13.5", "expo-font": "~13.0.3", "expo-haptics": "~14.0.1", "expo-image": "~2.0.4",