Skip to content

Desktop installers + README for open-source launch - #94

Merged
tomasz-zajac-oss merged 1 commit into
mainfrom
feature/oss-readme-release
Sep 28, 2026
Merged

tomasz-zajac-oss merged 1 commit into
mainfrom
feature/oss-readme-release

Conversation

@tomasz-zajac-oss

Copy link
Copy Markdown
Collaborator

Summary

  • Desktop installers. Adds electron-builder.yml and a Release Desktop App workflow. Pushing a v* tag runs type-check and tests, checks that the tag matches the package.json version, builds on all three OSes and drafts a GitHub Release with:

    • macOS dmg (arm64 + x64)
    • Windows NSIS installer
    • Linux AppImage

    PRs that touch the packaging files only build. npm run dist builds installers for the current OS.

  • App name radical.studio. Used for the installers, the artifact file names (radical-studio-<version>-<os>-<arch>), the window title and the page title. radical.tools stays the family name.

  • README rework:

    • hero screenshot that follows the light/dark theme, badges, and "Try in browser" / "Download" links
    • a "Why radical.tools?" section and a 4-screenshot gallery
    • install steps, including the Gatekeeper and SmartScreen workaround for unsigned builds
    • release steps and a Contributing section
  • App icon. build/icon.png (512px). tools/generate-icon.js now takes --size and --out; the 128px VS Code icon is unchanged, byte for byte.

  • Fix: blank window in production desktop builds. The CSP onHeadersReceived handler replaced every response header, which dropped Content-Type. Chromium then refused the renderer's module scripts, so npm start and any packaged build showed an empty window. The handler now spreads details.responseHeaders. The web build was not affected.

  • electron moved to devDependencies, which electron-builder requires. This is where the large package-lock.json diff comes from.

Test plan

  • npm run typecheck and npm test pass (408 tests)
  • macOS: built the arm64 and x64 dmgs locally; the packaged radical.studio.app launches and renders the canvas
  • Windows and Linux installers build in this PR's Release Desktop App run
  • After merge: git tag v1.0.0 && git push --tags, check the draft release, publish it

The builds are unsigned for now. The workflow has a note on where to add the CSC_LINK / Apple ID secrets for signing.

🤖 Generated with Claude Code

- electron-builder config and a Release Desktop App workflow: a v* tag
  builds macOS (arm64 + x64 dmg), Windows (NSIS) and Linux (AppImage)
  installers and drafts a GitHub Release; PRs touching packaging build only
- The Studio app is named radical.studio (installer, window and page
  title); radical.tools stays the family name
- 512px app icon; generate-icon.js takes --size / --out
- README: hero screenshot, badges, "Why radical.tools?", gallery,
  install instructions for the unsigned builds, release steps
- Fix blank window in production desktop builds: the CSP handler replaced
  all response headers, dropping Content-Type, so module scripts were
  refused

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@tomasz-zajac-oss
tomasz-zajac-oss merged commit 404e65b into main Sep 28, 2026
7 checks passed
@tomasz-zajac-oss
tomasz-zajac-oss deleted the feature/oss-readme-release branch September 28, 2026 11:07
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant