Skip to content

Vice 2.8.0

Choose a tag to compare

@eklonofficial eklonofficial released this 18 Aug 23:50
· 22 commits to main since this release

UI Update:

The UI is rebuilt. It was 8,129 lines of vanilla JS with onclick= attributes
and globals on window; it is now React and TypeScript, and every colour in it
comes from a real Material 3 scheme.

Upgrades that actually take effect

An upgrade replaced the files on disk while the running daemon kept the old
Python in memory, and there was no path back. Three things fix that:

  • vice-app starts the daemon through systemd when the unit is loaded. It used
    to use a bare Popen, so any self-heal left the daemon outside the service
    meant to own it, and the next start found that process on the socket and
    retried forever.
  • vice start takes over from a daemon reporting a different version. Retrying
    could never clear that, and refusing left you on old code with nothing saying
    so. Matching versions stay an error.
  • The unit gives up after three tries in a minute instead of sitting in
    "activating" while it retries a permanent failure. One install had done that
    5,424 times without ever looking like it had failed.

Fixed

  • vice status and the UI reported the clips saved by the running process, not
    the size of your library. A daemon left up for a day would say 2 against a
    library of 51.
  • Game detection knows about Forza Horizon 4, Big Walk, Supermarket Simulator
    and Sandustry, thanks to @voltek-laruelle.

Upgrading

Update and open Vice. That is all:

yay -Syu vice-clipper

The daemon that is running is still the old version at that point, but the
launcher you just installed is not: it notices the mismatch and restarts the
daemon through systemd for you.

The service file also changed, and systemd holds the old copy until it is told
to re-read it. Nothing you use day to day depends on that, since the change is
a limit on how long the unit retries a permanent failure, and your session
picks it up at the next login. If you would rather not wait:

systemctl --user daemon-reload