Commit Graph

1194 Commits

Author SHA1 Message Date
Niels Lyngsø
ae84d324ab V13/feature/blocks in rte (#15029)
* 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>
2023-10-31 12:52:35 +01:00
Nikolaj Geisle
1b34d33eb7 Webhooks administration from Backoffice (#15050)
* Create webhook models

* Define interfaces for service and repository

* Create Webhook dto and corresponding factory

* implement WebhookRepository.cs

* Remove entity name from models, as that should be resolved in mapping instead

* Add new table to schema creator

* Register repo for DI

* Remove more mentions of entityname

* Refactor repository to guids

* Implement WebhookService

* Use scopes in service

* Start creating tests for service

* Refactor delete to use Id and not entire entity

* Rework Webhooks to be able to have multiple entity keys

* Implement GetAll functionality

* Implement webhook controller

* Imeplement get all events action

* Add equalityComparer deletegate to Webhook

* Add datacontract attirbutes to properties

* Implement backoffice webhooks tree

* Implement first webhooks menu

* Make WebHookController authorized

* Update to have tabs with webhooks and logs

* Enable create overlay

* Push to entityKeys array

* Fix up pagination

* Implement delete functionality

* remove pagination

* add log view

* Fix create to be able to select more than one content type

* implement type name resolving for content

* Refactor to use less duplication

* Implement update functionality in frontend

* Rename database table

* Make multiple events possible

* create new event picker

* Refactor to actually add new database table with proper name

* Make it possible to select multiple events

* Fix updating current items

* Fix up update functionality after db rework

* Add webhook icon

* Switch to match heartcore icons

* Refactor to use bases instead of Enum

* Refactor to make IWebhookEvent to Collection, so it can be injected instead of using reflection

* Fix up frontend to match new models

* Fix integration tests

* Remove obsolete entity key from webhookdto

* Introduce constants instead of hard coded strings

* Start implementation of firing mechanism

* Add new GetByEventName method

* Add 1 to many list on WebhookDto

* Implement new repository pattern

* Implement GetByEventName

* Fix up repository to use all async

* Refactor events to fire

* Refactor WebhookEvents to be more DRY

* Add custom header

* Start implementing log repository

* Implement GetPaged

* Implement WebhookLogService

* Implement GetLogs

* Add url to webhook log

* Implement log overview

* Formatting

* Implement details view

* Refactor to get actual retry count

* Refactor firing to fire only when Enabled

* Add Status code to detailed view

* Add configuration to disable webhooks entirely

* Implement custom headers frontend

* Implement persistence of custom headers

* Refactor retry service to also retry on non success status codes.

* Refactor registration of Webhooks, to also register as NotificationHandler

* Add webhooks migration

* Add key for adding webhook headers

* Fix up test

* Change event icon to flag

* Remember event, when editing what events you have chosen

* Refactor reflection to check if INotificationAsyncHandler instead

* Formatting

* Refactor webhook model to no longer derive from EntityBase

* Rename entityKeys to content keys

* Rename controller to lowercase H

* Add null check before trying to access selectedEvents

* Add configuration for maximum number of retries

* Add index to date

* Add webhook Key to logs

* Check for SchedulingPublisher before sending webhooks

* rename requestObject to payload

* Refactor event to send appropriate payloads

* Refactor logging to happen for every try.

* Order date by descending

* Add todo

* Change firing service to use String not ByteContent

* Update Headers to Interface instead of concrete implementation

* Dont return if a table exists already

* Rename updateModel to webhook

* Annotate WebhookController.cs with PluginController attribute

* Add danish translations

* Do not check if fail

* Dont filter when selecting custom items

* Remove delay from WebhookFiringService

---------

Co-authored-by: Zeegaan <nge@umbraco.dk>
2023-10-31 10:06:14 +01:00
Nikolaj Geisle
8dff55fced Update nuget packages (#15039)
* Update nuget packages

* Update to use latest rc2 version of packages instead of specific

* Update src/Umbraco.Cms.Persistence.EFCore.SqlServer/Umbraco.Cms.Persistence.EFCore.SqlServer.csproj

* dont add private/include assets

* Remove duplicate serilog reference

* Revert Moq update

* Update src/Umbraco.Web.UI/Umbraco.Web.UI.csproj

---------

Co-authored-by: Zeegaan <nge@umbraco.dk>
Co-authored-by: Bjarke Berg <mail@bergmania.dk>
2023-10-26 09:01:29 +02:00
Jacob Overgaard
a27267e5d3 V13: New login screen (#14780)
* implement interface

* add build targets for login screen

* package lock

* move components to pages folder

* load logo and background from property

* styling

* move mocks around

* remove unused vars

* add backoffice handlers

* install rxjs

* add mock data

* add element and context for localization

* mock data

* use umb-localize

* remove the extra logic with check for section_

* change key for login button

* add base to vite environment

* login styling

* cleanup and button styling

* use correct reset url

* change body of reset request

* validate password reset code

* redirect to /login/new on reset password code verify

* add obsolete messages

* remove inline scripts for old backoffice

* remove shadowdom from localize element

* Revert "remove shadowdom from localize element"

This reverts commit 46ae282f7ce9235c15f160d57d54acd5d3378668.

* hook up reset password to api

* rename pages to state as it is not actually used as different pages

* reset password styling

* more styling

* add confirmation page to new password

* set router to firstUpdated to avoid rAF

* set a custom baseUrl on the router to make sure it works without trailing slash

* use route parameters to redirect on the login page to ensure correct escaping

* add server variables

* make sure auth layout uses the provided properties for images

* format

* redirect to code expired page

* add missing properties

* use allowPasswordReset and allowInvite properties in routing and layout

* make ts happy

* cleanup

* init invite page

* hook up usernameIsEmail

* init external login providers

* add mock provider

* add padding to buttons

* replace uui button with normal button

* add external login providers as slot

* add disableLocalLogin property

* add form to external login providers

* remove unused method

* fix build errors

* add attributes for external login

* add custom view to external login

* add new custom icon registry

* attach two icon registries

* use relative paths

* use relative paths

* use main registry instead of providing directly

* add look and color to external login

* implement getIcons() method

* use getIcons() to request icons

* install remixicon to supplement backoffice icons (replacing font-awesome eventually)

* move icon registries to auth element

* Revert "install remixicon to supplement backoffice icons (replacing font-awesome eventually)"

This reverts commit 0c6659d8d9dfe0664314ec6a3acaa8e20cb606ed.

* add icons for common external providers

* add more icons

* remove resetCode hack as it is no longer needed

* add validation to new password

* get gretting from translation file

* add hack to get text left aligned in uui-button

* add custom router

* WIP Use router

* also change the URL during an action

* update login action to redirect to /new when needed

* redirect to login from reset and new if not allowed

* fix new password button href

* use property on login element instead of context

* check for redirect on invite-user

* move fake external login providers to index.html for use in dev server

* allow password reset on dev server

* add look and color

* only set styles for default view buttons

* suppress vite import warning

* check and inform for errors and show 'nothing' if a custom view fails to load

* fix mock path for localizedtext

* fix build errors

* ensure that msw (and all its dependencies) do not end up in the production bundle (saved ~500 KB)

* Revert AngularValueExternalLoginInfoScriptAsync removal

* forward the providerName to custom views

* change default icon

* add button look and color to external login provider options

* add obsolete to ButtonStyle and add a mapper to new values

* add required xml comments

* map external login providers to <umb-login-external />

* fix typo

* only show external login layout if there are slotted children

* pass on name as "provider"

* send externalLoginUrl to custom views

* cleanup

* global import

* hide external logins completely when empty

* cleanup

* setup redirect to invite

* rename pages to name-page

* fix names and paths

* use new password layout for invite and new password

* add comments

* cleanup and use confirmation element

* set parameters after successful verifyinvite

* map display-name and provider-name to the external element

* map display-name

* set up external login to handle correct display- and provider-name with documentation

* add support for disabling local login

* update path to handlers

* add more localization

* add handlers for 2fa

* router should support a factory for component

* push login to ?flow=mfa on 402 codes

* add page to handle 2fa/mfa

* add support for custom routing

* add fallback for welcome greeting

* handle AngularJS silliness

* fix typo

* fix router and replace custom umbroute:statechange  event with native pushState

* simplify code and cleanup

* a11y improvements

* you can now navigate to anywhere from anywhere with pushState

* access the "twoFactorView" from the backend

* set the default implemented twoFactorView to NULL

* add initial logic to handle a custom mfa view

* roll back custom pushState changes

* add mocks for 2fa custom view

* use router redirect

* re-enable click url change

* cleanup

* remove debug buttons

* add unsafeHTML to localize element

* load mfa custom views

* load custom view

* improve external login custom views

* using optimisation

* add current culture

* only show mfa page if 402 code has been encountered in same session

* format

* remove unnesesary action

* add new user invite password

* remove console log

* fix getting stuck at new password page if you've triggered custom validity

* unify layouts

* add styling to buttons in error layout

* remove unused css

* add error message to new password page

* add error message to reset password

* add error message to invite page

* fix invite page not being rendered

* cleanup

* add obsolete notice to PostSetInvitedUserPassword

* add request model to set a new password for an invited user

* add new method to handle invited user password

* add get password config api call

* fix password config parameters and add invite call

* get invited user

* get password config

* assign unique guid to login project

* add userId to get password config and use the config as validation

* fix

* add alerts

* fix the new password layout

* auth redirects invite error to error page

* use password config on new password page

* remove console log

* move file and remove unused extension

* make ts happy

* file structure

* rename login-extern to external-login-provider

* update element name

* update dependencies

* export custom-view.element.ts

* remove debug

* use umb-custom-view to load custom views

* build types

* move @umbraco/uui to the login app and import from there in backoffice

* make the ui library and icon registry generally available as exports from the login app

* add mock handler for icons

* cleanup package

* use uui for external login providers in the backoffice

* add imports and enable the backoffice icon registry globally

* disable shadowdom

* default background image

* use undefined

* revert angular values

* remove legacy sys variables

* add logic to handle mfa in an overlay scenario without routing

* add new login screen to replace the overlay when logged in to the backoffice

* update spec to work with locators

* cleanup of legacy context

* ViewData is not always required

* add method to solely return the default view of the backoffice to simply BackofficeController as well as unit tests

* add test for the login view

* cleanup usings

* Apply suggestions from code review

Co-authored-by: Nikolaj Geisle <70372949+Zeegaan@users.noreply.github.com>

* remove 'remember me'

* add more contrast to external login divider

* update dependencies

* set "lang" attribute to lowercase

* remove default headline

* localize the "Or" divider and add aria-hidden

* remove Umbraco reference from logo and add aria-hidden

* add aria-hidden to uui-icon inside external login buttons

* format code

* update dependencies

* update dependencies

* add translations to invite user page

* use back to login button

* update localization-context.ts to match api from old LocalizeService in Angular

* add tsc to watch

* formatting

* add missing localizations

* fix a11y issues with muted text

* refresh current user after login

* remove unused variable

* add localization

* add localization for error messages

* remove unused var

* return user after login and set successful auth

* retry request queue after login

* add language keys for failed login

* add language keys for failed login

* render the views without a router so that it works inside a modal in the backoffice

* add autocomplete to reset password fields

* add autocomplete to login screen

* add generic error layout to new-password-page

* new-password-layout should be able to handle with and without username

* update language keys

* check for userId before trying to request invited user

* show error when no invited user is found

* place back-to-login button on all error layouts

* update lockfile

---------

Co-authored-by: Jesper Møller Jensen <26099018+JesmoDev@users.noreply.github.com>
Co-authored-by: Nikolaj Geisle <70372949+Zeegaan@users.noreply.github.com>
2023-10-23 10:06:17 +02:00
kjac
3169ff9581 Merge branch 'v12/dev' into v13/dev
# Conflicts:
#	build/azure-pipelines.yml
#	src/Umbraco.Core/Configuration/Models/SecuritySettings.cs
#	version.json
2023-10-22 11:23:04 +02:00
Elitsa Marinovska
b0ca3444f4 V13: Add config to limit concurrent logins (#14989)
* Add config to limit concurrent logins (#14967)

* Add new config options

* Change validation interval + related changes

* Fix typo

* Temp fix

* Set new setting to false for new dotnet projects

* Added logic to update security stamp on sign in + fixed wierd code calling handle signIn twice

* Cleanup

* Adding empty ctors

---------

Co-authored-by: Elitsa <elm@umbraco.dk>

* Set default setting to false + remove it from templates

---------

Co-authored-by: Bjarke Berg <mail@bergmania.dk>
2023-10-17 12:58:02 +02:00
Bjarke Berg
0a8b12793e Add config to limit concurrent logins (#14967)
* Add new config options

* Change validation interval + related changes

* Fix typo

* Temp fix

* Set new setting to false for new dotnet projects

* Added logic to update security stamp on sign in + fixed wierd code calling handle signIn twice

* Cleanup

* Adding empty ctors

---------

Co-authored-by: Elitsa <elm@umbraco.dk>
2023-10-17 10:23:52 +02:00
Sebastiaan Janssen
13913cd9fb Merge branch 'v12/dev' into contrib
# Conflicts:
#	version.json
2023-10-16 12:53:07 +02:00
Kenn Jacobsen
4bd9baa2eb Backport Delivery API member auth from V14 (#14964)
* Backport Delivery API member auth from V14

* Add default implementations to avoid breakage

* Review changes
2023-10-16 11:25:29 +02:00
Jannik Anker
4520fbe5b8 Out-of-date models status flag is created when using SourceCodeManual and Development Runtime (#14966)
* Update UmbracoBuilderDependencyInjectionExtensions.cs

* Remove duplicate OutOfDateModelStatus handlers

---------

Co-authored-by: Ronald Barendse <ronald@barend.se>
2023-10-16 10:46:58 +02:00
Callum Whyte
b850cd3ee0 Add SetMemberSignInManager builder extension (#14761)
* Add SetMemberSignInManager builder extension

* Added required using statement

---------

Co-authored-by: Emma Garland <emma.garland@rocksolidknowledge.com>
2023-10-13 12:30:13 +01:00
Bjarke Berg
989759fa20 Updated NuGet Dependencies (#14795)
* Updated nuget packages and fixed breaking changes in ImageSharp

* Update to .net8 rc1
2023-09-19 11:23:20 +02:00
Bjarke Berg
a133a4b57b We need to explicty call UseAntiforgery, otherwise it is called automatically before our middleware that will lead to UmbracoRouteValueTransformer being called instead of static file middleware. 2023-09-19 10:22:42 +02:00
Nikolaj Brask-Nielsen
6d48091328 docs: XML warnings (#14663)
* chore: Fix XML warnings

* docs: Fix XML warnings

* docs: Fix XML in resource designer

* docs: Fix XML warnings

* Revert "docs: Fix XML in resource designer"

This reverts commit 8ea61c51ac161e1853ae080db7fe1b4d4cb4d2be.
2023-09-06 20:08:17 +02:00
Bjarke Berg
d43e6abc8b Merge remote-tracking branch 'origin/v12/dev' into v13/dev 2023-08-28 11:40:36 +02:00
Bjarke Berg
b1e42e334d Move to Minimal Hosting Model in a backwards compatible way (#14656)
* 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>
2023-08-21 12:24:17 +02:00
Bjarke Berg
b668fd47c6 Merge remote-tracking branch 'origin/v12/dev' into v13/dev 2023-08-15 10:59:44 +02:00
Bjarke Berg
f39ae725a4 Merge remote-tracking branch 'origin/v11/dev' into v12/dev 2023-08-15 10:17:49 +02:00
Bjarke Berg
6f25d96b48 Merge remote-tracking branch 'origin/v10/dev' into v11/dev 2023-08-15 10:15:28 +02:00
Anders Reus
30f0cfc15d Add exclusion filter setting to typefinder settings (#14426)
* Obsolete constructor with deprecated IScopeProvider

* Add exclusion setting to typefinder settings

* The old TypeFinder constructor calls the new constructor now instead and excluded duplicates by using Union instead of Concat.

* Revert "The old TypeFinder constructor calls the new constructor now instead and excluded duplicates by using Union instead of Concat."

This reverts commit 87801c6c1cbaa6adab6f29dba1e876a586e05885.

* Add changes to TypeFinder

* Do not use null when type is not nullable

---------

Co-authored-by: Bjarke Berg <mail@bergmania.dk>
2023-08-15 09:58:58 +02:00
Anders Reus
767bd1bcc0 Add exclusion filter setting to typefinder settings (#14426)
* Obsolete constructor with deprecated IScopeProvider

* Add exclusion setting to typefinder settings

* The old TypeFinder constructor calls the new constructor now instead and excluded duplicates by using Union instead of Concat.

* Revert "The old TypeFinder constructor calls the new constructor now instead and excluded duplicates by using Union instead of Concat."

This reverts commit 87801c6c1cbaa6adab6f29dba1e876a586e05885.

* Add changes to TypeFinder

* Do not use null when type is not nullable

---------

Co-authored-by: Bjarke Berg <mail@bergmania.dk>
2023-08-15 09:46:27 +02:00
Ronald Barendse
b743e715d4 Add DynamicRequestCultureProviderBase and improve locking (#14064) 2023-08-10 11:16:23 +02:00
Bjarke Berg
843d41e564 Update .net 8 to preview 7 2023-08-09 15:53:31 +02:00
Bjarke Berg
dce320839c Updated .net 8 to preview 6 2023-08-08 12:05:53 +02:00
Bjarke Berg
bbaa2a2212 Added CompatibilitySuppressions for .NET7 2023-08-02 09:46:31 +02:00
nikolajlauridsen
28dae0387f Merge remote-tracking branch 'origin/v12/dev' into v13/dev
# Conflicts:
#	Directory.Build.props
2023-07-21 10:20:08 +02:00
Ronald Barendse
57852f5e62 Add PreRouting and PostRouting pipeline filters (#14503) 2023-07-20 12:23:38 +01:00
Sebastiaan Janssen
dad49b846f Merge branch 'v12/dev' into contrib 2023-07-18 11:18:26 +02:00
Jacob Overgaard
6f417722ac Merge remote-tracking branch 'origin/v12/dev' into v13/dev 2023-07-12 15:06:29 +02:00
Nikolaj Geisle
d116366b28 V12: Deprecate XPath (#14372)
* Deprecate all outward facing methods that uses XPath

* Add more obsolete messages

---------

Co-authored-by: Zeegaan <nge@umbraco.dk>
2023-07-07 11:12:04 +02:00
Bjarke Berg
fe6cdb0f17 Merge remote-tracking branch 'origin/v12/dev' into v13/dev 2023-07-07 08:48:33 +02:00
Bjarke Berg
16c78b76dd Merge remote-tracking branch 'origin/v11/dev' into v12/dev
# Conflicts:
#	src/Umbraco.Web.BackOffice/Controllers/MediaController.cs
2023-07-07 08:37:20 +02:00
Bjarke Berg
02e87233c1 Merge remote-tracking branch 'origin/v10/dev' into v11/dev
# Conflicts:
#	src/Umbraco.Web.BackOffice/Controllers/MediaController.cs
#	src/Umbraco.Web.UI.Client/src/common/services/tinymce.service.js
2023-07-07 08:34:15 +02:00
Ibrahim Muhammad Nada
0da33d064a Fixes #12904 UmbracoHelper.GetDictionaryValue defaults to en-US when used in non-front end code (#12942)
* adding new overload/rename a method

* remove this keyword

* fix comment

* remove space

* commit

* revert

* replace param name

* public backward compatibility

* Minor style tweaks

* Don't change default culture in UmbracoCultureDictionary

---------

Co-authored-by: Nikolaj <nikolajlauridsen@protonmail.ch>
2023-07-06 12:29:18 +02:00
Bjarke Berg
0ad0f86e6e Update to dotnet 8 preview 5 (#14492)
* Update to .net 8 preview 1

* Update npoco to 5.7.0

* Update pipeline to use .net 8

* Revert "Update npoco to 5.7.0"

This reverts commit f7795afa77a41ef2719f639405f73d9c21e4b12e.

* Fix tests and updated OpenApi.json

* use dotnet 8 in linux container

* Updated templates and docker image to dotnet 8

* Bugfix

* R
Updated docker images to 8.0 preview 1

* linux docker images updated

* Force use c# 11, in hope of the acceptance tests will pass

* Do not use C# 8 :)

* Update to preview 2

* CompatibilitySuppressions

* updated templates

* Disable package validation

* Update to .net8 preview 4

* change EnableStrictModeForCompatibleFrameworksInPackage to false

* Package validation

* Added CompatibilitySuppressions.xml

* Fix up IP networks

* Updated to preview 5

* Update docker images

* Post merge fixes

* Try to update dotnet version of codeql

* Delete empty suppression files

* Remove dependency

* Cleanup

---------

Co-authored-by: Elitsa <elm@umbraco.dk>
2023-07-05 14:13:52 +03:00
Maarten
3f196a9de4 Fix broken CookieAuthenticationRedirect caused by PR #14036 for non-api requests (#14399)
* Fix broken CookieAuthenticationRedirect caused by PR #14036 when not in an API controller

* Added Integration Tests for the MemberAuthorizationFilter

* Fix merge conflict

---------

Co-authored-by: Elitsa <elm@umbraco.dk>
(cherry picked from commit 1d239a30ca)
2023-07-04 11:10:58 +02:00
Maarten
1d239a30ca Fix broken CookieAuthenticationRedirect caused by PR #14036 for non-api requests (#14399)
* Fix broken CookieAuthenticationRedirect caused by PR #14036 when not in an API controller

* Added Integration Tests for the MemberAuthorizationFilter

* Fix merge conflict

---------

Co-authored-by: Elitsa <elm@umbraco.dk>
2023-07-04 10:37:13 +03:00
Bjarke Berg
c7699f2909 Merge remote-tracking branch 'origin/v10/dev' into v11/dev
# Conflicts:
#	src/Umbraco.Web.UI.Client/package-lock.json
#	version.json
2023-06-27 09:07:40 +02:00
Sebastiaan Janssen
62f692e617 Merge branch 'v12/dev' into contrib 2023-06-22 13:11:50 +02:00
miguelcrpinto
7e573c70a3 Updated the IsoDateTimeConverter initialization in the JsonDateTimeFormatAttribute to set the Culture to InvariantCulture so that the custom DateTime format symbols ( date and time separators) are respected independent of the CurrentCulture being used. 2023-06-21 14:04:56 +02:00
miguelcrpinto
4d63b3ce30 Updated the IsoDateTimeConverter initialization in the JsonDateTimeFormatAttribute to set the Culture to InvariantCulture so that the custom DateTime format symbols ( date and time separators) are respected independent of the CurrentCulture being used. 2023-06-20 13:15:03 +01:00
Bjarke Berg
197efbb12c Merge remote-tracking branch 'origin/release/12.0' into v12/dev
# Conflicts:
#	src/Umbraco.Infrastructure/Sync/ServerMessengerBase.cs
#	version.json
2023-06-20 13:56:27 +02:00
Bjarke Berg
54479c9538 Updated nuget packages to latest versions (#14419) 2023-06-20 12:21:16 +02:00
Nikolaj Geisle
10631decb1 Update security stamps on logout (#14362)
Co-authored-by: Zeegaan <nge@umbraco.dk>
2023-06-12 10:07:44 +02:00
Bjarke Berg
1033806c49 Merge remote-tracking branch 'origin/v11/dev' into v12/dev 2023-06-12 10:05:49 +02:00
Bjarke Berg
f24ff4918e Merge remote-tracking branch 'origin/v10/dev' into v11/dev 2023-06-12 10:03:26 +02:00
Nikolaj Geisle
89d670372d Update security stamps on logout (#14362)
Co-authored-by: Zeegaan <nge@umbraco.dk>
2023-06-12 09:56:04 +02:00
Chad
e784cfa960 Improve logging performance by checking Trace/Debug log level is enabled (#12793) 2023-06-07 11:47:05 +02:00
Nikolaj Geisle
02669e930c V12: Update dependencies to latest (#14204)
* Update dependencies to latest

* revert npoco back to 5.5.0

* Updated Npoco and Serilog

---------

Co-authored-by: Bjarke Berg <mail@bergmania.dk>
2023-05-11 13:32:14 +02:00
Ronald Barendse
27ae8bdba9 v12: Add HMAC image processing protection (#14181)
* Update to ImageSharp 2.1.0 and ImageSharp.Web 2.0.0-alpha.0.23

* Rename CachedNameLength to CacheHashLength and add CacheFolderDepth setting

* Replace PhysicalFileSystemProvider with WebRootImageProvider

* Support EXIF-orientation in image dimention extractor

* Remove virtual methods on FileProviderImageProvider

* Simplify FileInfoImageResolver

* Update to SixLabors.ImageSharp.Web 2.0.0-alpha.0.25 and remove custom providers

* Make CropWebProcessor EXIF orientation-aware

* Improve width/height sanitization

* Also use 'v' as cache buster value

* Add WebP to supported image file types

* Update to SixLabors.ImageSharp.Web 2.0.0-alpha.0.27 and fix test

* Fix rounding error and add test cases

* Update to newest and stable releases

* Move ImageSharpImageUrlGenerator to Umbraco.Web.Common

* Use IConfigureOptions to configure ImageSharp options

* Implement IEquatable on ImageUrlGenerationOptions classes

* Fix empty/null values in image URL generation and corresponding tests

* Use IsSupportedImageFormat extension method

* Remove unneeded reflection

* Add HMACSecretKey setting and add token when generating image URLs

* Ensure backoffice image URLs are generated by the server (and include a correct HMAC token)

* Abstract HMAC generation to IImageUrlTokenGenerator

* Change cache buster value to 'v' and use hexadecimal timestamp

* Update comments

* Fix backoffice thumbnail URL generation

* Update grid media thumbnail URL generation

* Remove breaking changes

* Strip unknown commands from image URL token

* Remove HMAC whitelisting possibility (not supported by ImageSharp)

* Update to SixLabors.ImageSharp 2.1.3

* Add comment to internal constructor

* Fix to support absolute image URLs

* Update to SixLabors.ImageSharp.Web 2.0.3-alpha.0.3

* Remove IImageUrlTokenGenerator and use ImageSharpRequestAuthorizationUtilities

* Move NuGet feed to config file

* Update to ImageSharp v3
2023-05-11 11:01:03 +02:00