Skip to content

D9010 VmApp 0.1.4

Choose a tag to compare

@d9010 d9010 released this 19 Oct 03:36
· 1 commit to main since this release

D9010 VmApp 0.1.4 for macOS (Apple silicon)

The launcher checks for updates every time you open it, explains itself when it cannot update, and apps now follow Electron's rules for files and messages.

Changed

  • The launcher now looks for a newer version every time it starts, and at least once a day while it stays open, and tells you with the update card.
  • Pictures, fonts, sounds, videos and style sheets that an app's own server provides now load the way they do in an Electron app: the launcher answers the page's requests for them itself, with streaming and Range support for audio and video. Apps whose window needed a workaround for this (the icons of the Code - OSS sample, for one) no longer do.
  • Messages between an app's window and its core now carry everything Electron's IPC carries: dates, maps, sets, typed arrays, big integers, errors, undefined and shared or cyclic references. A handler that returns nothing now gives undefined (it gave null).
  • When a handler fails, the window's promise now rejects with Electron's text: Error invoking remote method '<channel>': <error>.
  • In an app's core, ipcMain is now a real EventEmitter (once, eventNames, listenerCount, …), its events carry reply, type, processId and frameId as in Electron, and ipcMain.handle reports the same errors Electron does. The sample runtimes are rebuilt with it.
  • In an app's window, window.vmapp.ipcRenderer now has once, addListener, removeAllListeners, eventNames and listenerCount. off, removeListener and sendSync exist and explain, in their error, why they cannot work across the window's context bridge.

Fixed

  • A launcher opened straight from Downloads could not update itself and ended with a "read-only volume" error. It now says why (macOS runs it from a temporary read-only copy) and offers Move to Applications, which copies it there and opens it from there.

Download and install

Needs macOS 13.0 or later on a Mac with Apple silicon.

  1. Download D9010-VmApp-Launcher-0.1.4-mac-arm64.zip (523 MB) from the assets below.
  2. Optional: download SHA256SUMS into the same folder and run shasum -a 256 -c SHA256SUMS. It must say OK.
  3. Unzip it, move D9010VmAppLauncher.app into /Applications and open it from there (an app opened straight from Downloads cannot update itself). The first time, macOS asks you to confirm that you downloaded it from the internet: choose Open.
  4. Click Load examples, tick the sample apps you want and choose Install selected. Installing allows nothing: each app asks for what it needs the first time you launch it.

Once installed, the launcher tells you when a newer version is available (a card appears with what changed). Nothing is downloaded or restarted without your click, and the check sends nothing about you; you can turn it off in Host Capabilities.

Built from

  • Tag v0.1.4, commit 52eaeb2
  • SHA-256 of D9010-VmApp-Launcher-0.1.4-mac-arm64.zip: 375582fb94cae15d45df436efc4e749433bbf346b14777aa0706c6f592970176

Full changelog: https://vmapp.dev/docs/changelog. Documentation: https://vmapp.dev/docs/. D9010 VmApp is open source under the MIT licence; report a security problem privately through the repository's Security tab.