Commit graph

9 commits

Author SHA1 Message Date
pepaskopec-blip
72deed70e8 Point the build and runtime paths at src/ and data/.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-17 17:01:17 +02:00
pepaskopec-blip
737e27deb0 Publish builds to a branch instead of to releases.
Releases and version numbers are gone. CI now rebuilds all three platforms
on every change to main and commits the packages to the `builds` branch,
so what anyone downloads is the current state of the repository. The
branch is rewritten from scratch each time rather than added to, so the
repository keeps one copy of the packages instead of a ~70 MB set per
commit.

Without tags there is no version to compare, so a build carries the
commit it was made from and the branch carries a VERSION file naming the
same commit. The updater fetches those few bytes and treats any
difference as being behind; commits are not ordered, and the branch only
ever holds the current build.

The installers fetch from the branch over raw.githubusercontent.com for
the same reason.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-17 15:40:47 +02:00
pepaskopec-blip
91a848b408 Add a self-updater that installs new releases.
Bake the release tag into the binary so the app knows what it is running;
plain builds keep the "dev" default and never offer an update. The CI
workflow already exported the tag on Linux and macOS, so only the Windows
job needed it.

Read the newest version from the redirect GitHub serves for
/releases/latest, which avoids the REST API and its unauthenticated rate
limit and needs no JSON parser. Networking goes through the curl command
rather than a linked library: curl handles TLS, redirects and proxies, it
ships on all three platforms, and it keeps the bundling scripts free of
another shared library.

An application cannot reliably replace its own files while running, so
every platform follows one shape: unpack beside the current install,
write a script that waits for this process to exit before swapping, then
launch it detached and quit. Staging beside the install keeps the move on
one filesystem and fails early when the location is read-only. The
Windows script copies without mirroring so the progress files kept inside
the install directory survive.

Check quietly a few seconds after startup and offer the result in a
banner above the pages, with a manual check in the settings popover.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-17 15:04:55 +02:00
pepaskopec-blip
3ea022dd4f Make the app icon work on macOS, Windows, and Linux.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-15 14:44:45 +02:00
pepaskopec-blip
6060a8d874 Show the app icon on the macOS Dock via AppKit.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-15 12:53:14 +02:00
pepaskopec-blip
0397519801 Wire app icon into the GTK window and build.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-15 12:47:00 +02:00
56fe5ae6fc Split the UI code into multiple files 2026-09-11 11:42:13 +02:00
4cc68e3e46 moved the css to an external file 2026-09-11 09:59:12 +02:00
263d6d525f Windows build 2/2? 2026-09-10 09:57:12 +02:00