← All releases

QA Release — 2026-08-11

Tag qa-2026-08-11 · Created: 2026-08-11 · Last Updated: 2026-08-11

What shipped to QA in this release (changes since 2026-08-06), grouped by area. The Ref column is stable — cite it when reporting. Rows marked → How to test are expanded at the bottom.

✨ Highlights

"Open in merchant portal" works again after breaking yesterday afternoon — see Admin portal.
A merchant Admin or Manager who signs in on the admin portal now gets an explanation instead of a frozen tab — see Admin portal.
A failed lookup on the Taxes tab says so instead of looking like an empty list — see Merchant portal.
Google no longer asks for consent on every single sign-in
see Sign-in & behind the scenes.
Error text and the required-field asterisk are readable at the contrast the standard requires — see Across both portals.

🖥️ Admin portal 3

Type What changed Where to check Ref
Fixed "Open in merchant portal" opens the QA portal again · it briefly opened https://localhost:7710, an address that only resolves on a developer machine, so the new tab failed to load. → How to test Platform › Merchants › open a merchant › Open in merchant portal #1222
Fixed Signing in as a merchant Admin or Manager now lands on the login page with an explanation, instead of bouncing between screens until the browser froze the tab. → How to test admin.qa.qiiub.com › sign in with a merchant account #1191
Fixed The "Never" text in a device's last-seen column, and validation messages under AI suggestion fields, are darker and now readable against white. Platform › Devices · any AI suggestion field #1161

🏪 Merchant portal 3

Type What changed Where to check Ref
Fixed The tax-group picker shows an error with a retry when its list cannot be loaded, instead of rendering empty · an unreachable list used to read as "this merchant has no tax groups", and saving from that state could clear a value you never saw. → How to test Products › a product › Taxes tab #1164
Fixed The Bulk tax button no longer disappears when the location count fails to load · the gate now says it could not be evaluated and offers a retry. Products › a product › Taxes tab #1164
Fixed Leaving a page with unsaved work warns you again after a failed save · the warning used to switch off permanently the first time the page redirected you, so a refresh discarded keyed lines silently. → How to test Purchase orders › create a draft that fails to save #1136

🧩 Across both portals 3

Type What changed Where to check Ref
Fixed The red asterisk marking a required field is announced by screen readers and readable against white · previously it carried the meaning by colour alone. Any form with required fields #1161
Fixed Error text on stat cards is readable · it used an icon-scale red that fails the contrast standard for text. Any dashboard stat card in an error state #1161
Fixed Six forms that accepted more text than the database column could hold now reject the extra characters instead of failing on save · two of them returned a server error. → How to test Any form with a long free-text field #1101

🔑 Sign-in & behind the scenes 4

Type What changed Where to check Ref
Fixed Signing in with Google asks for consent only the first time, not on every sign-in. Any portal › Sign in with Google #1205
Fixed Saving a record that collides with an existing one reports "already exists" only when it genuinely does · other database errors used to be mislabelled as duplicates, and some real duplicates surfaced as a server error instead. Anywhere a duplicate code or name can be saved #1156
Improved Invitation and notification emails show the QIIUB logo in Gmail and Outlook · the images were SVG, which those clients do not render, so the header appeared broken. Any emailed invitation #1162
Improved The Spanish email footer reads "Desarrollado por" instead of "Hecho por". Any emailed invitation, Spanish locale #1162

🧪 How to test 5

Only the items that need more than a glance. Click to expand.

#1222 — "Open in merchant portal" opens the QA portal again
#1191 — a merchant account signing in on the admin portal
#1164 — a failed lookup on the Taxes tab
#1136 — the unsaved-changes warning after a failed save
#1101 — fields that accepted more than the database could store

🔧 Technical — not QA-testable 5

Ref What Why not testable
#1220 The publish step now refuses to ship a build carrying a development address, a missing portal address, or a cross-origin API host Build-time gate · it either produces the artifact or fails the publish, with no portal surface
#1193 Source maps are no longer served alongside the SPAs Absence of a file · needs a direct request to a .map URL, not a portal screen
#1156 (server-error part) Eight endpoints classified duplicates through a helper with no error-number check Needs a concurrent write to trigger a real 2601/2627 · the portal offers no way to force one
#1146 The duplicate check now reads the error number and the constraint name from the same database error · previously a violation that was not first in the list escaped as a server error Needs a database error carrying several entries in a specific order · not reachable from a portal action
#1162 (asset hosting) assets.qiiub.com static hosting fixed so the logo PNGs resolve Infrastructure · verified by the images rendering in the email row above