Sunday, April 13, 2025
2 changes · saas-18.2
Resolved issues and error corrections
This fix prevents the messaging data store from getting stuck when an error occurs during an update. As a result, Discuss and other mail-related features can continue processing later updates, reducing disruptive issues such as conversations not being marked as read.
Original PR description
When store is updated, during the update cycle there's many moments some business code is invoked: - compute/sort field methods - onUpdate on fields - onAdd on fields - onDelete on fields -…
When store is updated, during the update cycle there's many moments some business code is invoked: - compute/sort field methods - onUpdate on fields - onAdd on fields - onDelete on fields - Record.onChange on fields - any setter on JS record Lazy fields can also trigger all of the above implicitly. When mistakes happens in business code and result in crash, usually business code also crashes and this is disruptive enough to continue. However some business code are suspiciously written and want to put crashes into silent. In any cases, the store data insertion is not in a good state. Before this commit, these crashes prevented the store to flush. In other words, any side-effect of updating store data was never executed after business code crash. This is a problem, because the store is basically non-working, therefore apps that rely heavily on the store show critical bugs, like being unable to mark a Discuss conversation as read. This commit makes any crash in business code during update cycle resets the flush state of store. Only partial data is inserted in store and some data is lost like before, but at least if some other code tries to insert some other data in store, the store is still able to flush. opw-4688250
The Discuss command palette now shows conversation avatars at a clearer, consistent size. This makes conversations easier to recognize while keeping the palette compact and improving the visual distinction between main and secondary text.
Original PR description
Conversation avatars were smaller than in discuss and also not integer scaling from `avatar_128`. This is fixed by using 32px width/height. Also reduce padding as to not make command palette significantly bigger + reduced opacity of secondary text for better difference with main text (conversation name). Before <img width="661" alt="Screenshot 2025-04-10 at 15 02 45" src="https://github.com/user-attachments/assets/ad7a8a6c-7f72-4e9d-a26e-4f19ee127a07" /> After <img width="654" alt="Screenshot 2025-04-10 at 15 02 24" src="https://github.com/user-attachments/assets/da510fe5-6904-4096-bc3b-4cf3b74c9f28" />