fix: resolve empty window on desktop app launch#93
Closed
vincentmakes wants to merge 10 commits intomainfrom
Closed
fix: resolve empty window on desktop app launch#93vincentmakes wants to merge 10 commits intomainfrom
vincentmakes wants to merge 10 commits intomainfrom
Conversation
Scaffold a Tauri 2.0 desktop app that wraps the existing Express server as a sidecar process. The server is compiled into a self-contained binary using @yao-pkg/pkg, and Tauri provides a native webview window. New files: - src-tauri/: Tauri configuration, Rust entry point, sidecar management - desktop/: Build tooling to compile server.js into platform binaries - .github/workflows/desktop.yml: CI to build .dmg/.msi/.AppImage/.deb - .dockerignore: Exclude desktop files from Docker build context No existing code is modified. Docker image is unaffected. https://claude.ai/code/session_01UvYKdrhaLpgAVwWrGJTvGj
…on-2r2D1 Add Tauri desktop app scaffold with CI pipeline
- Add desktop/package-lock.json (required by npm ci) - Generate Tauri icons from existing icon.png - Replace deprecated macos-13 runner with macos-latest - Split tauri-action into release (tag push) and test (workflow_dispatch) steps - Add desktop/node_modules to .gitignore https://claude.ai/code/session_01UvYKdrhaLpgAVwWrGJTvGj
…on-2r2D1 Fix desktop CI: add missing files and fix workflow errors
Split the chained method call into a named MutexGuard binding so it is dropped before the state reference, fixing E0597. https://claude.ai/code/session_01UvYKdrhaLpgAVwWrGJTvGj
Evaluate .lock().unwrap().take() as a single expression so the MutexGuard temporary drops at the semicolon, before `state` is dropped at the end of the block. https://claude.ai/code/session_01UvYKdrhaLpgAVwWrGJTvGj
…on-2r2D1 Claude/desktop app exploration 2r2 d1
The GITHUB_TOKEN needs explicit write permission to upload release assets. Without it, the upload fails with 403. https://claude.ai/code/session_01UvYKdrhaLpgAVwWrGJTvGj
…on-2r2D1 fix: add contents write permission to desktop workflow
Remove the desktop app experiment (Tauri + pkg sidecar). The approach had too many compatibility issues with native modules, webview printing, and blob downloads to be maintainable. Removes: - src-tauri/ (Rust Tauri shell) - desktop/ (sidecar build tools) - .github/workflows/desktop.yml (CI pipeline) - Desktop-related entries in .gitignore and .dockerignore https://claude.ai/code/session_01UvYKdrhaLpgAVwWrGJTvGj
2edb062 to
be9ad1b
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Three issues causing the blank window:
CSP restriction — Tauri 2 sets a restrictive Content Security Policy by default that blocks navigation to http:// URLs. Set "csp": null since we only connect to localhost.
No loading state — frontendDist pointed to the full admin HTML which doesn't work without the Express server backing it. Created a dedicated loading page shown during startup.
Poor error handling — if the sidecar failed to start, the app silently showed a blank page. Now shows an error message in the loading page and increased timeout to 30 seconds.
https://claude.ai/code/session_01UvYKdrhaLpgAVwWrGJTvGj
Description
Type of Change
Checklist
Required for all code changes
npm testpasses)package.json,package-lock.json,version.json)CHANGELOG.mdhas been updated with a new entry under the correct versionIf adding or changing user-visible strings
t('key')in JS ordata-i18nin HTMLen.jsonand all 7 other locale files (de,fr,nl,es,it,pt,zh)escapeHtml()used for any user-provided content rendered as HTMLIf documentation-only change
Screenshots (if applicable)