diff --git a/.github/workflows/actions/restore-cache/action.yaml b/.github/workflows/actions/restore-cache/action.yaml
index 29a1ea7eeb..35133dd0ca 100644
--- a/.github/workflows/actions/restore-cache/action.yaml
+++ b/.github/workflows/actions/restore-cache/action.yaml
@@ -29,7 +29,7 @@ runs:
restore-keys: ${{ steps.cache-primary-key-builder.outputs.CACHE_PRIMARY_KEY_PREFIX }}-
path: |
.cache
- .nx/cache
+ .nx
node_modules/.cache
packages/*/node_modules/.cache
${{ inputs.additional-paths }}
\ No newline at end of file
diff --git a/.github/workflows/actions/save-cache/action.yaml b/.github/workflows/actions/save-cache/action.yaml
index b51a5d478b..6ef14fe530 100644
--- a/.github/workflows/actions/save-cache/action.yaml
+++ b/.github/workflows/actions/save-cache/action.yaml
@@ -15,7 +15,7 @@ runs:
key: ${{ inputs.key }}
path: |
.cache
- .nx/cache
+ .nx
node_modules/.cache
packages/*/node_modules/.cache
${{ inputs.additional-paths }}
\ No newline at end of file
diff --git a/.github/workflows/ci-breaking-changes.yaml b/.github/workflows/ci-breaking-changes.yaml
index 172b919b85..0d4fb499ad 100644
--- a/.github/workflows/ci-breaking-changes.yaml
+++ b/.github/workflows/ci-breaking-changes.yaml
@@ -35,8 +35,6 @@ jobs:
if: needs.changed-files-check.outputs.any_changed == 'true'
timeout-minutes: 45
runs-on: depot-ubuntu-24.04-8
- env:
- NX_REJECT_UNKNOWN_LOCAL_CACHE: 0
services:
postgres:
image: twentycrm/twenty-postgres-spilo
diff --git a/.github/workflows/ci-demo-check.yml b/.github/workflows/ci-demo-check.yml
deleted file mode 100644
index 5340ff0037..0000000000
--- a/.github/workflows/ci-demo-check.yml
+++ /dev/null
@@ -1,63 +0,0 @@
-name: CI Demo check
-on:
- schedule:
- - cron: '30 7,19 * * *'
- workflow_dispatch:
-
-concurrency:
- group: ${{ github.workflow }}-${{ github.ref }}
- cancel-in-progress: true
-
-jobs:
- test:
- timeout-minutes: 15
- runs-on: ubuntu-latest
- defaults:
- run:
- working-directory: ./packages/twenty-e2e-testing
- steps:
- - uses: actions/checkout@v4
- with:
- fetch-depth: 0
- - uses: actions/setup-node@v4
- with:
- node-version: lts/*
-
- - name: Install dependencies
- uses: ./.github/workflows/actions/yarn-install
-
- - name: Install Playwright Browsers
- run: yarn playwright install --with-deps
-
- - name: Run Playwright tests
- id: test
- run: yarn playwright test --grep "@demo-only"
-
- - name: Upload report after tests
- uses: actions/upload-artifact@v4
- with:
- name: playwright-report
- path: playwright-report/
- retention-days: 90
-
- - name: Send Discord notification
- env:
- DISCORD_WEBHOOK: ${{ secrets.DISCORD_WEBHOOK }}
- uses: Ilshidur/action-discord@0.3.2
- with:
- args: 'Demo check ${{ steps.test.outcome }} - check ${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }}'
-
- - name: Send email if demo is not working
- if: steps.test.outcome == 'failure'
- uses: dawidd6/action-send-mail@v3.12.0
- with:
- connection_url: ${{ secrets.MAIL_CONNECTION }}
- server_address: smtp.gmail.com
- server_port: 465
- secure: true
- username: ${{ secrets.MAIL_USERNAME }}
- subject: 'Demo is not working'
- from: 'Github CI Demo check'
- to: ${{ secrets.RECIPIENTS }}
- body: 'Link'
- priority: high
\ No newline at end of file
diff --git a/.github/workflows/ci-e2e.yaml b/.github/workflows/ci-e2e.yaml
index b965ef67e7..3fe51a154d 100644
--- a/.github/workflows/ci-e2e.yaml
+++ b/.github/workflows/ci-e2e.yaml
@@ -24,7 +24,6 @@ jobs:
if: needs.changed-files-check.outputs.any_changed == 'true' && ( github.event_name == 'push' || (github.event_name == 'pull_request' && contains(github.event.pull_request.labels.*.name, 'run-e2e')))
timeout-minutes: 30
env:
- NX_REJECT_UNKNOWN_LOCAL_CACHE: 0
# https://github.com/actions/runner-images/issues/70#issuecomment-589562148
NODE_OPTIONS: "--max-old-space-size=10240"
services:
diff --git a/.github/workflows/ci-emails.yaml b/.github/workflows/ci-emails.yaml
index 357c87a197..13c043b769 100644
--- a/.github/workflows/ci-emails.yaml
+++ b/.github/workflows/ci-emails.yaml
@@ -22,8 +22,6 @@ jobs:
if: needs.changed-files-check.outputs.any_changed == 'true'
timeout-minutes: 10
runs-on: depot-ubuntu-24.04-8
- env:
- NX_REJECT_UNKNOWN_LOCAL_CACHE: 0
steps:
- name: Fetch custom Github Actions and base branch history
uses: actions/checkout@v4
diff --git a/.github/workflows/ci-front.yaml b/.github/workflows/ci-front.yaml
index 33da7059ca..89a1c09c9d 100644
--- a/.github/workflows/ci-front.yaml
+++ b/.github/workflows/ci-front.yaml
@@ -29,7 +29,6 @@ jobs:
runs-on: depot-ubuntu-24.04-8
env:
REACT_APP_SERVER_BASE_URL: http://localhost:3000
- NX_REJECT_UNKNOWN_LOCAL_CACHE: 0
steps:
- name: Cancel Previous Runs
uses: styfle/cancel-workflow-action@0.11.0
@@ -68,7 +67,6 @@ jobs:
env:
SHARD_COUNTER: 4
REACT_APP_SERVER_BASE_URL: http://localhost:3000
- NX_REJECT_UNKNOWN_LOCAL_CACHE: 0
steps:
- name: Fetch local actions
uses: actions/checkout@v4
@@ -128,7 +126,6 @@ jobs:
env:
REACT_APP_SERVER_BASE_URL: http://127.0.0.1:3000
CHROMATIC_PROJECT_TOKEN: ${{ secrets.CHROMATIC_PROJECT_TOKEN }}
- NX_REJECT_UNKNOWN_LOCAL_CACHE: 0
steps:
- uses: actions/checkout@v4
with:
@@ -152,7 +149,6 @@ jobs:
timeout-minutes: 30
runs-on: depot-ubuntu-24.04-8
env:
- NX_REJECT_UNKNOWN_LOCAL_CACHE: 0
TASK_CACHE_KEY: front-task-${{ matrix.task }}
strategy:
matrix:
diff --git a/.github/workflows/ci-server.yaml b/.github/workflows/ci-server.yaml
index 859ca73e79..86945f10d8 100644
--- a/.github/workflows/ci-server.yaml
+++ b/.github/workflows/ci-server.yaml
@@ -29,8 +29,6 @@ jobs:
if: needs.changed-files-check.outputs.any_changed == 'true'
timeout-minutes: 30
runs-on: depot-ubuntu-24.04-8
- env:
- NX_REJECT_UNKNOWN_LOCAL_CACHE: 0
services:
postgres:
image: twentycrm/twenty-postgres-spilo
@@ -144,8 +142,6 @@ jobs:
timeout-minutes: 30
runs-on: depot-ubuntu-24.04-8
needs: server-setup
- env:
- NX_REJECT_UNKNOWN_LOCAL_CACHE: 0
steps:
- name: Fetch custom Github Actions and base branch history
uses: actions/checkout@v4
@@ -204,7 +200,6 @@ jobs:
--health-timeout 5s
--health-retries 5
env:
- NX_REJECT_UNKNOWN_LOCAL_CACHE: 0
NODE_ENV: test
ANALYTICS_ENABLED: true
CLICKHOUSE_URL: "http://default:clickhousePassword@localhost:8123/twenty"
diff --git a/.github/workflows/ci-shared.yaml b/.github/workflows/ci-shared.yaml
index 2985ee8022..8207f92b26 100644
--- a/.github/workflows/ci-shared.yaml
+++ b/.github/workflows/ci-shared.yaml
@@ -21,8 +21,6 @@ jobs:
if: needs.changed-files-check.outputs.any_changed == 'true'
timeout-minutes: 30
runs-on: ubuntu-latest
- env:
- NX_REJECT_UNKNOWN_LOCAL_CACHE: 0
strategy:
matrix:
task: [lint, typecheck, test]
diff --git a/packages/twenty-front/src/modules/object-record/record-field/ui/meta-types/display/components/RichTextV2FieldDisplay.tsx b/packages/twenty-front/src/modules/object-record/record-field/ui/meta-types/display/components/RichTextV2FieldDisplay.tsx
index 0d3ea86b4d..d2f60c0686 100644
--- a/packages/twenty-front/src/modules/object-record/record-field/ui/meta-types/display/components/RichTextV2FieldDisplay.tsx
+++ b/packages/twenty-front/src/modules/object-record/record-field/ui/meta-types/display/components/RichTextV2FieldDisplay.tsx
@@ -1,13 +1,14 @@
import { useRichTextV2FieldDisplay } from '@/object-record/record-field/ui/meta-types/hooks/useRichTextV2FieldDisplay';
import { getFirstNonEmptyLineOfRichText } from '@/ui/input/editor/utils/getFirstNonEmptyLineOfRichText';
import type { PartialBlock } from '@blocknote/core';
+import { isNonEmptyString } from '@sniptt/guards';
import { isDefined, parseJson } from 'twenty-shared/utils';
export const RichTextV2FieldDisplay = () => {
const { fieldValue } = useRichTextV2FieldDisplay();
const blocks =
- isDefined(fieldValue) && isDefined(fieldValue.blocknote)
+ isDefined(fieldValue) && isNonEmptyString(fieldValue.blocknote)
? parseJson(fieldValue.blocknote)
: null;
diff --git a/packages/twenty-ui/tsconfig.dev.json b/packages/twenty-ui/tsconfig.dev.json
index 21cac2b7f2..54a9b125cd 100644
--- a/packages/twenty-ui/tsconfig.dev.json
+++ b/packages/twenty-ui/tsconfig.dev.json
@@ -1,9 +1,5 @@
{
"extends": "./tsconfig.json",
- "compilerOptions": {
- "module": "commonjs",
- "types": ["jest", "node"]
- },
"include": [
"jest.config.mjs",
"setupTests.ts",
diff --git a/packages/twenty-ui/tsconfig.json b/packages/twenty-ui/tsconfig.json
index b36535dce5..616b6fd3df 100644
--- a/packages/twenty-ui/tsconfig.json
+++ b/packages/twenty-ui/tsconfig.json
@@ -1,10 +1,12 @@
{
"extends": "../../tsconfig.base.json",
"compilerOptions": {
+ "target": "ES2020",
"jsx": "react-jsx",
"allowJs": false,
"allowSyntheticDefaultImports": true,
"strict": true,
+ "moduleResolution": "bundler",
"esModuleInterop": true,
"noEmit": true,
"types": ["node"],
diff --git a/packages/twenty-ui/tsconfig.spec.json b/packages/twenty-ui/tsconfig.spec.json
index 926b2e3fda..08d579b57b 100644
--- a/packages/twenty-ui/tsconfig.spec.json
+++ b/packages/twenty-ui/tsconfig.spec.json
@@ -1,13 +1,5 @@
{
"extends": "./tsconfig.json",
- "compilerOptions": {
- "module": "commonjs",
- "types": ["jest", "node"],
- "baseUrl": "../..",
- "paths": {
- "@ui/*": ["./packages/twenty-ui/src/*"]
- }
- },
"include": [
"jest.config.mjs",
"setupTests.ts",
diff --git a/packages/twenty-ui/vite.config.ts b/packages/twenty-ui/vite.config.ts
index b9b4943ce8..a9dec809c2 100644
--- a/packages/twenty-ui/vite.config.ts
+++ b/packages/twenty-ui/vite.config.ts
@@ -4,7 +4,7 @@ import wyw from '@wyw-in-js/vite';
import * as path from 'path';
import { defineConfig } from 'vite';
import checker from 'vite-plugin-checker';
-import dts, { PluginOptions } from 'vite-plugin-dts';
+import dts, { type PluginOptions } from 'vite-plugin-dts';
import svgr from 'vite-plugin-svgr';
import tsconfigPaths from 'vite-tsconfig-paths';