A Second Outage, a First Oil Change, and Locking Down SRT Matrix's Privacy Story
The generator kicked on again, which finally forced the first oil change since I bought it four years and 200+ hours ago. ComEd's estimate crept out to 11 PM the next night before power beat it back on the same day. In between, SRT Matrix picked up a real privacy writeup for its licensing system, a tray-icon bug that was opening two browser tabs per click, and the start of a source/destination naming pass across the backend.
Power went out again — same story as a few days ago, different day. This time it's what finally got me to do the generator's first oil change since I bought it four years ago, with well over 200 hours on the original fill. Not a great maintenance record, but it's done now. ComEd's estimate kept sliding — the latest was an 11 PM window the following night — and then power just came back on ahead of all of it, so the generator went back to standby and the server moved back to shore power.
SRT Matrix: privacy writeup, a real tray bug, and a naming pass
Wrote up exactly what SRT Matrix's licensing system actually does with a customer's machine, since it was never written down anywhere a customer could find it. Short version: a trial signup identifies the device with a scrambled ID, not a hardware serial, and that's only there to stop someone from wiping local files to get unlimited trials. It plays no part in a real paid license — those aren't tied to hardware at all, so any number of installs can share one key, and reinstalling Windows or swapping hardware doesn't touch an existing license. That's spelled out now both in the app and in the docs.
Also fixed a real bug on the Windows build: clicking the tray icon was opening two browser tabs instead of one. The tray software was firing twice for a single click — once on the way down and once on the way up — and the app was reacting to both instead of just one.
Bigger thing now underway: splitting three files that had each grown past 2,000 lines into smaller, more focused pieces. Since that touches nearly every file anyway, I'm using the same pass to finish cleaning up some old inconsistent naming in the code underneath, to match the "sources/destinations" language the dashboard and store already use. Not something a customer will ever see, but much cheaper to clean up now than to keep working around later.