I'm using phpmaker2026 in a WAMP environment, php 8.2.31
I've created a Pusher account and enabled client events.
I've configured the Chatify extension as specified in docs. (I left the route as blank, but the software defaults to /chat).
Profile is enabled.
/chatify/storage didn't exist after generation so I've created it with Full access.
I'm able to successfully Enable/Disable Chat for a User, but the chat window displays an error:
Pusher\Pusher::__construct(): Argument #1 ($auth_key) must be of type string, null given, called in C:\wamp64\www\DEV\fixturecardchat\var\cache\dev\ContainerEo62Onu\getPusherService.php on line 24
The html for the iframe is generated as follows:
The event listener (in userfn.php) appears to be correct:
AddListener(ConfigurationEvent::class, function (ConfigurationEvent $event) {
$event->set('CHAT_URL', '/chat');
$storages = $event->get('FLYSYSTEM.storages', );
$storages['chatify.storage'] = [
'adapter' => 'local',
'options' => ['directory' => '%kernel.project_dir%/storage'],
'public_url' => 'storage', // To be used by public URL generator
'public_url_generator' => DynamicPublicUrlGenerator::class,
];
$event->set('FLYSYSTEM.storages', $storages);
$locator = $event->get('SERVICE_LOCATOR', );
$locator['chatify.storage'] = 'chatify.storage';
$event->set('SERVICE_LOCATOR', $locator);
$event->append('SECRET_KEYS', 'PUSHER_APP_SECRET');
$event->import(
[
'chatify' => [
/**
* Pusher API credentials
*/
'pusher' => [
'debug' => EnvVar('APP_DEBUG', false),
'key' => EnvVar('PUSHER_APP_KEY'),
'app_id' => EnvVar('PUSHER_APP_ID'),
'options' => [
'cluster' => EnvVar('PUSHER_APP_CLUSTER', 'mt1'),
'host' => EnvVar('PUSHER_HOST') ?: 'api-'.EnvVar('PUSHER_APP_CLUSTER', 'mt1').'.pusher.com',
'port' => EnvVar('PUSHER_PORT', 443),
'scheme' => EnvVar('PUSHER_SCHEME', 'https'),
'encrypted' => true,
'useTLS' => EnvVar('PUSHER_SCHEME', 'https') === 'https',
],
env.dev.local appears to be correct:
PUSHER_APP_ID='somevalue'
PUSHER_APP_KEY='somevalue'
PUSHER_APP_SECRET='somevalue'
PUSHER_HOST=
PUSHER_PORT=443
PUSHER_SCHEME=https
PUSHER_APP_CLUSTER='eu'
getPusherService has the following line:
$container->services['Pusher\Pusher'] = $instance = new \Pusher\Pusher(NULL, 'some value', NULL, NULL);
where 'somevalue's are the Pusher keys.
Why did /chatify/storage not exist?
Should I specify a route (to my Users table or User messages)?
why does getPusherService not have values for the other keys?
Can you help please?