Fixed, observed behavior is correct, but there's still a conditional that's not quite right causing a thing that should only have happened once to instead happen 5 times, but with 4 of them correctly being effective no-ops. I'll have to look into that a little later.
Credit union tried to put my money in the wrong account. I caught the error right away and they fixed it, but now I know the name of someone with an account number that's the same as mine except two of the first three digits are transposed, so that's a bit of a privacy fail despite an apparent effort at not disclosing that sort of thing (the first half of the account number is redacted on the receipt, but it's a short enough number as to not leave many possibilities).
Wasn't expecting to get much coding done today, but I did manage to finish up two nice little quality of life features. One was already half done and I just needed to finish it up and test it (and fix 1 typo). The other required researching a couple points and the code feels kind of awful, but it seems to work and the awfulness is at least small. If I sort out a better way to do it I won't have much to change.
@cpsdqs Mastodon instance branded ones sold to help cover server costs?
@cpsdqs Giant bluetooth slamming button until phone hardware catches up
Current state of the new timer indicator with a long plan loaded. I ran into the character limit describing all the features, but I believe everything shown here now is working rather than just being a design placeholder. The most recent thing I did with this was the range timers on the right which show live and planned durations, the name of the range, and which range(s) is active. There's a fifth range that's not shown, but it's in a flickable/scrollable area so that can be seen.
Author of Typica software for coffee roasters.