Problem
Dashboard components use three different patterns to access MatterClient:
- Required property:
@property() public client!: MatterClient (most dialogs)
- Optional property:
public client?: MatterClient (server-details, header)
- Lit context:
@consume({ context: clientContext }) (commission-node children)
This inconsistency makes refactoring risky and creates nullable confusion.
Proposal
Standardize on Lit context (@consume) for all components that need the client. This is the most Lit-idiomatic approach and eliminates manual property passing through show functions.
Problem
Dashboard components use three different patterns to access
MatterClient:@property() public client!: MatterClient(most dialogs)public client?: MatterClient(server-details, header)@consume({ context: clientContext })(commission-node children)This inconsistency makes refactoring risky and creates nullable confusion.
Proposal
Standardize on Lit context (
@consume) for all components that need the client. This is the most Lit-idiomatic approach and eliminates manual property passing through show functions.