After a fresh install, going to "ACP > System > SETTINGS > Web App" throws a TypeError:
TypeError: count(): Argument #1 ($value) must be of type Countable|array, null given (0)
#0 path\to\system\Dispatcher\Controller.php(118): IPS\core\modules\admin\settings\_webapp->manage()
#1 path\to\applications\core\modules\admin\settings\webapp.php(39): IPS\Dispatcher\_Controller->execute()
#2 path\to\system\Dispatcher\Dispatcher.php(153): IPS\core\modules\admin\settings\_webapp->execute()
#3 path\to\admin\index.php(13): IPS\_Dispatcher->run()
#4 {main}
The issue is this code:
/* And finally, additional manifest and livetile details */
$manifestDetails = json_decode( \IPS\Settings::i()->manifest_details, TRUE );
$form->add( new \IPS\Helpers\Form\YesNo( 'configure_manifest', \count( $manifestDetails ) > 0, FALSE, array(
'togglesOn' => array( 'manifest_shortname', 'manifest_fullname', 'manifest_description', 'manifest_defaultapp', 'manifest_themecolor', 'manifest_bgcolor', 'manifest_display', 'manifest_custom_url_toggle' ),
) ) );
The problem is that $manifestDetails at this point is NULL because the json encoded data is wrongly using square brackets:
["cache_key":1692875360]
Instead of curly brackets:
{"cache_key":1692875360}