TWIL July 10th 2026
- Writing tests for a migration from
qstoURLSearchParamstakes way longer than the actual changes- But probably saves even longer than that in future emergency debugging
- Old browsers used to accept
;as a separator in query strings rather than? - Apparently asking the user for their login info so you can reproduce the issue is a valid solution
- Admittedly their account is entirely unusable and we have no idea what's happening after weeks
- Microservices work much better if they're actually separate; i.e. changing a user's unconfirmed email doesn't require manually propagating that change outside the user service
- Aaaand the long running support ticket my team was flummoxed by was also caused by the user service/main app separation
- A user created their account with an
@gmailaddress - Sometime later they created another account
- That account was somehow created on the user service but not propagated to the main app
- They changed the original account's email to
@gmai(no 'l')- That was also not propagated to the main app
- They changed the new account's email to the email of the original account (with
@gmail) - They tried logging in to their new account to access one of our other apps; that app crashed because it tried to get data from the main app for a user the main app doesn't think exists
- They contact us; a week+ of confusion ensues because the
uidof the user we were provided with was the original account, which on the main service still had the@gmailaddress despite it being@gmaion the user service- We had no idea the other account existed at the start, despite it being the one the user was logging into
- So we initially thought the user service was issuing tokens for some other random user
- A user created their account with an
- Would've been much easier to solve if we had visibility into emails on the user service; they're in the admin UI on the main app but for the actual user service we can't even query them (normally)
- luckily I still have my old Platform team access, so I could query the DB directly and see the
@gmail/@gmaidifference
- luckily I still have my old Platform team access, so I could query the DB directly and see the
- Sometimes it's good to clarify 'common knowledge' you're not 100% sure of the accuracy of
- So you can avoid causing issues promising something that's only an internal SLO
- Another one for the 'annoyingly unstylable inputs' collection; you can't manually position a placeholder by styling the placeholder
- It's just positioned with the input's padding, which is annoying if your placeholder starts with a full-width Japanese bracket (「)
Links
Cool background-color transitions with the new Temporal API.
- Proxy & Reflect - Mat Marquis
I now know slightly more about how mobx (probably) works, which is still considerably less than I should for something Vault relies on so heavily.