Commit Graph

14 Commits

Author SHA1 Message Date
egg
7d3fc72bd2 feat: Add browser mode fallback for Kaspersky audio blocking
- Add sidecar management to backend (sidecar_manager.py)
- Add sidecar API router for browser mode (/api/sidecar/*)
- Add browser-api.js polyfill for running in Chrome/Edge
- Add "Open in Browser" button when audio access fails
- Update build scripts with new sidecar modules
- Add start-browser.sh for development browser mode

Browser mode allows users to open the app in their system browser
when Electron's audio access is blocked by security software.
The backend manages the sidecar process in browser mode (BROWSER_MODE=true).

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-22 16:41:25 +08:00
egg
0defc829dd fix: Make SQLite default for embedded-backend mode
When --embedded-backend is specified, SQLite is now the default database
type instead of MySQL. This is the expected behavior for all-in-one
deployment where the app should work offline without external database.

Users can still explicitly specify --database-type mysql if needed.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-18 09:10:45 +08:00
egg
a9bd6b34f1 fix: Remove missing icon references and fix batch syntax
- Remove icon references from package.json (assets folder is empty)
- Fix batch script syntax by replacing if/else blocks with goto labels
- Remove parentheses and colons that conflict with batch syntax

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-18 08:37:08 +08:00
egg
56cf0c072c fix: Batch script syntax error in build-client.bat
- Replace nested if statements with goto for target validation
- Remove parentheses from echo statements that conflict with if blocks

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-18 08:29:10 +08:00
egg
08cffbb74a feat: Add NSIS installer target and persistent SQLite storage
- Add NSIS installer as default target (--target nsis)
- Keep portable option available (--target portable)
- Store SQLite database in %APPDATA%\Meeting-Assistant for persistence
- Portable temp folder cleanup no longer affects SQLite data
- Update build-client.bat with --target parameter support
- Update DEPLOYMENT.md with new options and comparisons

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-18 08:13:32 +08:00
egg
6f09c5f7cc fix: Correct hidden imports in build-client.bat
- Remove non-existent modules: app.auth, app.routers.dify,
  app.routers.health, app.routers.excel
- Add correct modules: app.routers.ai, app.routers.export,
  app.models, app.models.schemas
- Add sqlite3 and tzdata hidden imports

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-17 20:49:07 +08:00
egg
81905688a6 fix: Escape parentheses in batch script echo statements
Parentheses in Chinese text (本地模式) and (雲端模式) were being
interpreted as if/else block delimiters, causing both echo statements
to execute regardless of the DATABASE_TYPE condition.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-17 14:01:14 +08:00
egg
01d578c67e feat: Add SQLite database support and fixed portable extraction path
- Add SQLite as alternative database for offline/firewall environments
- Add --database-type parameter to build-client.bat (mysql/sqlite)
- Refactor database.py to support both MySQL and SQLite
- Add DB_TYPE and SQLITE_PATH configuration options
- Set fixed unpackDirName for portable exe (Meeting-Assistant)
- Update DEPLOYMENT.md with SQLite mode documentation

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-17 13:57:02 +08:00
egg
34947f6262 fix: Handle UTF-8 BOM in config loading and build script
- main.js: Strip UTF-8 BOM when reading config.json
- build-client.bat: Write config.json without BOM using
  [System.Text.UTF8Encoding]::new($false)

PowerShell's -Encoding UTF8 writes BOM by default, which can
cause JSON parsing issues in Node.js.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-17 12:30:04 +08:00
egg
58f379bc0c feat: Add embedded backend packaging for all-in-one deployment
- Add backend/run_server.py entry point for embedded deployment
- Add backend/build.py PyInstaller script for backend packaging
- Modify config.py to support frozen executable paths
- Extend client/config.json with backend configuration section
- Add backend sidecar management in Electron main process
- Add Whisper model download progress reporting
- Update build-client.bat with --embedded-backend flag
- Update DEPLOYMENT.md with all-in-one deployment documentation

This enables packaging frontend and backend into a single executable
for simplified enterprise deployment. Backward compatible with
existing separate deployment mode (backend.embedded: false).

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-17 10:06:29 +08:00
egg
7075078d9e feat: Add --api-url parameter to build-client.bat
Now you can specify the backend API URL when building:
  build-client.bat build --api-url "http://192.168.1.100:8000/api"

This updates client/config.json before packaging so the exe
connects to the specified backend server.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-17 07:19:52 +08:00
egg
92e203422b fix: Disable code signing to avoid Windows symlink errors
- Add signAndEditExecutable: false to skip code signing on Windows
- Clear electron-builder winCodeSign cache before build
- Add helpful error messages for symlink permission issues

The winCodeSign package contains macOS symlinks that fail to extract
on Windows without admin privileges or Developer Mode enabled.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-16 20:48:16 +08:00
egg
c19b4e8292 fix: Improve Windows build scripts to properly execute electron-builder
- build-client.bat: Use node_modules\.bin\electron-builder.cmd directly
- build-all.ps1: Use direct path to electron-builder instead of npm run
- setup-backend.bat: Add UTF-8 support and use python -m pip

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-16 20:40:52 +08:00
egg
7d4fc69071 feat: Add build scripts and runtime config support
Backend:
- Add setup-backend.sh/bat for one-click backend setup
- Fix test_auth.py mock settings (JWT_EXPIRE_HOURS)
- Fix test_excel_export.py TEMPLATE_DIR reference

Frontend:
- Add config.json for runtime API URL configuration
- Add init.js and settings.js for config loading
- Update main.js to load config from external file
- Update api.js to use dynamic API_BASE_URL
- Update all pages to initialize config before API calls
- Update package.json with extraResources for config

Build:
- Add build-client.sh/bat for packaging Electron + Sidecar
- Add build-all.ps1 PowerShell script with -ApiUrl parameter
- Add GitHub Actions workflow for Windows builds
- Add scripts/README.md documentation

This allows IT to configure backend URL without rebuilding.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-16 20:03:16 +08:00