Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
36 changes: 31 additions & 5 deletions .github/workflows/desktop-ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -77,13 +77,28 @@ jobs:
permissions:
contents: write
steps:
- name: Check out release notes
uses: actions/checkout@v4

- name: Download installers
uses: actions/download-artifact@v4
with:
pattern: franklin-desktop-*
path: release
merge-multiple: true

- name: Verify both installers are present
shell: bash
run: |
shopt -s nullglob
dmg=(release/*.dmg)
exe=(release/*.exe)
if (( ${#dmg[@]} != 1 || ${#exe[@]} != 1 )); then
echo "::error::expected exactly one .dmg and one .exe, got ${#dmg[@]} dmg / ${#exe[@]} exe"
ls -la release/
exit 1
fi

- name: Generate checksums
shell: bash
run: |
Expand All @@ -96,15 +111,26 @@ jobs:
- name: Prepare release metadata
id: release-meta
shell: bash
run: echo "name=Franklin Desktop ${GITHUB_REF_NAME#desktop-v}" >> "$GITHUB_OUTPUT"
run: |
version="${GITHUB_REF_NAME#desktop-v}"
echo "name=Franklin Desktop $version" >> "$GITHUB_OUTPUT"
notes="apps/desktop/release-notes/${version}.md"
if [[ -f "$notes" ]]; then
echo "using $notes"
cp "$notes" release-body.md
else
echo "no $notes, falling back to the generic blurb"
cat > release-body.md <<'EOF'
Franklin Desktop beta for macOS Apple Silicon and Windows x64.

These beta installers are currently unsigned. On first launch, your operating system may ask you to confirm that you want to open the app.
EOF
fi

- name: Publish Desktop prerelease
uses: softprops/action-gh-release@v2
with:
name: ${{ steps.release-meta.outputs.name }}
prerelease: true
body: |
Franklin Desktop beta for macOS Apple Silicon and Windows x64.

These beta installers are currently unsigned. On first launch, your operating system may ask you to confirm that you want to open the app.
body_path: release-body.md
files: release/*
18 changes: 18 additions & 0 deletions apps/desktop/release-notes/0.2.0-beta.2.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
Franklin Desktop Beta for macOS Apple Silicon and Windows x64.

## What's fixed

This release repairs four regressions from the sidebar reorganization in 0.2.0 Beta 1.

- **Franklin Cloud can reconnect.** If the local Franklin service was not running when the app started, Projects stayed empty and the Connect button was stuck reading "Franklin is offline" until you restarted the app. It now retries when you open a project.
- **The Agents sidebar toggle works again.** Hiding Agents from the sidebar cleared the checkmark but left the button in place.
- **Gallery no longer empties after opening a Project.** Your generated images and video stayed hidden until you switched back to a personal chat.
- **Team Mode off now means off.** With Team Mode disabled the app was still contacting the cloud service on every launch and pre-loading a project you never opened.

## Downloads

- `Franklin-0.2.0-beta.2-arm64.dmg` for Apple Silicon Macs
- `Franklin.Setup.0.2.0-beta.2.exe` for Windows x64
- `SHA256SUMS.txt` for download verification

These beta installers are currently unsigned. On first launch, macOS or Windows may ask you to confirm that you want to open the app.
14 changes: 14 additions & 0 deletions apps/desktop/release-notes/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
# Desktop release notes

`desktop-ci.yml` publishes the release body from `<version>.md` in this
directory, where `<version>` is the tag with the `desktop-v` prefix stripped —
so tag `desktop-v0.2.0-beta.2` reads `0.2.0-beta.2.md`.

Write the notes here in the same PR as the version bump. Two reasons:

- Re-running the release job reproduces the same body. The workflow used to
carry a hardcoded blurb, so a re-run silently replaced notes written by hand
on the release page.
- The filename carries the version, so notes cannot go stale against a newer
tag. A tag with no matching file falls back to a generic blurb rather than
publishing the previous release's notes.
Loading