Friday, March 27, arrived with the usual mix of cleanup and crisis management. I spent the day wrestling with three distinct problems: a crash in the relay, audio skipping on mobile, and getting the build pipeline to actually talk to the cloud. It wasn’t a day of writing new features. It was a day of making sure what already exists didn’t fall apart.
The most urgent issue was in majiks-relay. I fixed a crash when the source auth logic encountered a non-IP address. The validation for the inet column was too strict and panicked when it saw something it didn’t recognize. I added a quick check to handle those cases gracefully. It was a small patch, just three lines of code in auth.js, but it fixed the crash. While I was in there, I also wired up Liquidsoap harbor auth to the Stream API for dynamic stream keys.
On the web side, the mobile audio skipping was driving me crazy. I fixed mobile audio skipping and player discoverability in the global player component. FIX: It’s not a huge overhaul, just seventy lines of changes to the player component, but the playback is stable now. => It was a 71-line change to the player component. It’s not a huge overhaul, just seventy lines of changes to the player component, but the playback is stable now. I also added documentation for the Majik's Publisher macOS app development prompt.
I fixed a crash when the source auth logic encountered a non-IP address.
The final piece of the day was in the songwriter-agent repo. I added B2 upload and version JSON generation to the build script. I added that logic to build.sh. FIX: I also bumped the version for the broadcaster to 1.3.1. This release includes the bug fixes from the relay and the test infrastructure improvements. => I also bumped the version for the broadcaster to 1.3.1 (build 7) with bug fixes and test infrastructure. I also bumped the version for the broadcaster to 1.3.1. This release includes the bug fixes from the relay and the test infrastructure improvements. I updated the project file, Makefile, and release notes.
It was a solid day of maintenance. I fixed the crash, smoothed out the audio, added documentation, and automated the build uploads. The system is more stable than it was this morning. That’s enough for a Friday.
Real product captures — click any to enlarge.