Wednesday, May 21, 2025
6 changes · saas-17.4
Resolved issues and error corrections
This fixes an issue where saved signatures could be shifted outside the visible signature field. Users can now sign documents reliably without the signature appearing misplaced or cut off.
Original PR description
This commit removes the yOffset addition introduced in 2e9f6086ee14c3aff4c5190e8557bcd78d3bc964, as the signature was being moved out of bounds of the signature field after saas-17.4 was launched. task-4105359
This fixes an issue where users could see an unread message banner for a message that had already been deleted, then encounter an error when clicking it. The mail app now updates unread counts and notifications when messages are deleted, improving reliability in Discuss conversations.
Original PR description
Before this commit, if a user deletes a message before the recipient sees it, the notification stays in the recipient's discuss and when the recipient tries to click on "1 new message", they get a traceback. Steps to reproduce: 1. Send message as Mitchell Admin to Marc Demo 2. Delete said message 3. Open the conversation as Marc Demo 4. Click on the new message banner The traceback happens because the highlighMessage hook tries to access a non-existing message. This commit fixes the issue by: - Adding a guard when accessing the message on the highlightMessage hook - Sending a bus message to notify the front-end of a message deletion - Changing the compute of the message unread counter as not to count deleted messages task-4240887
Point of Sale event ticket sales now correctly block checkout when a required question asked once per order is left unanswered. This prevents incomplete event registrations and helps ensure staff collect required information before finalizing the sale.
Original PR description
Steps to reproduce: ------------------- 1. Create an event with a gloabl question, by checking the box "ask once per order", and mark it as mandatory. 2. In PoS, buy one ticket for this event, and leave this mandatory question unanswere. Observe the we're not blocked, we were able to keep the mandatory answer blank! Reason: ------- We are only validating that the mandatory questions on the registation level are valid, but not those on on the order level. Fix: ---- We do the same check for the global questions too. opw-4793837
Fixes an inventory return issue where subcontracting resupply returns were sent back to the subcontracted location instead of the warehouse location chosen by the user. This helps keep stock movements accurate and prevents inventory from being recorded in the wrong place.
Original PR description
Steps to reproduce the bug:
- Create a storable product “P1” with the following BoM:
- type: subcontracting
- subcontractor: Azure interior
- Component: C1 - route in C1: resupply from subcontractor
- Create a purchase order for one unit of P1
- Confirm the PO
- Go to the created resupply transfer
- Validate it
- Create a return to WH/stock
Problem:
A picking is created with “Subcontracted location” as dest location instead of WH/stock
opw-4307119Manufacturing orders now round cost values before adding them together, preventing small decimal differences from blocking production validation. This avoids unbalanced accounting entries and makes the Manufacturing Order overview show the corrected totals.
Original PR description
Rounding issue can occurs when validating MO under certain conditions.
Steps to reproduce:
- Create three work centers with different expense accounts:
- First: hourly cost of 4.11
- Second: hourly cost of 4.23
- Third: hourly cost of 2.25
- Create an MO for a product with real-time valuation and 3 work orders (one per work center).
- Each work order has an expected duration of 2790:00
- Attempt to click on "Produce All" button.
This leads to an unbalanced move error.
This fix rounds the values before summing them to prevent rounding issues and unbalanced moves. It also corrects the displayed value in the Manufacturing Order overview.
opw-4631409The POS login flow now checks that a cashier was actually selected before attempting to clock them in. This prevents errors that could make the Belgian blackbox POS unusable when a user backs out of the cashier selection screen.
Original PR description
Behavior before commit: When opening the POS and selecting a cashier, if the user decides to go back without selecting any cashier, the clock-in function gets called anyways. This leads to pos_blacbox trying to clock in an undefined cashier, which in turn leads to more errors down the line (including an unusable pos). With the modification proposed in this commit, we check that a cashier has indeed been selected and only then proceed with the clocking in. opw-4293988 opw-4182434