14677 Commits

Author SHA1 Message Date
Rémi de Juvigny
5e751dbf11
feat: ai generated image metadata (#24422)
* feat: chat

feat: apply changes
feat: integrate with ctb

feat: marker

chore: remove comment

feat: new chat

feat: copy message

feat: upload modal

feat: upload file

feat: errors and stop chat

chore: refactor transforms
chore: format relations

chore: chat title

chore: remove architect dependency

feat: empt state

chore: improve text area focus

* feat: chat imports

feat: resizable text area
fix: re add chat
chore: translations
feat: env vars

fix: minor chat issues

feat: feedback

fix: rebase

feat: import folder

feat: limits

feat: attachments dropzone

chore: file attachments cleanup
chore: track chat id

feat: figma import

fix :token

feat: figma token
fix: attribute status when chat makes updates

feat: image upload

* feat: staging integration

* chore: remove logs

* feat: use tool call result instead of annotation

* fix: invalid component uid

* chore: chat input focus ring

* fix: ui issues

* fix: default draft and publish and do not modify singular name

* fix: minor transforms

* fix: linting

* test(front): update snapshots

* chore: fix misplaced getstarted project schema

* chore: remove unused import

* security: validate exact path of host

* fix: define process better for playwright to work

* fix: process env in vite config for playwright

* chore: use production url

* feat(ctb): Tracking events for AI Chat interaction (#23731)

* feat(content-type-builder): WIP tracking events for chat interactions

* fix: typescript build errors

* fix: event name and build errors

* chore: send ai key with analytics

* chore: actually send licenseKey

* chore: send ailicensekey with groupproperties

* fix: didStartNewChat

* chore: track new chats

* feat: enhance attachment type management in AI chat components

* fix: update chat status handling in ChatProvider component

* feat: add optional aiLicenseKey to Strapi interface

---------

Co-authored-by: Jamie Howard <jhoward1994@gmail.com>

* refactor: remove didusersendmessage tracking event (#23777)

* fix: merge conflict

* fix: send projectId to AI server

* feat: add a enabled config for AI features (#24060)

* feat: add getAiToken endpoint (#24172)

* feat: add getAiToken route

* fix: change route name, remove project id

* fix: type issue and fix schema

* feat: retrieve ai token from frontend (#24226)

---------

Co-authored-by: Jamie Howard <jhoward1994@gmail.com>

* fix: use primary500 for links in ai chat

* chore: migrate to AI SDK v5 (#24252)

* fix: migrate code for v5

* t:wq

* feat: push schemas to ctb

* chore: remove old code

* chore: remove ts-no-check

* chore: fix comment

* fix: ai server logs (#24318)

* test(back): fix error log tests

---------

Co-authored-by: Marc Roig <marc12info@gmail.com>

* fix: configure ai ctb csp middleware without overriding user or default config

* future(upload): generate image metadata on file upload (#24365)

* chore: create aiMetadata service with isEnabled

* chore: extract getAiToken to service

* fix: unit test

* future(upload): generate metadata with ai

* fix: ts build

* fix: only send images to ai server

* test: add unit tests

* fix: unit test

---------

Co-authored-by: markkaylor <mark.kaylor@strapi.io>

* AI media lib bulk update (#24414)

* feat(packages): adding endpoint for bulk update

* feat(packages): linting

* feat(packages): adding tests

* feat(packages): cleanup

* feat: guided tour for ai ctb (#24411)

* feat(upload): adding aiMetadata into settings (#24468)

feat(upload): adding aiMetadata into settings

* feat: add AI upload modal (#24407)

* chore: create aiMetadata service with isEnabled

* chore: extract getAiToken to service

* fix: unit test

* future(upload): generate metadata with ai

* feat: add AI upload modal

* feat: add edit and delete to upload modal

* fix: remove sparkle icon on edit

* fix: add error handling

* chore: refactor ai upload modal reducer

* fix: catch ai token generation error

* chore: add useBulkEdit hook

* feat: connect to bulk edit endpoint

* fix: e2e test

* fix: ci in both ce and ee

---------

Co-authored-by: Rémi de Juvigny <remi.dejuvigny@strapi.io>
Co-authored-by: Rémi de Juvigny <8087692+remidej@users.noreply.github.com>

* feat(upload): applying ai enabled logic for media library (#24486)

feat(upload): applying ai enabled logic for media library

* fix: sparkle icon

* fix: set ai server prod url

* fix: default config to enabled

* fix: cursor moving to the end when editing text

* fix: upload in the right folder

* fix: close modal when deleting last item

* chore: use STRAPI_AI_URL everywhere

* fix: bulk upload from frontend

* fix: restore sparkle icon on inputs

* fix: unit test ci

* feat(upload): generating metadata from thumbnail (#24515)

* feat(upload): generating metadata from thumbnail

* feat(upload): fixing linting issue

* feat(upload): fixing tests and addressiing feedback

* feat(upload): fixing lint

* fix: check for cms-ai entitlement

* fix: tests

* fix: race condition failing front unit tests

---------

Co-authored-by: Marc-Roig <marc12info@gmail.com>
Co-authored-by: Ben Irvin <ben@innerdvations.com>
Co-authored-by: Bassel Kanso <bassel.kanso@strapi.io>
Co-authored-by: Ben Irvin <ben.irvin@strapi.io>
Co-authored-by: Jamie Howard <jhoward1994@gmail.com>
Co-authored-by: Jamie Howard <48524071+jhoward1994@users.noreply.github.com>
Co-authored-by: Bassel Kanso <basselkanso82@gmail.com>
Co-authored-by: Ziyi <daydreamnation@live.com>
Co-authored-by: markkaylor <mark.kaylor@strapi.io>
Co-authored-by: Araksya Gevorgyan <31159659+araksyagevorgyan@users.noreply.github.com>
Co-authored-by: Adrien L <thewebsdoor@gmail.com>
2025-10-07 06:14:34 -04:00
Adrien L
3ae249212a
fix: scroll in sidenav (#24521)
* fix: scroll in sidenav

* fix: update snapshot
2025-10-07 05:45:13 -04:00
Bassel Kanso
16642119fa
fix: don't render ctb ai chatbot in production mode (#24519) 2025-10-07 09:45:21 +02:00
Bassel Kanso
e326c69a49 Merge branch 'main' into develop 2025-10-06 18:03:32 +03:00
Bassel17
5484bf09a5 release: 5.26.0 2025-10-06 14:49:36 +00:00
Bassel Kanso
1f56e93196
enhancement: AI notification system improvements (#24505)
* enhancement: AI notification system improvements

* enhancement: increase notification time

* test: add timeout value
2025-10-06 16:44:14 +03:00
Adrien L
59b1b35ce0
feat: responsive navigation (#24455) 2025-10-06 15:42:23 +02:00
Jamie Howard
787b5dd204
fix: add handling for AI credit limit exceeded error in chat component (#24500) 2025-10-03 15:57:28 +03:00
Bassel Kanso
9b368058b6
fix: allow submitting attachments to AI chat (#24498) 2025-10-02 16:25:45 +03:00
Ben Irvin
8b11c0eca0
feat(ai): AI Chat for Schema Creation (#23730) 2025-10-02 13:13:47 +02:00
Bassel17
1dfedfe744 release: 5.25.0 2025-10-01 10:53:38 +00:00
Bassel Kanso
de7aa8b6d2 Merge branch 'main' into develop 2025-09-29 19:45:12 +03:00
Bassel17
69554ba294 release: 5.24.2 2025-09-29 15:07:09 +00:00
Ziyi
a8cea31fbe fix: stop repair script from running automatically (#24470)
* fix: stop repair script from running automatically

* fix: add comments to explain
2025-09-29 16:58:18 +03:00
Ben Irvin
723a2f0c62 fix: support auth.options config in sessions (#24460)
* fix: support auth.options config in sessions

* chore: fix lint

* feat(users-permissions): add jwt algorithm configuration

* refactor: remove deprecated admin.auth.options warnings

* test(token): add TypeScript error suppression for mock config in token tests

* feat(bootstrap): re-add warning for deprecated expiresIn option in session settings

---------

Co-authored-by: Jamie Howard <jhoward1994@gmail.com>
Co-authored-by: Jamie Howard <48524071+jhoward1994@users.noreply.github.com>
2025-09-29 16:58:18 +03:00
Ben Irvin
ca055bd025
fix: support auth.options config in sessions (#24460)
* fix: support auth.options config in sessions

* chore: fix lint

* feat(users-permissions): add jwt algorithm configuration

* refactor: remove deprecated admin.auth.options warnings

* test(token): add TypeScript error suppression for mock config in token tests

* feat(bootstrap): re-add warning for deprecated expiresIn option in session settings

---------

Co-authored-by: Jamie Howard <jhoward1994@gmail.com>
Co-authored-by: Jamie Howard <48524071+jhoward1994@users.noreply.github.com>
2025-09-29 14:53:29 +01:00
Ziyi
f1924e82bf
fix: stop repair script from running automatically (#24470)
* fix: stop repair script from running automatically

* fix: add comments to explain
2025-09-29 14:05:52 +02:00
Adrien L
d5c0fa2c0e
chore: strapi DS v2.0.0-rc.30 bump (#24456) 2025-09-26 12:05:36 +02:00
Ben Irvin
86f7c82a34 Merge branch 'main' into develop 2025-09-25 13:39:56 +02:00
innerdvations
ff1eac610b release: 5.24.1 2025-09-25 10:52:16 +00:00
Ben Irvin
a1b9cf7971 fix: assert admin.auth.secret on bootstrap instead of init 2025-09-25 09:58:42 +02:00
Ben Irvin
1375afde05 Merge branch 'main' into develop 2025-09-25 09:34:53 +02:00
Araksya Gevorgyan
281b331dc7
feat(homepage): add endpoints for widget move and resize actions (#24358)
* feat(homepage): add endpoints for widget move and resize actions
2025-09-24 16:57:09 +02:00
innerdvations
628d1ac600 release: 5.24.0 2025-09-24 13:01:07 +00:00
Jamie Howard
d23f1485e5
feat: Advanced Session Configuration (#24346) 2025-09-23 12:04:29 +02:00
markkaylor
536eed0201
fix: database is corrupt with orphaned relations (#24316)
* fix: database is corrupt with orphaned relations

* chore: move script to document service and refactor

* fix: refactoring cleanup script

* fix: some improvements

* test(api): add unidirectional join table repair tests

* test(api): remove debug logs

* fix: orphaned relation nested compo (#24387)

---------

Co-authored-by: Bassel Kanso <basselkanso82@gmail.com>
Co-authored-by: Ben Irvin <ben@innerdvations.com>
Co-authored-by: Ben Irvin <ben.irvin@strapi.io>
2025-09-23 10:11:48 +02:00
innerdvations
8e481a2778 release: 5.23.6 2025-09-19 12:44:11 +00:00
Ziyi
009c0404a1
fix: create UID from singular name instead of display name (#24408)
* fix: create UID from singular name instead of display name

* fix: add e2e tests
2025-09-19 12:42:35 +02:00
innerdvations
9846bd24ea release: 5.23.5 2025-09-17 15:26:58 +00:00
Ben Irvin
83f23a4020
security(deps): update form-data, axios, and sha.js (#24389) 2025-09-16 14:49:27 +02:00
Rémi de Juvigny
de967a36c9 Merge remote-tracking branch 'origin/main' into develop 2025-09-11 10:45:42 +02:00
remidej
98b3f005c6 release: 5.23.4 2025-09-10 14:49:41 +00:00
Rémi de Juvigny
723a1311e3
enhancement: remove default notification title (#24337)
* enhancement: remove default notification title

* fix: tests

* fix: mismatch in i18n translation

* fix: edit locale unit test
2025-09-10 04:14:29 -04:00
Marco A.
368fb58e23
fix: track only the api requests (#24167)
* fix: track only the api requests

* test: fixing tests

* fix: Update packages/core/core/src/services/metrics/middleware.ts

Co-authored-by: Ben Irvin <ben.irvin@strapi.io>

* fix: wrong syntax

* fix: tests

---------

Co-authored-by: Ben Irvin <ben.irvin@strapi.io>
2025-09-10 09:19:04 +02:00
Rémi de Juvigny
79130900d1
future(preview): better highlight click handling and errors (#24322)
* feat: add content source maps service

* chore: refactor to fp and async.pipe

* chore: use header instead of query param

* fix: ignore polymorphic relations

* chore: add error handling

* fix: arrays of relations and medias

* enhancement(getstarted): show nested values in preview

* fix: update highlights when the dom changes

* fix: highlight dimensions after text update

* fix: strip away invisible characters from dom

* fix: don't encode slugs

* fix: handle fields in single components

* enhancement: add rawWithIndices to traverseEntity patj

* fix: handle components and repeatable components

* fix: strapi utils build

* fix: dynamic zones

* chore: use dots for array indices not brackets

* fix: content source map base url fallback

* chore: use URLSearchParams instead of URL

* chore: refinements

* test: fieldUtils testing

* fix: traverse-entity doc

* chore: add traverse-entity tests

* feat: scroll element into view on focus

* chore: make email clickable in dummy preview

* fix: single and double click behavior

* chore: use css hover instead of mouseenter

* enhancement: double click to edit notification

* fix: display translated errors

* fix: unit test

* fix: null blocks value

* enhancement: filter attributes in nested fields

* fix: prevent losing iframe pointer events after closing popover
2025-09-09 11:04:24 -04:00
Jay Caines-Gooby
d9724d67b3
Apostrophe catastrophe (#24203)
Its not it's
2025-09-08 16:46:14 +02:00
markkaylor
09f7c11cb1
chore(guided-tour): remove dead code (#24327) 2025-09-08 15:31:42 +02:00
Jamie Howard
34e034f28a
feat: add support for custom field attributes in schema mapping (#24310) 2025-09-08 10:27:16 +02:00
Jan Fässler
f0bfcece10
fix: saving deletion of optional components not working (#24317)
Co-authored-by: Mark Kaylor <mark.kaylor@strapi.io>
2025-09-05 17:57:01 +02:00
Rémi de Juvigny
9700eba820
future(preview): handle nested fields (#24296)
* feat: add content source maps service

* chore: refactor to fp and async.pipe

* chore: use header instead of query param

* fix: ignore polymorphic relations

* chore: add error handling

* fix: arrays of relations and medias

* enhancement(getstarted): show nested values in preview

* fix: update highlights when the dom changes

* fix: highlight dimensions after text update

* fix: strip away invisible characters from dom

* fix: don't encode slugs

* fix: handle fields in single components

* enhancement: add rawWithIndices to traverseEntity patj

* fix: handle components and repeatable components

* fix: strapi utils build

* fix: dynamic zones

* chore: use dots for array indices not brackets

* fix: content source map base url fallback

* chore: use URLSearchParams instead of URL

* chore: refinements

* test: fieldUtils testing

* fix: traverse-entity doc

* chore: add traverse-entity tests

* feat: scroll element into view on focus
2025-09-05 10:43:52 -04:00
Adrien L
954e7b08b9
fix: errors when trying to link design-system locally (#24247)
* fix: errors when trying to link design-system locally

* fix: revert changes and fix module declaration on ds side

---------

Co-authored-by: Rémi de Juvigny <8087692+remidej@users.noreply.github.com>
2025-09-05 03:37:59 -04:00
markkaylor
65538d2d67 release: 5.23.3 2025-09-04 12:29:33 +00:00
Bassel Kanso
a1da9b829e
fix: syncing components in draft and publish relations (#24227)
Co-authored-by: Mark Kaylor <mark.kaylor@strapi.io>
Co-authored-by: Ben Irvin <ben.irvin@strapi.io>
Co-authored-by: Jamie Howard <48524071+jhoward1994@users.noreply.github.com>
2025-09-03 16:39:31 +02:00
markkaylor
9a2f82f5df release: 5.23.2 2025-09-03 12:17:04 +00:00
Rémi de Juvigny
57e5fcfee3
future(preview): keep highlights up to date on dom updates (#24216)
* feat: add content source maps service

* chore: refactor to fp and async.pipe

* chore: use header instead of query param

* fix: ignore polymorphic relations

* chore: add error handling

* fix: arrays of relations and medias

* enhancement(getstarted): show nested values in preview

* fix: update highlights when the dom changes

* fix: highlight dimensions after text update

* fix: strip away invisible characters from dom

* fix: don't encode slugs

* chore: mark feedback

* chore: rearrange observers
2025-08-28 08:14:27 -04:00
Mark Kaylor
1c8a275e80 Merge branch 'main' of github.com:strapi/strapi into develop 2025-08-27 17:18:10 +02:00
markkaylor
7b9b8c7122 release: 5.23.1 2025-08-27 12:34:37 +00:00
Rémi de Juvigny
bcd95cff43
future(preview): add content source maps service (#24213)
* feat: add content source maps service

* chore: refactor to fp and async.pipe

* chore: use header instead of query param

* fix: ignore polymorphic relations

* chore: add error handling

* fix: arrays of relations and medias

* chore: marc feedback

* chore: use traverseEntity util

* fix: make backend unit test async

* chore: refactor types
2025-08-26 07:40:09 -04:00
Jamie Howard
acdb68cd97
fix: update route serialization utility to handle non-array values correctly (#24245) 2025-08-26 12:41:13 +02:00
Jamie Howard
1b486371fb
Fix: content api route serialization (#24207)
* feat: wip add route serialization utilities, integrate into content API and users-permissions

* fix: add return cloneDeep in getActions

* chore: update comments in route serialization

---------

Co-authored-by: Ziyi Yuan <daydreamnation@live.com>
2025-08-26 09:49:49 +01:00