Skip to content

Commit 3463895

Browse files
Kayshen-Xfiniking
andauthored
V0.0.3 (#11)
* feat(editor): add github releases auto update flow Enable desktop auto-update checks and install prompt so packaged apps can update from published GitHub Releases. * fix(canvas): keep frame labels aligned during zoom Draw labels in viewport space with zoom-aware positioning so frame titles stay anchored while panning and zooming. * fix(ai): disable chat interactions when no models connected Prevent sending and shortcut actions when provider models are unavailable, and show a concise model picker hint to avoid false-available UI states. * docs: refresh readme community and demo section Embed the product demo video inline, add a styled Discord community entry, and update media assets for clearer README presentation. * chore: update nitro external dependency settings Align SSR bundling with current runtime usage by removing the unnecessary @opencode-ai external entries. * feat(electron): enhance macOS build process and update auto-updater - Added a new build script for macOS that allows building for both arm64 and x64 architectures. - Updated GitHub Actions workflow to support separate build arguments for macOS arm64 and x64. - Implemented a custom GitHub update provider for macOS to handle versioning based on architecture. - Introduced a new icon for the electron app and removed the old logo image. --------- Co-authored-by: Fini <fini.yang@gmail.com>
1 parent 2ebcb22 commit 3463895

22 files changed

Lines changed: 424 additions & 84 deletions

.github/workflows/build-electron.yml

Lines changed: 19 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -18,11 +18,17 @@ jobs:
1818
matrix:
1919
include:
2020
- os: macos-latest
21-
platform: mac
21+
platform: mac-arm64
22+
build_args: --mac --arm64
23+
- os: macos-latest
24+
platform: mac-x64
25+
build_args: --mac --x64
2226
- os: windows-latest
2327
platform: win
28+
build_args: --win
2429
- os: ubuntu-latest
2530
platform: linux
31+
build_args: --linux
2632

2733
steps:
2834
- uses: actions/checkout@v4
@@ -50,10 +56,17 @@ jobs:
5056
run: bun run mcp:compile
5157

5258
- name: Build Electron app
53-
run: npx electron-builder --config electron-builder.yml --${{ matrix.platform }}
59+
run: npx electron-builder --config electron-builder.yml ${{ matrix.build_args }}
5460
env:
5561
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
5662

63+
- name: Rename arm64 update metadata
64+
if: matrix.platform == 'mac-arm64'
65+
run: |
66+
if [ -f dist-electron/latest-mac.yml ]; then
67+
mv dist-electron/latest-mac.yml dist-electron/latest-mac-arm64.yml
68+
fi
69+
5770
- name: Upload artifacts
5871
uses: actions/upload-artifact@v4
5972
with:
@@ -64,6 +77,9 @@ jobs:
6477
dist-electron/*.exe
6578
dist-electron/*.AppImage
6679
dist-electron/*.deb
80+
dist-electron/latest*.yml
81+
dist-electron/*.blockmap
82+
!dist-electron/builder-debug.yml
6783
retention-days: 30
6884

6985
release:
@@ -86,7 +102,7 @@ jobs:
86102
- name: Create GitHub Release
87103
uses: softprops/action-gh-release@v2
88104
with:
89-
draft: true
105+
draft: false
90106
generate_release_notes: true
91107
files: artifacts/*
92108
env:

README.md

Lines changed: 18 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4,16 +4,24 @@
44
<img src="https://img.shields.io/badge/runtime-Bun-f472b6" alt="Bun" />
55
<img src="https://img.shields.io/badge/platform-Web%20%7C%20macOS%20%7C%20Windows%20%7C%20Linux-blue" alt="Platform" />
66
</p>
7+
<p align="center">
8+
<a href="https://discord.gg/fE9STbMG">
9+
<img src="./public/logo-discord.svg" alt="Discord" width="18" />
10+
<strong> Join the OpenPencil Discord Community</strong>
11+
</a>
12+
</p>
713

814
# OpenPencil
915

10-
Open-source vector design tool with a **Design-as-Code** philosophy. An alternative to [Pencil.dev](https://pencil.dev).
16+
Open-source vector design tool with a **Design-as-Code** philosophy. An alternative to Pencil.
1117

1218
Design visually on an infinite canvas, generate code from designs, and let AI build entire screens from a single prompt — all in one tool that runs in your browser or as a native desktop app.
1319

14-
![OpenPencil Editor](./screenshot/demo.png)
15-
16-
<video src="https://github.com/user-attachments/assets/5bf66acb-724f-4f7e-9f9b-cc219ce8f484" controls width="800"></video>
20+
<p align="center">
21+
<video controls playsinline preload="metadata" poster="./screenshot/op-cover.png" width="100%">
22+
<source src="https://i.imgur.com/yiu2GTt_lq.mp4" type="video/mp4" />
23+
</video>
24+
</p>
1725

1826
## Highlights
1927

@@ -52,6 +60,12 @@ bun run electron:dev
5260
bun run electron:build
5361
```
5462

63+
### Desktop Auto Update (GitHub Releases)
64+
65+
- The packaged app checks GitHub Releases automatically on startup and every hour.
66+
- When a new version finishes downloading, the app shows a **Restart & Install** prompt.
67+
- Releases must be **published (not draft)** and include update metadata (`latest*.yml`, `*.blockmap`).
68+
5569
### AI Configuration
5670

5771
The AI assistant supports multiple providers:

build/icon.icns

-367 KB
Binary file not shown.

build/icon.ico

-174 KB
Binary file not shown.

build/icon.png

627 KB
Loading

bun.lock

Lines changed: 16 additions & 19 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

electron-builder.yml

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -50,4 +50,8 @@ linux:
5050

5151
asar: true
5252

53-
publish: null
53+
publish:
54+
provider: github
55+
owner: ZSeven-W
56+
repo: openpencil
57+
releaseType: release

electron/icon.png

894 KB
Loading

electron/logo.png

-2.1 MB
Binary file not shown.

0 commit comments

Comments
 (0)