Skip to content

Commit d55977c

Browse files
authored
Merge branch 'next' into NV-5627
2 parents 5211538 + 5171eef commit d55977c

File tree

1,516 files changed

+33141
-50690
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

1,516 files changed

+33141
-50690
lines changed

.cspell.json

+12-6
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@
1111
"addrs",
1212
"Tiering",
1313
"subscriberpayloaddto",
14+
"pinno",
1415
"adresses",
1516
"APIJSON",
1617
"sdkerror",
@@ -521,7 +522,6 @@
521522
"readall",
522523
"rediscommander",
523524
"redismaster",
524-
"redlock",
525525
"Redmine",
526526
"reindented",
527527
"relabelings",
@@ -719,7 +719,6 @@
719719
"truncatewords",
720720
"xmlschema",
721721
"jsonify",
722-
"metadatas",
723722
"hsforms",
724723
"touchpoint",
725724
"Angularjs",
@@ -731,7 +730,15 @@
731730
"autoload",
732731
"novugo",
733732
"titleize",
734-
"oklch"
733+
"oklch",
734+
"Duplicable",
735+
"Radek",
736+
"snooze",
737+
"unsnooze",
738+
"snoozed",
739+
"unsnoozed",
740+
"automators",
741+
"calcom"
735742
],
736743
"flagWords": [],
737744
"patterns": [
@@ -827,8 +834,6 @@
827834
"packages/framework/src/jsonSchemaFaker.js",
828835
"packages/js/src/ui/index.directcss",
829836
"packages/js/tsup.config.ts",
830-
"packages/notification-center/rollup.config.mjs",
831-
"packages/notification-center/src/i18n/languages/**",
832837
"packages/shared/src/types/timezones/timezones.types.ts",
833838
"pnpm-lock.yaml",
834839
"pnpm-workspace.yaml",
@@ -837,6 +842,7 @@
837842
"websockets",
838843
"apps/dashboard/src/hooks/use-plain-chat.ts",
839844
"apps/dashboard/src/components/variable/constants.ts",
840-
"apps/dashboard/src/utils/locales.ts"
845+
"apps/dashboard/src/utils/locales.ts",
846+
"apps/dashboard/src/components/primitives/constants.ts"
841847
]
842848
}

.cursor/rules/novu.mdc

+42
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
---
2+
description:
3+
globs:
4+
alwaysApply: true
5+
---
6+
You are an expert in TypeScript, Node.js, React, Tailwind, Shadcn and Radix.
7+
When writing FrontEnd code, you are an expert on modern dev tool UI and UX design.
8+
9+
### Code Style and Structure
10+
- Write concise, technical TypeScript code with accurate examples.
11+
- Use functional and declarative programming patterns; avoid classes.
12+
- Prefer iteration and modularization over code duplication, but try to minimize code duplication as possible
13+
- Use descriptive variable names with auxiliary verbs (e.g., isLoading, hasError).
14+
- Structure files: exported component, subcomponents, helpers, static content, types.
15+
- Don't leave comments, unless they explain something complex
16+
- Don't use nested ternaries
17+
18+
### Naming Conventions
19+
- Use lowercase with dashes for directories and files (e.g., components/auth-wizard).
20+
- Favor named exports for components.
21+
22+
### TypeScript Usage
23+
- Use TypeScript for all code; prefer interfaces over types.
24+
- Use functional components with TypeScript types.
25+
- In front end code, use types over interfaces
26+
27+
### Syntax and Formatting
28+
- Use the "function" keyword for pure functions.
29+
- Avoid unnecessary curly braces in conditionals; use concise syntax for simple statements.
30+
- Use declarative JSX.
31+
32+
### Performance Optimization
33+
- Wrap client components in Suspense with fallback.
34+
- Use dynamic loading for non-critical components.
35+
- Optimize images: use WebP format, include size data, implement lazy loading.
36+
37+
### Git Rules
38+
- when adding commit titles, use proper scope (dashboard,web,api,worker,shared,etc...)
39+
40+
### Key Conventions
41+
- Linting: Add blank lines before return statements
42+
- When importing "motion-react" package, import it from "motion/react"

