From 603c7ad4714c5406bf0103f563b4e5a8d036c654 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 1 Sep 2026 20:33:52 +0000 Subject: [PATCH 1/4] Bump the dotnet group with 2 updates Bumps Microsoft.OpenApi from 2.12.0 to 2.12.2 Bumps uSync from 18.1.1 to 18.1.2 --- updated-dependencies: - dependency-name: Microsoft.OpenApi dependency-version: 2.12.2 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: dotnet/Microsoft.OpenApi - dependency-name: uSync dependency-version: 18.1.2 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: dotnet/Microsoft.OpenApi ... Signed-off-by: dependabot[bot] --- SgfDevs/SgfDevs.csproj | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/SgfDevs/SgfDevs.csproj b/SgfDevs/SgfDevs.csproj index a6b80a1..d6a0c9b 100644 --- a/SgfDevs/SgfDevs.csproj +++ b/SgfDevs/SgfDevs.csproj @@ -5,7 +5,7 @@ - + @@ -14,7 +14,7 @@ - + From 987a6512ae9fb39b7232aa5d0a5764d50a99c90f Mon Sep 17 00:00:00 2001 From: Levi Zitting Date: Thu, 17 Sep 2026 22:05:51 -0500 Subject: [PATCH 2/4] chore: update NuGet dependencies and Umbraco schemas --- SgfDevs.Tests/SgfDevs.Tests.csproj | 4 +- .../appsettings-schema.Umbraco.Cms.json | 4 +- SgfDevs.Tests/umbraco-package-schema.json | 103 ++++++++++++------ SgfDevs/SgfDevs.csproj | 12 +- SgfDevs/appsettings-schema.Umbraco.Cms.json | 4 +- SgfDevs/umbraco-package-schema.json | 103 ++++++++++++------ 6 files changed, 156 insertions(+), 74 deletions(-) diff --git a/SgfDevs.Tests/SgfDevs.Tests.csproj b/SgfDevs.Tests/SgfDevs.Tests.csproj index fcb8512..4e0f07c 100644 --- a/SgfDevs.Tests/SgfDevs.Tests.csproj +++ b/SgfDevs.Tests/SgfDevs.Tests.csproj @@ -7,9 +7,9 @@ - + - + all runtime; build; native; contentfiles; analyzers; buildtransitive diff --git a/SgfDevs.Tests/appsettings-schema.Umbraco.Cms.json b/SgfDevs.Tests/appsettings-schema.Umbraco.Cms.json index 571906d..dccfb1e 100755 --- a/SgfDevs.Tests/appsettings-schema.Umbraco.Cms.json +++ b/SgfDevs.Tests/appsettings-schema.Umbraco.Cms.json @@ -162,7 +162,7 @@ "PreviewBadge": { "type": "string", "description": "Gets or sets a value for the preview badge mark-up.\n ", - "default": "\r\n\r\n" + "default": "\r\n\r\n" }, "ShowDeprecatedPropertyEditors": { "type": "boolean", @@ -606,7 +606,7 @@ }, "CoreDebugSettings": { "type": "object", - "description": "Typed configuration options for core debug settings.\n ", + "description": "Typed configuration options for debug settings.\n ", "properties": { "LogIncompletedScopes": { "type": "boolean", diff --git a/SgfDevs.Tests/umbraco-package-schema.json b/SgfDevs.Tests/umbraco-package-schema.json index 38e44cf..ab7d3eb 100755 --- a/SgfDevs.Tests/umbraco-package-schema.json +++ b/SgfDevs.Tests/umbraco-package-schema.json @@ -11144,6 +11144,44 @@ ], "type": "object" }, + "ManifestUserEntryPoint": { + "description": "Manifest for a `userEntryPoint`, which is loaded once the user has been authorized\nand the current user data is available. Unlike `appEntryPoint` and `backofficeEntryPoint`,\nextensions of this type can rely on `UMB_CURRENT_USER_CONTEXT` being populated in `onInit`.\nFor changes to the current user within the session (permissions, languages, etc.), observe UMB_CURRENT_USER_CONTEXT instead — this extension type only marks the session boundaries.\n\n`onUnload` is called when the user session ends (sign-out or timeout) or the extension is\nunregistered. If the user authorizes again, `onInit` runs again — note the current user may\nthen be a different user than in the previous session.\n\nThis type of extension gives full control and will simply load the specified JS file.\nYou could have custom logic to decide which extensions to load/register by using extensionRegistry.", + "properties": { + "alias": { + "description": "The alias of the extension, ensure it is unique", + "type": "string" + }, + "js": { + "description": "The file location of the javascript file to load", + "type": "string" + }, + "kind": { + "description": "The kind of the extension, used to group extensions together", + "examples": [ + "button" + ] + }, + "name": { + "description": "The friendly name of the extension", + "type": "string" + }, + "type": { + "const": "userEntryPoint", + "description": "The type of extension such as dashboard etc...", + "type": "string" + }, + "weight": { + "description": "Extensions such as dashboards are ordered by weight with higher numbers being first in the list", + "type": "number" + } + }, + "required": [ + "alias", + "name", + "type" + ], + "type": "object" + }, "ManifestUserProfileApp": { "properties": { "alias": { @@ -11791,7 +11829,7 @@ } ], "description": "Define which workspace actions this menu item should be shown for.", - "examples": "[\r\n['Umb.WorkspaceAction.Document.Save', 'Umb.WorkspaceAction.Document.SaveAndPublish'],\r\n\"Umb.WorkspaceAction.Document.Save\"\r\n]" + "examples": "[['Umb.WorkspaceAction.Document.Save', 'Umb.WorkspaceAction.Document.SaveAndPublish'], \"Umb.WorkspaceAction.Document.Save\"]" }, "js": { "description": "The file location of the javascript file to load", @@ -11978,7 +12016,7 @@ } ], "description": "Define which workspace actions this menu item should be shown for.", - "examples": "[\r\n['Umb.WorkspaceAction.Document.Save', 'Umb.WorkspaceAction.Document.SaveAndPublish'],\r\n\"Umb.WorkspaceAction.Document.Save\"\r\n]" + "examples": "[['Umb.WorkspaceAction.Document.Save', 'Umb.WorkspaceAction.Document.SaveAndPublish'], \"Umb.WorkspaceAction.Document.Save\"]" }, "js": { "description": "The file location of the javascript file to load", @@ -14178,7 +14216,7 @@ "type": "object" }, "defaultView": { - "description": "The default view of the provider that is shown to the user.\nIf no element is provided, then the button will be rendered as a", + "description": "The default view of the provider that is shown to the user.\nIf no element is provided, then the button will be rendered as a {@link UUIButtonElement} using these options.", "properties": { "color": { "default": "'secondary'", @@ -14334,7 +14372,7 @@ "description": "Configuration for a single column in a table collection view kind.", "properties": { "field": { - "description": "The property name on the collection item model to display in this column.", + "description": "Property path on the collection item model to display in this column. Supports dot-notation for nested fields (e.g. `author.name`).", "type": "string" }, "label": { @@ -16934,6 +16972,12 @@ { "$ref": "#/definitions/ManifestBase" }, + { + "$ref": "#/definitions/ManifestEntityActionDeleteKind" + }, + { + "$ref": "#/definitions/ManifestEntityActionDefaultKind" + }, { "$ref": "#/definitions/ManifestUfmFilter" }, @@ -17111,6 +17155,24 @@ { "$ref": "#/definitions/ManifestEntityActionSortChildrenOfContentKind" }, + { + "$ref": "#/definitions/ManifestEntityBulkActionDuplicateToKind" + }, + { + "$ref": "#/definitions/ManifestEntityBulkActionMoveToKind" + }, + { + "$ref": "#/definitions/ManifestEntityBulkActionTrashKind" + }, + { + "$ref": "#/definitions/ManifestEntityBulkAction%3CMetaEntityBulkAction%3E" + }, + { + "$ref": "#/definitions/ManifestEntityBulkActionDefaultKind%3CMetaEntityBulkActionDefaultKind%3E" + }, + { + "$ref": "#/definitions/ManifestEntityBulkActionDeleteKind" + }, { "$ref": "#/definitions/ManifestEntityActionContentPublishKind" }, @@ -17132,6 +17194,9 @@ { "$ref": "#/definitions/ManifestLocalization" }, + { + "$ref": "#/definitions/ManifestUserEntryPoint" + }, { "$ref": "#/definitions/ManifestEntityActionContentUnpublishKind" }, @@ -17144,12 +17209,6 @@ { "$ref": "#/definitions/ManifestPropertyEditorDataSource" }, - { - "$ref": "#/definitions/ManifestEntityActionDeleteKind" - }, - { - "$ref": "#/definitions/ManifestEntityActionDefaultKind" - }, { "$ref": "#/definitions/ManifestEntityActionCreateKind" }, @@ -17183,6 +17242,9 @@ { "$ref": "#/definitions/ManifestDataSourceDataMapping%3CMetaDataSourceDataMapping%3E" }, + { + "$ref": "#/definitions/ManifestEntityAction%3CMetaEntityAction%3E" + }, { "$ref": "#/definitions/ManifestPropertyContext%3CMetaPropertyContext%3E" }, @@ -17222,27 +17284,6 @@ { "$ref": "#/definitions/ManifestPropertyValidationPathTranslator%3Cany%3E" }, - { - "$ref": "#/definitions/ManifestEntityAction%3CMetaEntityAction%3E" - }, - { - "$ref": "#/definitions/ManifestEntityBulkActionDeleteKind" - }, - { - "$ref": "#/definitions/ManifestEntityBulkAction%3CMetaEntityBulkAction%3E" - }, - { - "$ref": "#/definitions/ManifestEntityBulkActionDefaultKind%3CMetaEntityBulkActionDefaultKind%3E" - }, - { - "$ref": "#/definitions/ManifestEntityBulkActionDuplicateToKind" - }, - { - "$ref": "#/definitions/ManifestEntityBulkActionMoveToKind" - }, - { - "$ref": "#/definitions/ManifestEntityBulkActionTrashKind" - }, { "$ref": "#/definitions/ManifestExternalLoginProvider" }, diff --git a/SgfDevs/SgfDevs.csproj b/SgfDevs/SgfDevs.csproj index d6a0c9b..9f7189a 100644 --- a/SgfDevs/SgfDevs.csproj +++ b/SgfDevs/SgfDevs.csproj @@ -4,17 +4,17 @@ - + - + - - - + + + - + diff --git a/SgfDevs/appsettings-schema.Umbraco.Cms.json b/SgfDevs/appsettings-schema.Umbraco.Cms.json index 571906d..dccfb1e 100755 --- a/SgfDevs/appsettings-schema.Umbraco.Cms.json +++ b/SgfDevs/appsettings-schema.Umbraco.Cms.json @@ -162,7 +162,7 @@ "PreviewBadge": { "type": "string", "description": "Gets or sets a value for the preview badge mark-up.\n ", - "default": "\r\n\r\n" + "default": "\r\n\r\n" }, "ShowDeprecatedPropertyEditors": { "type": "boolean", @@ -606,7 +606,7 @@ }, "CoreDebugSettings": { "type": "object", - "description": "Typed configuration options for core debug settings.\n ", + "description": "Typed configuration options for debug settings.\n ", "properties": { "LogIncompletedScopes": { "type": "boolean", diff --git a/SgfDevs/umbraco-package-schema.json b/SgfDevs/umbraco-package-schema.json index 38e44cf..ab7d3eb 100755 --- a/SgfDevs/umbraco-package-schema.json +++ b/SgfDevs/umbraco-package-schema.json @@ -11144,6 +11144,44 @@ ], "type": "object" }, + "ManifestUserEntryPoint": { + "description": "Manifest for a `userEntryPoint`, which is loaded once the user has been authorized\nand the current user data is available. Unlike `appEntryPoint` and `backofficeEntryPoint`,\nextensions of this type can rely on `UMB_CURRENT_USER_CONTEXT` being populated in `onInit`.\nFor changes to the current user within the session (permissions, languages, etc.), observe UMB_CURRENT_USER_CONTEXT instead — this extension type only marks the session boundaries.\n\n`onUnload` is called when the user session ends (sign-out or timeout) or the extension is\nunregistered. If the user authorizes again, `onInit` runs again — note the current user may\nthen be a different user than in the previous session.\n\nThis type of extension gives full control and will simply load the specified JS file.\nYou could have custom logic to decide which extensions to load/register by using extensionRegistry.", + "properties": { + "alias": { + "description": "The alias of the extension, ensure it is unique", + "type": "string" + }, + "js": { + "description": "The file location of the javascript file to load", + "type": "string" + }, + "kind": { + "description": "The kind of the extension, used to group extensions together", + "examples": [ + "button" + ] + }, + "name": { + "description": "The friendly name of the extension", + "type": "string" + }, + "type": { + "const": "userEntryPoint", + "description": "The type of extension such as dashboard etc...", + "type": "string" + }, + "weight": { + "description": "Extensions such as dashboards are ordered by weight with higher numbers being first in the list", + "type": "number" + } + }, + "required": [ + "alias", + "name", + "type" + ], + "type": "object" + }, "ManifestUserProfileApp": { "properties": { "alias": { @@ -11791,7 +11829,7 @@ } ], "description": "Define which workspace actions this menu item should be shown for.", - "examples": "[\r\n['Umb.WorkspaceAction.Document.Save', 'Umb.WorkspaceAction.Document.SaveAndPublish'],\r\n\"Umb.WorkspaceAction.Document.Save\"\r\n]" + "examples": "[['Umb.WorkspaceAction.Document.Save', 'Umb.WorkspaceAction.Document.SaveAndPublish'], \"Umb.WorkspaceAction.Document.Save\"]" }, "js": { "description": "The file location of the javascript file to load", @@ -11978,7 +12016,7 @@ } ], "description": "Define which workspace actions this menu item should be shown for.", - "examples": "[\r\n['Umb.WorkspaceAction.Document.Save', 'Umb.WorkspaceAction.Document.SaveAndPublish'],\r\n\"Umb.WorkspaceAction.Document.Save\"\r\n]" + "examples": "[['Umb.WorkspaceAction.Document.Save', 'Umb.WorkspaceAction.Document.SaveAndPublish'], \"Umb.WorkspaceAction.Document.Save\"]" }, "js": { "description": "The file location of the javascript file to load", @@ -14178,7 +14216,7 @@ "type": "object" }, "defaultView": { - "description": "The default view of the provider that is shown to the user.\nIf no element is provided, then the button will be rendered as a", + "description": "The default view of the provider that is shown to the user.\nIf no element is provided, then the button will be rendered as a {@link UUIButtonElement} using these options.", "properties": { "color": { "default": "'secondary'", @@ -14334,7 +14372,7 @@ "description": "Configuration for a single column in a table collection view kind.", "properties": { "field": { - "description": "The property name on the collection item model to display in this column.", + "description": "Property path on the collection item model to display in this column. Supports dot-notation for nested fields (e.g. `author.name`).", "type": "string" }, "label": { @@ -16934,6 +16972,12 @@ { "$ref": "#/definitions/ManifestBase" }, + { + "$ref": "#/definitions/ManifestEntityActionDeleteKind" + }, + { + "$ref": "#/definitions/ManifestEntityActionDefaultKind" + }, { "$ref": "#/definitions/ManifestUfmFilter" }, @@ -17111,6 +17155,24 @@ { "$ref": "#/definitions/ManifestEntityActionSortChildrenOfContentKind" }, + { + "$ref": "#/definitions/ManifestEntityBulkActionDuplicateToKind" + }, + { + "$ref": "#/definitions/ManifestEntityBulkActionMoveToKind" + }, + { + "$ref": "#/definitions/ManifestEntityBulkActionTrashKind" + }, + { + "$ref": "#/definitions/ManifestEntityBulkAction%3CMetaEntityBulkAction%3E" + }, + { + "$ref": "#/definitions/ManifestEntityBulkActionDefaultKind%3CMetaEntityBulkActionDefaultKind%3E" + }, + { + "$ref": "#/definitions/ManifestEntityBulkActionDeleteKind" + }, { "$ref": "#/definitions/ManifestEntityActionContentPublishKind" }, @@ -17132,6 +17194,9 @@ { "$ref": "#/definitions/ManifestLocalization" }, + { + "$ref": "#/definitions/ManifestUserEntryPoint" + }, { "$ref": "#/definitions/ManifestEntityActionContentUnpublishKind" }, @@ -17144,12 +17209,6 @@ { "$ref": "#/definitions/ManifestPropertyEditorDataSource" }, - { - "$ref": "#/definitions/ManifestEntityActionDeleteKind" - }, - { - "$ref": "#/definitions/ManifestEntityActionDefaultKind" - }, { "$ref": "#/definitions/ManifestEntityActionCreateKind" }, @@ -17183,6 +17242,9 @@ { "$ref": "#/definitions/ManifestDataSourceDataMapping%3CMetaDataSourceDataMapping%3E" }, + { + "$ref": "#/definitions/ManifestEntityAction%3CMetaEntityAction%3E" + }, { "$ref": "#/definitions/ManifestPropertyContext%3CMetaPropertyContext%3E" }, @@ -17222,27 +17284,6 @@ { "$ref": "#/definitions/ManifestPropertyValidationPathTranslator%3Cany%3E" }, - { - "$ref": "#/definitions/ManifestEntityAction%3CMetaEntityAction%3E" - }, - { - "$ref": "#/definitions/ManifestEntityBulkActionDeleteKind" - }, - { - "$ref": "#/definitions/ManifestEntityBulkAction%3CMetaEntityBulkAction%3E" - }, - { - "$ref": "#/definitions/ManifestEntityBulkActionDefaultKind%3CMetaEntityBulkActionDefaultKind%3E" - }, - { - "$ref": "#/definitions/ManifestEntityBulkActionDuplicateToKind" - }, - { - "$ref": "#/definitions/ManifestEntityBulkActionMoveToKind" - }, - { - "$ref": "#/definitions/ManifestEntityBulkActionTrashKind" - }, { "$ref": "#/definitions/ManifestExternalLoginProvider" }, From 059894b03dcd9f8b3184ff527e83dbda10e24ec8 Mon Sep 17 00:00:00 2001 From: Levi Zitting Date: Thu, 17 Sep 2026 22:13:21 -0500 Subject: [PATCH 3/4] chore: regenerate usync --- .../Content/dev-night-november-2026.config | 23 +++++ .../v18/Content/dev-night-october-2026.config | 23 +++++ ...ing-imposter-syndrome-in-the-ai-era.config | 90 +++++++++++++++++++ ...way-around-manufacturer-abandonment.config | 78 ++++++++++++++++ ...-midi-instrument-to-meet-mark-rober.config | 14 +-- ...ee4ab4a-2a29-4fdf-a0e1-90bc69500c2e.config | 19 ++++ SgfDevs/uSync/v18/usync.config | 2 +- 7 files changed, 241 insertions(+), 8 deletions(-) create mode 100644 SgfDevs/uSync/v18/Content/dev-night-november-2026.config create mode 100644 SgfDevs/uSync/v18/Content/dev-night-october-2026.config create mode 100644 SgfDevs/uSync/v18/Content/leading-boldly-when-nobody-feels-ready-managing-imposter-syndrome-in-the-ai-era.config create mode 100644 SgfDevs/uSync/v18/Content/open-vehicle-monitoring-system-hacking-your-way-around-manufacturer-abandonment.config create mode 100644 SgfDevs/uSync/v18/Media/sessionize-speaker-0ee4ab4a-2a29-4fdf-a0e1-90bc69500c2e.config diff --git a/SgfDevs/uSync/v18/Content/dev-night-november-2026.config b/SgfDevs/uSync/v18/Content/dev-night-november-2026.config new file mode 100644 index 0000000..06a16c8 --- /dev/null +++ b/SgfDevs/uSync/v18/Content/dev-night-november-2026.config @@ -0,0 +1,23 @@ + + + + Events + /Home/Events/DevNightNovember2026 + false + event + 2026-08-17T16:58:41 + + 56 + + +