Skip to content

Commit 32b5b59

Browse files
authored
PS-916 stop using bulk for less than 10 subscribers (#627)
* PS-916 stop using bulk for less than 10 subscribers * PS-916 novu: create topic even if no notification sent * upgrade novu, remove novu-studio, fix pdf player display context * remove novu transaction Id which is now interpreted differently
1 parent 0e6c6fc commit 32b5b59

27 files changed

+265
-112
lines changed

.env

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -337,15 +337,14 @@ SOKETI_APP_ID=phrasea
337337
SOKETI_KEY=__CHANGE_ME_hJBgAG4vnPrT58Ty
338338
SOKETI_SECRET=__CHANGE_ME_A8PRgk5qpfLxkfLU
339339

340-
NOVU_VERSION=2.1.1
340+
NOVU_VERSION=2.3.0
341341
NOTIFY_AUTHOR=0
342342
NOVU_APPLICATION_IDENTIFIER=
343343
NOVU_SUBSCRIBER_ID=
344344
NOVU_API_HOST=api-novu.${PHRASEA_DOMAIN}${HTTPS_PORT_PREFIX}
345345
NOVU_API_URL="${NOVU_API_URL:-https://${NOVU_API_HOST}}"
346346
NOVU_DASHBOARD_URL=https://novu.${PHRASEA_DOMAIN}${HTTPS_PORT_PREFIX}
347347
NOVU_WS_URL=https://ws-novu.${PHRASEA_DOMAIN}${HTTPS_PORT_PREFIX}
348-
NOVU_STUDIO_URL=https://studio-novu.${PHRASEA_DOMAIN}${HTTPS_PORT_PREFIX}
349348
NOVU_BRIDGE_URL=https://bridge-novu.${PHRASEA_DOMAIN}${HTTPS_PORT_PREFIX}
350349

351350
NOVU_REDIS_HOST=redis

bin/dev/install.sh

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,8 @@
22

33
. bin/vars.sh
44

5+
(cd novu/bridge && pnpm install)
6+
57
pnpm install
68

79
bin/dev/sf-all.sh composer install

dashboard/client/config-compiler.js

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,6 @@
3535
'ZIPPY_URL',
3636
'SOKETI_USAGE_URL',
3737
'NOVU_DASHBOARD_URL',
38-
'NOVU_STUDIO_URL',
3938
];
4039

4140
const e = {};

dashboard/client/src/Dashboard.tsx

Lines changed: 0 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,6 @@ export default function Dashboard({}: Props) {
4747
TRAEFIK_CONSOLE_URL,
4848
SOKETI_USAGE_URL,
4949
NOVU_DASHBOARD_URL,
50-
NOVU_STUDIO_URL,
5150
} = config.env;
5251

5352
const roles = user?.roles ?? [];
@@ -283,17 +282,6 @@ export default function Dashboard({}: Props) {
283282
</Link>
284283
</Grid>
285284
)}
286-
{config.devMode && NOVU_STUDIO_URL && (
287-
<Grid item>
288-
<Link
289-
href={NOVU_STUDIO_URL}
290-
target={'_blank'}
291-
rel={'noreferrer noopener'}
292-
>
293-
Novu Studio
294-
</Link>
295-
</Grid>
296-
)}
297285
</Grid>
298286
)}
299287
</Container>

dashboard/client/src/config.ts

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,6 @@ declare global {
2828
SOKETI_USAGE_URL: string;
2929
NOVU_DASHBOARD_URL: string;
3030
NOVU_BRIDGE_URL: string;
31-
NOVU_STUDIO_URL: string;
3231
};
3332
} & WindowConfig;
3433
}

databox/api/src/Asset/ObjectNotifier.php

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -42,9 +42,10 @@ public function notifyObject(
4242
}
4343

4444
if ($object->isAutoSubscribeOwner() && $object->getOwnerId()) {
45-
$this->notifier->addTopicSubscribers($topicKey, [$object->getOwnerId()]);
45+
$this->notifier->addTopicSubscribers($topicKey, [$object->getOwnerId()], direct: true);
4646
$shouldNotify = true;
4747
} else {
48+
$this->notifier->createTopic($topicKey);
4849
$shouldNotify = false;
4950
}
5051

databox/api/src/Consumer/Handler/Discussion/PostDiscussionMessageHandler.php

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -39,9 +39,7 @@ public function __invoke(PostDiscussionMessage $message): void
3939
return;
4040
}
4141

42-
$notificationOptions = [
43-
'transactionId' => $message->getId(),
44-
];
42+
$notificationOptions = [];
4543

