Releases: obaid/mola-core
Release list
mola-core 1.1.1
Rebuilds the guest image so an unattended desktop stops interrupting the agent driving it.
Omarchy's five onboarding prompts were sent at -u critical, which never expire. With nobody to dismiss them they stayed stacked over the top-right corner for the life of the machine, behind a notification layer that covered the whole screen, and each one opened a fullscreen menu or a floating terminal when clicked. They are now emptied at build time.
Idling is off as well. The desktop drew a screensaver after 150 seconds without input, and a command that runs for three minutes is idle as far as the compositor is concerned, so a screenshot taken after a long step showed a screensaver rather than the desktop.
Existing installs keep running their current image; npx mola-core start --refresh-image fetches this one.
mola-core 1.1.0
Machines used to lose the ability to launch any graphical application after
roughly a day. This release fixes that, and rebuilds the guest image.
The bug
Hyprland writes its own log to $XDG_RUNTIME_DIR/hypr/<signature>/hyprland.log
and never rotates it. A machine has no GPU, so aquamarine reports a failed
renderer on every commit and that one file grows by about 20 MB an hour.
XDG_RUNTIME_DIR is a tmpfs sized at a tenth of RAM, 392 MB by default, so it
fills in well under a day.
What broke then was not logging. systemd could no longer write transient scope
units, so uwsm app failed and nothing graphical would start, while the shell
carried on working perfectly. That is why a dead machine looked healthy from
every direction an automated check was looking.
Two guards now, because relying on one of them silently working is how this
shipped in the first place: the instance directory lives on the machine's disk
rather than the tmpfs, and a watchdog truncates anything past 64 MB. Both halves
run standalone so they can be tested without booting a machine.
Also in the guest image
omarchy-migrate had no way to tell a new install from an upgrade, so every
migration in the image reported as pending, 86 of them, and the desktop kept
offering to apply changes it already had. The image now stamps the markers an
in-place upgrade would have left.
The guest's internals are renamed to Mola: the entrypoint, session and doctor
scripts, the daemon, the systemd unit, and the HYPERWAKE_* environment
contract between host and guest. That contract is read and written under both
names, because a cached guest image is never re-downloaded and so old and new
drift apart in both directions. State left under the old name in ~/.hyperwake
is adopted rather than abandoned: it holds the SSH host keys and a single-use
registration token.
Refreshing the image
A cached image is never fetched again, so without help this fix would reach new
installations and nobody else. The engine now records the manifest it installed
and says at startup when a newer one is published. It reports rather than
downloads; the image is about 1.5 GB and starting the engine is not consent to
fetch it.
npx mola-core start --refresh-imageMachines that already exist keep their own disks and are unaffected either way.
The image takes 11.7 GB less disk
A downloaded image occupied 16 GB. The root filesystem is 16 GiB of which
about 4.3 GB is data; the rest is free space inside the filesystem, which
compresses to almost nothing and does not need to occupy anything on the host
either. The download path was writing every zero byte literally, so an install
told it was fetching 1.5 GB gave up 16 GB of disk.
Measured on this image: 16.00 GB apparent, 4.29 GB allocated.
If you already have an image on disk, npx mola-core start --refresh-image
reclaims the difference along with everything above.
Guest image omarchy-4.0.1-aarch64
Prebuilt Omarchy guest image (omarchy-4.0.1-aarch64). Fetched automatically on first run.
Total download 1,565 MB. Artifacts and digests are in manifest.json.