Merge main into next - #6191
Open
vivid-planet-bot wants to merge 13 commits into
Open
Conversation
Merge next into main
Was temporarily changed in #6087.
As done in #5959.
The editor offered six heading levels while the mail theme has only three text variants, so `header-three` through `header-six` all rendered the same. Authors could pick a style that changed nothing. The demo also had no example of lists or phone links. Rich text stored before this change breaks, and there is no migration. Old headings render as body text, and old links lose their href because `MailLinkBlock` nests the link data under `block`. Only Brevo email campaigns can hold such content, and they are rare enough not to justify a migration in a demo that runs only locally. Co-authored-by: Ricky Smith <jamesricky@me.com>
#6195 has some issues: - Adds minor/patch changes to the release that were already released. Fix by removing corresponding changesets. - Adds `dextinity-demo-admin-server@1.0.3`. Fix by removing the version and changelog Demo Admin Server (and all other private packages).
## Status quo `SECURITY.md` still lists `7.x` as supported with security updates until `2026-08-07`. That date has passed, so the table claims support the project no longer provides. ## Change Drop the `7.x` row and widen the unsupported row from `< 7.x` to `< 8.x`, so the supported versions are `9.x` and `8.x` (until `2027-07-07`). --- _Generated by [Claude Code](https://claude.ai/code/session_01UCKHwZKAQPC76KDf7cBVrR)_ Co-authored-by: Claude <noreply@anthropic.com>
This PR was opened by the [Changesets release](https://github.com/changesets/action) GitHub action. When you're ready to do a release, you can merge this and the packages will be published to npm automatically. If you're not ready to do a release yet, that's fine, whenever you add more changesets to main, this PR will be updated. # Releases ## @dextinity/admin@10.0.0 ### Major Changes - f843a5e: Rename `@comet/admin` to `@dextinity/admin` Update the dependency in `package.json` and all imports: ```diff - import { MainContent } from "@comet/admin"; + import { MainContent } from "@dextinity/admin"; ``` **Breaking changes** - Rename `createCometTheme` to `createDextinityTheme` - Rename the theme component prefix from `CometAdmin` to `DextinityAdmin`. This affects `components` overrides passed to `createDextinityTheme`, the `name` passed to `useThemeProps` in custom components and the generated CSS class names (`.CometAdminClearInputAdornment-root` -> `.DextinityAdminClearInputAdornment-root`) - Rename the CSS variables from `--comet-admin-*` to `--dextinity-admin-*`, for instance, `--comet-admin-master-layout-content-top-spacing` -> `--dextinity-admin-master-layout-content-top-spacing` - Remove the `CometLogo` component. Use `DextinityLogo` from `@dextinity/admin-icons` instead ### Patch Changes - Updated dependencies [f843a5e] - @dextinity/admin-icons@10.0.0 ## @dextinity/admin-babel-preset@10.0.0 ### Major Changes - f843a5e: Rename `@comet/admin-babel-preset` to `@dextinity/admin-babel-preset` Update the dependency in `package.json` and the preset name in your Babel configuration: ```diff - "presets": ["@comet/admin-babel-preset"] + "presets": ["@dextinity/admin-babel-preset"] ``` ## @dextinity/admin-color-picker@10.0.0 ### Major Changes - f843a5e: Rename `@comet/admin-color-picker` to `@dextinity/admin-color-picker` Update the dependency in `package.json` and all imports. **Breaking changes** - Rename the theme component prefix from `CometAdmin` to `DextinityAdmin`. This affects `components` overrides passed to `createDextinityTheme` and the generated CSS class names ### Patch Changes - Updated dependencies [f843a5e] - Updated dependencies [f843a5e] - @dextinity/admin-icons@10.0.0 - @dextinity/admin@10.0.0 ## @dextinity/admin-date-time@10.0.0 ### Major Changes - f843a5e: Rename `@comet/admin-date-time` to `@dextinity/admin-date-time` Update the dependency in `package.json` and all imports. **Breaking changes** - Rename the theme component prefix from `CometAdmin` to `DextinityAdmin`. This affects `components` overrides passed to `createDextinityTheme` and the generated CSS class names ### Patch Changes - Updated dependencies [f843a5e] - Updated dependencies [f843a5e] - @dextinity/admin-icons@10.0.0 - @dextinity/admin@10.0.0 ## @dextinity/admin-generator@10.0.0 ### Major Changes - f843a5e: Rename `@comet/admin-generator` to `@dextinity/admin-generator` Update the dependency in `package.json` and all imports. **Breaking changes** - Rename the `comet-admin-generator` binary to `dextinity-admin-generator`: ```diff - "generate-admin": "comet-admin-generator generate" + "generate-admin": "dextinity-admin-generator generate" ``` - Rename the config file suffix from `.cometGen.tsx` to `.dextinityGen.tsx`. The default file pattern is now `src/**/*.dextinityGen.{ts,tsx}` - Change the header of generated files. Rerun the generator to update them ### Patch Changes - Updated dependencies [f843a5e] - Updated dependencies [f843a5e] - Updated dependencies [f843a5e] - @dextinity/admin-icons@10.0.0 - @dextinity/admin@10.0.0 - @dextinity/cms-admin@10.0.0 ## @dextinity/admin-icons@10.0.0 ### Major Changes - f843a5e: Rename `@comet/admin-icons` to `@dextinity/admin-icons` Update the dependency in `package.json` and all imports. **Breaking changes** - Remove the `Comet` and `CometOutline` icons - Remove the `CometColor` component. Use `DextinityIcon` instead, which provides the `light`, `dark` and `masked` variants - Remove the `CometDigitalExperienceLogo` component. Use `DextinityLogo` instead, which provides the `light`, `dark` and `monochrome` variants - Rename the `CometColor` member of the `IconName` type to `DextinityIcon` `DextinityIcon` and `DextinityLogo` derive their size from `fontSize`, so call sites no longer pass `width`/`height` pairs: ```diff - <CometDigitalExperienceLogo width={132} height={30} /> + <DextinityLogo sx={{ fontSize: 30 }} /> ``` ## @dextinity/admin-rte@10.0.0 ### Major Changes - f843a5e: Rename `@comet/admin-rte` to `@dextinity/admin-rte` Update the dependency in `package.json` and all imports. **Breaking changes** - Rename the theme component prefix from `CometAdmin` to `DextinityAdmin`. This affects `components` overrides passed to `createDextinityTheme` and the generated CSS class names - Rename the `--comet-admin-rte-outer-border-color` CSS variable to `--dextinity-admin-rte-outer-border-color` ### Patch Changes - Updated dependencies [f843a5e] - Updated dependencies [f843a5e] - @dextinity/admin-icons@10.0.0 - @dextinity/admin@10.0.0 ## @dextinity/brevo-admin@10.0.0 ### Major Changes - f843a5e: Rename `@comet/brevo-admin` to `@dextinity/brevo-admin` Update the dependency in `package.json` and all imports. **Breaking changes** - Resolve the configuration via `DextinityConfigProvider` instead of `CometConfigProvider` ### Patch Changes - Updated dependencies [f843a5e] - Updated dependencies [f843a5e] - Updated dependencies [f843a5e] - Updated dependencies [f843a5e] - @dextinity/admin-date-time@10.0.0 - @dextinity/admin-icons@10.0.0 - @dextinity/admin@10.0.0 - @dextinity/cms-admin@10.0.0 ## @dextinity/cms-admin@10.0.0 ### Major Changes - f843a5e: Rename `@comet/cms-admin` to `@dextinity/cms-admin` Update the dependency in `package.json` and all imports. **Breaking changes** - Rename `CometConfigProvider` to `DextinityConfigProvider`, `useCometConfig` to `useDextinityConfig` and the `CometConfig` type to `DextinityConfig`. By convention, the project's `comet-config.json` is renamed to `dextinity-config.json` - Rename the `cometType` property of iframe messages to `dextinityType`. The site must use a matching `@dextinity/site-react` or `@dextinity/site-nextjs` version - Rename the site preview cookie from `__comet_site_preview` to `__dextinity_site_preview` and the impersonation cookie from `comet-impersonate-user-id` to `dextinity-impersonate-user-id` - Expect the renamed `DextinityImageResolutionException` and `DextinityValidationException` error codes in DAM file uploads. A matching `@dextinity/cms-api` version is required - Rename the theme component prefix from `CometAdmin` to `DextinityAdmin`. This affects `components` overrides passed to `createDextinityTheme` and the generated CSS class names - Rename the CSS variables from `--comet-admin-*` to `--dextinity-admin-*` - Replace the Comet logo in the header, the about modal and the site preview with the Dextinity logo ### Patch Changes - Updated dependencies [f843a5e] - Updated dependencies [f843a5e] - Updated dependencies [f843a5e] - Updated dependencies [f843a5e] - @dextinity/admin-date-time@10.0.0 - @dextinity/admin-icons@10.0.0 - @dextinity/admin-rte@10.0.0 - @dextinity/admin@10.0.0 ## @dextinity/agent-features@10.0.0 ### Major Changes - f843a5e: Rename `@comet/agent-features` to `@dextinity/agent-features` Update the dependency in `package.json`. **Breaking changes** - Rename the skills to Dextinity: `comet-admin-ui` -> `dextinity-admin-ui`, `comet-block` -> `dextinity-block`, `comet-core-admin-component-authoring` -> `dextinity-core-admin-component-authoring`, `comet-mail-react` -> `dextinity-mail-react`, `comet-major-migration` -> `dextinity-major-migration` and `comet-minor-update` -> `dextinity-minor-update`. Rerun `dextinity install-agent-features` and remove the previously installed skills ## @dextinity/api-generator@10.0.0 ### Major Changes - f843a5e: Rename `@comet/api-generator` to `@dextinity/api-generator` Update the dependency in `package.json` and all imports. **Breaking changes** - Rename the `comet-api-generator` binary to `dextinity-api-generator`: ```diff - "generate-crud": "comet-api-generator" + "generate-crud": "dextinity-api-generator" ``` - Change the header of generated files. Rerun the generator to update them ### Patch Changes - Updated dependencies [86f90cb] - Updated dependencies [f843a5e] - @dextinity/cms-api@10.0.0 ## @dextinity/brevo-api@10.0.0 ### Major Changes - f843a5e: Rename `@comet/brevo-api` to `@dextinity/brevo-api` Update the dependency in `package.json` and all imports: ```diff - import { BrevoModule } from "@comet/brevo-api"; + import { BrevoModule } from "@dextinity/brevo-api"; ``` ### Patch Changes - Updated dependencies [86f90cb] - Updated dependencies [f843a5e] - @dextinity/cms-api@10.0.0 ## @dextinity/cms-api@10.0.0 ### Major Changes - f843a5e: Rename `@comet/cms-api` to `@dextinity/cms-api` Update the dependency in `package.json` and all imports. **Breaking changes** - Rename `CometException` and its subclasses: `CometValidationException` -> `DextinityValidationException`, `CometEntityNotFoundException` -> `DextinityEntityNotFoundException`, `CometImageResolutionException` -> `DextinityImageResolutionException`. The error codes returned by the API change accordingly, so a matching `@dextinity/cms-admin` version is required - Rename `CometAuthGuard` to `DextinityAuthGuard` and the `@DisableCometGuards()` decorator to `@DisableDextinityGuards()` - Rename the database tables `CometFileUpload`, `CometUserPermission` and `CometUserContentScopes` to `DextinityFileUpload`, `DextinityUserPermission` and `DextinityUserContentScopes`. A migration is shipped with the package, so running the migrations is sufficient - Rename the site preview cookie from `__comet_site_preview` to `__dextinity_site_preview` and the impersonation cookie from `comet-impersonate-user-id` to `dextinity-impersonate-user-id` ### Minor Changes - 86f90cb: Support `dextinity.com/*` Kubernetes labels and annotations The Builds, Cron Jobs and Kubernetes modules now read the labels and annotations of Kubernetes resources with the `dextinity.com` prefix: | Previously | Now | | ------------------------------- | ------------------------------- | | `comet-dxp.com/instance` | `dextinity.com/instance` | | `comet-dxp.com/parent-cron-job` | `dextinity.com/parent-cron-job` | | `comet-dxp.com/label` | `dextinity.com/label` | | `comet-dxp.com/builder` | `dextinity.com/builder` | | `comet-dxp.com/trigger` | `dextinity.com/trigger` | | `comet-dxp.com/content-scope` | `dextinity.com/content-scope` | The `comet-dxp.com` prefix is still supported, so existing Helm charts keep working without changes. Resources are expected to use one prefix or the other: if no resource matches the `dextinity.com` labels, the `comet-dxp.com` ones are used instead. **Example** ```yaml metadata: annotations: dextinity.com/label: "Demo Cron Job" dextinity.com/content-scope: '{ "domain": "main", "language": "en" }' ``` ## @dextinity/cli@10.0.0 ### Major Changes - f843a5e: Rename `@comet/cli` to `@dextinity/cli` Update the dependency in `package.json`. **Breaking changes** - Rename the `comet` binary to `dextinity`: ```diff - "generate-block-types": "comet generate-block-types" + "generate-block-types": "dextinity generate-block-types" ``` ## @dextinity/eslint-config@10.0.0 ### Major Changes - f843a5e: Rename `@comet/eslint-config` to `@dextinity/eslint-config` Update the dependency in `package.json` and the imports in your ESLint configuration: ```diff - import eslintConfigReact from "@comet/eslint-config/future/react.js"; + import eslintConfigReact from "@dextinity/eslint-config/future/react.js"; ``` **Breaking changes** - Rename the plugin namespace from `@comet` to `@dextinity`. Rule overrides and disable comments must be updated, for instance, `@comet/no-other-module-relative-import` -> `@dextinity/no-other-module-relative-import` ### Patch Changes - Updated dependencies [f843a5e] - @dextinity/eslint-plugin@10.0.0 ## @dextinity/eslint-plugin@10.0.0 ### Major Changes - f843a5e: Rename `@comet/eslint-plugin` to `@dextinity/eslint-plugin` Update the dependency in `package.json`. **Breaking changes** - Register the plugin under the `@dextinity` namespace instead of `@comet`. Rule names change accordingly, for instance, `@comet/no-private-sibling-import` -> `@dextinity/no-private-sibling-import` ## @dextinity/mail-react@10.0.0 ### Major Changes - f843a5e: Rename `@comet/mail-react` to `@dextinity/mail-react` Update the dependency in `package.json` and all imports: ```diff - import { MjmlPixelImageBlock } from "@comet/mail-react"; + import { MjmlPixelImageBlock } from "@dextinity/mail-react"; ``` ## @dextinity/site-nextjs@10.0.0 ### Major Changes - f843a5e: Rename `@comet/site-nextjs` to `@dextinity/site-nextjs` Update the dependency in `package.json` and all imports. **Breaking changes** - Rename the `cometType` property of iframe messages to `dextinityType`. A matching `@dextinity/cms-admin` version is required - Rename the site preview cookie from `__comet_site_preview` to `__dextinity_site_preview`. A matching `@dextinity/cms-api` version is required ### Patch Changes - Updated dependencies [f843a5e] - @dextinity/site-react@10.0.0 ## @dextinity/site-react@10.0.0 ### Major Changes - f843a5e: Rename `@comet/site-react` to `@dextinity/site-react` Update the dependency in `package.json` and all imports. **Breaking changes** - Rename the `cometType` property of iframe messages to `dextinityType`. A matching `@dextinity/cms-admin` version is required - Rename the window property of `useLocalStorageCookieApi` from `window.cometLocalStorageCookieApi` to `window.dextinityLocalStorageCookieApi` and its localStorage key from `comet-dev-cookie-api-consented-cookies` to `dextinity-dev-cookie-api-consented-cookies`. Previously consented cookies are therefore reset in local development --------- Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com> Co-authored-by: Johannes Obermair <johannes.obermair@vivid-planet.com>
The blocks sit beside the existing shared ones rather than under either mail: nothing in a button, a spacer or an image is specific to a welcome mail or to a campaign. Both mails take their image render width from the theme rather than a constant, so they size images the same way, and changing the body width or the content indentation does not leave an image rendering at the old size. <img width="988" height="969" alt="Screenshot 2026-08-13 at 14 48 50" src="https://github.com/user-attachments/assets/890070e0-d55c-4edc-8ede-76869caa027a" /> --------- Co-authored-by: Ricky Smith <jamesricky@me.com>
## Problem
When a request fails with a GraphQL error, the error dialog shows
`Unknown error` instead of the actual message.
## Cause
`createErrorDialogApolloLink` assigns `error` only in the `networkError`
branch. The `graphQLErrors` branch sets `errorType` but never `error`,
so the dialog falls back to `"Unknown error"`.
The missing `error = graphQLErrors.map(({ message }) => message)` was
dropped while resolving the auth error conflicts when `main` was merged
into `next` before v7
([`20eb0fa`](20eb0fa))
— which is also why the `if (!error)` guard in the network branch has
been dead code since.
## Fix
The link passes the messages of all GraphQL errors to the dialog again.
Network errors are unchanged, and GraphQL errors take precedence over an
accompanying network error, as the guard intended.
Nothing is newly exposed in production: `ExceptionFilter` in
`@dextinity/cms-api` already masks unexpected errors as `Internal Server
Error` when `debug` is off.
## Screenshots/screencasts
Demo Admin, opening a product with an ID that does not exist — the API
answers with `Product not found ('00000000-…')`:
| Before | After |
| ------ | ----- |
| <img width="2048" height="972" alt="errordialogbefore"
src="https://github.com/user-attachments/assets/77e98b5d-9bf7-4062-960d-0a859cd16b0c"
/> | <img width="2048" height="972" alt="errordialogafter"
src="https://github.com/user-attachments/assets/06dca171-45ec-4fed-bb99-0ebc7ee2c0d6"
/> |
## Verification
Tests cover the three paths through the link: a GraphQL-only error, a
network-only error, and a `ServerError` carrying GraphQL errors in its
result. The first and third fail without the fix.
Co-authored-by: Claude <noreply@anthropic.com>
…les (#6205) ## Problem `@dextinity/agent-features` ships empty. The published tarball contains nothing but `package.json` and `LICENSE`, so `dextinity install-agent-features` finds no skills and no rules in it. Every release since `@comet/agent-features` v9.4.0 is affected, including the current `@dextinity/agent-features` v10.0.0: | Version | Files in the tarball | | --- | --- | | `@comet/agent-features@9.3.0` | 39 | | `@comet/agent-features@9.4.0` | 2 | | `@dextinity/agent-features@10.0.0` | 2 | ## Cause The package's `skills/` and `rules/` folders were symlinks to the folders at the repository root. pnpm stopped following symlinked directories when packing in v11, so the `skills/**` and `rules/**` patterns in `files` matched nothing. Nothing in the package itself changed — its `package.json` is byte-identical between 9.3.0 and 9.4.0. The break lines up exactly with #6176: the last canary packed before it merged contains 39 files, the first one after it contains 2. ## Fix The package builds its `skills/` and `rules/` folders instead of symlinking them, like every other package in the repository builds its `lib/`. The `build` script copies both folders in from the repository root and fails when either is missing or empty, so a regression of this kind breaks the release instead of publishing silently. The copies are gitignored. ## Verification - `pnpm pack --dry-run` lists 37 skill and rule files (25 skills, 12 rules), matching what 9.3.0 shipped. - `build` runs through the existing `build:packages` step of `pnpm run publish`, which covers the release, beta and canary workflows. ## Further information - Published contents: [`@comet/agent-features` 9.3.0](https://www.npmjs.com/package/@comet/agent-features/v/9.3.0?activeTab=code) vs. [9.4.0](https://www.npmjs.com/package/@comet/agent-features/v/9.4.0?activeTab=code) - Task: https://vivid-planet.atlassian.net/browse/COM-3128 🤖 Generated with [Claude Code](https://claude.com/claude-code) https://claude.ai/code/session_0181iiTBFCfqvBjEwjzxEEzm --------- Co-authored-by: Claude <noreply@anthropic.com>
This PR was opened by the [Changesets release](https://github.com/changesets/action) GitHub action. When you're ready to do a release, you can merge this and the packages will be published to npm automatically. If you're not ready to do a release yet, that's fine, whenever you add more changesets to main, this PR will be updated. # Releases ## @dextinity/admin@10.0.1 ### Patch Changes - 48748b0: Show the GraphQL error messages in the error dialog again `createErrorDialogApolloLink` only passed the message of network errors to the `ErrorDialog`. For GraphQL errors, the dialog showed "Unknown error" instead of the actual messages (e.g., the message of a `BadRequestException` thrown by the API). - @dextinity/admin-icons@10.0.1 ## @dextinity/admin-color-picker@10.0.1 ### Patch Changes - Updated dependencies [48748b0] - @dextinity/admin@10.0.1 - @dextinity/admin-icons@10.0.1 ## @dextinity/admin-date-time@10.0.1 ### Patch Changes - Updated dependencies [48748b0] - @dextinity/admin@10.0.1 - @dextinity/admin-icons@10.0.1 ## @dextinity/admin-generator@10.0.1 ### Patch Changes - Updated dependencies [48748b0] - @dextinity/admin@10.0.1 - @dextinity/cms-admin@10.0.1 - @dextinity/admin-icons@10.0.1 ## @dextinity/admin-rte@10.0.1 ### Patch Changes - Updated dependencies [48748b0] - @dextinity/admin@10.0.1 - @dextinity/admin-icons@10.0.1 ## @dextinity/brevo-admin@10.0.1 ### Patch Changes - Updated dependencies [48748b0] - @dextinity/admin@10.0.1 - @dextinity/admin-date-time@10.0.1 - @dextinity/cms-admin@10.0.1 - @dextinity/admin-icons@10.0.1 ## @dextinity/cms-admin@10.0.1 ### Patch Changes - Updated dependencies [48748b0] - @dextinity/admin@10.0.1 - @dextinity/admin-date-time@10.0.1 - @dextinity/admin-rte@10.0.1 - @dextinity/admin-icons@10.0.1 ## @dextinity/agent-features@10.0.1 ### Patch Changes - 823d663: Fix the package being published without any skills and rules The `skills/` and `rules/` folders were symlinked to the folders at the repository root. Since pnpm v11 no longer follows symlinked directories when packing, every release since `@comet/agent-features` v9.4.0 contained nothing but the manifest, so `dextinity install-agent-features` found no skills or rules to install. The folders are copied into the package when it's built now. ## @dextinity/api-generator@10.0.1 ### Patch Changes - @dextinity/cms-api@10.0.1 ## @dextinity/brevo-api@10.0.1 ### Patch Changes - @dextinity/cms-api@10.0.1 ## @dextinity/eslint-config@10.0.1 ### Patch Changes - @dextinity/eslint-plugin@10.0.1 ## @dextinity/site-nextjs@10.0.1 ### Patch Changes - @dextinity/site-react@10.0.1 ## @dextinity/admin-babel-preset@10.0.1 ## @dextinity/admin-icons@10.0.1 ## @dextinity/cms-api@10.0.1 ## @dextinity/cli@10.0.1 ## @dextinity/eslint-plugin@10.0.1 ## @dextinity/mail-react@10.0.1 ## @dextinity/site-react@10.0.1 Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This is an automated pull request to merge changes from
mainintonext.