4644
$object = $this->discussionManager->getThreadObject($message->getThread());
4745
$authorId = $message->getAuthorId();
@@ -88,7 +86,7 @@ public function __invoke(PostDiscussionMessage $message): void
8886
foreach ($mentions as $userId => $username) {
8987
$newSubscribers[] = $userId;
9088
}
91-
$this->notifier->addTopicSubscribers($topicKey, array_unique($newSubscribers));
89+
$this->notifier->addTopicSubscribers($topicKey, array_unique($newSubscribers), direct: true);
9290

9391
$this->notifier->notifyTopic($topicKey, $authorId, $notificationId, $params, $notificationOptions);
9492
}

databox/api/src/Controller/Admin/AssetCrudController.php

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@
1919
use EasyCorp\Bundle\EasyAdminBundle\Config\Filters;
2020
use EasyCorp\Bundle\EasyAdminBundle\Context\AdminContext;
2121
use EasyCorp\Bundle\EasyAdminBundle\Field\AssociationField;
22+
use EasyCorp\Bundle\EasyAdminBundle\Field\BooleanField;
2223
use EasyCorp\Bundle\EasyAdminBundle\Field\DateTimeField;
2324
use EasyCorp\Bundle\EasyAdminBundle\Field\Field;
2425
use EasyCorp\Bundle\EasyAdminBundle\Field\IntegerField;
@@ -135,5 +136,7 @@ public function configureFields(string $pageName): iterable
135136
->onlyOnDetail();
136137
yield JsonField::new('notificationSettings')
137138
->hideOnIndex();
139+
yield BooleanField::new('autoSubscribeOwner')
140+
->hideOnIndex();
138141
}
139142
}

databox/api/src/Controller/Admin/CollectionCrudController.php

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@
1616
use EasyCorp\Bundle\EasyAdminBundle\Dto\EntityDto;
1717
use EasyCorp\Bundle\EasyAdminBundle\Dto\SearchDto;
1818
use EasyCorp\Bundle\EasyAdminBundle\Field\AssociationField;
19+
use EasyCorp\Bundle\EasyAdminBundle\Field\BooleanField;
1920
use EasyCorp\Bundle\EasyAdminBundle\Field\DateTimeField;
2021
use EasyCorp\Bundle\EasyAdminBundle\Field\TextField;
2122
use EasyCorp\Bundle\EasyAdminBundle\Filter\DateTimeFilter;
@@ -93,6 +94,8 @@ public function configureFields(string $pageName): iterable
9394
->onlyOnDetail();
9495
yield JsonField::new('notificationSettings')
9596
->hideOnIndex();
97+
yield BooleanField::new('autoSubscribeOwner')
98+
->hideOnIndex();
9699

97100
}
98101
}

databox/api/src/Controller/Admin/DashboardController.php

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,7 @@
3333
use App\Entity\Core\Tag;
3434
use App\Entity\Core\TagFilterRule;
3535
use App\Entity\Core\Workspace;
36+
use App\Entity\Discussion\Thread;
3637
use App\Entity\Integration\IntegrationData;
3738
use App\Entity\Integration\IntegrationToken;
3839
use App\Entity\Integration\WorkspaceEnv;
@@ -129,6 +130,10 @@ public function configureMenuItems(): iterable
129130
MenuItem::linkToCrud('Job State', '', JobState::class),
130131
];
131132

133+
$discussions = [
134+
MenuItem::linkToCrud('Threads', '', Thread::class),
135+
];
136+
132137
yield MenuItem::subMenu('Permission', 'fas fa-lock')->setSubItems($submenu1);
133138
yield MenuItem::subMenu('Core', 'fas fa-database')->setSubItems($submenu2);
134139
yield MenuItem::subMenu('Basket', 'fas fa-basket-shopping')->setSubItems($basket);
@@ -138,6 +143,7 @@ public function configureMenuItems(): iterable
138143
yield MenuItem::subMenu('Integration', 'fas fa-gear')->setSubItems($submenu4);
139144
yield MenuItem::subMenu('Workflow', 'fas fa-gears')->setSubItems($workflows);
140145
yield MenuItem::subMenu('Webhook', 'fas fa-network-wired')->setSubItems($webhookSubMenu);
146+
yield MenuItem::subMenu('Discussions', 'fas fa-message')->setSubItems($discussions);
141147
yield MenuItem::linkToRoute('Notification', 'fas fa-bell', 'alchemy_notify_admin_index');
142148
yield MenuItem::linkToCrud('Global Config', 'fa fa-gear', ConfiguratorEntry::class);
143149
yield $this->createDevMenu();

0 commit comments

Comments
 (0)