Skip to content

Releases: Classacre/BioNodulo

BioNodulo Desktop desktop-v0.1.0-alpha.9

Choose a tag to compare

Release 0.1.0-alpha.9

The desktop app carries editor changes that shipped to the web after alpha.8:

  * closed tabs stay closed, and an empty tab offers New / Import / the seven
    most recent instead of a blank canvas;
  * account actions link to the website where Clerk's modals cannot run;
  * connection types warn rather than block, and explain themselves;
  * comment pins float clear of the node, are larger, and bounce when unread;
  * a startup check offers a new version instead of the updater sitting unused.

All six version declarations set together, so the editor inside the app reports
the version of the app shipping it.

BioNodulo Desktop desktop-v0.1.0-alpha.10

Choose a tag to compare

Release 0.1.0-alpha.10 — rebuild a Python environment that cannot start

The reported Windows failure was a venv left behind by an earlier install:

    Backend exited (exit code: 103) before becoming ready.
    No Python at '"C:\...\python-embedded\python.exe'

On Windows the venv's python.exe is a launcher stub that resolves its real
interpreter from `home` in pyvenv.cfg. The venv lives in the user's data
directory, which an upgrade does not touch, while the bundled interpreter it
points at belongs to the installation being replaced. The stub is then aimed at
a path its own app no longer owns, and every launch exits 103 -- unrecoverable
without deleting a folder the user has no reason to know about.

Existing is no longer taken as working: the interpreter is asked for its
version, and a venv that cannot answer is rebuilt, both during setup and at
startup. A Windows CI job now provisions the way the app does -- with the
bundled interpreter rather than letting uv fetch one, which an installed app
cannot do -- and fails on a quoted or dangling `home` before proving the venv's
python launches. That job passes, which is what confirms the shipped bundle is
sound and the fault was the stale environment.

Python was already bundled; that part needed no change.

Also carries the exit and relaunch fixes: the app now actually exits, and a
second launch surfaces the running window instead of being swallowed.

BioNodulo Desktop desktop-v0.1.0-alpha.8

Choose a tag to compare

Release 0.1.0-alpha.8

All six version declarations set together via scripts/set_version.py, so the
editor no longer reports a version two releases behind the app it ships in.

Carries: account actions that link out where Clerk's modals cannot run, the
startup update check, larger hovering comment pins that bounce when unread,
advisory connection types, and viewport-centred node placement.

BioNodulo Desktop desktop-v0.1.0-alpha.7

Choose a tag to compare

Actually check for updates, and make node comments visible

**Updates.** The updater plugin, its minisign key and a signed `latest.json`
feed have been configured since the Tauri migration, and every release publishes
signed artifacts — but nothing ever called `check()`. The app shipped with a
working auto-updater that had never updated anything. It now asks on startup and
offers to install; the plugin verifies the signature, so a substituted artifact
fails rather than installing.

Installing stays the user's choice: a workflow may be mid-run and restarting
under someone would lose it, so the offer says that and waits. A failed check is
silent — offline or behind a blocking proxy is not something the user can act
on, and an error on every launch would train them to ignore it.

**Comments.** The pin was a 20px badge centred on the node's top-right corner,
so it sat *on* the node and was easy to miss. It now floats clear above the
corner, is 28px with a larger label, and carries a wider shadow so it reads as
hovering rather than stuck on.

Unread comments bounce. That needed a notion of "unread", which did not exist —
only `resolved`, which is a property of the thread rather than the reader: a
resolved thread can hold something you never saw, and an unresolved one can be
entirely your own writing. Read state is per-reader and local to the browser,
since syncing it would write to the collab document every time someone glanced
at a thread. Your own comments never count as unread, and an unparseable
timestamp counts as read so bad data cannot leave a pin bouncing forever. The
animation is skipped under prefers-reduced-motion, which keeps the ring.

The pin is split into an anchor and a badge because one element cannot both be
positioned by `transform` and animate it.

**Placement.** The viewport-centre reader now uses React Flow's own
`screenToFlowPosition` instead of inverting the viewport transform by hand: it
accounts for the container's offset on the page and survives the library
changing how the transform is applied.

BioNodulo Desktop desktop-v0.1.0-alpha.6

Choose a tag to compare

Release desktop 0.1.0-alpha.6

Windows local execution now verified end to end on a real Windows host: rootfs
download, distro import, engine install and a backend reachable from Windows.

BioNodulo Desktop desktop-v0.1.0-alpha.5

Choose a tag to compare

Release desktop 0.1.0-alpha.5

Windows: installer enables WSL2, local execution is the default, cloud is a
dismissible suggestion.

BioNodulo Desktop desktop-v0.1.0-alpha.4

Choose a tag to compare

Release desktop 0.1.0-alpha.4

Windows local execution via WSL2, and macOS environment locks.

BioNodulo Desktop desktop-v0.1.0-alpha.3

Choose a tag to compare

BioNodulo Desktop 0.1.0-alpha.3

Fixes pixi installation on Windows (alpha.2 failed with HTTP 403), corrects the
version shown on the loading screen and top bar, restores the cloud run-options
menu, adds per-node logs and node download progress.

BioNodulo Desktop desktop-v0.1.0-alpha.2

Choose a tag to compare

BioNodulo Desktop 0.1.0-alpha.2