{"record":{"id":"79b6c351566a607b","repo":"glanceapp/glance","slug":"split-columns-inside-of-groups-are-not-supported","errorCode":null,"errorMessage":"split columns inside of groups are not supported","messagePattern":"split columns inside of groups are not supported","errorType":"validation","errorClass":null,"httpStatus":null,"severity":"error","filePath":"internal/glance/widget-group.go","lineNumber":27,"sourceCode":"\nvar groupWidgetTemplate = mustParseTemplate(\"group.html\", \"widget-base.html\")\n\ntype groupWidget struct {\n\twidgetBase          `yaml:\",inline\"`\n\tcontainerWidgetBase `yaml:\",inline\"`\n}\n\nfunc (widget *groupWidget) initialize() error {\n\twidget.withError(nil)\n\twidget.HideHeader = true\n\n\tfor i := range widget.Widgets {\n\t\twidget.Widgets[i].setHideHeader(true)\n\n\t\tif widget.Widgets[i].GetType() == \"group\" {\n\t\t\treturn errors.New(\"nested groups are not supported\")\n\t\t} else if widget.Widgets[i].GetType() == \"split-column\" {\n\t\t\treturn errors.New(\"split columns inside of groups are not supported\")\n\t\t}\n\t}\n\n\tif err := widget.containerWidgetBase._initializeWidgets(); err != nil {\n\t\treturn err\n\t}\n\n\treturn nil\n}\n\nfunc (widget *groupWidget) update(ctx context.Context) {\n\twidget.containerWidgetBase._update(ctx)\n}\n\nfunc (widget *groupWidget) setProviders(providers *widgetProviders) {\n\twidget.containerWidgetBase._setProviders(providers)\n}\n","sourceCodeStart":9,"sourceCodeEnd":45,"githubUrl":"https://github.com/glanceapp/glance/blob/91324e8de762702e97b0ac5c8e36271d644d8642/internal/glance/widget-group.go#L9-L45","documentation":"Thrown by the group widget's initialize() when one of its direct children has type split-column. Split columns implement their own internal column layout and are incompatible with the group container's flattened rendering, so the combination is rejected at config-parse time.","triggerScenarios":"A group widget whose widgets list contains an item with type: split-column; typically from pasting a split-column block into a group while reorganizing a page.","commonSituations":"Wanting side-by-side content inside a group and reaching for split-column; converting a region of a page into a group without removing an existing split-column.","solutions":["Move the split-column widget to the page's top level, outside the group","Replace the split-column with a simple grid/multi-column widget type supported inside groups","If side-by-side layout inside a container is required, restructure using two groups in a split-column at the top level"],"exampleFix":"# before\n- type: group\n  widgets:\n    - type: split-column\n      widgets: [...]\n\n# after\n- type: split-column\n  widgets:\n    - type: group\n      widgets: [...]","handlingStrategy":"validation","validationCode":"for w in group.get('widgets') or []:\n    if w['type'] == 'split-column':\n        raise ValueError('split columns inside of groups are not supported')","typeGuard":null,"tryCatchPattern":null,"preventionTips":["Keep split-columns at the page top level; invert the nesting if you need columns of groups","Validate widget-type combinations when generating configs programmatically"],"tags":["config","yaml","group","layout","validation"],"backgroundTag":null,"analyzedSha":"91324e8de762702e97b0ac5c8e36271d644d8642","analyzedAt":"2026-08-15T14:12:54.279Z","schemaVersion":2},"datasetVersion":"2026-08-15T17:31:12.345Z"}