diff --git a/docker-compose.reverse-proxy.yml b/docker-compose.reverse-proxy.yml index f5d4481cc1..c9b980c608 100644 --- a/docker-compose.reverse-proxy.yml +++ b/docker-compose.reverse-proxy.yml @@ -4,7 +4,8 @@ services: image: nginxproxy/nginx-proxy:1.5.1 ports: - "80:80" - # - 127.0.0.1:443:443 + - "443:443" + # - "127.0.0.1:443:443" volumes: - ./resources/reverse-proxy/default.conf:/etc/nginx/conf.d/custom-settings.conf:ro - ./_data/html:/usr/share/nginx/html:rw @@ -78,9 +79,11 @@ services: DEBUG: true # REBUILD: true VIRTUAL_HOST: localai.liexp.dev,localai.lies.exposed - VIRTUAL_PORT: 8080 - LOCALAI_CORS: "true" + VIRTUAL_PORT: 443 + VIRTUAL_PROTO: https + LOCALAI_CORS: 1 LOCALAI_CORS_ALLOW_ORIGINS: "http://admin.liexp.dev,https://alpha.lies.exposed" + CERT: liexp.dev volumes: - ./models:/build/models:cached devices: diff --git a/docker-compose.yml b/docker-compose.yml index c90042766c..009881bb03 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -35,7 +35,7 @@ services: MINIO_ROOT_USER: space-access-key-id MINIO_ROOT_PASSWORD: space-access-key-secret-id VIRTUAL_HOST: fra1.space.liexp.dev - VIRTUAL_PORT: 9000 + VIRTUAL_PORT: 443 volumes: - space-data:/data restart: on-failure @@ -60,7 +60,8 @@ services: DEBUG: "@liexp*" DB_HOST: db.liexp.dev DB_PORT: 5432 - SERVER_PORT: 80 + SERVER_PORT: 443 + CERT: liexp.dev depends_on: - db.liexp.dev - fra1.space.liexp.dev @@ -73,7 +74,7 @@ services: stdin_open: true working_dir: /usr/src/app/services/api healthcheck: - test: ["CMD", "curl", "-f", "http://api.liexp.dev/v1/healthcheck"] + test: ["CMD", "curl", "-f", "http://localhost:443/v1/healthcheck"] interval: 10s timeout: 20s retries: 10 @@ -91,6 +92,8 @@ services: dockerfile: web.Dockerfile env_file: - ./services/web/.env + environment: + CERT: liexp.dev ports: # hmr port - "127.0.0.1:24678:24678" @@ -123,6 +126,8 @@ services: dockerfile: adminWeb.Dockerfile env_file: - ./services/admin-web/.env + environment: + CERT: liexp.dev volumes: - admin-node-modules:/usr/src/app/node_modules - ./tsconfig.json:/usr/src/app/tsconfig.json diff --git a/package.json b/package.json index 4ea1be7105..46ba5e8a57 100644 --- a/package.json +++ b/package.json @@ -57,7 +57,7 @@ "typescript-eslint": "^7.18.0", "vitest": "^2.0.5" }, - "packageManager": "pnpm@9.4.0", + "packageManager": "pnpm@9.7.0+sha512.dc09430156b427f5ecfc79888899e1c39d2d690f004be70e05230b72cb173d96839587545d09429b55ac3c429c801b4dc3c0e002f653830a420fa2dd4e3cf9cf", "engines": { "node": ">= 20", "npm": "please use pnpm >= 9", diff --git a/packages/@liexp/backend/package.json b/packages/@liexp/backend/package.json index d1ddd2cb79..56477d1614 100644 --- a/packages/@liexp/backend/package.json +++ b/packages/@liexp/backend/package.json @@ -74,5 +74,5 @@ "wink-nlp": "^2.3.0", "wink-nlp-utils": "^2.1.0" }, - "packageManager": "pnpm@9.4.0" + "packageManager": "pnpm@9.7.0" } diff --git a/packages/@liexp/core/package.json b/packages/@liexp/core/package.json index c991681837..11f477c63a 100644 --- a/packages/@liexp/core/package.json +++ b/packages/@liexp/core/package.json @@ -59,5 +59,5 @@ "uuid": "^9.0.1", "vite": "^5.2.13" }, - "packageManager": "pnpm@9.4.0" + "packageManager": "pnpm@9.7.0" } diff --git a/packages/@liexp/shared/package.json b/packages/@liexp/shared/package.json index 7fa1641bc9..bd11683a10 100644 --- a/packages/@liexp/shared/package.json +++ b/packages/@liexp/shared/package.json @@ -77,5 +77,5 @@ "react-dom": "^18", "sharp": "*" }, - "packageManager": "pnpm@9.4.0" + "packageManager": "pnpm@9.7.0" } diff --git a/packages/@liexp/test/package.json b/packages/@liexp/test/package.json index b7d1935b71..1b3fff6ac4 100644 --- a/packages/@liexp/test/package.json +++ b/packages/@liexp/test/package.json @@ -34,5 +34,5 @@ "peerDependencies": { "debug": "*" }, - "packageManager": "pnpm@9.4.0" + "packageManager": "pnpm@9.7.0" } diff --git a/packages/@liexp/ui/package.json b/packages/@liexp/ui/package.json index 725658b047..b3903c91e9 100644 --- a/packages/@liexp/ui/package.json +++ b/packages/@liexp/ui/package.json @@ -27,9 +27,9 @@ "src/**/*.(ts|tsx|js|jsx)": "eslint --fix" }, "dependencies": { - "@blocknote/core": "^0.15.3", - "@blocknote/mantine": "^0.15.3", - "@blocknote/react": "^0.15.3", + "@blocknote/core": "^0.15.4", + "@blocknote/mantine": "^0.15.4", + "@blocknote/react": "^0.15.4", "@emotion/cache": "^11.13.1", "@emotion/css": "^11.13.0", "@emotion/react": "^11.13.0", @@ -148,5 +148,5 @@ "typescript": "^5.4.5", "vitest-mock-extended": "^2.0.0" }, - "packageManager": "pnpm@9.4.0" + "packageManager": "pnpm@9.7.0" } diff --git a/packages/@liexp/ui/src/components/Cards/Events/EventCard.tsx b/packages/@liexp/ui/src/components/Cards/Events/EventCard.tsx index 059f22debd..8e6b3ab66e 100644 --- a/packages/@liexp/ui/src/components/Cards/Events/EventCard.tsx +++ b/packages/@liexp/ui/src/components/Cards/Events/EventCard.tsx @@ -99,7 +99,7 @@ const EventCard: React.FC = ({ overflow: "hidden", }} > - + ) : null} diff --git a/packages/@liexp/ui/src/components/Cards/Events/EventCardGrid.tsx b/packages/@liexp/ui/src/components/Cards/Events/EventCardGrid.tsx index 3f82b74d78..6eea559023 100644 --- a/packages/@liexp/ui/src/components/Cards/Events/EventCardGrid.tsx +++ b/packages/@liexp/ui/src/components/Cards/Events/EventCardGrid.tsx @@ -7,7 +7,7 @@ import { styled } from "../../../theme/index.js"; import { Grid } from "../../mui/index.js"; import EventCard, { type EventCardProps } from "./EventCard.js"; -interface EventCardGridProps { +export interface EventCardGridProps { events: Events.SearchEvent.SearchEvent[]; onItemClick: (e: Events.SearchEvent.SearchEvent) => void; showItemRelations?: boolean; diff --git a/packages/@liexp/ui/src/components/Cards/Events/EventSlimCard.tsx b/packages/@liexp/ui/src/components/Cards/Events/EventSlimCard.tsx new file mode 100644 index 0000000000..3c64e38a86 --- /dev/null +++ b/packages/@liexp/ui/src/components/Cards/Events/EventSlimCard.tsx @@ -0,0 +1,109 @@ +// import { getRelationIds } from "@liexp/shared/lib/helpers/event/getEventRelationIds.js"; +import { getTitle } from "@liexp/shared/lib/helpers/event/index.js"; +import { type Events } from "@liexp/shared/lib/io/http/index.js"; +import { formatDate } from "@liexp/shared/lib/utils/date.utils.js"; +import { Stack } from "@mui/system"; +// import { useQuery } from "@tanstack/react-query"; +import { parseISO } from "date-fns"; +import * as React from "react"; +import { BNEditor } from "../../Common/BlockNote/index.js"; +import { EventIcon } from "../../Common/Icons/index.js"; +// import QueriesRenderer from "../../QueriesRenderer.js"; +import { + Box, + Card, + CardActionArea, + CardContent, + CardHeader, + CardMedia, + type CardProps, +} from "../../mui/index.js"; + +export interface EventSlimCardProps extends CardProps { + event: Events.Event; + defaultImage: string; + showMedia?: boolean; + layout?: "vertical" | "horizontal"; + onEventClick?: (e: Events.Event) => void; +} + +const EventSlimCard: React.FC = ({ + event, + showMedia = true, + onEventClick, + defaultImage, + layout = "vertical", + ...props +}) => { + // const { media } = getRelationIds(event); + const title = getTitle(event, { + actors: [], + groups: [], + media: [], + keywords: [], + groupsMembers: [], + areas: [], + links: [], + }); + + const date = + typeof event.date === "string" ? parseISO(event.date as any) : event.date; + + const handleClick = onEventClick + ? () => { + onEventClick(event); + } + : undefined; + + const isVertical = layout === "vertical"; + return ( + + + + {showMedia ? ( + + + + ) : null} + + } + title={title} + subheader={formatDate(date)} + /> + + + {event.excerpt ? ( + + + + ) : null} + + + + + + ); +}; + +export default EventSlimCard; diff --git a/packages/@liexp/ui/src/components/Common/BlockNote/Editor.tsx b/packages/@liexp/ui/src/components/Common/BlockNote/Editor.tsx index 128e995d7b..106aff61ab 100644 --- a/packages/@liexp/ui/src/components/Common/BlockNote/Editor.tsx +++ b/packages/@liexp/ui/src/components/Common/BlockNote/Editor.tsx @@ -22,16 +22,18 @@ import { toInitialContent } from "./utils/utils.js"; const getCustomSlashMenuItems = ( editor: BNESchemaEditor, -): DefaultReactSuggestionItem[] => [ - ...getDefaultReactSlashMenuItems(editor), - insertMedia(editor), - relationItem(editor), - groupItem(editor), - actorItem(editor), - areaItem(editor), - keywordItem(editor), - insertEvent(editor), -]; +): DefaultReactSuggestionItem[] => { + return [ + ...getDefaultReactSlashMenuItems(editor), + insertMedia(editor), + relationItem(editor), + groupItem(editor), + actorItem(editor), + areaItem(editor), + keywordItem(editor), + insertEvent(editor), + ]; +}; export interface BNEditorProps { readOnly: boolean; @@ -65,6 +67,11 @@ export const BNEditor: React.FC = ({ ...initialContent, }) as BNESchemaEditor; + const slashMenuItems = React.useMemo( + () => getCustomSlashMenuItems(editor), + [editor], + ); + return (
@@ -82,7 +89,7 @@ export const BNEditor: React.FC = ({ // Replaces the default Slash Menu items with our custom ones. getItems={async (query) => { return pipe( - getCustomSlashMenuItems(editor), + slashMenuItems, (suggestions) => filterSuggestionItems(suggestions, query), (items) => Promise.resolve(items), ); diff --git a/packages/@liexp/ui/src/components/Common/BlockNote/plugins/EditMenu/EditMenu.tsx b/packages/@liexp/ui/src/components/Common/BlockNote/plugins/EditMenu/EditMenu.tsx index ce3efca444..20cd15bbf0 100644 --- a/packages/@liexp/ui/src/components/Common/BlockNote/plugins/EditMenu/EditMenu.tsx +++ b/packages/@liexp/ui/src/components/Common/BlockNote/plugins/EditMenu/EditMenu.tsx @@ -44,7 +44,7 @@ export const EditMenu: React.FC< onClick(); }} style={{ - marginRight: 16, + marginRight: 8, }} > diff --git a/packages/@liexp/ui/src/components/Common/BlockNote/plugins/block/EventBlock.plugin.tsx b/packages/@liexp/ui/src/components/Common/BlockNote/plugins/block/EventBlock.plugin.tsx index e4abc7c5a5..17051fd23a 100644 --- a/packages/@liexp/ui/src/components/Common/BlockNote/plugins/block/EventBlock.plugin.tsx +++ b/packages/@liexp/ui/src/components/Common/BlockNote/plugins/block/EventBlock.plugin.tsx @@ -1,6 +1,7 @@ import { insertOrUpdateBlock } from "@blocknote/core"; import { createReactBlockSpec } from "@blocknote/react"; import { type Events } from "@liexp/shared/lib/io/http/index.js"; +import { uuid } from "@liexp/shared/lib/utils/uuid.js"; import * as React from "react"; import EventsBox from "../../../../../containers/EventsBox.js"; import { AutocompleteEventInput } from "../../../../Input/AutocompleteEventInput.js"; @@ -9,6 +10,8 @@ import { EventIcon } from "../../../Icons/index.js"; import { type BNESchemaEditor } from "../../EditorSchema.js"; import { EditMenu } from "../EditMenu/EditMenu.js"; +const DEFAULT_ID = "missing-id"; + // Slash menu item to insert an Event block export const insertEvent = (editor: BNESchemaEditor) => ({ title: "Event", @@ -16,8 +19,9 @@ export const insertEvent = (editor: BNESchemaEditor) => ({ onItemClick: () => { insertOrUpdateBlock(editor, { type: "event", + id: uuid(), props: { - id: "", + id: DEFAULT_ID, }, }); }, @@ -33,7 +37,7 @@ export const EventBlockPluginControl: React.FC<{ }> = ({ data, onChange, onRemove: remove, ...props }) => { return ( { - onChange(""); + onChange(DEFAULT_ID); }} > - {id === "" ? ( + {id === DEFAULT_ID ? ( = ({ }} /> )} - renderOption={(props, item, state) => ( - { - onChange( - selectedItems.filter((i) => i.id !== item.id).concat(item), - ); - }} - defaultImage={conf.platforms.web.defaultImage} - style={{ - maxHeight: 200, - }} - /> - )} + renderOption={(props, item, state) => { + return ( + { + onChange( + selectedItems.filter((i) => i.id !== item.id).concat(item), + ); + }} + defaultImage={conf.platforms.web.defaultImage} + style={{ + maxHeight: 200, + }} + /> + ); + }} onItemsChange={onChange} {...props} /> diff --git a/packages/@liexp/ui/src/components/admin/transform.utils.ts b/packages/@liexp/ui/src/components/admin/transform.utils.ts index 3dc47f1335..16cb93c8d7 100644 --- a/packages/@liexp/ui/src/components/admin/transform.utils.ts +++ b/packages/@liexp/ui/src/components/admin/transform.utils.ts @@ -63,10 +63,10 @@ export const transformDeath: TransformEventFn = (data, relations) => { export const transformUncategorized: TransformEventFn = (data, relations) => { const { keywords, groups, actors } = eventRelationIdsMonoid.concat( { - groups: data.payload.groups, - actors: data.payload.actors, - media: data.media, - keywords: data.payload.keywords, + groups: data.payload.groups ?? [], + actors: data.payload.actors ?? [], + media: data.media ?? [], + keywords: data.payload.keywords ?? [], areas: data.payload.location ? [data.payload.location] : [], groupsMembers: [], links: data.links, diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 1b4b96a26a..677bc38acf 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -18,7 +18,7 @@ importers: devDependencies: '@commitlint/cli': specifier: ^19.2.2 - version: 19.3.0(@types/node@22.1.0)(typescript@5.5.4) + version: 19.3.0(@types/node@22.2.0)(typescript@5.5.4) '@commitlint/config-conventional': specifier: ^19.1.0 version: 19.2.2 @@ -30,7 +30,7 @@ importers: version: 7.18.0(eslint@8.57.0)(typescript@5.5.4) '@vitest/coverage-v8': specifier: ^2.0.5 - version: 2.0.5(vitest@2.0.5(@types/node@22.1.0)(sass@1.77.8)(terser@5.31.5)) + version: 2.0.5(vitest@2.0.5(@types/node@22.2.0)(sass@1.77.8)(terser@5.31.5)) eslint: specifier: ^8.57.0 version: 8.57.0 @@ -78,7 +78,7 @@ importers: version: 7.18.0(eslint@8.57.0)(typescript@5.5.4) vitest: specifier: ^2.0.5 - version: 2.0.5(@types/node@22.1.0)(sass@1.77.8)(terser@5.31.5) + version: 2.0.5(@types/node@22.2.0)(sass@1.77.8)(terser@5.31.5) packages/@liexp/backend: dependencies: @@ -235,16 +235,16 @@ importers: version: 9.0.1 vite: specifier: ^5.2.13 - version: 5.3.5(@types/node@22.1.0)(sass@1.77.8)(terser@5.31.5) + version: 5.3.5(@types/node@22.2.0)(sass@1.77.8)(terser@5.31.5) vite-plugin-css-injected-by-js: specifier: ^3.5.1 - version: 3.5.1(vite@5.3.5(@types/node@22.1.0)(sass@1.77.8)(terser@5.31.5)) + version: 3.5.1(vite@5.3.5(@types/node@22.2.0)(sass@1.77.8)(terser@5.31.5)) vite-plugin-optimizer: specifier: ^1.4.3 version: 1.4.3 vite-tsconfig-paths: specifier: ^4.3.2 - version: 4.3.2(typescript@5.5.4)(vite@5.3.5(@types/node@22.1.0)(sass@1.77.8)(terser@5.31.5)) + version: 4.3.2(typescript@5.5.4)(vite@5.3.5(@types/node@22.2.0)(sass@1.77.8)(terser@5.31.5)) devDependencies: '@eslint/eslintrc': specifier: ^3.1.0 @@ -278,7 +278,7 @@ importers: version: 18.3.3 '@vitejs/plugin-react': specifier: ^4.3.1 - version: 4.3.1(vite@5.3.5(@types/node@22.1.0)(sass@1.77.8)(terser@5.31.5)) + version: 4.3.1(vite@5.3.5(@types/node@22.2.0)(sass@1.77.8)(terser@5.31.5)) eslint: specifier: ^8.57.0 version: 8.57.0 @@ -432,13 +432,13 @@ importers: version: 5.5.4 vite-tsconfig-paths: specifier: ^4.3.2 - version: 4.3.2(typescript@5.5.4)(vite@5.3.5(@types/node@22.1.0)(sass@1.77.8)(terser@5.31.5)) + version: 4.3.2(typescript@5.5.4)(vite@5.3.5(@types/node@22.2.0)(sass@1.77.8)(terser@5.31.5)) vitest: specifier: ^2.0.5 - version: 2.0.5(@types/node@22.1.0)(sass@1.77.8)(terser@5.31.5) + version: 2.0.5(@types/node@22.2.0)(sass@1.77.8)(terser@5.31.5) vitest-mock-extended: specifier: ^2.0.0 - version: 2.0.0(typescript@5.5.4)(vitest@2.0.5(@types/node@22.1.0)(sass@1.77.8)(terser@5.31.5)) + version: 2.0.0(typescript@5.5.4)(vitest@2.0.5(@types/node@22.2.0)(sass@1.77.8)(terser@5.31.5)) packages/@liexp/test: dependencies: @@ -474,14 +474,14 @@ importers: packages/@liexp/ui: dependencies: '@blocknote/core': - specifier: ^0.15.3 - version: 0.15.3 + specifier: ^0.15.4 + version: 0.15.4 '@blocknote/mantine': - specifier: ^0.15.3 - version: 0.15.3(@tiptap/pm@2.5.8)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + specifier: ^0.15.4 + version: 0.15.4(@tiptap/pm@2.5.8)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@blocknote/react': - specifier: ^0.15.3 - version: 0.15.3(@tiptap/pm@2.5.8)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + specifier: ^0.15.4 + version: 0.15.4(@tiptap/pm@2.5.8)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@emotion/cache': specifier: ^11.13.1 version: 11.13.1 @@ -827,19 +827,19 @@ importers: version: 5.5.4 vitest-mock-extended: specifier: ^2.0.0 - version: 2.0.0(typescript@5.5.4)(vitest@2.0.5(@types/node@22.1.0)(sass@1.77.8)(terser@5.31.5)) + version: 2.0.0(typescript@5.5.4)(vitest@2.0.5(@types/node@22.2.0)(sass@1.77.8)(terser@5.31.5)) services/admin-web: dependencies: '@blocknote/core': - specifier: ^0.15.3 - version: 0.15.3 + specifier: ^0.15.4 + version: 0.15.4 '@blocknote/mantine': - specifier: ^0.15.3 - version: 0.15.3(@tiptap/pm@2.5.8)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + specifier: ^0.15.4 + version: 0.15.4(@tiptap/pm@2.5.8)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@blocknote/react': - specifier: ^0.15.3 - version: 0.15.3(@tiptap/pm@2.5.8)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + specifier: ^0.15.4 + version: 0.15.4(@tiptap/pm@2.5.8)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@liexp/core': specifier: workspace:* version: link:../../packages/@liexp/core @@ -1281,8 +1281,8 @@ importers: specifier: ^2.4.2 version: 2.4.2 supertest: - specifier: ^6.3.4 - version: 6.3.4 + specifier: ^7.0.0 + version: 7.0.0 typeorm-uml: specifier: ^1.6.5 version: 1.6.5(@oclif/config@1.18.17)(typeorm@0.3.20(pg@8.12.0)) @@ -1299,14 +1299,14 @@ importers: services/storybook: dependencies: '@blocknote/core': - specifier: ^0.15.3 - version: 0.15.3 + specifier: ^0.15.4 + version: 0.15.4 '@blocknote/mantine': - specifier: ^0.15.3 - version: 0.15.3(@tiptap/pm@2.5.8)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + specifier: ^0.15.4 + version: 0.15.4(@tiptap/pm@2.5.8)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@blocknote/react': - specifier: ^0.15.3 - version: 0.15.3(@tiptap/pm@2.5.8)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + specifier: ^0.15.4 + version: 0.15.4(@tiptap/pm@2.5.8)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@emotion/cache': specifier: ^11.13.1 version: 11.13.1 @@ -1354,7 +1354,7 @@ importers: version: 8.2.8(storybook@8.2.8(@babel/preset-env@7.25.3(@babel/core@7.25.2))) '@storybook/addon-interactions': specifier: ^8.2.8 - version: 8.2.8(storybook@8.2.8(@babel/preset-env@7.25.3(@babel/core@7.25.2)))(vitest@2.0.5(@types/node@22.1.0)(sass@1.77.8)(terser@5.31.5)) + version: 8.2.8(storybook@8.2.8(@babel/preset-env@7.25.3(@babel/core@7.25.2)))(vitest@2.0.5(@types/node@22.2.0)(sass@1.77.8)(terser@5.31.5)) '@storybook/addon-links': specifier: ^8.2.8 version: 8.2.8(react@18.3.1)(storybook@8.2.8(@babel/preset-env@7.25.3(@babel/core@7.25.2))) @@ -1369,7 +1369,7 @@ importers: version: 8.2.8(storybook@8.2.8(@babel/preset-env@7.25.3(@babel/core@7.25.2))) '@storybook/builder-vite': specifier: ^8.2.8 - version: 8.2.8(storybook@8.2.8(@babel/preset-env@7.25.3(@babel/core@7.25.2)))(typescript@5.5.4)(vite@5.3.5(@types/node@22.1.0)(sass@1.77.8)(terser@5.31.5)) + version: 8.2.8(storybook@8.2.8(@babel/preset-env@7.25.3(@babel/core@7.25.2)))(typescript@5.5.4)(vite@5.3.5(@types/node@22.2.0)(sass@1.77.8)(terser@5.31.5)) '@storybook/docs-tools': specifier: ^8.2.8 version: 8.2.8(storybook@8.2.8(@babel/preset-env@7.25.3(@babel/core@7.25.2))) @@ -1387,7 +1387,7 @@ importers: version: 8.2.8(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(storybook@8.2.8(@babel/preset-env@7.25.3(@babel/core@7.25.2))) '@storybook/react-vite': specifier: ^8.2.8 - version: 8.2.8(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(rollup@4.19.1)(storybook@8.2.8(@babel/preset-env@7.25.3(@babel/core@7.25.2)))(typescript@5.5.4)(vite@5.3.5(@types/node@22.1.0)(sass@1.77.8)(terser@5.31.5)) + version: 8.2.8(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(rollup@4.19.1)(storybook@8.2.8(@babel/preset-env@7.25.3(@babel/core@7.25.2)))(typescript@5.5.4)(vite@5.3.5(@types/node@22.2.0)(sass@1.77.8)(terser@5.31.5)) '@storybook/theming': specifier: ^8.2.8 version: 8.2.8(storybook@8.2.8(@babel/preset-env@7.25.3(@babel/core@7.25.2))) @@ -1487,19 +1487,19 @@ importers: version: 5.5.4 vite: specifier: ^5.3.5 - version: 5.3.5(@types/node@22.1.0)(sass@1.77.8)(terser@5.31.5) + version: 5.3.5(@types/node@22.2.0)(sass@1.77.8)(terser@5.31.5) services/web: dependencies: '@blocknote/core': - specifier: ^0.15.3 - version: 0.15.3 + specifier: ^0.15.4 + version: 0.15.4 '@blocknote/mantine': - specifier: ^0.15.3 - version: 0.15.3(@tiptap/pm@2.5.8)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + specifier: ^0.15.4 + version: 0.15.4(@tiptap/pm@2.5.8)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@blocknote/react': - specifier: ^0.15.3 - version: 0.15.3(@tiptap/pm@2.5.8)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + specifier: ^0.15.4 + version: 0.15.4(@tiptap/pm@2.5.8)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@emotion/cache': specifier: ^11.13.1 version: 11.13.1 @@ -2726,17 +2726,17 @@ packages: '@bcoe/v8-coverage@0.2.3': resolution: {integrity: sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==} - '@blocknote/core@0.15.3': - resolution: {integrity: sha512-2ZOWpxt4rm5YdH9Gn9YXYQsI9wYMAkFcKkuSpprHGCl7ALk+Iv7Gw+BswttlhKFyYoY/df7dlc9lcZr5zVAWWw==} + '@blocknote/core@0.15.4': + resolution: {integrity: sha512-agOIkb63u4GDzK1UbL4v1Tzcim7p2mJj/YMS7QEYCSe54pdgVH07Gx2CS+nZfjs8BmPjCkEQg1yRxCf0NT9P+g==} - '@blocknote/mantine@0.15.3': - resolution: {integrity: sha512-KEtRffEAjqmIW9sSpDdiEgOhsSZLcI2zV/0hHOe/ZM/01UE/V4Vl7VKicgDd7FUBzn2BoqqxOv0GW1n5mLsfCw==} + '@blocknote/mantine@0.15.4': + resolution: {integrity: sha512-sMKR2MrubzHShnG23Q+RwmsXoqGu/E9vyqdZ5TSM8D2J5pydqLiwO8pKXS3Uq4OnddZMXyn/V3q1pa7Uh7T2Rw==} peerDependencies: react: ^18 react-dom: ^18 - '@blocknote/react@0.15.3': - resolution: {integrity: sha512-lawcNmXIo+dQkd7gZkCbvNmKLNL/3y82q5NT26VNQH0axQSTJ7/Mjiam6A82gCvcPWXx/1ILh6OClx8IV977ag==} + '@blocknote/react@0.15.4': + resolution: {integrity: sha512-EcDeHTylbWnpB8LtUslpf+x6da9YK4IpaSl8W7Is7sVcKuBesSkNxv0g4pMBIjDrFgqa70IUXAQTCohSX7aWYw==} peerDependencies: react: ^18 react-dom: ^18 @@ -5146,14 +5146,14 @@ packages: '@types/node-telegram-bot-api@0.64.7': resolution: {integrity: sha512-nuvFFXnvU2sItucyEJ03I+m34z5st386isfEuF6BJTL7p3RjG7naMhvvXjY7oeKahTm1Jf0Gu4PrDa6jDt78/Q==} - '@types/node@18.19.43': - resolution: {integrity: sha512-Mw/YlgXnyJdEwLoFv2dpuJaDFriX+Pc+0qOBJ57jC1H6cDxIj2xc5yUrdtArDVG0m+KV6622a4p2tenEqB3C/g==} + '@types/node@18.19.44': + resolution: {integrity: sha512-ZsbGerYg72WMXUIE9fYxtvfzLEuq6q8mKERdWFnqTmOvudMxnz+CBNRoOwJ2kNpFOncrKjT1hZwxjlFgQ9qvQA==} '@types/node@20.14.14': resolution: {integrity: sha512-d64f00982fS9YoOgJkAMolK7MN8Iq3TDdVjchbYHdEmjth/DHowx82GnoA+tVUAN+7vxfYUgAzi+JXbKNd2SDQ==} - '@types/node@22.1.0': - resolution: {integrity: sha512-AOmuRF0R2/5j1knA3c6G3HOk523Ga+l+ZXltX8SF1+5oqcXijjfTd8fY3XRZqSihEu9XhtQnKYLmkFaoxgsJHw==} + '@types/node@22.2.0': + resolution: {integrity: sha512-bm6EG6/pCpkxDf/0gDNDdtDILMOHgaQBVOJGdwsqClnxA3xL6jtMv76rLBc006RVMWbmaf0xbmom4Z/5o2nRkQ==} '@types/parse-json@4.0.2': resolution: {integrity: sha512-dISoDXWWQwUquiKsyZ4Ng+HX2KsPL7LyHKHQwgGFEA3IaKac4Obd+h2a/a6waisAoepJlBcx9paWqjA8/HVjCw==} @@ -7513,8 +7513,8 @@ packages: resolution: {integrity: sha512-0iirZp3uVDjVGt9p49aTaqjk84TrglENEDuqfdlZQ1roC9CWlPk6Avf8EEnZNcAqPonwkG35x4n3ww/1THYAeQ==} engines: {node: '>= 12.20'} - formidable@2.1.2: - resolution: {integrity: sha512-CM3GuJ57US06mlpQ47YcunuUZ9jpm8Vx+P2CGt2j7HpgkKZO/DJYQ0Bobim8G6PFQmK5lOqOOdUXboU+h73A4g==} + formidable@3.5.1: + resolution: {integrity: sha512-WJWKelbRHN41m5dumb0/k8TeAx7Id/y3a+Z7QfhxP/htI9Js5zYaEDtG8uMgG0vM0lOlqnmjE99/kfpOYi/0Og==} forwarded@0.2.0: resolution: {integrity: sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==} @@ -11153,14 +11153,13 @@ packages: sudo-prompt@9.2.1: resolution: {integrity: sha512-Mu7R0g4ig9TUuGSxJavny5Rv0egCEtpZRNMrZaYS1vxkiIxGiGUwoezU3LazIQ+KE04hTrTfNPgxU5gzi7F5Pw==} - superagent@8.1.2: - resolution: {integrity: sha512-6WTxW1EB6yCxV5VFOIPQruWGHqc3yI7hEmZK6h+pyk69Lk/Ut7rLUY6W/ONF2MjBuGjvmMiIpsrVJ2vjrHlslA==} - engines: {node: '>=6.4.0 <13 || >=14'} - deprecated: Please upgrade to v9.0.0+ as we have fixed a public vulnerability with formidable dependency. Note that v9.0.0+ requires Node.js v14.18.0+. See https://github.com/ladjs/superagent/pull/1800 for insight. This project is supported and maintained by the team at Forward Email @ https://forwardemail.net + superagent@9.0.2: + resolution: {integrity: sha512-xuW7dzkUpcJq7QnhOsnNUgtYp3xRwpt2F7abdRYIpCsAt0hhUqia0EdxyXZQQpNmGtsCzYHryaKSV3q3GJnq7w==} + engines: {node: '>=14.18.0'} - supertest@6.3.4: - resolution: {integrity: sha512-erY3HFDG0dPnhw4U+udPfrzXa4xhSG+n4rxfRuZWCUvjFWwKl+OxWf/7zk50s84/fAAs7vf5QAb9uRa0cCykxw==} - engines: {node: '>=6.4.0'} + supertest@7.0.0: + resolution: {integrity: sha512-qlsr7fIC0lSddmA3tzojvzubYxvlGtzumcdHgPwbFWMISQwL22MhM2Y3LNt+6w9Yyx7559VW5ab70dgphm8qQA==} + engines: {node: '>=14.18.0'} supports-color@5.5.0: resolution: {integrity: sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==} @@ -11603,8 +11602,8 @@ packages: ufo@1.5.4: resolution: {integrity: sha512-UsUk3byDzKd04EyoZ7U4DOlxQaD14JUKQl6/P7wiX4FNvUfm3XL246n9W5AmqwW5RSFJ27NAuM0iLscAOYUiGQ==} - uglify-js@3.19.1: - resolution: {integrity: sha512-y/2wiW+ceTYR2TSSptAhfnEtpLaQ4Ups5zrjB2d3kuVxHj16j/QJwPl5PvuGy9uARb39J0+iKxcRPvtpsx4A4A==} + uglify-js@3.19.2: + resolution: {integrity: sha512-S8KA6DDI47nQXJSi2ctQ629YzwOVs+bQML6DAtvy0wgNdpi+0ySpQK0g2pxBq2xfF2z3YCscu7NNA8nXT9PlIQ==} engines: {node: '>=0.8.0'} hasBin: true @@ -12282,7 +12281,7 @@ snapshots: '@anthropic-ai/sdk@0.22.0': dependencies: - '@types/node': 18.19.43 + '@types/node': 18.19.44 '@types/node-fetch': 2.6.11 abort-controller: 3.0.0 agentkeepalive: 4.5.0 @@ -13757,7 +13756,7 @@ snapshots: '@bcoe/v8-coverage@0.2.3': {} - '@blocknote/core@0.15.3': + '@blocknote/core@0.15.4': dependencies: '@emoji-mart/data': 1.2.1 '@tiptap/core': 2.5.8(@tiptap/pm@2.5.8) @@ -13803,10 +13802,10 @@ snapshots: transitivePeerDependencies: - supports-color - '@blocknote/mantine@0.15.3(@tiptap/pm@2.5.8)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + '@blocknote/mantine@0.15.4(@tiptap/pm@2.5.8)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: - '@blocknote/core': 0.15.3 - '@blocknote/react': 0.15.3(@tiptap/pm@2.5.8)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@blocknote/core': 0.15.4 + '@blocknote/react': 0.15.4(@tiptap/pm@2.5.8)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@mantine/core': 7.11.2(@mantine/hooks@7.11.2(react@18.3.1))(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@mantine/hooks': 7.11.2(react@18.3.1) '@mantine/utils': 6.0.22(react@18.3.1) @@ -13818,9 +13817,9 @@ snapshots: - '@types/react' - supports-color - '@blocknote/react@0.15.3(@tiptap/pm@2.5.8)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + '@blocknote/react@0.15.4(@tiptap/pm@2.5.8)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: - '@blocknote/core': 0.15.3 + '@blocknote/core': 0.15.4 '@floating-ui/react': 0.26.20(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@tiptap/core': 2.5.8(@tiptap/pm@2.5.8) '@tiptap/react': 2.5.8(@tiptap/core@2.5.8(@tiptap/pm@2.5.8))(@tiptap/pm@2.5.8)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) @@ -13832,11 +13831,11 @@ snapshots: - '@tiptap/pm' - supports-color - '@commitlint/cli@19.3.0(@types/node@22.1.0)(typescript@5.5.4)': + '@commitlint/cli@19.3.0(@types/node@22.2.0)(typescript@5.5.4)': dependencies: '@commitlint/format': 19.3.0 '@commitlint/lint': 19.2.2 - '@commitlint/load': 19.2.0(@types/node@22.1.0)(typescript@5.5.4) + '@commitlint/load': 19.2.0(@types/node@22.2.0)(typescript@5.5.4) '@commitlint/read': 19.2.1 '@commitlint/types': 19.0.3 execa: 8.0.1 @@ -13883,7 +13882,7 @@ snapshots: '@commitlint/rules': 19.0.3 '@commitlint/types': 19.0.3 - '@commitlint/load@19.2.0(@types/node@22.1.0)(typescript@5.5.4)': + '@commitlint/load@19.2.0(@types/node@22.2.0)(typescript@5.5.4)': dependencies: '@commitlint/config-validator': 19.0.3 '@commitlint/execute-rule': 19.0.0 @@ -13891,7 +13890,7 @@ snapshots: '@commitlint/types': 19.0.3 chalk: 5.3.0 cosmiconfig: 9.0.0(typescript@5.5.4) - cosmiconfig-typescript-loader: 5.0.0(@types/node@22.1.0)(cosmiconfig@9.0.0(typescript@5.5.4))(typescript@5.5.4) + cosmiconfig-typescript-loader: 5.0.0(@types/node@22.2.0)(cosmiconfig@9.0.0(typescript@5.5.4))(typescript@5.5.4) lodash.isplainobject: 4.0.6 lodash.merge: 4.6.2 lodash.uniq: 4.5.0 @@ -14410,13 +14409,13 @@ snapshots: '@types/yargs': 17.0.33 chalk: 4.1.2 - '@joshwooding/vite-plugin-react-docgen-typescript@0.3.1(typescript@5.5.4)(vite@5.3.5(@types/node@22.1.0)(sass@1.77.8)(terser@5.31.5))': + '@joshwooding/vite-plugin-react-docgen-typescript@0.3.1(typescript@5.5.4)(vite@5.3.5(@types/node@22.2.0)(sass@1.77.8)(terser@5.31.5))': dependencies: glob: 7.2.3 glob-promise: 4.2.2(glob@7.2.3) magic-string: 0.27.0 react-docgen-typescript: 2.2.2(typescript@5.5.4) - vite: 5.3.5(@types/node@22.1.0)(sass@1.77.8)(terser@5.31.5) + vite: 5.3.5(@types/node@22.2.0)(sass@1.77.8)(terser@5.31.5) optionalDependencies: typescript: 5.5.4 @@ -15359,7 +15358,7 @@ snapshots: '@rnx-kit/chromium-edge-launcher@1.0.0': dependencies: - '@types/node': 18.19.43 + '@types/node': 18.19.44 escape-string-regexp: 4.0.0 is-wsl: 2.2.0 lighthouse-logger: 1.4.2 @@ -15849,11 +15848,11 @@ snapshots: '@storybook/global': 5.0.0 storybook: 8.2.8(@babel/preset-env@7.25.3(@babel/core@7.25.2)) - '@storybook/addon-interactions@8.2.8(storybook@8.2.8(@babel/preset-env@7.25.3(@babel/core@7.25.2)))(vitest@2.0.5(@types/node@22.1.0)(sass@1.77.8)(terser@5.31.5))': + '@storybook/addon-interactions@8.2.8(storybook@8.2.8(@babel/preset-env@7.25.3(@babel/core@7.25.2)))(vitest@2.0.5(@types/node@22.2.0)(sass@1.77.8)(terser@5.31.5))': dependencies: '@storybook/global': 5.0.0 '@storybook/instrumenter': 8.2.8(storybook@8.2.8(@babel/preset-env@7.25.3(@babel/core@7.25.2))) - '@storybook/test': 8.2.8(storybook@8.2.8(@babel/preset-env@7.25.3(@babel/core@7.25.2)))(vitest@2.0.5(@types/node@22.1.0)(sass@1.77.8)(terser@5.31.5)) + '@storybook/test': 8.2.8(storybook@8.2.8(@babel/preset-env@7.25.3(@babel/core@7.25.2)))(vitest@2.0.5(@types/node@22.2.0)(sass@1.77.8)(terser@5.31.5)) polished: 4.3.1 storybook: 8.2.8(@babel/preset-env@7.25.3(@babel/core@7.25.2)) ts-dedent: 2.2.0 @@ -15915,7 +15914,7 @@ snapshots: react: 18.3.1 react-dom: 18.3.1(react@18.3.1) - '@storybook/builder-vite@8.2.8(storybook@8.2.8(@babel/preset-env@7.25.3(@babel/core@7.25.2)))(typescript@5.5.4)(vite@5.3.5(@types/node@22.1.0)(sass@1.77.8)(terser@5.31.5))': + '@storybook/builder-vite@8.2.8(storybook@8.2.8(@babel/preset-env@7.25.3(@babel/core@7.25.2)))(typescript@5.5.4)(vite@5.3.5(@types/node@22.2.0)(sass@1.77.8)(terser@5.31.5))': dependencies: '@storybook/csf-plugin': 8.2.8(storybook@8.2.8(@babel/preset-env@7.25.3(@babel/core@7.25.2))) '@types/find-cache-dir': 3.2.1 @@ -15927,7 +15926,7 @@ snapshots: magic-string: 0.30.11 storybook: 8.2.8(@babel/preset-env@7.25.3(@babel/core@7.25.2)) ts-dedent: 2.2.0 - vite: 5.3.5(@types/node@22.1.0)(sass@1.77.8)(terser@5.31.5) + vite: 5.3.5(@types/node@22.2.0)(sass@1.77.8)(terser@5.31.5) optionalDependencies: typescript: 5.5.4 transitivePeerDependencies: @@ -15961,7 +15960,7 @@ snapshots: dependencies: '@storybook/csf': 0.1.11 '@types/express': 4.17.21 - '@types/node': 18.19.43 + '@types/node': 18.19.44 browser-assert: 1.2.1 esbuild: 0.21.5 esbuild-register: 3.6.0(esbuild@0.21.5) @@ -16016,11 +16015,11 @@ snapshots: react-dom: 18.3.1(react@18.3.1) storybook: 8.2.8(@babel/preset-env@7.25.3(@babel/core@7.25.2)) - '@storybook/react-vite@8.2.8(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(rollup@4.19.1)(storybook@8.2.8(@babel/preset-env@7.25.3(@babel/core@7.25.2)))(typescript@5.5.4)(vite@5.3.5(@types/node@22.1.0)(sass@1.77.8)(terser@5.31.5))': + '@storybook/react-vite@8.2.8(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(rollup@4.19.1)(storybook@8.2.8(@babel/preset-env@7.25.3(@babel/core@7.25.2)))(typescript@5.5.4)(vite@5.3.5(@types/node@22.2.0)(sass@1.77.8)(terser@5.31.5))': dependencies: - '@joshwooding/vite-plugin-react-docgen-typescript': 0.3.1(typescript@5.5.4)(vite@5.3.5(@types/node@22.1.0)(sass@1.77.8)(terser@5.31.5)) + '@joshwooding/vite-plugin-react-docgen-typescript': 0.3.1(typescript@5.5.4)(vite@5.3.5(@types/node@22.2.0)(sass@1.77.8)(terser@5.31.5)) '@rollup/pluginutils': 5.1.0(rollup@4.19.1) - '@storybook/builder-vite': 8.2.8(storybook@8.2.8(@babel/preset-env@7.25.3(@babel/core@7.25.2)))(typescript@5.5.4)(vite@5.3.5(@types/node@22.1.0)(sass@1.77.8)(terser@5.31.5)) + '@storybook/builder-vite': 8.2.8(storybook@8.2.8(@babel/preset-env@7.25.3(@babel/core@7.25.2)))(typescript@5.5.4)(vite@5.3.5(@types/node@22.2.0)(sass@1.77.8)(terser@5.31.5)) '@storybook/react': 8.2.8(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(storybook@8.2.8(@babel/preset-env@7.25.3(@babel/core@7.25.2)))(typescript@5.5.4) find-up: 5.0.0 magic-string: 0.30.11 @@ -16030,7 +16029,7 @@ snapshots: resolve: 1.22.8 storybook: 8.2.8(@babel/preset-env@7.25.3(@babel/core@7.25.2)) tsconfig-paths: 4.2.0 - vite: 5.3.5(@types/node@22.1.0)(sass@1.77.8)(terser@5.31.5) + vite: 5.3.5(@types/node@22.2.0)(sass@1.77.8)(terser@5.31.5) transitivePeerDependencies: - '@preact/preset-vite' - rollup @@ -16048,7 +16047,7 @@ snapshots: '@storybook/theming': 8.2.8(storybook@8.2.8(@babel/preset-env@7.25.3(@babel/core@7.25.2))) '@types/escodegen': 0.0.6 '@types/estree': 0.0.51 - '@types/node': 18.19.43 + '@types/node': 18.19.44 acorn: 7.4.1 acorn-jsx: 5.3.2(acorn@7.4.1) acorn-walk: 7.2.0 @@ -16067,12 +16066,12 @@ snapshots: optionalDependencies: typescript: 5.5.4 - '@storybook/test@8.2.8(storybook@8.2.8(@babel/preset-env@7.25.3(@babel/core@7.25.2)))(vitest@2.0.5(@types/node@22.1.0)(sass@1.77.8)(terser@5.31.5))': + '@storybook/test@8.2.8(storybook@8.2.8(@babel/preset-env@7.25.3(@babel/core@7.25.2)))(vitest@2.0.5(@types/node@22.2.0)(sass@1.77.8)(terser@5.31.5))': dependencies: '@storybook/csf': 0.1.11 '@storybook/instrumenter': 8.2.8(storybook@8.2.8(@babel/preset-env@7.25.3(@babel/core@7.25.2))) '@testing-library/dom': 10.1.0 - '@testing-library/jest-dom': 6.4.5(vitest@2.0.5(@types/node@22.1.0)(sass@1.77.8)(terser@5.31.5)) + '@testing-library/jest-dom': 6.4.5(vitest@2.0.5(@types/node@22.2.0)(sass@1.77.8)(terser@5.31.5)) '@testing-library/user-event': 14.5.2(@testing-library/dom@10.1.0) '@vitest/expect': 1.6.0 '@vitest/spy': 1.6.0 @@ -16126,7 +16125,7 @@ snapshots: lz-string: 1.5.0 pretty-format: 27.5.1 - '@testing-library/jest-dom@6.4.5(vitest@2.0.5(@types/node@22.1.0)(sass@1.77.8)(terser@5.31.5))': + '@testing-library/jest-dom@6.4.5(vitest@2.0.5(@types/node@22.2.0)(sass@1.77.8)(terser@5.31.5))': dependencies: '@adobe/css-tools': 4.4.0 '@babel/runtime': 7.25.0 @@ -16137,7 +16136,7 @@ snapshots: lodash: 4.17.21 redent: 3.0.0 optionalDependencies: - vitest: 2.0.5(@types/node@22.1.0)(sass@1.77.8)(terser@5.31.5) + vitest: 2.0.5(@types/node@22.2.0)(sass@1.77.8)(terser@5.31.5) '@testing-library/react@14.3.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: @@ -16632,7 +16631,7 @@ snapshots: '@types/node': 20.14.14 '@types/request': 2.48.12 - '@types/node@18.19.43': + '@types/node@18.19.44': dependencies: undici-types: 5.26.5 @@ -16640,7 +16639,7 @@ snapshots: dependencies: undici-types: 5.26.5 - '@types/node@22.1.0': + '@types/node@22.2.0': dependencies: undici-types: 6.13.0 @@ -17185,18 +17184,18 @@ snapshots: prop-types: 15.8.1 react: 18.3.1 - '@vitejs/plugin-react@4.3.1(vite@5.3.5(@types/node@22.1.0)(sass@1.77.8)(terser@5.31.5))': + '@vitejs/plugin-react@4.3.1(vite@5.3.5(@types/node@22.2.0)(sass@1.77.8)(terser@5.31.5))': dependencies: '@babel/core': 7.25.2 '@babel/plugin-transform-react-jsx-self': 7.24.7(@babel/core@7.25.2) '@babel/plugin-transform-react-jsx-source': 7.24.7(@babel/core@7.25.2) '@types/babel__core': 7.20.5 react-refresh: 0.14.2 - vite: 5.3.5(@types/node@22.1.0)(sass@1.77.8)(terser@5.31.5) + vite: 5.3.5(@types/node@22.2.0)(sass@1.77.8)(terser@5.31.5) transitivePeerDependencies: - supports-color - '@vitest/coverage-v8@2.0.5(vitest@2.0.5(@types/node@22.1.0)(sass@1.77.8)(terser@5.31.5))': + '@vitest/coverage-v8@2.0.5(vitest@2.0.5(@types/node@22.2.0)(sass@1.77.8)(terser@5.31.5))': dependencies: '@ampproject/remapping': 2.3.0 '@bcoe/v8-coverage': 0.2.3 @@ -17210,7 +17209,7 @@ snapshots: std-env: 3.7.0 test-exclude: 7.0.1 tinyrainbow: 1.2.0 - vitest: 2.0.5(@types/node@22.1.0)(sass@1.77.8)(terser@5.31.5) + vitest: 2.0.5(@types/node@22.2.0)(sass@1.77.8)(terser@5.31.5) transitivePeerDependencies: - supports-color @@ -18207,9 +18206,9 @@ snapshots: object-assign: 4.1.1 vary: 1.1.2 - cosmiconfig-typescript-loader@5.0.0(@types/node@22.1.0)(cosmiconfig@9.0.0(typescript@5.5.4))(typescript@5.5.4): + cosmiconfig-typescript-loader@5.0.0(@types/node@22.2.0)(cosmiconfig@9.0.0(typescript@5.5.4))(typescript@5.5.4): dependencies: - '@types/node': 22.1.0 + '@types/node': 22.2.0 cosmiconfig: 9.0.0(typescript@5.5.4) jiti: 1.21.0 typescript: 5.5.4 @@ -19517,12 +19516,11 @@ snapshots: node-domexception: 1.0.0 web-streams-polyfill: 4.0.0-beta.3 - formidable@2.1.2: + formidable@3.5.1: dependencies: dezalgo: 1.0.4 hexoid: 1.0.0 once: 1.4.0 - qs: 6.12.3 forwarded@0.2.0: {} @@ -19768,7 +19766,7 @@ snapshots: source-map: 0.6.1 wordwrap: 1.0.0 optionalDependencies: - uglify-js: 3.19.1 + uglify-js: 3.19.2 optional: true har-schema@2.0.0: {} @@ -21902,7 +21900,7 @@ snapshots: openai@4.55.1(zod@3.23.8): dependencies: - '@types/node': 18.19.43 + '@types/node': 18.19.44 '@types/node-fetch': 2.6.11 abort-controller: 3.0.0 agentkeepalive: 4.5.0 @@ -23915,25 +23913,24 @@ snapshots: sudo-prompt@9.2.1: {} - superagent@8.1.2: + superagent@9.0.2: dependencies: component-emitter: 1.3.1 cookiejar: 2.1.4 debug: 4.3.6 fast-safe-stringify: 2.1.1 form-data: 4.0.0 - formidable: 2.1.2 + formidable: 3.5.1 methods: 1.1.2 mime: 2.6.0 qs: 6.12.3 - semver: 7.6.3 transitivePeerDependencies: - supports-color - supertest@6.3.4: + supertest@7.0.0: dependencies: methods: 1.1.2 - superagent: 8.1.2 + superagent: 9.0.2 transitivePeerDependencies: - supports-color @@ -24320,7 +24317,7 @@ snapshots: ufo@1.5.4: {} - uglify-js@3.19.1: + uglify-js@3.19.2: optional: true unbox-primitive@1.0.2: @@ -24581,13 +24578,13 @@ snapshots: - supports-color - terser - vite-node@2.0.5(@types/node@22.1.0)(sass@1.77.8)(terser@5.31.5): + vite-node@2.0.5(@types/node@22.2.0)(sass@1.77.8)(terser@5.31.5): dependencies: cac: 6.7.14 debug: 4.3.6 pathe: 1.1.2 tinyrainbow: 1.2.0 - vite: 5.3.5(@types/node@22.1.0)(sass@1.77.8)(terser@5.31.5) + vite: 5.3.5(@types/node@22.2.0)(sass@1.77.8)(terser@5.31.5) transitivePeerDependencies: - '@types/node' - less @@ -24598,9 +24595,9 @@ snapshots: - supports-color - terser - vite-plugin-css-injected-by-js@3.5.1(vite@5.3.5(@types/node@22.1.0)(sass@1.77.8)(terser@5.31.5)): + vite-plugin-css-injected-by-js@3.5.1(vite@5.3.5(@types/node@22.2.0)(sass@1.77.8)(terser@5.31.5)): dependencies: - vite: 5.3.5(@types/node@22.1.0)(sass@1.77.8)(terser@5.31.5) + vite: 5.3.5(@types/node@22.2.0)(sass@1.77.8)(terser@5.31.5) vite-plugin-optimizer@1.4.3: {} @@ -24615,13 +24612,13 @@ snapshots: - supports-color - typescript - vite-tsconfig-paths@4.3.2(typescript@5.5.4)(vite@5.3.5(@types/node@22.1.0)(sass@1.77.8)(terser@5.31.5)): + vite-tsconfig-paths@4.3.2(typescript@5.5.4)(vite@5.3.5(@types/node@22.2.0)(sass@1.77.8)(terser@5.31.5)): dependencies: debug: 4.3.6 globrex: 0.1.2 tsconfck: 3.0.3(typescript@5.5.4) optionalDependencies: - vite: 5.3.5(@types/node@22.1.0)(sass@1.77.8)(terser@5.31.5) + vite: 5.3.5(@types/node@22.2.0)(sass@1.77.8)(terser@5.31.5) transitivePeerDependencies: - supports-color - typescript @@ -24637,13 +24634,13 @@ snapshots: sass: 1.77.8 terser: 5.31.5 - vite@5.3.5(@types/node@22.1.0)(sass@1.77.8)(terser@5.31.5): + vite@5.3.5(@types/node@22.2.0)(sass@1.77.8)(terser@5.31.5): dependencies: esbuild: 0.21.5 postcss: 8.4.39 rollup: 4.19.1 optionalDependencies: - '@types/node': 22.1.0 + '@types/node': 22.2.0 fsevents: 2.3.3 sass: 1.77.8 terser: 5.31.5 @@ -24654,11 +24651,11 @@ snapshots: typescript: 5.5.4 vitest: 2.0.5(@types/node@20.14.14)(sass@1.77.8)(terser@5.31.5) - vitest-mock-extended@2.0.0(typescript@5.5.4)(vitest@2.0.5(@types/node@22.1.0)(sass@1.77.8)(terser@5.31.5)): + vitest-mock-extended@2.0.0(typescript@5.5.4)(vitest@2.0.5(@types/node@22.2.0)(sass@1.77.8)(terser@5.31.5)): dependencies: ts-essentials: 10.0.1(typescript@5.5.4) typescript: 5.5.4 - vitest: 2.0.5(@types/node@22.1.0)(sass@1.77.8)(terser@5.31.5) + vitest: 2.0.5(@types/node@22.2.0)(sass@1.77.8)(terser@5.31.5) vitest@2.0.5(@types/node@20.14.14)(sass@1.77.8)(terser@5.31.5): dependencies: @@ -24692,7 +24689,7 @@ snapshots: - supports-color - terser - vitest@2.0.5(@types/node@22.1.0)(sass@1.77.8)(terser@5.31.5): + vitest@2.0.5(@types/node@22.2.0)(sass@1.77.8)(terser@5.31.5): dependencies: '@ampproject/remapping': 2.3.0 '@vitest/expect': 2.0.5 @@ -24710,11 +24707,11 @@ snapshots: tinybench: 2.8.0 tinypool: 1.0.0 tinyrainbow: 1.2.0 - vite: 5.3.5(@types/node@22.1.0)(sass@1.77.8)(terser@5.31.5) - vite-node: 2.0.5(@types/node@22.1.0)(sass@1.77.8)(terser@5.31.5) + vite: 5.3.5(@types/node@22.2.0)(sass@1.77.8)(terser@5.31.5) + vite-node: 2.0.5(@types/node@22.2.0)(sass@1.77.8)(terser@5.31.5) why-is-node-running: 2.3.0 optionalDependencies: - '@types/node': 22.1.0 + '@types/node': 22.2.0 transitivePeerDependencies: - less - lightningcss diff --git a/scripts/generate-local-ssl.sh b/scripts/generate-local-ssl.sh new file mode 100755 index 0000000000..0895f87d52 --- /dev/null +++ b/scripts/generate-local-ssl.sh @@ -0,0 +1,7 @@ +#!/usr/bin/env bash + +set -e -x + +openssl req -x509 -newkey rsa:4096 -keyout liexp.dev.key -out liexp.dev.crt -sha256 -days 3650 -nodes -subj "/C=XX/ST=StateName/L=CityName/O=CompanyName/OU=CompanySectionName/CN=*.liexp.dev" + +sudo mv liexp.dev.key liexp.dev.crt ./_data/certs/ \ No newline at end of file diff --git a/scripts/nginx.up.sh b/scripts/nginx.up.sh index 769e42ace4..9a8d16f494 100755 --- a/scripts/nginx.up.sh +++ b/scripts/nginx.up.sh @@ -13,5 +13,5 @@ if [ $RET -ne 0 ]; then docker network create reverseproxy fi -docker compose -f $DIR/docker-compose.reverse-proxy.yml --env-file ./services/api/.env.local up --force-recreate -d +docker compose -f $DIR/docker-compose.reverse-proxy.yml --env-file ./services/api/.env.local up --force-recreate -d "$@" diff --git a/services/admin-web/.env b/services/admin-web/.env index 4ae5a5cb4d..c1848f9c92 100644 --- a/services/admin-web/.env +++ b/services/admin-web/.env @@ -1,13 +1,13 @@ VIRTUAL_HOST=admin.liexp.dev -VIRTUAL_PORT=80 +VIRTUAL_PORT=443 VITE_NODE_ENV=development -VITE_PUBLIC_URL=http://admin.liexp.dev +VITE_PUBLIC_URL=https://admin.liexp.dev VITE_DEBUG=@liexp:* -VITE_API_URL=http://api.liexp.dev/v1 -VITE_WEB_URL=http://liexp.dev +VITE_API_URL=https://api.liexp.dev/v1 +VITE_WEB_URL=https://liexp.dev # unused -VITE_DATA_URL=http://fra1.space.liexp.dev +VITE_DATA_URL=https://fra1.space.liexp.dev -VITE_OPENAI_URL=http://localai.liexp.dev:8080/v1 \ No newline at end of file +VITE_OPENAI_URL=https://localai.liexp.dev:8080/v1 \ No newline at end of file diff --git a/services/admin-web/.env.alpha b/services/admin-web/.env.alpha index 2faca70ed7..edadad8cb9 100644 --- a/services/admin-web/.env.alpha +++ b/services/admin-web/.env.alpha @@ -8,4 +8,4 @@ VITE_API_URL=https://alpha.api.lies.exposed/v1 VITE_WEB_URL=https://alpha.lies.exposed # Open AI -VITE_OPENAI_URL=https://localai.lies.exposed:8080/v1 \ No newline at end of file +VITE_OPENAI_URL=http://localai.lies.exposed/v1 \ No newline at end of file diff --git a/services/admin-web/package.json b/services/admin-web/package.json index e9ad0ad5fe..597e3914ed 100644 --- a/services/admin-web/package.json +++ b/services/admin-web/package.json @@ -34,9 +34,9 @@ ] }, "dependencies": { - "@blocknote/core": "^0.15.3", - "@blocknote/mantine": "^0.15.3", - "@blocknote/react": "^0.15.3", + "@blocknote/core": "^0.15.4", + "@blocknote/mantine": "^0.15.4", + "@blocknote/react": "^0.15.4", "@liexp/core": "workspace:*", "@liexp/shared": "workspace:*", "@liexp/ui": "workspace:*", @@ -91,5 +91,5 @@ "typescript": "^5.4.5", "vite": "^5.3.5" }, - "packageManager": "pnpm@9.4.0" + "packageManager": "pnpm@9.7.0" } diff --git a/services/admin-web/vite.config.ts b/services/admin-web/vite.config.ts index 56407e9647..a70dc92804 100644 --- a/services/admin-web/vite.config.ts +++ b/services/admin-web/vite.config.ts @@ -36,9 +36,7 @@ const config = defineViteConfig({ process.env.VITE_NODE_ENV === "production" ? "tsconfig.build.json" : "tsconfig.json", - plugins: [ - reactVirtualized() - ] + plugins: [reactVirtualized()], }); export default defineConfig(config); diff --git a/services/api/.env b/services/api/.env index 3b5daf5545..045a9cb71f 100644 --- a/services/api/.env +++ b/services/api/.env @@ -2,9 +2,9 @@ DEBUG=@liexp:* NODE_ENV=development VIRTUAL_HOST=api.liexp.dev -VIRTUAL_PORT=80 +VIRTUAL_PORT=443 -SERVER_PORT=4010 +SERVER_PORT=443 SERVER_HOST=0.0.0.0 DB_USERNAME=liexp @@ -13,7 +13,7 @@ DB_HOST=127.0.0.1 DB_PORT=8432 DB_DATABASE=liexp DB_SSL_MODE=off -WEB_URL=http://liexp.dev +WEB_URL=https://liexp.dev SPACE_BUCKET=local SPACE_ENDPOINT=space.liexp.dev:9000 @@ -44,4 +44,4 @@ TELEGRAM_API_HASH=not-real-hash IG_USERNAME=invalid IG_PASSWORD=invalid -OPENAI_URL=http://localai.liexp.dev:8080/v1 \ No newline at end of file +OPENAI_URL=https://localai.liexp.dev/v1 \ No newline at end of file diff --git a/services/api/package.json b/services/api/package.json index 2a77a7f15a..d52c3caea3 100644 --- a/services/api/package.json +++ b/services/api/package.json @@ -149,11 +149,11 @@ "eslint-plugin-prettier": "^5.2.1", "prettier": "^3.3.3", "prompts": "^2.4.2", - "supertest": "^6.3.4", + "supertest": "^7.0.0", "typeorm-uml": "^1.6.5", "vite-tsconfig-paths": "^4.3.2", "vitest": "^2.0.5", "vitest-mock-extended": "^2.0.0" }, - "packageManager": "pnpm@9.4.0" + "packageManager": "pnpm@9.7.0" } diff --git a/services/storybook/package.json b/services/storybook/package.json index 9461094348..7869e04096 100644 --- a/services/storybook/package.json +++ b/services/storybook/package.json @@ -21,9 +21,9 @@ "src/**/*.(ts|tsx|js|jsx)": "eslint --fix" }, "dependencies": { - "@blocknote/core": "^0.15.3", - "@blocknote/mantine": "^0.15.3", - "@blocknote/react": "^0.15.3", + "@blocknote/core": "^0.15.4", + "@blocknote/mantine": "^0.15.4", + "@blocknote/react": "^0.15.4", "@emotion/cache": "^11.13.1", "@emotion/react": "^11.13.0", "@emotion/server": "^11.11.0", @@ -87,5 +87,5 @@ "typescript": "^5.4.5", "vite": "^5.3.5" }, - "packageManager": "pnpm@9.4.0" + "packageManager": "pnpm@9.7.0" } diff --git a/services/storybook/src/stories/Cards/EventCardGrid.stories.tsx b/services/storybook/src/stories/Cards/EventCardGrid.stories.tsx new file mode 100644 index 0000000000..337e50232c --- /dev/null +++ b/services/storybook/src/stories/Cards/EventCardGrid.stories.tsx @@ -0,0 +1,42 @@ +import { + EventCardGrid, + type EventCardGridProps, +} from "@liexp/ui/lib/components/Cards/Events/EventCardGrid.js"; +import QueriesRenderer from "@liexp/ui/lib/components/QueriesRenderer.js"; +import { useAPI } from "@liexp/ui/lib/hooks/useAPI"; +import { searchEventsQuery } from "@liexp/ui/lib/state/queries/SearchEventsQuery.js"; +import { type Meta, type StoryFn } from "@storybook/react"; +import * as React from "react"; + +const meta: Meta = { + title: "Components/Cards/EventCardGrid", + component: EventCardGrid, +}; + +export default meta; + +const Template: StoryFn = (props) => { + const api = useAPI(); + return ( + ({ + events: searchEventsQuery(api)({ + _order: "DESC", + _sort: "updatedAt", + _start: 0, + _end: 3, + hash: "event-card-grid-stories", + }), + })} + render={({ events: { events } }) => { + return ; + }} + /> + ); +}; + +const EventCardGridExample = Template.bind({}); + +EventCardGridExample.args = {}; + +export { EventCardGridExample }; diff --git a/services/storybook/src/stories/Cards/EventSlimCard.stories.tsx b/services/storybook/src/stories/Cards/EventSlimCard.stories.tsx new file mode 100644 index 0000000000..9cf79753d8 --- /dev/null +++ b/services/storybook/src/stories/Cards/EventSlimCard.stories.tsx @@ -0,0 +1,48 @@ +import EventSlimCard, { + type EventSlimCardProps, +} from "@liexp/ui/lib/components/Cards/Events/EventSlimCard.js"; +import QueriesRenderer from "@liexp/ui/lib/components/QueriesRenderer.js"; +import { type Meta, type StoryFn } from "@storybook/react"; +import * as React from "react"; + +const meta: Meta = { + title: "Components/Cards/EventSlimCard", + component: EventSlimCard, +}; + +export default meta; + +const Template: StoryFn = (props) => { + return ( + ({ + events: Q.Event.list.useQuery( + { + filter: { + _order: "DESC", + _sort: "updatedAt", + _end: "1", + }, + }, + undefined, + false, + ), + })} + render={({ + events: { + data: [event], + }, + }) => { + return ; + }} + /> + ); +}; + +const EventSlimCardExample = Template.bind({}); + +EventSlimCardExample.args = { + defaultImage: "", +}; + +export { EventSlimCardExample }; diff --git a/services/web/.env b/services/web/.env index 611a551db1..b9a3c90c30 100644 --- a/services/web/.env +++ b/services/web/.env @@ -1,12 +1,14 @@ # build env VIRTUAL_HOST=liexp.dev -VIRTUAL_PORT=80 +VIRTUAL_PORT=443 + +SERVER_PORT=4020 # app env VITE_NODE_ENV=development -VITE_PUBLIC_URL=http://liexp.dev +VITE_PUBLIC_URL=https://liexp.dev VITE_DEBUG="@liexp:*,-@liexp:API:debug" -VITE_SSR_API_URL=http://api.liexp.dev/v1 -VITE_API_URL=http://api.liexp.dev/v1 -VITE_DATA_URL=http://fra1.space.liexp.dev -VITE_ADMIN_URL=http://admin.liexp.dev/admin +VITE_SSR_API_URL=https://api.liexp.dev/v1 +VITE_API_URL=https://api.liexp.dev/v1 +VITE_DATA_URL=https://fra1.space.liexp.dev +VITE_ADMIN_URL=https://admin.liexp.dev/admin diff --git a/services/web/package.json b/services/web/package.json index c8396a95b3..258f399b8f 100644 --- a/services/web/package.json +++ b/services/web/package.json @@ -43,9 +43,9 @@ ] }, "dependencies": { - "@blocknote/core": "^0.15.3", - "@blocknote/mantine": "^0.15.3", - "@blocknote/react": "^0.15.3", + "@blocknote/core": "^0.15.4", + "@blocknote/mantine": "^0.15.4", + "@blocknote/react": "^0.15.4", "@emotion/cache": "^11.13.1", "@emotion/css": "^11.13.0", "@emotion/react": "^11.13.0", @@ -150,5 +150,5 @@ "typescript": "^5.4.5", "vite": "^5.3.5" }, - "packageManager": "pnpm@9.4.0" + "packageManager": "pnpm@9.7.0" }