* Don't add a blanket rule to allow synchronous IO, should not be necessary for the new management API
* Add obsolete warning
* Catch errors while adding global rule to allow synchronous IO, which fails on non-windows machines
* Some updates based on PR feedback
* Added new notification to hook in after the premigrations and use this to init different services.
* Force MaxDegreeOfParallelism to 1, while investigating scopes
* Tried some more workarounds
* Updated scopes and changed parallel to non parallel to ensure migration works
* Missing scope
* Make it parallel again - The secret is, the SuppressFlow needs to be when you create the task, but not on the await!.
* Fixed issue when DEBUG_SCOPES is not added to tests.
* Remove test exception
* Try build on ubuntu again, even that we know it can be stuck. Just a test to see if all tests pass
* Updated comment
---------
Co-authored-by: kjac <kja@umbraco.dk>
* Ensure routing respect publish status
* Check published status per culture
* Added PublishStatusService to get publish status for a given documentkey and culture
* Added tests and fixed bug with a static fields that should not have been static
* Make sure the write and read cache key is always the same no matter where the request comes from
There is an edge case where the incomming culure is fully capitalized while the read is camelcase
* Fixed review comments
---------
Co-authored-by: Sven Geusens <sge@umbraco.dk>
* Remove nucache reference from Web.Common
* Get tests building-ish
* Move ReservedFieldNamesService to the right project
* Remove IPublishedSnapshotStatus
* Added functionality to the INavigationQueryService to get root keys
* Fixed issue with navigation
* Remove IPublishedSnapshot from UmbracoContext
* Begin removing usage of IPublishedSnapshot from PublishedContentExtensions
* Fix PublishedContentExtensions.cs
* Don't use snapshots in delivery media api
* Use IPublishedMediaCache in QueryMediaApiController
* Remove more usages of IPublishedSnapshotAccessor
* Comment out tests
* Remove more usages of PublishedSnapshotAccessor
* Remove PublishedSnapshot from property
* Fixed test build
* Fix errors
* Fix some tests
* Delete NuCache 🎉
* Implement DatabaseCacheRebuilder
* Remove usage of IPublishedSnapshotService
* Remove IPublishedSnapshotService
* Remove TestPublishedSnapshotAccessor and make tests build
* Don't test Snapshot cachelevel
It's no longer supported
* Fix BlockEditorConverter
Element != Element document type
* Remember to set cachemanager
* Fix RichTextParserTests
* Implement TryGetLevel on INavigationQueryService
* Fake level and obsolete it in PublishedContent
* Remove ChildrenForAllCultures
* Hack Path property on PublishedContent
* Remove usages of IPublishedSnapshot in tests
* More ConvertersTests
* Add hybrid cache to integration tests
We can actually do this now because we no longer save files on disk
* Rename IPublishedSnapshotRebuilder to ICacheRebuilder
* Comment out tests
* V15: Replacing the usages of Parent (navigation data) from IPublishedContent (#17125)
* Fix .Parent references in PublishedContentExtensions
* Add missing methods to FriendlyPublishedContentExtensions (ones that you were able to call on the content directly as they now require extra params)
* Fix references from the extension methods
* Fix dependencies in tests
* Replace IPublishedSnapshotAccessor with the content cache in tests
* Resolving more .Parent references
* Fix unit tests
* Obsolete and use extension methods
* Remove private method and use extension instead
* Moving code around
* Fix tests
* Fix more references
* Cleanup
* Fix more usages
* Resolve merge conflict
* Fix tests
* Cleanup
* Fix more tests
* Fixed unit tests
* Cleanup
* Replace last usages
---------
Co-authored-by: Bjarke Berg <mail@bergmania.dk>
* Remove usage of IPublishedSnapshotAccessor from IRequestItemProvider
* Post merge fixup
* Remo IPublishedSnapshot
* Add HasAny to IDocumentUrlService
* Fix TextBuilder
* Fix modelsbuilder tests
* Use explicit types
* Implement GetByContentType
* Support element types in PublishedContentTypeCache
* Run enlistments before publishing notifications
* Fix elements cache refreshing
* Implement GetByUdi
* Implement GetAtRoot
* Implement GetByRoute
* Reimplement GetRouteById
* Fix blocks unit tests
* Initialize domain cache on boot
* Only return routes with domains on non default lanauges
* V15: Replacing the usages of `Children` (navigation data) from `IPublishedContent` (#17159)
* Update params in PublishedContentExtensions to the general interfaces for the published cache and navigation service, so that we can use the extension methods on both documents and media
* Introduce GetParent() which uses the right services
* Fix obsolete message on .Parent
* Obsolete .Children
* Fix usages of Children for ApiMediaQueryService
* Fix usage in internal
* Fix usages in views
* Fix indentation
* Fix issue with delete language
* Update nuget pacakges
* Clear elements cache when content is deleted
instead of trying to update it
* Reset publishedModelFactory
* Fixed publishing
---------
Co-authored-by: Bjarke Berg <mail@bergmania.dk>
Co-authored-by: Elitsa Marinovska <21998037+elit0451@users.noreply.github.com>
Co-authored-by: kjac <kja@umbraco.dk>
* Tests
* Remove props and use local vars
* Adding preliminary navigation service and content implementation
* Adding preliminary unit tests
* Change from async methods
* Refactor GetParentKey to TryGetParentKey
* Refactor GetChildrenKeys to TryGetChildrenKeys
* Refactor GetDescendantsKeys to TryGetDescendantsKeys
* Refactor GetAncestorsKeys to TryGetAncestorsKeys
* Refactor GetSiblingsKeys to TryGetSiblingsKeys
* Refactor TryGetChildrenKeys
* Initial integration tests
* Use ContentEditingService instead of ContentService
* Remove INavigationService.Copy implementation and unit tests
* Rename var
* Adding clarification
* Initial ContentNavigationRepository
* Initial NavigationFactory
* Remove filtering from factory
* NavigationRepository and implementation
* InitializationService responsible for seeding the in-memory structure
* Register repository and service
* Adding NavigationDto and NavigationNode
* Adding INavigationService dependency and Enlist updating navigation structure actions
* Documentation
* Adding tests for removing descendants as well
* Changed to ConcurrentDictionary
* Remove keys comments for tests
* Adding documentation
* Forgotten ConcurrentDictionary change
* Isolating the operations on the model
* Splitting the INavigationService to separate the querying from the managing functionality
* Introducing specific navigation services for document, document recycle bin, media and media recycle bin
* Making ContentNavigationService into a base as the functionality will be shared between the document, document recycle bin, media and media recycle bin services
* Adding the implementations of document, document recycle bin, media and media recycle bin navigation services
* Fixing comments
* Initializing all 4 collections
* Adapting the navigation unit tests to the base now
* Adapting integration tests to specific navigation service
* Adding test for rebuilding the structure
* Adding implementation for Adding and Getting a node - needed for moving to and restoring from the recycle bin + tests
* Updating the document navigation structure from the ContentService
* Fix typo
* Adding trashed items implementation in base - currently managing 2 structures
* Removing no longer relevant GetNavigationNode and AddNavigationNode
* Fix removing parent when child is removed supporting methods
* Added restoring functionality
* Adding Bin functionality to DocumentNavigationService
* Removing Move signature from IDocumentNavigationService
* Adding RecycleBin query and management services
* Re-adding Move and removing GetNavigationNode and AddNavigationNode signatures from interface
* Rebuilding bin structure using _documentNavigationService, instead of _documentRecycleBinNavigationService
* Fixing test name
* Adding more tests for remove
* Adding tests for restore and removing ones for GetNavigationNode and AddNavigationNode
* Remove comments
* Removing document and media RecycleBinNavigationService and their interfaces
* Adding media rebuild bin
* Fixing initialization with correct interfaces
* Removing RecycleBinNavigationServices' registration
* Remove IDocumentRecycleBinNavigationService dependency
* Updating in-memory nav structure when content updates happen
* Adding the rest of the integration tests
* Clean up IMediaNavigationService
* Fix comments
* Remove CustomTestSetup in integration tests as the structure is updated when content updates happen
* Adding and fixing comments
* Making RebuildBinAsync abstract as well
* Adding DocumentNavigationServiceTestsBase
* Splitting DocumentNavigationServiceTests into partial test classes
* Cleaning up DocumentNavigationServiceTests since tests have been moved to specific partial classes
* Reuse a method for creating content in tests
* Change type in test base
* Adding navigation structure updates in media service
* Adding MediaNavigationServiceTestsBase
* Adding integration tests for media nav str
* Remove services as we will have more concrete ones
* Add document and media IXNavigationQueryService and IXNavigationManagementService
* Inject ManagementService in ContentService.cs and MediaService.cs
* Change implementation to implement the new services + registration
* Make classes sealed
* Inject correct services in InitializationService
* Using the right services in integration tests
* Adding comments
* Removing bin interfaces from main navigation ones
* Rename Remove to MoveToBin
* V14 QA added block list editor tests (#16862)
* Added tests for blocklistEditor
* Added more tets
* Removed faker
* Added blockTest
* Updates
* Added tests
* Removed dependencies
* Fixes
* Clean up
* Fixed naming
* Cleaned up
* Bumped version
* Added missing semicolons
* Added tags
* Only runs the new tests
* Updates
* Bumped version
* Fixed tests
* Cleaned up
* Updated version
* Fixes, not done
* Fixed tests
* Bumped helpers
* Bumped helpers
* Fixed conflict
* Fixed comment
* Reverted to run smokeTests
* Updated helpers
* improve missingProperties data returned for missing propertie values (#16910)
Co-authored-by: Nikolaj Geisle <70372949+Zeegaan@users.noreply.github.com>
* update backoffice submodule
* Rename initialization service to initialization hosted service
* Refactor repository to return a collection
* Add interface for the NavigationDto
* Add constants to bind property names between DTOs
* Move factory and fix input type
* Use constants for column names
* Use factory from base
---------
Co-authored-by: Andreas Zerbst <73799582+andr317c@users.noreply.github.com>
Co-authored-by: Bjarke Berg <mail@bergmania.dk>
Co-authored-by: Sven Geusens <sge@umbraco.dk>
Co-authored-by: Nikolaj Geisle <70372949+Zeegaan@users.noreply.github.com>
Co-authored-by: Jacob Overgaard <752371+iOvergaard@users.noreply.github.com>
* AB40660 - untangle the preview cookie from the auth cookie
* Clean up
* Allow anonymous to end preview sessions
* Some refinements
* update OpenApi.json
* Fix enter preview test
* correct tests to match new expectations of the preview cookie
* sync preview tests with correct expectations of access level
---------
Co-authored-by: Sven Geusens <sge@umbraco.dk>
Co-authored-by: Jacob Overgaard <752371+iOvergaard@users.noreply.github.com>
* Revert "v14: Remove mentions of UmbracoApiController (#15863)"
This reverts commit 30e2dea57a.
* Obsolete UmbracoApiController
* Added a few more obsoletion messages
* Removed some of the reintroduced stuff again
* Add obsoletion to FrontEndRoutes controller
---------
Co-authored-by: kjac <kja@umbraco.dk>
* Added mostly working linking methods to the backoffice controller
Cleanup still required
* Added proposed default error handling extionsion methods
* Cleanup, clarification and PR feedback
* More cleanup
* Transformed the OAuthOptionsExtensions into a helper class
this allows for proper DI for the dependencies
---------
Co-authored-by: Sven Geusens <sge@umbraco.dk>
* Removes lots of files used by the old backoffice and that is not needed for the management api
* A little clean-up
---------
Co-authored-by: kjac <kja@umbraco.dk>
* Use named HttpClients
* Register as named client
* Set headers on request message.
* Add User agent header to http client
* Add headers within Try-catch
* Add using for HttpResponseMessage
* Update src/Umbraco.Infrastructure/BackgroundJobs/Jobs/WebhookFiring.cs
Co-authored-by: Ronald Barendse <ronald@barend.se>
* Update src/Umbraco.Infrastructure/BackgroundJobs/Jobs/WebhookFiring.cs
Co-authored-by: Kenn Jacobsen <kja@umbraco.dk>
* Log key instead of entire webhook
* Update src/Umbraco.Web.Common/DependencyInjection/UmbracoBuilderExtensions.cs
Co-authored-by: Ronald Barendse <ronald@barend.se>
* Create constant for User agent header name
* Update src/Umbraco.Infrastructure/BackgroundJobs/Jobs/WebhookFiring.cs
Co-authored-by: Ronald Barendse <ronald@barend.se>
* Use datetime.now
---------
Co-authored-by: Zeegaan <nge@umbraco.dk>
Co-authored-by: Ronald Barendse <ronald@barend.se>
Co-authored-by: Kenn Jacobsen <kja@umbraco.dk>
* Implement persistence
* Start implementing repository
* Implement repository
* Implement request service
* Dont run WebhookFiring if not in runtime mode run
* Refactor repository and service to have full CRUD
* add tests for Request service
* Implement WebhookRequest lock
* Register hosted service
* Add try catch when firing HttpRequest
* Add migration
* Refactor to use renamed IWebhookService
* Refactor tests too
* Add setting to configure webhook firing period
* Update docs
* Review fixes
* Add column renaming migration
* Remove unused service
* run request in parralel
* Refactor to fire parallel in background
---------
Co-authored-by: Zeegaan <nge@umbraco.dk>
Co-authored-by: Bjarke Berg <mail@bergmania.dk>
* Refactor jobs from HostedServices into BackgroundJobs
* Clean up generics and DI setup
* Add RecurringBackgroundJob Unit Tests
* Add ServiceCollection helper
* Add Obsolete attributes
* Add Notification Classes
* Add UnitTests for RecurringBackgroundJob HostedService
* Add NotificationEvents
* Add state to notifications
* Update UnitTests
* Add Obsolete Attributes to old hosted service classes
* Updated xmldoc in IRecurringBackgroundJob.cs
* Update Obsolete attribute messages to indicate classes will be removed in Umbraco 14
(cherry picked from commit c30ffa9ac3)
* Refactor jobs from HostedServices into BackgroundJobs
* Clean up generics and DI setup
* Add RecurringBackgroundJob Unit Tests
* Add ServiceCollection helper
* Add Obsolete attributes
* Add Notification Classes
* Add UnitTests for RecurringBackgroundJob HostedService
* Add NotificationEvents
* Add state to notifications
* Update UnitTests
* Add Obsolete Attributes to old hosted service classes
* Updated xmldoc in IRecurringBackgroundJob.cs
* Update Obsolete attribute messages to indicate classes will be removed in Umbraco 14
* insert umb rte block web component in rte
* First stab at moving the RTE markup to a nested "markup" property in the property value.
* initial work
* only rewrite markup
* transform RTE into component
* parse scope in grid.rte
* revert use a fallback instead
* block insertion and sync in place
* block picker partly impl
* remove test of old controller
* remove test of old controller
* block with block data
* proper block with api connection
* remove log
* styling
* Persist blocks data (still a temporary solution)
* styling allows for interaction
* block actions
* tinyMCE styling
* paste feature
* prevalue display Inline toggle
* inline mode in RTE
* todo note
* fixes wording
* preparation for editor communication
* remove val-server-match for now
* clean up blocks that does not belong in markup
* remove blocks not used in the markup
* liveEditing
* displayAsBlock formatting
* clean up
* TODO note
* Serverside handling for RTE blocks (incl. refactor of Block List and Block Grid)
* ensure rich text loads after block editor
* trigger resize on block init
* Handle RTE blocks output in Delivery API
* sanitize ng classes
* simplify calls to init blocks
* move sanitisation
* make validation work
* only warn when missing one
* clean up
* remove validation border as it does not work
* more clean up
* add unsupported block entry editor
* Revert breaking functionality for Block List and Grid
* prevent re-inits of blocks
* make sure delete blocks triggers an update
* Refactor RichTextPropertyIndexValueFactory to index values from blocks + clean up RichTextPropertyEditor dependencies
* first working cursor solution
* inline element approach
* Handle both inline and block level blocks
* Fix the RTE block parser regex so it handles multiple inline blocks.
* Fix reference and tags tracking, add tests, make the editor backwards compatible and make deploy happy
* Use RichTextPropertyEditorHelper serialization in tests
* Ensure correct model in Block Grid value converter (incl unit test to prove it)
* do not include umbblockpicker in grid
* make blocks the new default, instead of macros
* only send value of body from DOMParser
* Blocks of deleted ElementTypes shows unsupported
* do not edit a unsupported block
* remove trying to be smart on the init
* fix missing culture issue
* set dirty
* alert when no blocks
* Revert "make blocks the new default, instead of macros"
This reverts commit 283e8aa473fdfde075197d34aa47e35dfc64a8ae.
---------
Co-authored-by: kjac <kja@umbraco.dk>
* Use minimal hosting model
* Make CoreRuntime backward compatible to the old hosting model
* Remove unneccessary methods from interface again
* Pushed the timeout for E2E test to 120 minutes instead of 60
* Updated the preview version from 6 to 7
* Explicitly call BootUmbracoAsync
* Add CreateUmbracoBuilder extension method
* Do not add IRuntime as hosted service when using WebApplication/WebApplicationBuilder
* Set StaticServiceProvider.Instance before booting
* Ensure Umbraco is booted and StaticServiceProvider.Instance is set before configuring middleware
* Do not enable static web assets on production environments
* Removed root namespace from viewImports
---------
Co-authored-by: Andreas Zerbst <andr317c@live.dk>
Co-authored-by: Ronald Barendse <ronald@barend.se>
* Move all routing tokens (incl. API versioning) to Cms.Web.Common, so the site can start without adding the delivery API in Startup
* Fixed merge
* Fix backwards compat
* Added temporary file uploads including a repository implementation using local temp folder.
* missing files
* Fixed copy paste error
* Updated OpenApi.json
* Updated OpenApi.json
* Added file extension check
* Clean up. Removed old TemporaryFileService and UploadFileService and updated dictionary items to use this new items
* Clean up
* Get rid of stream directly on TemporaryFileModel, and use delegate to open stream instead.
* Review changes
* Moved models to their own files
* Reverted launch settings
* Update open API JSON file
---------
Co-authored-by: kjac <kja@umbraco.dk>
* Updated miniprofiler and added a few configurations
* added fixme
* Remove file that should not have been committed
* added ignore list. We check the entire path and ignore client requests anyway
* Bump version
* Add IContextCache to deploy connectors (#13287)
* Add IContextCache and implementations
* Update connector interfaces to use IContextCache
* Minor cleanup
* Move DeployContextCache prefix to constant
* Move default implementations to obsolete methods
* Remove DeployContextCache and DictionaryCache
Co-authored-by: Andy Butland <abutland73@gmail.com>
* Add IContextCache to deploy connectors (#13287)
* Add IContextCache and implementations
* Update connector interfaces to use IContextCache
* Minor cleanup
* Move DeployContextCache prefix to constant
* Move default implementations to obsolete methods
* Remove DeployContextCache and DictionaryCache
Co-authored-by: Andy Butland <abutland73@gmail.com>
* Parse lockId as invariant (#13284)
Co-authored-by: Zeegaan <nge@umbraco.dk>
* Fix Sqlite database locking issue (#13246)
* Add locking for creating scope
* Lock the repository instead
* Add scope in action instead of locking in service
* Fix up post-merge
Co-authored-by: Zeegaan <nge@umbraco.dk>
* Bump version to next minor
* Fix for UseExceptionHandler no longer working since v10.3 RC (#13218)
* Fix for UseExceptionHandler no longer working since v10.3 RC
* Update the management api path to match the new one
Co-authored-by: Nikolaj <nikolajlauridsen@protonmail.ch>
* New backoffice: Cleanup management API routes (#13296)
* Rename ModelsBuilderDashboard folder to ModelsBuilder
* Fix modelsbuilder paths and related naming
* Rename analytics route to telemetry
* Fix controller bases - routes and tags
* Fix items route
* Fix more controllerbase routes
* Fix route
* Fix OpenApi file
* Merging DictionaryItem and Dictionary
* Fix TrackedReferences naming
* Update OpenApi file
* Rename Analytics* related types to Telemetry*
* New Backoffice: Return AnalyticsLevelViewModel from Telemetry/ (#13298)
* Return TelemetryLevelViewModel instead of TelemetryLevel
* Fix schema
* Change telemetry/current to telemetry/level
(cherry picked from commit f2b8494c669cbbf04b623753abbf1be211973aa9)
* Add contants for tree and recycle-bin subpaths
(cherry picked from commit 4449f56bc00832ea6d357a3854b454791c80e0e2)
Co-authored-by: Mole <nikolajlauridsen@protonmail.ch>
* Updated Smidge, Npoco and MailKit (#13310)
* Updated Smidge, Npoco and MailKit
* Added missing command (after breaking interface in npoco)
* OpenId Connect authentication for new management API (#13318)
* First attempt at OpenIddict
* Making headway and more TODOs
* Redo current policies for multiple schemas + clean up auth controller
* Fix bad merge
* Clean up some more test code
* Fix spacing
* Include AddAuthentication() in OpenIddict addition
* A little more clean-up
* Move application creation to its own implementation + prepare for middleware to handle valid callback URL
* Enable refresh token flow
* Fix bad merge from v11/dev
* Support auth for Swagger and Postman in non-production environments + use default login screen for back-office logins
* Add workaround to client side login handling so the OAuth return URL is not corrupted before redirection
* Add temporary configuration handling for new backoffice
* Restructure the code somewhat, move singular responsibility from management API project
* Add recurring task for cleaning up old tokens in the DB
* Fix bad merge + make auth controller align with the new management API structure
* Explicitly handle the new management API path as a backoffice path (NOTE: this is potentially behaviorally breaking!)
* Redo handle the new management API requests as backoffice requests, this time in a non-breaking way
* Add/update TODOs
* Revert duplication of current auth policies for OpenIddict (as it breaks everything for V11 without the new management APIs) and introduce a dedicated PoC policy setup for OpenIddict.
* Fix failing unit tests
* Update src/Umbraco.Cms.ManagementApi/Security/BackOfficeApplicationManager.cs
Co-authored-by: Nikolaj Geisle <70372949+Zeegaan@users.noreply.github.com>
* Update src/Umbraco.Cms.ManagementApi/Security/BackOfficeApplicationManager.cs
Co-authored-by: Nikolaj Geisle <70372949+Zeegaan@users.noreply.github.com>
* Update src/Umbraco.Cms.ManagementApi/Security/BackOfficeApplicationManager.cs
Co-authored-by: Nikolaj Geisle <70372949+Zeegaan@users.noreply.github.com>
* Update src/Umbraco.Core/Routing/UmbracoRequestPaths.cs
Co-authored-by: Nikolaj Geisle <70372949+Zeegaan@users.noreply.github.com>
* V11: Using IFileProvider to access assets added from packages (#13141)
* Creating a FileProviderFactory for getting the package.manifest and grid.editors.config.js files through a file provider
* Collecting the package.manifest-s from different sources
* Searching different sources for grid.editors.config.js
* Using an IFileProvider to collect all tours
* Refactoring IconService.cs
* Typo
* Optimizations when looping through the file system
* Moving WebRootFileProviderFactory to Umbraco.Web.Common proj
* Removes double registering
* pluginLangFileSources includes the localPluginFileSources
* Comments
* Remove linq from foreach
* Change workflow for grid.editors.config.js so we check first physical file, then RCL, then Embedded
* Clean up
* Check if config dir exists
* Discover nested package.manifest files
* Fix IFileInfo.PhysicalPath check
* Revert 712810e1fd995720047832ee689f804185ea69d6 as that way files in content root are preferred over those in web root
* Adding comments
* Refactoring
* Remove PhysicalPath check
* Fix registration of WebRootFileProviderFactory
* Use Swashbuckle instead of NSwag (#13350)
* First attempt at OpenIddict
* Making headway and more TODOs
* Redo current policies for multiple schemas + clean up auth controller
* Fix bad merge
* Clean up some more test code
* Fix spacing
* Include AddAuthentication() in OpenIddict addition
* A little more clean-up
* Move application creation to its own implementation + prepare for middleware to handle valid callback URL
* Enable refresh token flow
* Fix bad merge from v11/dev
* Support auth for Swagger and Postman in non-production environments + use default login screen for back-office logins
* Add workaround to client side login handling so the OAuth return URL is not corrupted before redirection
* Add temporary configuration handling for new backoffice
* Restructure the code somewhat, move singular responsibility from management API project
* Add recurring task for cleaning up old tokens in the DB
* Fix bad merge + make auth controller align with the new management API structure
* Explicitly handle the new management API path as a backoffice path (NOTE: this is potentially behaviorally breaking!)
* Redo handle the new management API requests as backoffice requests, this time in a non-breaking way
* Add/update TODOs
* Replace NSwag with Swashbuckle and clean up unnecessary client secret workaround
* Revert duplication of current auth policies for OpenIddict (as it breaks everything for V11 without the new management APIs) and introduce a dedicated PoC policy setup for OpenIddict.
* Fix failing unit tests
* A little niceness + export new OpenApi.json and fix path in contract unit test
* Redo after merge with v11/dev + filter out unwanted mime types
* Remove CreatedResult and NotFoundObjectResult where possible
* Custom schema IDs - no more "ViewModel" postfix and make generic lists look less clunky too
* A little more explanation for generic schema ID generation
* Force Swashbuckle to use enum string names
* Update OpenApi.json to match new enum string values
* Add clarifying comment about weird looking construct
* add workflow to schema (#13349)
* add workflow to schema
* add licenses to CMSDefinition - intentionally only adding to schema, not registered as options
Co-authored-by: Nikolaj <nikolajlauridsen@protonmail.ch>
Co-authored-by: Ronald Barendse <ronald@barend.se>
Co-authored-by: Andy Butland <abutland73@gmail.com>
Co-authored-by: Zeegaan <nge@umbraco.dk>
Co-authored-by: Justin Neville <67802060+justin-nevitech@users.noreply.github.com>
Co-authored-by: Elitsa Marinovska <21998037+elit0451@users.noreply.github.com>
Co-authored-by: Bjarke Berg <mail@bergmania.dk>
Co-authored-by: Kenn Jacobsen <kja@umbraco.dk>
Co-authored-by: Nathan Woulfe <nathan@nathanw.com.au>
* Fix for potential race condition in packages search (#13153)
* search on input allowing to wait for copy/paste etc
* invoke resourcePromise() with correct parameters
* return the xhrStatus allowing the caller to check if the request was aborted
* fix: send in canceler.promise to allow the timeout to work
* catch any errors and ignore aborts if they happen
* move the logic to handle cancellations outside Angulars $scope.$apply
* remove file accidentally committed
* V10: Fix request accessor memory leak (#13152)
* Dispose OnChange event registration when disposing the notification handler
* Ensure that the ApplicationUrl is only initialized once
Since notifications handlers are transient,_hasAppUrl and _isInit defaults to false on every request causing it to always be called.
* Make notification handler and EnsureApplicationUrl internal
* Add missing ForceLeft and ForceRight (#13190)
* Fix tags with CSV storage type (#13188)
* Fixing null check as default(NRT) is null => default(configuration?.Delimiter) is also null and we were counting on it being the same as default(char)
* Adding tests to check cases with multiple tags (or tag made of comma separated values)
* Add data-element to umb property so we can find it (#13199)
Co-authored-by: Zeegaan <nge@umbraco.dk>
Co-authored-by: Jacob Overgaard <752371+iOvergaard@users.noreply.github.com>
Co-authored-by: Mole <nikolajlauridsen@protonmail.ch>
Co-authored-by: Elitsa Marinovska <21998037+elit0451@users.noreply.github.com>
Co-authored-by: Zeegaan <nge@umbraco.dk>