Skip to content

BinaryClickerV2/BinaryToggle NodeType cannot compile — layout source calls non-existent LayoutAreaHost.GetData<T>() #3883

Description

@meshweaver-cloud

What is failing

The NodeType BinaryClickerV2/BinaryToggle cannot build its assembly, so the node type is dead — no BinaryToggle instance can be created or rendered. The single blocking Roslyn error is in its layout-area source: a call to host.GetData<BinaryToggleData>() on a LayoutAreaHost, a method that does not exist on that type. The only GetData<T> in scope is the WorkspaceOperations.GetData<T>(EntityStore) extension, which requires an EntityStore receiver — hence the CS1929.

Probable cause

Author error in the node's own source — high confidence. The read was written against an assumed API:

  • Everything else in the diagnostic set is warnings (duplicate using directives the compile harness prepends, missing XML comments); the GetData call is the only error.
  • Layout Areas documents the actual surface: view functions read through host.Workspace.GetStream<MeshNode>(), and node content goes through GetMeshNodeStream(path) + ContentAs<T> (CRUD Operations).
  • The working V1 sibling BinaryClicker/BinaryToggle/Source/BinaryToggleLayoutAreas uses exactly that pattern and compiles fine.

Impact

Contained and low-severity: a broken node type in a sandbox/demo space ("Binary Clicker V2"); no other spaces or platform components are affected, and the compilation pipeline behaved correctly — it caught the error and reported it with full diagnostics. The defect is persistent, though: the sources have carried it since they were authored in early July, so every pod that attempts this compile will fail the same way until the source is fixed.

Where to look / fix

  1. BinaryClickerV2/BinaryToggle/Source/BinaryToggleLayout — the var data = host.GetData<BinaryToggleData>(); line. Replace with the documented workspace read, mirroring the V1 layout: host.Workspace.GetStream<MeshNode>() filtered to the hub's path, or workspace.GetMeshNodeStream(path).Select(n => n.ContentAs<BinaryToggleData>(...)).
  2. While there: the button action is async (_, __) => { await host.UpdateAsync(...); } — the layout docs require synchronous click handlers (return Task.CompletedTask); async handlers can deadlock the layout pump under load.
  3. Stale near-duplicates of the same broken code sit at BinaryClickerV2/Source/BinaryToggleData and BinaryClickerV2/Source/BinaryToggleLayout (they are not part of this compile). Fix or delete them so the broken pattern isn't copied back.
  4. After fixing, recycle the BinaryClickerV2/BinaryToggle NodeType hub so a fresh compile runs, and confirm it builds.

Checked for existing incidents/issues covering this component and symptom — none found.


Evidence

