343 Commits

Author SHA1 Message Date
Bassel Kanso
80ec2ee668
fix: prevent admins from deleting themselves (#24739) 2025-11-03 12:27:36 +02:00
Bassel Kanso
749ebd26c0 Merge branch 'main' into develop 2025-10-30 12:19:52 +02:00
mathildeleg
c008ccd5d5
fix: pagination count on query with locale=* (#24699)
Modify the function called to query all locales to get the correct count
2025-10-30 08:59:30 +01:00
Adrien L
9c630ba433
fix: prefill non translatable fields when creating new document locale (#24659) 2025-10-29 15:50:50 +01:00
Adrien L
337e09655e
fix: reset and publish enum default value (#24708) 2025-10-29 11:16:25 +01:00
Rémi de Juvigny
47fec47d39
chore: remove unstableAILocalizations future flag (#24704) 2025-10-27 12:18:19 -04:00
markkaylor
7861fc41cb
future(i18n): add background job notification system (#24637) 2025-10-22 14:39:07 +02:00
Adrien L
654757574d
fix: invalidate all documents cache after a release publish (#24618) 2025-10-20 13:18:36 +02:00
markkaylor
6098af0004
future(i18n): add i18n ai status (#24585) 2025-10-17 18:04:00 +02:00
Adrien L
43fec7cbd7
fix: misleading error message when publish empty required components (#24608) 2025-10-17 13:24:29 +02:00
Adrien L
ca725962bd
fix: add await to prevent redirect during test (#24581) 2025-10-15 13:43:43 +02:00
Jamie Howard
91f3ae970f
enhancement: cookie security configuration (#24524) 2025-10-14 09:15:09 +02:00
mathildeleg
1ddd9ffd66
feat: homepage customization (#24354)
* feat: resize widgets
* feat: add drag&drop to reorder widgets
* feat: choose which widget(s) to display
2025-10-13 15:16:10 +02:00
Adrien L
d635f6a57e
fix: display name of admin user instead of id in filters (#24532) 2025-10-13 11:14:39 +02:00
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
59b1b35ce0
feat: responsive navigation (#24455) 2025-10-06 15:42:23 +02:00
Ben Irvin
8b11c0eca0
feat(ai): AI Chat for Schema Creation (#23730) 2025-10-02 13:13:47 +02: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
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
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
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
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
Adrien L
a8a53e3e7c
fix: wrong count of non draftAndPublish entries (#24211) 2025-08-26 09:45:23 +02:00
Jamie Howard
e5d4b412da
Fix plugin content-api route extensions (#24147)
* fix: content-api route extension for i18n and users-permissions

* refactor: simplify tests to catch breaking change

* test: cli for openapi plugin routes

* refactor: implement createcontentapiroutesfactory for content-api routes across multiple packages

* fix: more accurate message

* chore: formatting

* chore: cleanup backward compatibility tests

---------

Co-authored-by: Ziyi Yuan <daydreamnation@live.com>
2025-08-18 12:28:39 +01:00
markkaylor
e4700a5963
enhancement: improve guided tour (#24094) 2025-08-18 09:54:58 +02:00
Adrien L
a6aba9268c
fix: homepage widgets adjustments (#24071) 2025-08-06 16:57:09 +02:00
Adrien L
d9637048d9
feat: last activity homepage widget (#24068) 2025-08-06 15:42:00 +02:00
Ben Irvin
8058daf82c
test(api): add test for viewable api tokens (#24064) 2025-07-31 11:38:34 +02:00
Adrien L
f116d21c09
feat: homepage upcoming releases widget (#23998) 2025-07-31 10:29:14 +02:00
Adrien L
6d264f56ba
feat: key statistics homepage widget (#23938) 2025-07-31 09:36:25 +02:00
Simone
13183936e7
fix: create relation and save flaky test (#24041) 2025-07-29 14:34:15 +02:00
Simone
116f52a58b
feat: add conditional fields e2e tests (#23843)
Co-authored-by: Ziyi Yuan <daydreamnation@live.com>
Co-authored-by: RufusLeTerrible <97893822+MarionLemaire@users.noreply.github.com>
Co-authored-by: Adrien Lepoutre <thewebsdoor@gmail.com>
2025-07-28 12:04:54 +02:00
markkaylor
0e47ec1b0a
chore: remove old guided tour and set the new one as stable (#24003) 2025-07-25 17:35:15 +02:00
Dhruv Chheda
c530cc4c2b
fix: conditional validation preview publish (#23894)
* fix: prevent validation errors when publishing from preview with conditional fields

---------

Co-authored-by: Ziyi <daydreamnation@live.com>
2025-07-25 15:00:14 +02:00
Simone
3fc9f7ab14
fix: add Introduction step in the Single collection Edit view (#23943) 2025-07-14 10:07:27 +02:00
Adrien L
cca0790e58
feat: homepage widget entries chart (#23903) 2025-07-09 15:38:15 +02:00
Adrien L
42d441cd5d
feat: homepage widget assigned to me (#23848) 2025-07-07 11:29:12 +02:00
Simone
943c95f8eb
future: add api tokens guided tour (#23798)
Co-authored-by: Mark Kaylor <mark.kaylor@strapi.io>
2025-07-03 16:01:11 +02:00
Adrien L
93cd7e55a8
fix: added missing e2e test for homepage profile widget (#23850) 2025-07-03 10:18:32 +02:00
Rémi de Juvigny
14e074cb0a
fix: preserve non-localized fields when updating localized content for new locale (#23830)
* fix: do not change unlocalized fields when updating localized field via doc service

* chore: add api test

* Update tests/api/core/strapi/document-service/update.test.api.ts

* chore: use fillNonLocalizedAttributes util

* chore: move to i18n utils file
2025-07-01 10:43:44 -04:00
Adrien L
49f444740d
feat: homepage widget profile (#23829) 2025-07-01 10:47:26 +02:00
Bassel Kanso
3e666b1ad9
feat(content-manager): conditional fields (#23616)
* feat(content-manager): contional fields

* fix: remove logs

* fix: skip validation incase field has condition invisible

* chore: adding example

* chore: merge develop

* fix: filter out invisble fields

* test: add e2e tests

* fix: ensure that hidden fields are not validate or passed through at any point

* feat: add support for components and dz

* fix: saving relations on the fly

* fix: skipping test

* fix: dependencies

* feat: add support for Dynamic Zone

* fix: e2e tests

* feat(CTB): conditional fields (#23662)

* wip

* wip need to fix schema

* delete condition

* clean up

* feat: update condition form and related components, clean up logs, fix frontend

* fix: only add to the first section

* feat: add confirmation dialog and fixed UI

* chore: remove unused code

* chore: linting

* fix: display related filed names in warning dialog

---------

Co-authored-by: Bassel Kanso <bassel.kanso@strapi.io>

* fix: skip displaying hidden dynamic zone in history

* fix: ctb generate conditions for relation fields

* feat: add tracker for conditional field count (#23828)

* feat: add tracker for conditional field count

---------

Co-authored-by: Ziyi <ziyi.yuan@strapi.io>
2025-06-30 15:13:22 +03:00
markkaylor
ed7c7c54ff
future: add admin endpoint to get guided tour meta data (#23786) 2025-06-26 16:21:02 +02:00
markkaylor
0b3ba1bea8
fix(graphql): draft and publish document does not forward root query args (#23737) 2025-06-24 15:21:44 +02:00
Simone
212d172a2f
fix: add the disabled state of the creatable button with no permissions (#23630) 2025-06-18 16:56:25 +02:00
Adrien L
dbca516e7b
fix: min/max value for components not clear (#23741) 2025-06-16 10:50:05 +02:00
Simone
610f71e631
fix: serve the correct document when we duplicate a document with a locale different than the default one (#23709) 2025-06-16 09:30:02 +02:00
Adrien L
df5dd4b92e
fix(content-manager): documentId missing from fields for the view and… (#23604)
* fix(content-manager): documentId missing from fields for the view and filters

---------

Co-authored-by: Mark Kaylor <mark.kaylor@strapi.io>
2025-06-10 17:43:39 +02:00
Aurélien MANCA
3561ab6db9
feat(uid): add regex attribute (#23141) 2025-06-10 16:34:28 +02:00