Contact support works again, the chat window can be dragged out of your way, and Jake looks the same on the site and in the app.
Contact support requests go through again
Asking Jake for a person failed with an error every time you pressed Submit Request. The tables that hold support requests had never been created in the production database, so nothing could be saved. They exist now, and requests are saved and emailed to the team the moment you send them. If you tried to reach us and got the error, please send it again.
Honest wording after you send a request
The confirmation used to say your request was awaiting a support agent, which made it look like someone was about to answer in the chat window. It now tells you the truth: a person reads the request and replies by email to the address on your account, and nothing more will appear in the chat.
Move the chat window wherever you want it
The chat window can be dragged by its header, so it no longer sits on top of the footer links. It remembers where you left it, stays inside the screen when you resize the window, and moves with the arrow keys if you would rather not use a mouse. Double-click the header, or press Enter while it is selected, to put it back in the corner.
One look for Jake everywhere
The chat window in the app now matches the one on the website: the same header, colors, text sizes, buttons, and message styling. The footer also leaves room for the support button so the Changelog link stays clickable.
Support tables created and recorded
The support conversation, message, and request tables were added to the production database with row-level security and owner-only policies, and the migration was written into the migration ledger. Every other migration in the repository was checked against the ledger; none were missing.
Support requests fail loudly instead of silently
When the database is unreachable, the support request endpoint now returns a clean service-unavailable response instead of an unhandled server error, so a request can never look like it succeeded when nothing was saved.