Fingerprint c0b1424c7beb28e0
Category MeshWeaver.Graph.Configuration.MeshNodeCompilationService
Severity Error
Exception MeshWeaver.Compiler.CompilationException
Top frame MeshWeaver.Compiler.EmitPipeline.EmitCompilationToDirectory(CSharpCompilation compilation, String nodeName, String nodePath, String releaseDir, IReadOnlyCollection1 manifestResources, CancellationToken ct, Action2 captureFailure)
Namespace memex
Pods memex-portal-deployment-b8f65dc46-vsnwh, memex-portal-deployment-b8f65dc46-lxkzg
Occurrences 2
First seen 2026-09-10 02:26:49Z
Last seen 2026-09-10 02:30:43Z
Recent log lines
2026-09-10 02:26:49Z memex-portal-deployment-b8f65dc46-vsnwh fail: MeshWeaver.Graph.Configuration.MeshNodeCompilationService[0]
      Failed to compile assembly for node 'BinaryClickerV2/BinaryToggle'.
      --- Compiler diagnostics ---
      Compilation failed for 'BinaryClickerV2/BinaryToggle':
      CS1929 Error (line 58): 'LayoutAreaHost' does not contain a definition for 'GetData' and the best extension method overload 'WorkspaceOperations.GetData<BinaryToggleData>(EntityStore)' requires a receiver of type 'MeshWeaver.Data.EntityStore'
      CS0105 Warning (line 27): The using directive for 'System.ComponentModel.DataAnnotations' appeared previously in this namespace
      CS0105 Warning (line 28): The using directive for 'MeshWeaver.Domain' appeared previously in this namespace
      CS0105 Warning (line 29): The using directive for 'System' appeared previously in this namespace
      CS0105 Warning (line 30): The using directive for 'System.Reactive.Linq' appeared previously in this namespace
      CS0105 Warning (line 31): The using directive for 'MeshWeaver.Layout' appeared previously in this namespace
      CS0105 Warning (line 32): The using directive for 'MeshWeaver.Layout.Composition' appeared previously in this namespace
      CS1591 Warning (line 44): Missing XML comment for publicly visible type or member 'BinaryToggleData.Name'
      CS1591 Warning (line 46): Missing XML comment for publicly visible type or member 'BinaryToggleData.IsOn'
      CS1591 Warning (line 56): Missing XML comment for publicly visible type or member 'BinaryToggleLayout.Toggle(LayoutAreaHost, RenderingContext)'
      CS1591 Warning (line 83): Missing XML comment for publicly visible type or member 'BinaryClickerV2_BinaryToggleMeshNodeProviderAttribute'
        … and 1 more diagnostic line(s) — the complete set is on the exception below and in the NodeType's CompilationDiagnostics.
      --- Source discovery ---
      Executed source queries (2):
        - namespace:BinaryClickerV2/BinaryToggle/Source scope:subtree nodeType:Code
       …[truncated]
2026-09-10 02:30:43Z memex-portal-deployment-b8f65dc46-lxkzg fail: MeshWeaver.Graph.Configuration.MeshNodeCompilationService[0]
      Failed to compile assembly for node 'BinaryClickerV2/BinaryToggle'.
      --- Compiler diagnostics ---
      Compilation failed for 'BinaryClickerV2/BinaryToggle':
      CS1929 Error (line 58): 'LayoutAreaHost' does not contain a definition for 'GetData' and the best extension method overload 'WorkspaceOperations.GetData<BinaryToggleData>(EntityStore)' requires a receiver of type 'MeshWeaver.Data.EntityStore'
      CS0105 Warning (line 27): The using directive for 'System.ComponentModel.DataAnnotations' appeared previously in this namespace
      CS0105 Warning (line 28): The using directive for 'MeshWeaver.Domain' appeared previously in this namespace
      CS0105 Warning (line 29): The using directive for 'System' appeared previously in this namespace
      CS0105 Warning (line 30): The using directive for 'System.Reactive.Linq' appeared previously in this namespace
      CS0105 Warning (line 31): The using directive for 'MeshWeaver.Layout' appeared previously in this namespace
      CS0105 Warning (line 32): The using directive for 'MeshWeaver.Layout.Composition' appeared previously in this namespace
      CS1591 Warning (line 44): Missing XML comment for publicly visible type or member 'BinaryToggleData.Name'
      CS1591 Warning (line 46): Missing XML comment for publicly visible type or member 'BinaryToggleData.IsOn'
      CS1591 Warning (line 56): Missing XML comment for publicly visible type or member 'BinaryToggleLayout.Toggle(LayoutAreaHost, RenderingContext)'
      CS1591 Warning (line 83): Missing XML comment for publicly visible type or member 'BinaryClickerV2_BinaryToggleMeshNodeProviderAttribute'
        … and 1 more diagnostic line(s) — the complete set is on the exception below and in the NodeType's CompilationDiagnostics.
      --- Source discovery ---
      Executed source queries (2):
        - namespace:BinaryClickerV2/BinaryToggle/Source scope:subtree nodeType:Code
       …[truncated]

Opened automatically from Admin/_LogIncident/c0b1424c7beb28e0. Recurrences are folded into this issue rather than opening new ones.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't workinghelp wantedExtra attention is needed

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions