Skip to content

Solarmorph 0.4.0

Choose a tag to compare

@cjse cjse released this 22 Sep 17:32

Fixes from a full review: the live state, the background process, and Lamp Controls are more reliable.

Changes

  • The live state is correct from the start. Before, a change in the first seconds of the background process, for example the end of a brightness ramp, could stay out of the live copy.
  • A daylight or preset change goes into the live state as soon as the lamp acknowledges it.
  • The preference Keep the Connection Open → Never works while a background process is active. Before, the commands failed until that process stopped. A changed idle time applies to the next command.
  • Lamp Controls shows "Could not reach the lamp" with a Refresh action when the first load fails, and says when the list no longer follows the lamp. The power action switches the lamp to the state that its title shows.
  • The background process is more robust. A client that stops reading cannot block it. It does not stop in the middle of a command at its idle limit. It skips a command whose client gave up, so a command that timed out in Raycast does not change the lamp later.
  • morph from the terminal and the helper in Raycast share one background process when they are the same build.
  • The pairing sends a real locale to Dyson (for example en-GB). morph pair suggests the region of the Mac.
  • Smaller fixes: a failed scan stops, a lost Bluetooth fragment makes the handshake try again, and the configuration file is written atomically.

Install or update

xattr -dr com.apple.quarantine solarmorph-0.4.0
cd solarmorph-0.4.0
npm install
npm run dev

Stop npm run dev with Ctrl-C when the commands show in Raycast. Your pairing stays valid. See the README.

Tested with one Solarcycle Morph desk lamp on one Mac with Apple silicon. The Intel build is not tested.

SHA-256 of the zip: 2a9ccb7ee2a9349e91a25ee9ebc6d66754e4e01b25891155b7ce0249c4743a1a

This project is not affiliated with Dyson.