Details
-
Type:
Bug
-
Status: Closed
-
Priority:
Blocker
-
Resolution: Fixed
-
Affects Version/s: 5.13.2
-
Fix Version/s: 5.13.3
-
Component/s: Client Interface
-
Labels:None
Description
To reproduce on 5.13.2
- Resave Layout under Look and Feel settings
- Access client dashboard, notice widgets do not load.
Temporary solution:
On line 164 replace:
$cards_order = base64_encode(json_encode($cards_order));
with
$cards_order = base64_encode(serialize($cards_order));
On line 183 replace:
$widgets_order = base64_encode(json_encode($widgets_order));
with
$widgets_order = base64_encode(serialize($widgets_order));
THEN: RESAVE Layout under Look and Feel settings
This may require a different long term fix. Users ideally shouldn't have to re-save the settings after upgrading.
I ran an audit with claude and it found some similar instances
app_controller.php - layout_widgets_order - unserialize() -> json_decode(..., true)
app_controller.php - layout_cards_order - unserialize() -> json_decode(..., true)
core/Util/Captcha/Captcha.php:123 - captcha_enabled_forms - unserialize() -> json_decode(..., true)
client_invoices.php:283 - electronic_invoice_formats - unserialize() -> json_decode(..., true)