diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 9094a1ee..896723db 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -17,9 +17,16 @@ permissions: jobs: # ── Rust: build check ───────────────────────────────────────────── rust-build-check: - name: Rust Build Check - runs-on: ubuntu-latest + name: Rust Build Check (${{ matrix.os }}) + runs-on: ${{ matrix.os }} needs: frontend-build + strategy: + fail-fast: false + matrix: + os: + - ubuntu-latest + - macos-15 + - windows-latest steps: - uses: actions/checkout@v4 @@ -30,9 +37,12 @@ jobs: path: dist - name: Create mobile-web dist directory (workaround for Tauri) - run: mkdir -p mobile-web/dist + shell: bash + run: mkdir -p src/mobile-web/dist - name: Install Linux system dependencies (Tauri) + if: runner.os == 'Linux' + shell: bash run: | sudo apt-get update if apt-cache show libwebkit2gtk-4.1-dev >/dev/null 2>&1; then @@ -60,10 +70,10 @@ jobs: - uses: swatinem/rust-cache@v2 with: - shared-key: "ci-check" + shared-key: "ci-check-${{ runner.os }}" - name: Check compilation - run: cargo check --workspace --exclude bitfun-desktop + run: cargo check --workspace --exclude bitfun-cli # ── Frontend: build ──────────────────────────────────────────────── frontend-build: diff --git a/src/apps/desktop/tauri.conf.json b/src/apps/desktop/tauri.conf.json index 50e13b27..38db91f1 100644 --- a/src/apps/desktop/tauri.conf.json +++ b/src/apps/desktop/tauri.conf.json @@ -3,7 +3,7 @@ "productName": "BitFun", "identifier": "com.bitfun.desktop", "build": { - "beforeDevCommand": "pnpm run dev:web", + "beforeDevCommand": "pnpm run type-check:web && pnpm run dev:web", "devUrl": "http://localhost:1422", "beforeBuildCommand": "pnpm run build:web && pnpm run prepare:mobile-web", "frontendDist": "../../../dist" diff --git a/src/web-ui/src/app/components/NavPanel/sections/sessions/SessionsSection.tsx b/src/web-ui/src/app/components/NavPanel/sections/sessions/SessionsSection.tsx index 4e8e160b..14bdb5a7 100644 --- a/src/web-ui/src/app/components/NavPanel/sections/sessions/SessionsSection.tsx +++ b/src/web-ui/src/app/components/NavPanel/sections/sessions/SessionsSection.tsx @@ -15,7 +15,6 @@ import type { FlowChatState, Session } from '../../../../../flow_chat/types/flow import { useSceneStore } from '../../../../stores/sceneStore'; import { useApp } from '../../../../hooks/useApp'; import type { SceneTabId } from '../../../SceneBar/types'; -import type { SessionMode } from '../../../../stores/sessionModeStore'; import { useWorkspaceContext } from '@/infrastructure/contexts/WorkspaceContext'; import { createLogger } from '@/shared/utils/logger'; import './SessionsSection.scss';