.devcontainer/devcontainer.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@
1818
// Use 'forwardPorts' to make a list of ports inside the container available locally.
1919
"forwardPorts": [4200, 3000, 27017],
2020

21-
"onCreateCommand": "npm run setup:project -- --exclude=@novu/api-service,@novu/worker,@novu/web,@novu/widget",
21+
"onCreateCommand": "npm run setup:project -- --exclude=@novu/api-service,@novu/worker,@novu/web",
2222

2323
// Comment out connect as root instead. More info: https://aka.ms/vscode-remote/containers/non-root.
2424
"remoteUser": "node",

.github/labeler.yml

-10
Original file line numberDiff line numberDiff line change
@@ -14,18 +14,8 @@
1414
- apps/webhook/**/*
1515
'@novu/dal':
1616
- libs/dal/**/*
17-
'@novu/design-system':
18-
- libs/design-system/**/*
19-
'@novu/novui':
20-
- libs/novui/**/*
2117
'@novu/shared':
2218
- packages/shared/**/*
23-
'@novu/notification-center':
24-
- packages/notification-center/**/*
25-
'@novu/notification-center-vue':
26-
- packages/notification-center-vue/**/*
27-
'@novu/notification-center-angular':
28-
- packages/notification-center-angular/**/*
2919
'providers':
3020
- providers/**/*
3121
'CI/CD':
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,61 @@
1+
name: Validate Submodule Sync Post-Merge
2+
3+
# This workflow validates submodule synchronization specifically after merges to main branches
4+
# It runs separately from the PR/push validation to provide dedicated post-merge verification
5+
# Logic:
6+
# 1. Triggers only on successful merges (push events with merged PRs)
7+
# 2. Checks if SUBMODULES_TOKEN secret exists
8+
# 3. If token exists, validates that submodules are properly synchronized
9+
# 4. Can provide notifications or take corrective actions if issues are found
10+
11+
on:
12+
push:
13+
branches:
14+
- next
15+
- main
16+
- prod
17+
18+
jobs:
19+
check_submodule_token:
20+
name: Check if submodule token exists
21+
runs-on: ubuntu-latest
22+
outputs:
23+
has_token: ${{ steps.secret-check.outputs.has_token }}
24+
steps:
25+
- name: Check if secret exists
26+
id: secret-check
27+
run: |
28+
if [[ -n "${{ secrets.SUBMODULES_TOKEN }}" ]]; then
29+
echo "has_token=true" >> $GITHUB_OUTPUT
30+
else
31+
echo "has_token=false" >> $GITHUB_OUTPUT
32+
fi
33+
34+
validate-submodule-sync:
35+
runs-on: ubuntu-latest
36+
needs: [check_submodule_token]
37+
if: needs.check_submodule_token.outputs.has_token == 'true'
38+
39+
steps:
40+
- name: Checkout repository
41+
uses: actions/checkout@v4
42+
with:
43+
fetch-depth: 0
44+
submodules: true
45+
token: ${{ secrets.SUBMODULES_TOKEN }}
46+
47+
- name: Run validation script
48+
run: |
49+
# Ensure the script is executable
50+
chmod +x .github/workflows/scripts/validate-submodule-sync.sh
51+
52+
# Run the script with the current branch as reference
53+
.github/workflows/scripts/validate-submodule-sync.sh ${GITHUB_REF#refs/heads/}
54+
env:
55+
SUBMODULES_TOKEN: ${{ secrets.SUBMODULES_TOKEN }}
56+
57+
- name: Send Slack notification on failure
58+
if: failure()
59+
uses: ./.github/actions/slack-notify-on-failure
60+
with:
61+
slackWebhookURL: ${{ secrets.SLACK_WEBHOOK_URL_ENG_FEED_GITHUB }}

.github/workflows/validate-submodule-sync.yaml renamed to .github/workflows/check-submodule-sync-pr.yaml

+1-1
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ on:
2424

2525
jobs:
2626
check_submodule_token:
27-
name: Check if the secret exists or not.
27+
name: Check if submodule token exists
2828
runs-on: ubuntu-latest
2929
outputs:
3030
has_token: ${{ steps.secret-check.outputs.has_token }}

0 commit comments

Comments
 (0)