251 Commits

Author SHA1 Message Date
Nico André 52b8fd9e3d feat(admin): api token supports admin permissions and admin user ownership (#25657) 2026-04-29 17:57:36 +02:00
Simon Norris df2c928d0e feat: deploy to cloud homepage widget (#25774)
Co-authored-by: mathildeleg <82765709+mathildeleg@users.noreply.github.com>
2026-04-21 17:09:51 +02:00
Ben Irvin e94abcb823 test(e2e): fixes for race conditions and file resets (#26019) 2026-04-20 18:38:46 +02:00
Ben Irvin bac520e9f8 fix(data-transfer): fix large transfer crashes; show transfer progress (#23479)
* enhancement: update progress per chunk

* fix: check stageprogress exists to make ts happy

* chore: split progress tracker into two methods

* test: fix lint

* enhancement: display readable times

* fix: speed indication for assets

* fix: restore speed indicator and fix double counting

* chore: clean up code

* fix: data transfer memory leak

* fix: yarn.lock

* chore: fix memory logging

* ci: complex project remote transfer

* enhancement: optimized transfer mode

* test(cli): data transfer and env passthrough

* chore: only send one message warning of legacy mode

* enhancement: show transfer totals and estimated time

* test(cli): fix deterministic transfer test files

* fix: push and pull shared utils backwards compatibility

* fix(data-transfer): extract legacy asset chunk parsing and tighten transfer logging/test coverage

* enhancement: checksum negotiation

* enhancement: show skipped file warnings on client

* fix: transfer diagnostics

* test: fix open handle

* fix: clear stall timeout for assets

* chore: fix misleading comments and variables

* test: fix misleading test

* test: fix typo

* test: make checks deterministic, less flaky

* enhancement(data-transfer): speed up asset totals; widen assets start reply window on remote pull

* fix(data-transfer): harden WebSocket JSON serialization for transfer frames

* fix(data-transfer): more transfer hardening

* test: fix test imports

* fix: await async write

* fix(data-transfer): resolve push transfer deadlock and harden async writes

- Extract createAssetsDestinationWritable so Writable callbacks run before
  uploadStream completes (same WS batch as PassThrough chunks).
- Add writable-async-write (write callback + drain/finished race; avoid hang
  on destroy).
- Wire push/pull, remote-source, file & directory sources to shared write().
- Fire-and-forget pull flush: Promise.resolve(flush).catch(onError); guard
  missing stream inside try.
- Add regression tests (assets writable, writable-async-write, handler checks).

* fix(data-transfer): write push stream batches sequentially

Use a for-loop with await write() instead of Promise.all over msg.data
so non-asset stages respect one in-flight write per objectMode Writable
and backpressure from writable-async-write.

- Validate minChunksForBackpressure in assertReadStreamBackpressure
- Add engine test for non-Buffer asset chunk byte progress (counts as 1)
- Assert push.ts keeps sequential msg.data handling in static handler test

* fix(data-transfer): align push streamAsset with remote-source and harden tests

- Push handler: combine stream/end under one branch, error when start is missing
  or action is invalid; shorten stage write comments.
- Engine version-matching tests: use a fresh createDestination() per engine so
  parallel transfers do not share destination writables (MaxListeners warnings).
- File destination tests: mock createWriteStream with a new Writable per call.
- CLI transfer tests: mock progress.stream so transfer::finish runs after transfer
  and clears the progress setInterval (fixes Jest worker hang).
- Misc test cleanup: assets-destination timeout clearTimeout, collect listeners,
  writable-async-write teardown; tighten push/static test descriptions.

* test: remove parity test

* fix(data-transfer): harden collect() and stabilize transfer tests

- collect(): settle once, remove listeners on resolve/reject, avoid double completion
- engine tests: add expectHeapGrowthWithinNoise for heap smoke checks
- CLI transfer tests: console spies in beforeAll; jest.restoreAllMocks in afterAll
- stream test: remove removeAllListeners workaround
2026-04-20 16:08:05 +02:00
Adrien L 1799b42980 fix: preserve relations in fill from another locale (#25703) 2026-04-10 16:30:34 +02:00
Ben Irvin 21402c2d26 feat(data-transfer): add directory export/import format (#25867) 2026-04-02 15:07:35 +02:00
Bassel Kanso 7530773d74 fix(content-manager): reduce excessive rerendering in relation fields (#25623) 2026-03-09 17:15:10 +02:00
Owen Rossi-Keen 348e09e801 feat(content-manager): filter list view by publication status (#25510)
* feat(content-manager): add publication status filter in list view

Add a publication status filter to the content manager list view when draft & publish is enabled

* feat(content-manager): translate status query filter into document service params

Transform a "status" filter in URL query to a top level document-service param

* feat(content-manager): update publication filter key to prevent conflict with user-defined attribute

* feat(content-manager): add unit tests to extractStatusFilter util

Adds unit tests to extractStatusFilter utility function with permutations of query params as inputs.

* feat(content-manager): expand extractStatusFilter unit tests

Adds additional test cases to extractStatusFilter util

* chore: rename status filter and add test

* enhancement: add full list of status filters

* chore: update labels

---------

Co-authored-by: Ben Irvin <ben@innerdvations.com>
Co-authored-by: Ben Irvin <ben.irvin@strapi.io>
2026-03-06 18:40:50 +00:00
markkaylor c1b52ed675 chore(upload): add import from url (#25496) 2026-02-27 09:33:24 +01:00
Jamie Howard 4fe538996e Future media lib folder creation (#25532)
* future(upload): add folder creation functionality in AssetsPage

* future(upload): update CreateFolderDialog to use props for open state and folder name

* future(upload): front/e2e tests for folder creation + error handling
2026-02-25 17:35:06 +00:00
Adrien L 903f4410ed future(upload): asset details drawer (#25498) 2026-02-24 17:02:08 +00:00
markkaylor e5475e965e future(upload): add upload progress dialog (#25378) 2026-02-13 15:23:15 +01:00
Jamie Howard 3a6698c923 future: implement grid view media library (#25365)
* future(upload): grid view, table view mobile responsiveness

* future(upload): inline compos in AssetsGrid

* future(upload): streamline asset previews, unit tests, e2e tests for grid view

* future(upload): check for presentation images

* future(upload): add grid display e2e test

* future(upload): improved styling and structure

* future(upload): fix test switch to table view

* future(upload): rename list to table

* future(upload): isMobile refactor

* future(upload): tidy up
2026-02-09 15:02:36 +00:00
Adrien L 4d52f2a5f5 future(upload): dnd upload file (#25364)
* future(upload): dnd upload file

* fix: positionning of the info message

* fix: added e2e test

* fix: drop files anywhere in the whole page

* fix: created context for dnd
fix: updated test to make it work on safari

* fix: remove translations

* fix: rename and refactor context for dnd upload

* fix: use ref instead of querySelector to target content
2026-02-06 19:15:44 +01:00
Marian Vonsien c0c0f90667 feat: persistent list view settings (#24246)
Co-authored-by: jsc <jsc@zyres.com>
2026-02-04 13:58:26 +01:00
Jamie Howard d11d6c8a60 future: implement assetlist component table view (#25297)
* future: implement assetlist component table view

* chore: refactor to assetspage

* chore: re add note regarding layout

* chore: add border to table

* chore(upload): revert to MediaLibraryPage

* chore(upload): use getTranslationKey

* chore(upload): refactor to AssetsPage

* test(upload): add unit tests for AssetsList

* test(upload): e2e verification for uploaded files

* fix(test): setup

* chore(test): improve document queries
2026-02-03 15:30:59 +00:00
jayesh70599 a946cead9c fix(content-manager): preserve origin id when cloning, to fetch relations so they are corrected re-populated (#25307)
* fix(content-manager): preserve origin id when cloning, to fetch relations

* test(content-manager): relax clone fallback heading assertion
2026-02-03 10:12:58 +01:00
jayesh70599 4cbb3221f5 fix(upload): prevent asset deletion when clicking cancel on EditAssetDialog (#25318)
* fix(upload): prevent asset deletion when clicking cancel in RemoveAssetDialog

* test: check handleCloseSpy not called with null

* test(e2e): add cancel deletion test

* test(e2e): fix flaky test

---------

Co-authored-by: Ben Irvin <ben@innerdvations.com>
2026-02-02 16:42:38 +01:00
markkaylor e62f45eea4 future(upload): add upload via filepicker (#25256) 2026-01-30 11:59:48 +01:00
Adrien L 2629db1107 chore: bump design-system to v2.1.2 (#25174) 2026-01-14 18:31:32 +01:00
James 39a09ca4c2 fix: validation issue in hidden fields when publishing (#24482)
Co-authored-by: Adrien Lepoutre <thewebsdoor@gmail.com>
Co-authored-by: Bassel Kanso <basselkanso82@gmail.com>
2025-12-21 18:21:16 +00:00
mathildeleg f0f36e3df4 fix: globe icon is shown even if field is not localized (#24890)
* fix: globe icon is shown even if field is not localized

* chore: feedback on PR

* fix: globe icon should only show at root-level

* fix: remove uniqueness check for slug in content-history e2e test
2025-12-17 17:44:57 +01:00
Ben Irvin 365e74c850 test: update test with new paths 2025-12-03 17:20:13 +01:00
Ben Irvin b59dc0fabd Merge branch 'develop' into test/merge-e2e-cli 2025-12-03 16:22:41 +01:00
Ben Irvin dfcffa7413 docs: readme files explain shared code 2025-12-03 16:22:21 +01:00
Ben Irvin 6cc814a191 test: move app-template to common dir 2025-12-03 16:18:46 +01:00
Araksya Gevorgyan e7ae51b01f feat(core): adding clear button to boolean toggle (#24836)
feat(core): adding clear button to boolean toggle
2025-12-02 17:33:05 +01:00
Ben Irvin 256b2170af test: fix hours format 2025-12-02 09:31:58 +01:00
Ben Irvin bf3086322b test: allow exact navtoheader 2025-12-02 00:28:15 +01:00
Ben Irvin 5c5eccccd6 test: fix by clicking save button 2025-12-01 20:22:29 +01:00
Ben Irvin c7b9ec9bd3 test: use exact for Cat link 2025-12-01 17:47:27 +01:00
Ben Irvin 08aa3832d8 Merge branch 'develop' into test/merge-e2e-cli 2025-12-01 12:36:05 +01:00
Ben Irvin 8b51b2c1fc test: fix broken tests 2025-12-01 12:27:15 +01:00
Ben Irvin db875fc9f7 test: fix settings endpoints path 2025-12-01 11:48:32 +01:00
Ben Irvin da184bd765 test: fix import paths 2025-12-01 11:23:15 +01:00
Adrien L f0f19e1d53 fix: enter key trigger in edit view form (#24744) 2025-12-01 09:14:54 +01:00
Ben Irvin b314bddf86 Merge branch 'develop' into test/merge-e2e-cli 2025-11-21 11:22:29 +01:00
Ben Irvin 08eb914d37 test: fix import paths 2025-11-21 10:45:32 +01:00
HichamELBSI 18948ab6b4 chore: update DS version to stable 2025-11-19 10:20:19 +01:00
Ben Irvin 099999c1d0 chore: fix paths 2025-11-18 15:36:48 +01:00
Ben Irvin 2f1e80a196 revert: move back test files 2025-11-18 15:15:03 +01:00
Ben Irvin a722518caf test: merge cli and e2e directories 2025-11-18 14:44:35 +01:00
Sam Phillemon 8b91eb9226 fix: added fix for not performing bulk actions when it is disabled (#21792)
Co-authored-by: Adrien Lepoutre <thewebsdoor@gmail.com>
2025-11-13 15:53:29 +01:00
mathildeleg 62638801ce fix: include locales to get last modified entries in widgets (#24647)
* fix: include locales to get last modified entries in widgets

* chore: add tests
2025-11-12 18:20:59 +01:00
mathildeleg 4cab8990ac fix: modifying&publishing locale should only update that locale (#24648)
* fix: modifying&publishing locale should only update that locale

* chore: add e2e tests

* fix: api test transaction rollback error

* fix: check correct text to fix e2e test

* chore: refactor code, fix api test

* fix: fix dischard change action; add publish back; remove bulk actions msg

* chore: correct import
2025-11-12 17:34:06 +01:00
Adrien L 8527d33b56 fix: bulk unpublish when creating a new locale (#24821) 2025-11-12 13:42:44 +01:00
Bassel Kanso 19187c080b chore: add support for node 24 (#24586) 2025-11-10 14:35:56 +02:00
Adrien L 807d2d1373 fix: hint for min and max value add characters word to text fields only (#24772) 2025-11-06 14:57:31 +01:00
Bassel Kanso 749ebd26c0 Merge branch 'main' into develop 2025-10-30 12:19:52 +02:00
Adrien L 9c630ba433 fix: prefill non translatable fields when creating new document locale (#24659) 2025-10-29 15:50:50 +01:00