* Added screen readers notification support
* Making the sr-live div not visible for users
* Moved aria-live outside the repeat
---------
Co-authored-by: Niels Lyngsø <nsl@umbraco.dk>
* V16: Cache Version Mechanism (#19747)
* Add RepositoryCacheVersion table
* Add repository
* Add Cache version lock
* Add GetAll method to repository
* Add RepositoryCacheVersionService
* Remember to add lock in data creator
* Work my way out of constructor hell
This is why we use DI folks. 🤦
* Add checks to specific cache policies
* Fix migration
* Add to schema creator
* Fix database access
* Initialize the cache version on in memory miss
* Make cache version service internal
* Add tests
* Apply suggestions from code review
Co-authored-by: Andy Butland <abutland73@gmail.com>
* Add missing obsoletions
* Prefer full name
---------
Co-authored-by: Andy Butland <abutland73@gmail.com>
* fixed merge
* V16/feature/move last synced id to db (#19884)
* Foundation work for moving last synced id
* register manager and repo in dependency injection
* Fixing to make tests work
* Replacing the use of the old LastSyncedFileManager.cs with the new LastSyncedManager.cs
* Testing to delete out of sync id and old entries
* changing some stuff to please the reviewer.
* Inverted saving methods id check and fixed documentation mishaps
* Loadbalancing: Add Cache Sync service to allow us to roll forward isolated caches when backoffice is load balanced. (#20398)
* Split cache refreshers into internal and external caches
* Add obsolete constructor for CacheInstructionsPruningJob
* Add xml docs
* Move lastID management into CacheInstructionService
* Cache last synced ids in memory
* Lock when processing instructions
* Sync caches when out of sync
* Fix constructors for ICacheSyncService
* Cache version on request
* Register caches as synced when instructions are processed
* Rename CacheVersionAccessor to IRepositoryCacheVersionAccessor
* Set caches as synced before actually syncing the caches
* Set caches as synced before syncing, within scope, this should also lock the cache version from being written to whilst updating caches
* Only check version for backoffice requests
* Clear request cache when caches are syned
* Default to using NOOP cache version service
* Don't generate local identity in database server messenger anymore
* Fix ambiguous constructor
* Add helper method to switch to load balanced isolated caches
* Fix LastSyncedManagerTests
* Fix RepositoryCacheVersionServiceTests
* Fix DefaultCachePolicyTests
* Use correct constructor in FullDataSetRepositoryCachePolicy
* Minor cleanup
* Add XML docs
* Add more xml docs
* Apply suggestions from code review
Co-authored-by: Nikolaj Geisle <70372949+Zeegaan@users.noreply.github.com>
---------
Co-authored-by: Zeegaan <skrivdetud@gmail.com>
Co-authored-by: Nikolaj Geisle <70372949+Zeegaan@users.noreply.github.com>
* Fix migration plan
* fix tests
* Fix integration tests
* Fix changes from github review
* Move premigrations to v17
* Make lock constantws sequential
* Fix comment
* Make IRepositoryCacheVersionService and ICacheSyncService protected on EntityRepositoryBase
---------
Co-authored-by: Andy Butland <abutland73@gmail.com>
Co-authored-by: Nicklas Kramer <nik@umbraco.dk>
Co-authored-by: NillasKA <kramernicklas@gmail.com>
Co-authored-by: Zeegaan <skrivdetud@gmail.com>
Co-authored-by: Nikolaj Geisle <70372949+Zeegaan@users.noreply.github.com>
* #20035 Updated validation context example to reflect issue
* Fixes#20035 by handling returned promise
* just catch if it was rejected
---------
Co-authored-by: Niels Lyngsø <niels.lyngso@gmail.com>
* entity signs folder
* update package.json
* entity sign extension type
* implement entity sign extension
* POC document has collection sign
* implement icon kind
* rename file
* note about this being wrong
* move type
* change import
* entity sign bundle element
* implement icon kind label
* Display icon and show popover on hover
* Fix the popover logic
* Moving the sign icon to the iconContainer to handle position
* fix missing document tree icon
* revert removal of icon slot render
* remove unused styles
* document tree item - inherit styles from the base element
* correctly extend styles
* revert document tree item icon change
* move icon container html
* add method to get an icon name
* Adding delay to the popover when opens
* Add animation to popover when it opens
* Making the parent of the entity bundle trigger popover on hover
* Display 2 icons over the main icon
* Updating some styles
* Position one icon on top of the other and add css style variables
* Changing popover-container for position-anchor
* generate server types
* Using css properties to display and animate the signs
* Stacked icons using grid property
* Use translate property to move the icons around
* Added fallback styles for firefox
* formatting of state properties
* implement entity flags across content types
* lint fixes
* fix import extension mess
* await both properties for this to work
* transfer flags to entity sign bundle ext initializer
* is-protected entity sign
* Made signs infobox show downward.
* Changed px to rems
* Change the manifest for the actual signs we will display
* add icon color, remove unused label, add weight
* changes styles + animation + slotted icon inside
* Overwrite pending changes when schedule is active and added green color to schedule.
* adjust animation
* add background for sign
* avoid re-rendering when properties are being set
* Bind the flags to each sign manifest.
* increase signs offset
* fix document tree item draft style
* Removed unused exports.
* Remove duplicated hover timer logic.
* Added eslint disable line to keep the empty method for future implementation.
* rename class
* Rename interface for optional entity flags
* make alias more explicit to prevent future collisions
* include alias in field name to make it clear that we do not except all colors
* align function names with conventions
* always include flags in document items
* compose tree types
* set up entity-flag module and move related types
* change label
---------
Co-authored-by: Niels Lyngsø <niels.lyngso@gmail.com>
Co-authored-by: Mads Rasmussen <madsr@hey.com>
* Show selected icon and color(if any) when open the modal.
* Add a button inside the modal that clears the value
* Deselect the value if we click the already selected icon.
* Add placeholder icon and some localization for labels
* Remove unused variable
* Added config for the placeholder icon in case no icon is selected.
* remove use of modals in collections
* add parent path to support absolute path generation
* add note
* make tree load more minimalistic
* set type and expand inherited styles
* also set title
* Update src/Umbraco.Web.UI.Client/src/packages/documents/documents/collection/views/table/document-table-collection-view.element.ts
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
* create actions should not open as modal
* remove unused import
* fix router getActivePath
* make expand open the collection
* setTargetTakeSize to low when Collection parent
* expose typeUnique
* fix opening collection
* remove log
* active manager
* export
* impl active manager
* prepare for search param redirects
* fixed collapse feature
* set routes to undefined
* preserveQuery
* ensureSlash
* make a hard redirect for collections
* only if anscenstors are present in data.
* not full match anyway
* only forceShow on hasCollection
* remove umb-section-sidebar-context-menu
* rename to isMenu
* Update src/Umbraco.Web.UI.Client/src/packages/documents/documents/workspace/document-workspace-split-view.element.ts
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
* Update src/Umbraco.Web.UI.Client/src/packages/documents/documents/tree/tree-item/document-tree-item.context.ts
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
---------
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
* added hovering and focus border to RTE
* fix main to OG
* fix to main again
* I'm going to cry
* Added label for splitviewdivider
* Added localization to divider label and updated common lang files
* Removes unused import
---------
Co-authored-by: Oskar kruger <obk@umbraco.dk>
Co-authored-by: Jacob Overgaard <752371+iOvergaard@users.noreply.github.com>
* Serverside generated preview URLs
* Add URL provider notation to UrlInfo
* Change preview URL generation to happen at preview time based on provider alias
* Update XML docs
* Always add culture (if available) to preview URL
* Do not log user input (security vulnerability)
* Fix typo
* Re-generate TypeScript client
from Management API
* Deprecated `UmbDocumentPreviewRepository.enter()` (for v19)
Fixed TS errors
Added temp stub for `getPreviewUrl`
* Adds `previewOption` extension-type
* Adds "default" `previewOption` kind
* Relocated "Save and Preview" workspace action
reworked using the "default" `previewOption` kind.
* Added stub for "urlProvider" `previewOption` kind
* Renamed "workspace-action-default-kind.element.ts"
to a more suitable filename.
Exported element so can be reused in other packages,
e.g. documents, for the new "save and preview" feature.
* Refactored "Save and Preview" button
to work with first action's manifest/API.
* Reverted `previewOption` extension-type
Re-engineered to make a "urlProvider" kind for `workspaceActionMenuItem`.
This is to simplify the extension point and surrounding logic.
* Modified `saveAndPreview` Document Workspace Context
to accept a URL Provider Alias.
* Refactored "Save and Preview" button
to extend `UmbWorkspaceActionElement`.
This did mean exposing certain methods/properties to be overridable.
* Used `umbPeekError` to surface any errors to the user
* Renamed `urlProvider` kind to `previewOption`
* Relocated `urlProviderAlias` inside the `meta` property
* also throw an error
* Added missing `await`
* Fix build errors after forward merge
---------
Co-authored-by: leekelleher <leekelleher@gmail.com>
Co-authored-by: Jacob Overgaard <752371+iOvergaard@users.noreply.github.com>
Co-authored-by: Laura Neto <12862535+lauraneto@users.noreply.github.com>
* Start work
* Introduce dto
* Start making repository
* Add migrations
* Implement fetchable first job
* Fix up to also finish tasks
* Refactor jobs to distributed background jobs
* Filter jobs correctly on LastRun
* Hardcode delay
* Add settings to configure delay and period
* Fix formatting
* Add default data
* Add update on startup, which will update periods on startup
* Refactor service to return job directly
* Update src/Umbraco.Infrastructure/Services/Implement/DistributedJobService.cs
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
* Update src/Umbraco.Infrastructure/BackgroundJobs/DistributedBackgroundJobHostedService.cs
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
* Update src/Umbraco.Infrastructure/Migrations/Install/DatabaseDataCreator.cs
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
* Update src/Umbraco.Infrastructure/Migrations/Install/DatabaseDataCreator.cs
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
* Update src/Umbraco.Infrastructure/BackgroundJobs/DistributedBackgroundJobHostedService.cs
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
* Remove unused
* Move jobs and make internal
* make OpenIddictCleanupJob.cs public, as it is used elsewhere
* Minor docstring changes
* Update src/Umbraco.Core/Persistence/Constants-Locks.cs
Co-authored-by: Mole <nikolajlauridsen@protonmail.ch>
* ´Throw correct exceptions
* Update xml doc
* Remove business logic from repository
* Remove more business logic from repository into service
* Remove adding jobs from migration
* fix creation
* Rename to ExecuteAsync
---------
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: mole <nikolajlauridsen@protonmail.ch>
Fix failing SQLServer integration tests
Adjusted the tests so that the created content is retrieved again after creation, instead of using the returned IContent.
This is needed because SQLServer, when using datetime, rounds to the closest .000, .003, or .007, which would cause the comparisons to fail.
We should consider moving away from datetime to datetime2, as the former should be avoided according to Microsoft.
https://learn.microsoft.com/en-us/sql/t-sql/data-types/datetime-transact-sql?view=sql-server-ver17
* fix: Identified everywhere the bugs happen and implemented the InGroupOf() extension to successfully batch the SQL queries
* Added helper function in case this batching functionality is in future scopes
* Accidently deleted a groupIds.Any() check while adding BatchFetch helper function
* Removed helper function and instead utilising built in FetchByGroups extension method
* Member type container in management API
* Fix naming
* Update service
* Fix services
* Register IMemberTypeContainerService in DI container
Added a new service registration for `IMemberTypeContainerService`
in the `AddCoreServices` method of `UmbracoBuilder.cs`.
* Replace auditRepository with auditService in constructor
* Add MemberTypeContainer to UdiEntityType mapping
---------
Co-authored-by: georgebid <91198628+georgebid@users.noreply.github.com>
Co-authored-by: Sebastiaan Janssen <sebastiaan@umbraco.com>
Remove `umb-media-picker-create-item` component
it was not being used internally.
There was previously an issue due to a routing issue,
(in that the Media Picker modal wasn't routed),
so the Media create workspace wouldn't work.
This could be resolved in future and see this feature return.
* add interface for item data resolver
* export interface
* add interface to Document item data resolver implementation
* allow to pass a item data resolver to trash action
* pipe resolver to modal
* pass resolver to document trash manifest
* use resolver in modal when available
* Bump Azure.Identity from 1.13.2 to 1.16.0
* Bump BenchmarkDotNet from 0.14.0 to 0.15.4
* Bump Bogus from 35.6.3 to 35.6.4
* Bump HtmlAgilityPack from 1.12.1 to 1.12.4
* Bump MailKit from 4.11.0 to 4.14.0
* Bump MessagePack from 3.1.3 to 3.1.4
* Bump Microsoft.AspNetCore.Mvc.Testing from 9.0.4 to 9.0.9
* Bump Microsoft.Data.SqlClient from 6.0.1 to 6.1.1
* Bump Microsoft.Extensions.Caching.Hybrid from 9.8.0 to 9.9.0
* Bump Microsoft.Extensions.Logging.Debug from 9.0.4 to 9.0.9
* Bump Microsoft.NET.Test.Sdk from 17.13.0 to 18.0.0
* Bump ncrontab from 3.3.3 to 3.4.0
* Bump Nerdbank.GitVersioning from 3.7.115 to 3.8.118
* Bump OpenIddict packages from 6.2.1 to 7.1.0
* Bump Serilog from 4.2.0 to 4.3.0
* Bump Serilog.Sinks.File from 6.0.0 to 7.0.0
* Bump Swashbuckle.AspNetCore from 8.1.1 to 9.0.6
* Bump System.Data.Odbc from 9.0.4 to 9.0.9
* Bump System.Data.OleDb from 9.0.4 to 9.0.9
* Bump Microsoft.IdentityModel.JsonWebTokens from 8.8.0 to 8.14.0
* Bump SixLabors.ImageSharp.Web from 3.1.5 to 3.2.0
- Implicit global usings were made opt-in (https://github.com/SixLabors/ImageSharp.Web/pull/391)
* Bump NJsonSchema from 11.0.2 to 11.5.1
* Bump Microsoft packages from 10.0.0-preview.7.25380.108 to 10.0.0-rc.1.25451.107
* Remove Azure.Identity package reference as implicitly referenced versions are no longer vulnerable
* Remove System.Runtime.Caching package reference as it is not used
* Remove System.Net.Http package reference as it is not used
* Set 'allowPrerelease' to true
Global.json was showing as invalid due to a pre-release version being referenced while 'allowPrerelease' was set to 'false'. This can be set to 'false' again later on.
* Remove System.Security.Cryptography.Xml package reference as implicitly referenced versions are no longer vulnerable
* Remove System.Text.RegularExpressions package reference as implicitly referenced versions are no longer vulnerable
* Remove Microsoft.IdentityModel.JsonWebTokens package reference as implicitly referenced versions are no longer vulnerable
* Remove System.Text.Encodings.Web package reference as it is not used
* Remove Microsoft.Data.SqlClient package reference as implicitly referenced versions are no longer vulnerable
* Remove Lucene.Net.Replicator package reference as implicitly referenced versions are no longer vulnerable
* Remove Microsoft.Extensions.Caching.Memory package reference where not used
* Add EFCore migration for OpenIddict v7 update
* Apply suggestion from @kjac
Cosmetic update: Removed blank line as suggested by Copilot
---------
Co-authored-by: Kenn Jacobsen <kja@umbraco.dk>
* Added tests for changing own password
* Updated tests for current user profile
* Bumped version
* Make CurrentUserProfile tests run in the pipeline
* Added step to ensure the error notification toast not displays
* Reverted npm command
* Added tests for media delivery api
* Added tests for content delivery api
* Fixed import
* Updated skip tag and issue link for the failing tests
* Bumped version
* Split delivery api tests into 2 files
* Updated tests for media delivery Api
* Cleaned up
* Fixed comments
* Fixed comments