* Add SiteIdentifierService
* Use SiteIdentifierService in TelemetryService
* Use SiteIdentifierService when installing
* Remove timeout
* Use TryGetOrCreateSiteIdentifier in TelemetryService
* Add site identifier to dashboard url
* Fix and add tests
* Don't accept empty guid as valid site identifier
* Fix dashboard controller
* Fix site id query parameter
* Use Optionsmonitor onchange
Co-authored-by: nikolajlauridsen <nel@umbraco.dk>
Co-authored-by: Bjarke Berg <mail@bergmania.dk>
* Uninstall Serilog.Filters.Expressions as it is deprecated by the Serilog team
NOTE: This package brought in a dependenacy on a package called SuperPower from Datalust
* Install replacement package Serilog.Expressions
* Update implementation of Serilog.Expressions
* Add new test cases to verify expressions still working
Currently Serilog.Expressions only supports short names such as @x @l @m and @mt as opposed @Exception @Level @Message and @MessageTemplate
* Use Serilog.Expressions NamedFilters extension point, to plug the missing Has() function in expressions that was not ported across by the library
* Update to dev build of Serilog.Expressions to verify new method we can override works
* Update to release build of Serilog.Expressions 3.3.0 now its been pushed to Nuget
* Filesystem based MainDomLock & extract interface for MainDomKey generation (#12037)
* Extract MainDomKey generation to its own class to ease customization.
Also add discriminator config value to GlobalSettings for advanced users.
Prevents a mandatory custom implementation, should be good enough for
the vast majority of use cases.
* Prevent duplicate runs of ScheduledPublishing during slot swap.
* Add filesystem based MainDomLock
(cherry picked from commit 860c8e8ae2)
# Conflicts:
# src/Umbraco.Infrastructure/Runtime/SqlMainDomLock.cs
* Remove obsolete constructors from ScheduledPublishing & SqlMainDomLock
* FileSystemMainDomLock promoted to default fallback for all platforms.
* Various fixes & improvements
* Extract MainDomKey generation to its own class to ease customization.
Also add discriminator config value to GlobalSettings for advanced users.
Prevents a mandatory custom implementation, should be good enough for
the vast majority of use cases.
* Prevent duplicate runs of ScheduledPublishing during slot swap.
* Add filesystem based MainDomLock
Ensure ConfigureWebServer called before ConfigureServices for tests that
make use of WebApplicationFactory.
Still not apparent why tests would pass if debugger isn't attached?
* Bugfix - Take ufprt from form data if the request has form content type, otherwise fallback to use the query
* External linking for members
* Changed migration to reuse old table
* removed unnecessary web.config files
* Cleanup
* Extracted class to own file
* Clean up
* Rollback changes to Umbraco.Web.UI.csproj
* Fixed migration for SqlCE
* Added 2fa for members
* Change notification handler to be on deleted
* Update src/Umbraco.Infrastructure/Security/MemberUserStore.cs
Co-authored-by: Mole <nikolajlauridsen@protonmail.ch>
* updated snippets
* Fixed issue with errors not shown on member linking
* fixed issue with errors
* clean up
* Fix issue where external logins could not be used to upgrade Umbraco, because the externalLogin table was expected to look different. (Like after the migration)
* Fixed issue in Ignore legacy column now using result column.
* Updated 2fa for members + publish notification when 2fa is requested.
* Changed so only Members out of box supports 2fa
* Cleanup
* rollback of csproj file, that should not have been changed
* Removed confirmed flag from db. It was not used.
Handle case where a user is signed up for 2fa, but the provider do not exist anymore. Then it is just ignored until it shows up again
Reintroduced ProviderName on interface, to ensure the class can be renamed safely
* Bugfix
* Registering DeleteTwoFactorLoginsOnMemberDeletedHandler
* Rollback nuget packages added by mistake
* Update src/Umbraco.Infrastructure/Services/Implement/TwoFactorLoginService.cs
Co-authored-by: Mole <nikolajlauridsen@protonmail.ch>
* Update src/Umbraco.Infrastructure/Persistence/Repositories/Implement/TwoFactorLoginRepository.cs
Co-authored-by: Mole <nikolajlauridsen@protonmail.ch>
* Added providername to snippet
Co-authored-by: Mole <nikolajlauridsen@protonmail.ch>
* Bugfix - Take ufprt from form data if the request has form content type, otherwise fallback to use the query
* External linking for members
* Changed migration to reuse old table
* removed unnecessary web.config files
* Cleanup
* Extracted class to own file
* Clean up
* Rollback changes to Umbraco.Web.UI.csproj
* Fixed migration for SqlCE
* Change notification handler to be on deleted
* Update src/Umbraco.Infrastructure/Security/MemberUserStore.cs
Co-authored-by: Mole <nikolajlauridsen@protonmail.ch>
* Fixed issue with errors not shown on member linking
* fixed issue with errors
* clean up
* Fix issue where external logins could not be used to upgrade Umbraco, because the externalLogin table was expected to look different. (Like after the migration)
* Fixed issue in Ignore legacy column now using result column.
Co-authored-by: Mole <nikolajlauridsen@protonmail.ch>
Deleting media via services results in a published MediaDeletedNotification
via scope.Notifications, these are fired on Scope.Complete() and picked up
by the registered handlers.
* Add failing test to demo issue with handlers + scoped dependencies.
* Make using scoped services in notification handlers less painful.
* Update comments for accuracy.
* Allow changing UmbracoMediaPath to an absolute path. Also ensure Imagesharp are handing requests outside of the wwwroot folder.
* Let UmbracoMediaUrl fallback to UmbracoMediaPath when empty
* Add FileSystemFileProvider to expose an IFileSystem as IFileProvider
* Replace IUmbracoMediaFileProvider with IFileProviderFactory implementation
* Fix issue resolving relative paths when media URL has changed
* Remove FileSystemFileProvider and require explicitly implementing IFileProviderFactory
* Update tests (UnauthorizedAccessException isn't thrown anymore for rooted files)
* Update test to use UmbracoMediaUrl
* Add UmbracoMediaPhysicalRootPath global setting
* Remove MediaFileManagerImageProvider and use composited file providers
* Move CreateFileProvider to IFileSystem extension method
* Add rooted path tests
Co-authored-by: Ronald Barendse <ronald@barend.se>
By adding a new configuration and mapping the old CharCollection to that, we can get around having to return null the first time, by obsoleting the old one and redirecting to the new GetCharReplacements method
* Move package to database
* Added migration and implemented new repository
* Updated migrations to use proper xml convert
* Fixed save function and renamed createDate to update date
* Updated dependencyInjection
* Updated UmbracoPlan.cs
* Apply suggestions from code review
Co-authored-by: Elitsa Marinovska <21998037+elit0451@users.noreply.github.com>
* Added File check
* Tried using same context as create table
* Fix DTO
* Fix GetById and local package saving
* Fix images when migrating
* Implement deletion of all local files
* Only delete local repo file, not file snapshots
* Remove static package path and use the one we save
* Update package repo to export package and remove check for ids when exporting
* Minor fixes
* Fix so that you can download package after creating
* Update savePackage method to export package afterwards
Co-authored-by: Nikolaj Geisle <niko737@edu.ucl.dk>
Co-authored-by: Elitsa Marinovska <elm@umbraco.dk>
Co-authored-by: Elitsa Marinovska <21998037+elit0451@users.noreply.github.com>
Since this is the way it's been previously, we cannot change the behaviour of this. Unfortunately due to how the config binding works, we have to make sure it returns null the very first time it's called by the framework to ensure that overrides actually gets registered.