Skip to content

Commit e9055e9

Browse files
committed
upgrade novu, remove novu-studio, fix pdf player display context
1 parent 94cf59e commit e9055e9

File tree

11 files changed

+26
-95
lines changed

11 files changed

+26
-95
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/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/Security/Voter/AssetVoter.php

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,10 @@ protected function voteOnAttribute(string $attribute, $subject, TokenInterface $
4343
$userId = $user instanceof JwtUser ? $user->getId() : false;
4444
$isOwner = fn (): bool => $userId && $subject->getOwnerId() === $userId;
4545

46+
if (!$this->security->isGranted(AbstractVoter::READ, $subject->getWorkspace())) {
47+
return false;
48+
}
49+
4650
switch ($attribute) {
4751
case self::CREATE:
4852
if (null !== $collection = $subject->getReferenceCollection()) {

databox/client/src/components/Media/Asset/Players/PDFPlayer.tsx

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -27,9 +27,10 @@ export default function PDFPlayer({
2727
const [ratio, setRatio] = useState<number>();
2828
const [numPages, setNumPages] = useState<number>();
2929
const [pageNumber, setPageNumber] = useState<number>(1);
30-
const d = useContext(DisplayContext)!.state;
30+
const displayContext = useContext(DisplayContext);
31+
const d = displayContext?.state;
3132
const dimensions = createStrictDimensions(
32-
forcedDimensions ?? {width: d.thumbSize}
33+
forcedDimensions ?? {width: d?.thumbSize ?? 200}
3334
);
3435
const pdfDimensions = getRatioDimensions(dimensions, ratio);
3536
const onDocLoad = useCallback(

docker-compose.dev.yml

Lines changed: 0 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -311,32 +311,6 @@ services:
311311
volumes:
312312
- ./novu/bridge:/usr/src/app
313313

314-
novu-studio:
315-
image: ${REGISTRY_NAMESPACE}novu-studio:${DOCKER_TAG}
316-
build:
317-
context: ./novu
318-
dockerfile: studio/Dockerfile
319-
profiles:
320-
- novu-studio
321-
environment:
322-
- NOVU_DASHBOARD_URL
323-
- NOVU_BRIDGE_URL
324-
- NOVU_SECRET_KEY
325-
- NOVU_API_URL
326-
- NOVU_API_HOST
327-
- NODE_TLS_REJECT_UNAUTHORIZED=0
328-
- NODE_ENV=development
329-
networks:
330-
- internal
331-
labels:
332-
- "traefik.enable=true"
333-
- "traefik.project_name=${COMPOSE_PROJECT_NAME}"
334-
- "traefik.http.routers.novu-studio.rule=Host(`studio-novu.${PHRASEA_DOMAIN}`)"
335-
- "traefik.http.services.novu-studio.loadbalancer.server.port=2022"
336-
extra_hosts:
337-
- api-novu.${PHRASEA_DOMAIN}:${PS_GATEWAY_IP}
338-
- bridge-novu.${PHRASEA_DOMAIN}:${PS_GATEWAY_IP}
339-
340314
volumes:
341315
dev:
342316
driver: local

docker-compose.yml

Lines changed: 13 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -619,7 +619,6 @@ services:
619619
- CLIENT_ID=${DASHBOARD_CLIENT_ID}
620620
- SOKETI_USAGE_URL
621621
- NOVU_DASHBOARD_URL
622-
- NOVU_STUDIO_URL
623622
- NOVU_BRIDGE_URL
624623
labels:
625624
- "traefik.http.routers.dashboard.rule=Host(`dashboard.${PHRASEA_DOMAIN}`)"
@@ -1120,8 +1119,11 @@ services:
11201119
networks:
11211120
- internal
11221121
environment:
1122+
API_CONTEXT_PATH: ''
1123+
IS_V2_ENABLED: 'true'
1124+
IS_API_IDEMPOTENCY_ENABLED: 'true'
1125+
IS_NEW_MESSAGES_API_RESPONSE_ENABLED: 'true'
11231126
API_ROOT_URL: ${NOVU_API_URL}
1124-
DISABLE_USER_REGISTRATION: 'false'
11251127
FRONT_BASE_URL: ${NOVU_DASHBOARD_URL}
11261128
MONGO_URL: ${NOVU_MONGO_URL}
11271129
MONGO_MIN_POOL_SIZE: ${NOVU_MONGO_MIN_POOL_SIZE}
@@ -1135,7 +1137,6 @@ services:
11351137
JWT_SECRET: ${NOVU_JWT_SECRET}
11361138
NOVU_SECRET_KEY: ${NOVU_SECRET_KEY}
11371139
STORE_ENCRYPTION_KEY: ${NOVU_STORE_ENCRYPTION_KEY}
1138-
NEW_RELIC_ENABLED: 'false'
11391140
labels:
11401141
- "traefik.enable=true"
11411142
- "traefik.project_name=${COMPOSE_PROJECT_NAME}"
@@ -1158,6 +1159,7 @@ services:
11581159
networks:
11591160
- internal
11601161
environment:
1162+
API_ROOT_URL: ${NOVU_API_URL}
11611163
MONGO_URL: ${NOVU_MONGO_URL}
11621164
MONGO_MAX_POOL_SIZE: ${NOVU_MONGO_MAX_POOL_SIZE}
11631165
REDIS_HOST: ${NOVU_REDIS_HOST}
@@ -1166,7 +1168,6 @@ services:
11661168
REDIS_DB_INDEX: 2
11671169
REDIS_CACHE_SERVICE_HOST: ${NOVU_REDIS_CACHE_SERVICE_HOST}
11681170
REDIS_CACHE_SERVICE_PORT: ${NOVU_REDIS_CACHE_SERVICE_PORT}
1169-
NOVU_SECRET_KEY: ${NOVU_SECRET_KEY}
11701171
STORE_ENCRYPTION_KEY: ${NOVU_STORE_ENCRYPTION_KEY}
11711172
extra_hosts:
11721173
- ws-novu.${PHRASEA_DOMAIN}:${PS_GATEWAY_IP}
@@ -1192,8 +1193,6 @@ services:
11921193
REDIS_PORT: ${NOVU_REDIS_PORT}
11931194
REDIS_PASSWORD: ${NOVU_REDIS_PASSWORD}
11941195
JWT_SECRET: ${NOVU_JWT_SECRET}
1195-
NOVU_SECRET_KEY: ${NOVU_SECRET_KEY}
1196-
NOVU_API_URL: ${NOVU_API_URL}
11971196
labels:
11981197
- "traefik.enable=true"
11991198
- "traefik.project_name=${COMPOSE_PROJECT_NAME}"
@@ -1204,25 +1203,25 @@ services:
12041203
- studio-novu.${PHRASEA_DOMAIN}:${PS_GATEWAY_IP}
12051204

12061205
novu-dashboard:
1207-
image: ghcr.io/novuhq/novu/web:${NOVU_VERSION}
1206+
image: ghcr.io/novuhq/novu/dashboard:${NOVU_VERSION}
12081207
depends_on:
12091208
- novu-api
12101209
profiles:
12111210
- novu-self-hosted
12121211
networks:
12131212
- internal
12141213
environment:
1215-
REACT_APP_API_URL: ${NOVU_API_URL}
1216-
REACT_APP_ENVIRONMENT: production
1217-
REACT_APP_WIDGET_EMBED_PATH: ${NOVU_DASHBOARD_URL}/embed.umd.min.js
1218-
REACT_APP_IS_SELF_HOSTED: 'true'
1219-
REACT_APP_WS_URL: ${NOVU_WS_URL}
1220-
command: ['/bin/sh', '-c', 'pnpm run envsetup:docker && pnpm run start:static:build']
1214+
VITE_API_HOSTNAME: ${NOVU_API_URL}
1215+
VITE_ENVIRONMENT: production
1216+
VITE_WIDGET_EMBED_PATH: ${NOVU_DASHBOARD_URL}/embed.umd.min.js
1217+
VITE_SELF_HOSTED: 'true'
1218+
VITE_WEBSOCKET_HOSTNAME: ${NOVU_WS_URL}
1219+
VITE_LEGACY_DASHBOARD_URL: ${NOVU_DASHBOARD_URL}
12211220
labels:
12221221
- "traefik.enable=true"
12231222
- "traefik.project_name=${COMPOSE_PROJECT_NAME}"
12241223
- "traefik.http.routers.novu-dashboard.rule=Host(`novu.${PHRASEA_DOMAIN}`)"
1225-
- "traefik.http.services.novu-dashboard.loadbalancer.server.port=4200"
1224+
- "traefik.http.services.novu-dashboard.loadbalancer.server.port=4000"
12261225
extra_hosts:
12271226
- bridge-novu.${PHRASEA_DOMAIN}:${PS_GATEWAY_IP}
12281227
- studio-novu.${PHRASEA_DOMAIN}:${PS_GATEWAY_IP}

0 commit comments

Comments
 (0)