Commit Graph

70297 Commits

Author SHA1 Message Date
Jacob Overgaard
04f98a758d Log viewer: Improves search functionality and code quality (#20913)
* fix: adds correct fallback for dates to avoid console error

* fix: resolves a TODO by using UmbStringState over rxjs Subject

* Refactor log viewer search to use UmbStringState and improve architecture

- Replace RxJS Subject with UmbStringState to follow Umbraco patterns
- Move debounced search observation to messages list component
  - Only triggers when component is mounted (logs are visible)
  - Prevents unnecessary API calls on other views
- Simplify search input to just update context state
- Add semantic form structure with role="search" for accessibility
- Add visually-hidden submit button for keyboard navigation
- Allow re-running same query via form submission (bypasses debounce)
- Follow same architecture pattern as date range selector

This resolves the TODO to not use RxJS directly and significantly improves
separation of concerns where the data consumer (messages list) owns the
fetching logic.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>

* Add visible refresh button to log viewer search input

- Add refresh button with icon-refresh next to save and clear buttons
- Allows users to re-run search with same query (bypasses debounce)
- Remove form structure that couldn't work due to Shadow DOM boundaries
- Simplify parent component by removing form submission logic
- Keep role="search" for accessibility

The refresh button provides a more discoverable UI than the hidden submit
button approach and avoids Shadow DOM event bubbling issues.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>

* Fix debouncing by adding local state in search input

- Add local UmbStringState to debounce user input (250ms)
- Only update context filterExpression after debounce
- Remove debouncing from messages list (now handled at input level)
- Saved searches and refresh button still bypass debounce for immediate feedback

This restores the expected debouncing behavior while maintaining the clean
architecture where the messages list triggers searches based on context changes.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>

* chore: cleans up in docs

* Apply suggestion from @Copilot

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

---------

Co-authored-by: Claude <noreply@anthropic.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2025-11-24 08:44:45 +00:00
Nhu Dinh
bb88be9d2e E2E: QA Updated .fixme() acceptance tests (#20919)
* Added steps to wait for upload to complete

* Update tests for content with media picker

* Removed fixme tags

* Updated fixme tests

* Bumped version
2025-11-24 12:56:52 +07:00
Nhu Dinh
60b886dc9c E2E: Updated the failing Default Config tests (#20818)
* Updated block list tests as the “Add Block” button is hidden after reaching the maximum limit.

* Updated validation option due to UI changes

* Updated tests for current user profile as waitForNetworkToBeIdle() is removed

* Fixed flaky tests

* Bumped version

* Updated tests for current user profile

* Bumped version
2025-11-24 12:54:36 +07:00
Callum Whyte
908974c6ac Preserve existing Examine FieldDefinitionCollection if it already exists (#20931)
* Preserve existing Examine FieldDefinitionCollection if it already exists (#20267)

* Fix missing bracket

* Minor tidy/addition of comments; addition of unit tests.

---------

Co-authored-by: Andy Butland <abutland73@gmail.com>
2025-11-24 09:53:38 +09:00
Niels Lyngsø
488f373fea Properties: Implement container queries (#20832)
implement container queries for properties
2025-11-21 13:10:36 +01:00
Niels Lyngsø
35acfcb7e2 Trashbin: introduce a empty trash icon (#20629)
* add empty trash icon and use it for empty trash-bin and delete from trash-bin

* package lock

---------

Co-authored-by: Andy Butland <abutland73@gmail.com>
2025-11-21 13:05:49 +01:00
Niels Lyngsø
2939eb4f81 Bock Type Card: make actions stand clear from thumbnail/color (#20895)
clean up and make actions stand clear from custom background colors/images
2025-11-21 11:19:34 +01:00
netaddicts-council
2f02bee421 Sets the default name for the content listview workspace name to 'Child items' instead or 'Collection' (#20907)
Sets the default name for thecontent listview workspace name to 'Child items' instead of 'Collection' (Fixes #20860)
2025-11-20 16:03:25 +01:00
Ronald Barendse
6a7360aded Member types: Implement containers (#20706)
* Add MemberType/MemberTypeContainer to supported EntityContainer object types

* Implement MemberTypeContainerRepository

* Update and add member type container API endpoints

* Complete server and client-side implementation for member type container support.

* Fix FE linting errors.

* Export folder constants.

* Applied suggestions from code review.

* Updated management API authorization tests for member types.

* Resolved breaking change on copy member type controller.

* Allow content types to be moved to own folder without error.

* Use flag providers for member type siblings endpoint.

---------

Co-authored-by: Andy Butland <abutland73@gmail.com>
2025-11-20 11:28:03 +01:00
Niels Lyngsø
f70f6d4aba Content Type Designer: Only update tab name on change (#20786)
Do not update tab name on input, as it is inappropriate when having name conflicts
2025-11-20 09:37:22 +00:00
Andy Butland
75dd9fab2b Redirect tracking: Ensure redirects with domains are stored with the domain node id prefix (closes #20894) (#20900)
* Ensure redirects with domains are stored with the domain node id prefix.

* Handle removal of self-referencing redirect when domains are used.

* Use entity path to save further queries for retrieving ancestor IDs.

* Apply suggestions from code review

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* Applied refactoring suggested in code review.

---------

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2025-11-20 16:30:38 +09:00
NguyenThuyLan
2f6fb7e395 Block-grid, Block-list: Fix issue translation in clipboard is missing (#20756) (#20903)
Fix issue translation in clipboard

Co-authored-by: Lan Nguyen Thuy <lnt@umbraco.dk>
2025-11-20 07:14:51 +01:00
Lars-Erik Aabech
43bdad59b6 Integration Tests: Use empty temp folder for legacy lang config when using integration tests outside core (closes #20888) (#20889)
* Use empty folder under temp as localized text source folder in non umbraco core integration tests.

* Added clarifying comment to the GetLocalizedTextService override for tests
2025-11-20 06:54:35 +01:00
Niels Lyngsø
61a5d26a93 Merge branch 'release/17.0' 2025-11-19 17:10:34 +01:00
Niels Lyngsø
e45f232f44 update workspace context example readme 2025-11-19 17:10:04 +01:00
Andy Butland
745d74104e Migrations: Handles rich text blocks created with TinyMCE in convert local links migration and refreshes internal datatype cache following migration requiring cache rebuild (closes #20885) (#20887)
Handles rich text blocks created with TinyMCE in convert local links migration.
Refreshes internal datatype cache following migration requiring cache rebuild.
2025-11-19 15:22:57 +01:00
Andy Butland
a488d77ce7 Migrations: Handles rich text blocks created with TinyMCE in convert local links migration and refreshes internal datatype cache following migration requiring cache rebuild (closes #20885) (#20887)
Handles rich text blocks created with TinyMCE in convert local links migration.
Refreshes internal datatype cache following migration requiring cache rebuild.
2025-11-19 14:54:12 +01:00
NguyenThuyLan
386611bc70 TextBox, TextArea: Message max length validation (close #20710) (#20886)
* fix bug max length messsage

* change localization

---------

Co-authored-by: Lan Nguyen Thuy <lnt@umbraco.dk>
2025-11-19 14:24:32 +01:00
Niels Lyngsø
cc8d90be91 Cherry picked 20733 2025-11-19 10:43:09 +01:00
Niels Lyngsø
e2a8bea579 TODOs 2025-11-19 09:55:59 +01:00
Engiber Lozada
e46e65ef22 Content types: Apply text selection when unlocking alias (#20882)
Added requestAnimationFrame for alias text selection.
2025-11-18 16:17:35 +01:00
Kenn Jacobsen
95c9d48b6e Rendering: Don't cache RTE value conversion (closes #20867) (#20880)
Don't cache RTE rendering.
2025-11-18 15:36:18 +01:00
Nhu Dinh
a59476a043 E2E: QA Updated tests with the .skip tag (#20739)
* Removed skips for tests whose related issues have been fixed.

* Remove skip tags and update tests for content with list view

* Removed skip tags

* Added comment and change to fixme for tests that need to implement later

* Removed skip tag

* Bumped version
2025-11-18 11:37:53 +00:00
Niels Lyngsø
c1b3f41f7c TextBox: Data-type validation for max chars (fixes #18817) (#20843)
* configure max chars for textbox

* min 1

* Adds server-side check for text box min and max character validation.

* Applied suggestion from code review.

* Bumped version of test helper

* Fixed test that was creating a text string data type with too large a maximum characters setting.

---------

Co-authored-by: Andy Butland <abutland73@gmail.com>
Co-authored-by: Nhu Dinh <hnd@umbraco.dk>
2025-11-18 08:16:59 +01:00
Jacob Overgaard
92b5d11c95 Backoffice Preview: Adds notice that the site is not real (#20864)
feat: adds notice to the static backoffice site explaining to the reader that the content is not real
2025-11-17 18:31:55 +01:00
Jacob Overgaard
b5ffe8930b chore: fixes merge conflict 2025-11-17 17:20:14 +01:00
Jacob Overgaard
a89437e309 test: uses a real non-date value for testing 2025-11-17 17:17:59 +01:00
dependabot[bot]
b8c31350fb Bump the npm_and_yarn group across 2 directories with 1 update (#20863)
Bumps the npm_and_yarn group with 1 update in the /src/Umbraco.Web.UI.Client directory: [js-yaml](https://github.com/nodeca/js-yaml).
Bumps the npm_and_yarn group with 1 update in the /src/Umbraco.Web.UI.Login directory: [js-yaml](https://github.com/nodeca/js-yaml).


Updates `js-yaml` from 4.1.0 to 4.1.1
- [Changelog](https://github.com/nodeca/js-yaml/blob/master/CHANGELOG.md)
- [Commits](https://github.com/nodeca/js-yaml/compare/4.1.0...4.1.1)

Updates `js-yaml` from 4.1.0 to 4.1.1
- [Changelog](https://github.com/nodeca/js-yaml/blob/master/CHANGELOG.md)
- [Commits](https://github.com/nodeca/js-yaml/compare/4.1.0...4.1.1)

---
updated-dependencies:
- dependency-name: js-yaml
  dependency-version: 4.1.1
  dependency-type: indirect
  dependency-group: npm_and_yarn
- dependency-name: js-yaml
  dependency-version: 4.1.1
  dependency-type: indirect
  dependency-group: npm_and_yarn
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-11-17 16:01:59 +00:00
Jacob Overgaard
bf35477399 chore: fixes merge conflict 2025-11-17 16:59:25 +01:00
Jacob Overgaard
45c8be4bb7 Merge remote-tracking branch 'origin/v16/dev' 2025-11-17 16:40:11 +01:00
Jacob Overgaard
aed7505e4b Merge remote-tracking branch 'origin/release/16.4' into v16/dev 2025-11-17 16:39:38 +01:00
Jacob Overgaard
9035f160fe Merge remote-tracking branch 'origin/release/17.0' 2025-11-17 16:37:58 +01:00
Mole
57c66faf40 Update microsoft packages to non rc version (#20858)
* Update RC2 packages to 10.0.0

* Also update hybrid cache project
2025-11-17 15:26:30 +00:00
Niels Lyngsø
08990b9147 Document input: Find variant name (#20853)
* ability to override get name

* implement document name method
2025-11-17 14:41:47 +00:00
Engiber Lozada
eae35a27ab Block Entry Context: Update the settingsPropertyValueByAlias to observe settings. (#20861)
Replaced content for settings in the settingsPropertyValueByAlias.
2025-11-17 13:54:30 +00:00
Laura Neto
6d44b42400 Use dependency track devops task (#20854)
* Replace dependency track bom script with devops task

* Introduce new url variable in order to fix new task uri

The initial variable contained the api path (/api) in the URL.
2025-11-17 14:54:03 +01:00
Kenn Jacobsen
590a020303 Redact back-office PKCE codes from the server (V16) (#20851)
Redact back-office PKCE codes from the server (#20847)

* Redact back-office PKCE codes from the server

* Update src/Umbraco.Cms.Api.Common/DependencyInjection/HideBackOfficeTokensHandler.cs

---------

Co-authored-by: Andy Butland <abutland73@gmail.com>
2025-11-17 11:17:18 +01:00
Kenn Jacobsen
23fc355e61 Redact back-office PKCE codes from the server (#20847)
* Redact back-office PKCE codes from the server

* Update src/Umbraco.Cms.Api.Common/DependencyInjection/HideBackOfficeTokensHandler.cs

---------

Co-authored-by: Andy Butland <abutland73@gmail.com>
2025-11-17 09:50:31 +01:00
Niels Lyngsø
b868a349de Block list: ensure block items stay top-aligned when sorting (#20842)
ensure block items stay top-aligned when sorting
2025-11-15 08:32:18 +01:00
Warren Buckley
1fedaa3d8f Removes npm commands from MSBuild of the CSPROJ for umbraco-extension dotnet new template (#20839)
* Removes npm commands from the MSBuild of the CSPROJ of the umbraco-extension dotnet new template

Was agreed by the community package team to remove this, as this DX can cause more issues than actually help users in our opinion

* Removed the unused value - good catch by Copilot
2025-11-14 21:25:19 +01:00
Nicklas Kramer
43230dfac8 Redirects: Fixes self referencing redirects (closes #20139) (#20767)
* Adding fix for self-referncing redirects for 17

* Using umbraco context on failing tests

* Tests to see if self referencing redirects gets deleted

* Refactoring and adding correct tests.

* Expanding tests for RedirectTrackerTests.cs

* Optimize by only retrieving th list of existing URLs for a content item if we have a valid route to create a redirect for.

* Extract method refactoring, added explanatory comment, fixed warnings and formatting.

* Resolved warnings in RedirectService.

* Minor naming and formatting refactor in tests.

---------

Co-authored-by: Andy Butland <abutland73@gmail.com>
2025-11-14 16:37:59 +00:00
Kenn Jacobsen
ba7d550a74 Move access/refresh tokens to secure cookies (V17) (#20820)
* Move access/refresh tokens to secure cookies (#20779)

* feat: adds the `credentials: include` header to all manual requests

* feat: adds `credentials: include` as a configurable option to xhr requests (and sets it by default to true)

* feat: configures the auto-generated fetch client from hey-api to include credentials by default

* Add OpenIddict handler to hide tokens from the back-office client

* Make back-office token redaction optional (default false)

* Clear back-office token cookies on logout

* Add configuration for backoffice cookie settings

* Make cookies forcefully secure + move cookie handler enabling to the BackOfficeTokenCookieSettings

* Use the "__Host-" prefix for cookie names

* docs: adds documentation on cookie settings

* build: sets up launch profile for vscode with new cookie recommended settings

* docs: adds extra note around SameSite settings

* docs: adds extra note around SameSite settings

* Respect sites that do not use HTTPS

* Explicitly invalidate potentially valid, old refresh tokens that should no longer be used

* Removed obsolete const

---------

Co-authored-by: Jacob Overgaard <752371+iOvergaard@users.noreply.github.com>

* Remove configuration option

* Invalidate all existing access tokens on upgrade

* docs: updates recommended settings for development

* build: removes non-existing variable

* Skip flaky test

* Bumped version of our test helpers to fix failing tests

---------

Co-authored-by: Jacob Overgaard <752371+iOvergaard@users.noreply.github.com>
Co-authored-by: Andreas Zerbst <andr317c@live.dk>
2025-11-14 17:10:57 +01:00
Ronald Barendse
0600df4211 Fix EntityContainer.GetUdi() for member type containers (#20840)
Fix EntityContainer.GetUdi() for member type containers
2025-11-14 16:09:46 +00:00
Engiber Lozada
01b300336b Property Editors: Added form control and mandatory support to editors in picker group(Color, Content, Date, Document, Eye dropper, Multi URL). (#20684)
* Added form control support to color picker.

* Avoid submit when readonly is true.

* Added mandatory support.

* Added form control support to date picker.

* Removed an unused import.

* Added form control and mandatory support to document picker.

* Added form control support to Eye dropper.

* Added. mandatory support for multi url picker also bind inner input in the eye dropper.

* Removed unused import.

* fix update of value

* fixing not needed override of get and set methods

---------

Co-authored-by: Niels Lyngsø <niels.lyngso@gmail.com>
2025-11-14 14:04:20 +00:00
Eric
6b4503cc7b Content Sorting: increase modal size (#20835)
Modal size increase for sorting content
2025-11-14 14:42:30 +01:00
Nicklas Kramer
06c566c074 News Dashboard: Replacing old hostname, with new custom one. (#20837)
Changing hostname of dashboard to a new custom one.
2025-11-14 13:33:35 +00:00
Mole
2a609e1eca Load Balancing: Clear request cache in cache version accessor on cache version update to prevent unnecessary cache roll forwards (#20831)
* Clear request cache on version update

* Update src/Umbraco.Core/Cache/IRepositoryCacheVersionAccessor.cs

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

---------

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2025-11-14 14:14:28 +01:00
NillasKA
342cb171eb Revert "Changing news dashboard URL to a new custom hostname"
This reverts commit e850c131e5.
2025-11-14 13:36:26 +01:00
NillasKA
e850c131e5 Changing news dashboard URL to a new custom hostname 2025-11-14 13:31:06 +01:00
Andy Butland
a4438e5b21 Decimal property editor: Flexibly parse decimal value with different separators (closes #20823) (#20828)
* Flexibly parse decimal value with different separators.

* Applied suggestions from code review.
2025-11-14 10:20:12 +09:00