Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions clients/react/src/i18n/strings.de.json
Original file line number Diff line number Diff line change
Expand Up @@ -131,6 +131,7 @@
"menu.history": "Verlauf",
"home.all": "Alle",
"home.sharedWithMe": "Mit mir geteilt",
"home.mine": "Meine",
"home.pinned": "Angeheftet",
"home.apps": "Apps",
"home.content": "Inhalte",
Expand Down
1 change: 1 addition & 0 deletions clients/react/src/i18n/strings.en.json
Original file line number Diff line number Diff line change
Expand Up @@ -131,6 +131,7 @@
"menu.history": "History",
"home.all": "All",
"home.sharedWithMe": "Shared with me",
"home.mine": "Mine",
"home.pinned": "Pinned",
"home.apps": "Apps",
"home.content": "Content",
Expand Down
2 changes: 1 addition & 1 deletion src/MeshWeaver.AI/AiSettingsNodeType.cs
Original file line number Diff line number Diff line change
Expand Up @@ -57,7 +57,7 @@ public static TBuilder AddAiSettingsType<TBuilder>(this TBuilder builder) where
Name = "AI Settings",
Icon = "/static/NodeTypeIcons/sparkle.svg",
IsSatelliteType = false,
ExcludeFromContext = new HashSet<string> { "search", "create" },
ExcludeFromContext = new HashSet<string> { "search", "create", "content" },
HubConfiguration = config => config
.AddMeshDataSource(source => source
.WithContentType<AiSettings>())
Expand Down
4 changes: 2 additions & 2 deletions src/MeshWeaver.AI/ModelProviderNodeType.cs
Original file line number Diff line number Diff line change
Expand Up @@ -196,7 +196,7 @@ public static TBuilder AddModelProviderType<TBuilder>(this TBuilder builder,
IsSatelliteType = false,
// Creatable: an admin can author a ModelProvider node directly in a space
// (e.g. Systemorph/Provider/AzureFoundry). Still hidden from search.
ExcludeFromContext = new HashSet<string> { "search" },
ExcludeFromContext = new HashSet<string> { "search", "content" },
HubConfiguration = config => config
.AddMeshDataSource(source => source
.WithContentType<ModelProviderConfiguration>())
Expand All @@ -215,7 +215,7 @@ public static TBuilder AddModelProviderType<TBuilder>(this TBuilder builder,
{
Name = "Model Provider Selection",
IsSatelliteType = false,
ExcludeFromContext = new HashSet<string> { "search", "create" },
ExcludeFromContext = new HashSet<string> { "search", "create", "content" },
HubConfiguration = config => config
.AddMeshDataSource(source => source
.WithContentType<ModelProviderSelection>())
Expand Down
2 changes: 1 addition & 1 deletion src/MeshWeaver.AI/ModelTierNodeType.cs
Original file line number Diff line number Diff line change
Expand Up @@ -79,7 +79,7 @@ public static TBuilder AddModelTierType<TBuilder>(this TBuilder builder,
// Creatable and editable through the standard node editor — that is the point of making a
// tier a node. Kept out of free-text search results (like ModelProvider) so the registry
// does not clutter every query; the AI menu's Tiers catalog is where you browse them.
ExcludeFromContext = new HashSet<string> { "search" },
ExcludeFromContext = new HashSet<string> { "search", "content" },
HubConfiguration = config => config
.AddMeshDataSource(source => source
.WithContentType<ModelTierDefinition>())
Expand Down
2 changes: 1 addition & 1 deletion src/MeshWeaver.AI/ThreadComposerNodeType.cs
Original file line number Diff line number Diff line change
Expand Up @@ -80,7 +80,7 @@ public static TBuilder AddThreadComposerType<TBuilder>(this TBuilder builder) wh
// path segment (_Thread) and the nodeType resolve to `threads`, so write and read agree and
// the selection persists. Hidden from the create menu and search so users never hand-create one.
IsSatelliteType = true,
ExcludeFromContext = new HashSet<string> { "search", "create" },
ExcludeFromContext = new HashSet<string> { "search", "create", "content" },
HubConfiguration = config => config
.AddMeshDataSource(source => source
.WithContentType<ThreadComposer>())
Expand Down
2 changes: 1 addition & 1 deletion src/MeshWeaver.AI/TokenUsage.cs
Original file line number Diff line number Diff line change
Expand Up @@ -112,7 +112,7 @@ public static TBuilder AddTokenUsageType<TBuilder>(this TBuilder builder) where
{
Name = "Token Usage",
IsSatelliteType = true,
ExcludeFromContext = new HashSet<string> { "search", "create" },
ExcludeFromContext = new HashSet<string> { "search", "create", "content" },
HubConfiguration = config => config
.AddMeshDataSource(source => source
.WithContentType<TokenUsage>())
Expand Down
2 changes: 1 addition & 1 deletion src/MeshWeaver.Blazor.Portal/PortalNodeType.cs
Original file line number Diff line number Diff line change
Expand Up @@ -51,7 +51,7 @@ public static TBuilder AddPortalType<TBuilder>(this TBuilder builder) where TBui
{
Name = "Portal Session",
IsSatelliteType = true,
ExcludeFromContext = new HashSet<string> { "search", "create" },
ExcludeFromContext = new HashSet<string> { "search", "create", "content" },
HubConfiguration = config =>
{
config.TypeRegistry.AddAITypes();
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
---
Name: A home screen that shows your things, not the platform's
Category: Fix
Description: Type and module registrations no longer appear next to your spaces, and the content tabs are back.
Icon: Sparkle
Order: -20260824
---

# A home screen that shows your things, not the platform's

The home screen's list used to include the platform's own bookkeeping — the registrations that tell
MeshWeaver a type or a module exists — sitting next to your actual spaces. They are not things you
can open, and they should never have been there.

Anything can now say where it should not appear, and it is the thing itself that says it rather than
the home screen keeping a list of what to leave out. That matters because a list is wrong the moment
you install something it has not heard of.

The content tabs are back too: **All**, then **Pinned** when you have pins, **Mine** for your own
space, and **Shared** when someone has shared something with you.
10 changes: 5 additions & 5 deletions src/MeshWeaver.GitSync/GitHubSyncConfiguration.cs
Original file line number Diff line number Diff line change
Expand Up @@ -144,15 +144,15 @@ public static TBuilder AddGitHubSyncTypes<TBuilder>(this TBuilder builder) where
{
Name = "GitHub Credential",
IsSatelliteType = false,
ExcludeFromContext = new HashSet<string> { "search", "create" },
ExcludeFromContext = new HashSet<string> { "search", "create", "content" },
HubConfiguration = config => config
.AddMeshDataSource(source => source.WithContentType<GitHubCredential>()),
},
new MeshNode(GitHubSyncService.ConfigNodeType)
{
Name = "GitHub Sync Config",
IsSatelliteType = false,
ExcludeFromContext = new HashSet<string> { "search", "create" },
ExcludeFromContext = new HashSet<string> { "search", "create", "content" },
HubConfiguration = config => config
.AddMeshDataSource(source => source.WithContentType<GitHubSyncConfig>()),
},
Expand All @@ -163,7 +163,7 @@ public static TBuilder AddGitHubSyncTypes<TBuilder>(this TBuilder builder) where
{
Name = "Pull Request",
IsSatelliteType = true,
ExcludeFromContext = new HashSet<string> { "search", "create" },
ExcludeFromContext = new HashSet<string> { "search", "create", "content" },
HubConfiguration = config => config
.AddMeshDataSource(source => source.WithContentType<GitHubPullRequest>()),
},
Expand All @@ -173,7 +173,7 @@ public static TBuilder AddGitHubSyncTypes<TBuilder>(this TBuilder builder) where
{
Name = "GitHub Issue",
IsSatelliteType = true,
ExcludeFromContext = new HashSet<string> { "search", "create" },
ExcludeFromContext = new HashSet<string> { "search", "create", "content" },
HubConfiguration = config => config
.AddMeshDataSource(source => source.WithContentType<GitHubIssue>()),
},
Expand All @@ -185,7 +185,7 @@ public static TBuilder AddGitHubSyncTypes<TBuilder>(this TBuilder builder) where
{
Name = "Build Completion",
IsSatelliteType = true,
ExcludeFromContext = new HashSet<string> { "search", "create" },
ExcludeFromContext = new HashSet<string> { "search", "create", "content" },
HubConfiguration = config => config
.AddMeshDataSource(source => source.WithContentType<BuildCompletion>()),
});
Expand Down
2 changes: 1 addition & 1 deletion src/MeshWeaver.Graph/CommentNodeType.cs
Original file line number Diff line number Diff line change
Expand Up @@ -68,7 +68,7 @@ public static TBuilder AddCommentType<TBuilder>(this TBuilder builder) where TBu
Name = "Comment",
Icon = "/static/NodeTypeIcons/comment.svg",
IsSatelliteType = true,
ExcludeFromContext = new HashSet<string> { "search", "create" },
ExcludeFromContext = new HashSet<string> { "search", "create", "content" },
HubConfiguration = config => config
.AddCommentNodeViews()
.AddMeshDataSource(source => source.WithContentType<Comment>())
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@ public static TBuilder AddAccessAssignmentType<TBuilder>(this TBuilder builder)
Name = "Access Assignment",
Icon = "/static/NodeTypeIcons/shield.svg",
IsSatelliteType = true,
ExcludeFromContext = new HashSet<string> { "search", "create" },
ExcludeFromContext = new HashSet<string> { "search", "create", "content" },
HubConfiguration = config => config
.AddAccessAssignmentViews()
.AddMeshDataSource(source => source
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -50,7 +50,7 @@ public static TBuilder AddActivityLogSegmentType<TBuilder>(this TBuilder builder
{
Name = "Activity Log Segment",
IsSatelliteType = true,
ExcludeFromContext = new HashSet<string> { "search", "create" },
ExcludeFromContext = new HashSet<string> { "search", "create", "content" },
HubConfiguration = config => config
.AddMeshDataSource(source => source
.WithContentType<ActivityLogSegment>())
Expand Down
2 changes: 1 addition & 1 deletion src/MeshWeaver.Graph/Configuration/ActivityNodeType.cs
Original file line number Diff line number Diff line change
Expand Up @@ -50,7 +50,7 @@ public static TBuilder AddActivityType<TBuilder>(this TBuilder builder) where TB
{
Name = "Activity",
IsSatelliteType = true,
ExcludeFromContext = new HashSet<string> { "search", "create" },
ExcludeFromContext = new HashSet<string> { "search", "create", "content" },
// Activity hubs host the kernel directly: SubmitCodeRequest etc. land here,
// run inside this hub's action block, and write progress to the same
// ActivityLog node via DataChangeRequest.Update on the local workspace.
Expand Down
2 changes: 1 addition & 1 deletion src/MeshWeaver.Graph/Configuration/ApiTokenNodeType.cs
Original file line number Diff line number Diff line change
Expand Up @@ -65,7 +65,7 @@ public static TBuilder AddApiTokenType<TBuilder>(this TBuilder builder) where TB
// MainNode = userId on each token row + the per-user-partition own-scope
// shortcut in RlsNodeValidator to gate Create/Read.
IsSatelliteType = false,
ExcludeFromContext = new HashSet<string> { "search", "create" },
ExcludeFromContext = new HashSet<string> { "search", "create", "content" },
HubConfiguration = config => config
.AddApiTokenViews()
.WithHandler<ValidateTokenRequest>(HandleValidateToken)
Expand Down
2 changes: 1 addition & 1 deletion src/MeshWeaver.Graph/Configuration/AppNodeType.cs
Original file line number Diff line number Diff line change
Expand Up @@ -51,7 +51,7 @@ public static TBuilder AddAppType<TBuilder>(this TBuilder builder) where TBuilde
Name = "Installed App",
Icon = "/static/NodeTypeIcons/puzzlepiece.svg",
IsSatelliteType = false,
ExcludeFromContext = new HashSet<string> { "search", "create" },
ExcludeFromContext = new HashSet<string> { "search", "create", "content" },
HubConfiguration = config => config
.AddMeshDataSource(source => source
.WithContentType<App>())
Expand Down
2 changes: 1 addition & 1 deletion src/MeshWeaver.Graph/Configuration/CodeNodeType.cs
Original file line number Diff line number Diff line change
Expand Up @@ -56,7 +56,7 @@ public static TBuilder AddCodeType<TBuilder>(this TBuilder builder) where TBuild
Name = "Code",
Icon = "/static/NodeTypeIcons/code.svg",
IsSatelliteType = false,
ExcludeFromContext = new HashSet<string> { "search", "create" },
ExcludeFromContext = new HashSet<string> { "search", "create", "content" },
HubConfiguration = config => config
.AddMeshDataSource(source => source
.WithContentType<CodeConfiguration>())
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ public static TBuilder AddCompletionMemoryType<TBuilder>(this TBuilder builder)
Name = "Completion Memory",
Icon = "/static/NodeTypeIcons/code.svg",
IsSatelliteType = true,
ExcludeFromContext = new HashSet<string> { "search", "create" },
ExcludeFromContext = new HashSet<string> { "search", "create", "content" },
HubConfiguration = config => config
.AddMeshDataSource(source => source
.WithContentType<CompletionMemory>())
Expand Down
2 changes: 1 addition & 1 deletion src/MeshWeaver.Graph/Configuration/EaCredentialNodeType.cs
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ public static TBuilder AddEaCredentialType<TBuilder>(this TBuilder builder) wher
{
Name = "EA Credential",
Icon = "/static/NodeTypeIcons/key.svg",
ExcludeFromContext = new HashSet<string> { "search", "create" },
ExcludeFromContext = new HashSet<string> { "search", "create", "content" },
HubConfiguration = config => config
.AddMeshDataSource(source => source
.WithContentType<EaCredential>())
Expand Down
2 changes: 1 addition & 1 deletion src/MeshWeaver.Graph/Configuration/EmailNodeType.cs
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@ public static TBuilder AddEmailType<TBuilder>(this TBuilder builder) where TBuil
{
Name = "Email",
Icon = "/static/NodeTypeIcons/message.svg",
ExcludeFromContext = new HashSet<string> { "search", "create" },
ExcludeFromContext = new HashSet<string> { "search", "create", "content" },
HubConfiguration = config => config
.AddMeshDataSource(source => source
.WithContentType<Email>())
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -49,7 +49,7 @@ public static TBuilder AddEventSubscriptionType<TBuilder>(this TBuilder builder)
{
Name = "Event Subscription",
Icon = "/static/NodeTypeIcons/clock.svg",
ExcludeFromContext = new HashSet<string> { "search", "create" },
ExcludeFromContext = new HashSet<string> { "search", "create", "content" },
HubConfiguration = config => config
.AddMeshDataSource(source => source
.WithContentType<EventSubscription>())
Expand Down
4 changes: 2 additions & 2 deletions src/MeshWeaver.Graph/Configuration/GlobalSettingsNodeType.cs
Original file line number Diff line number Diff line change
Expand Up @@ -65,7 +65,7 @@ public static TBuilder AddGlobalSettingsType<TBuilder>(this TBuilder builder) wh
NodeType = NodeType,
Name = "Settings",
State = MeshNodeState.Active,
ExcludeFromContext = new HashSet<string> { "search", "create" },
ExcludeFromContext = new HashSet<string> { "search", "create", "content" },
});

builder.AddMeshNodes(CreatePolicy());
Expand Down Expand Up @@ -118,7 +118,7 @@ private static MeshNode CreatePolicy() =>
Name = "Global Settings",
Icon = "/static/NodeTypeIcons/settings.svg",
IsSatelliteType = false,
ExcludeFromContext = new HashSet<string> { "search", "create" },
ExcludeFromContext = new HashSet<string> { "search", "create", "content" },
HubConfiguration = config => config
.AddDefaultGlobalSettingsMenuItems()
.AddLayout(layout => layout
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ public static TBuilder AddGraphSubscriptionType<TBuilder>(this TBuilder builder)
{
Name = "Graph Subscription",
Icon = "/static/NodeTypeIcons/mail.svg",
ExcludeFromContext = new HashSet<string> { "search", "create" },
ExcludeFromContext = new HashSet<string> { "search", "create", "content" },
HubConfiguration = config => config
.AddMeshDataSource(source => source
.WithContentType<GraphSubscriptionState>())
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@ public static TBuilder AddGroupMembershipType<TBuilder>(this TBuilder builder) w
{
Name = "Group Membership",
Icon = "/static/NodeTypeIcons/person.svg",
ExcludeFromContext = new HashSet<string> { "search", "create" },
ExcludeFromContext = new HashSet<string> { "search", "create", "content" },
HubConfiguration = config => config
.AddGroupMembershipViews()
.AddMeshDataSource(source => source
Expand Down
4 changes: 2 additions & 2 deletions src/MeshWeaver.Graph/Configuration/HomeConfigNodeType.cs
Original file line number Diff line number Diff line change
Expand Up @@ -59,7 +59,7 @@ public static TBuilder AddHomeConfigType<TBuilder>(this TBuilder builder) where
NodeType = NodeType,
State = MeshNodeState.Active,
Content = new HomeConfig(),
ExcludeFromContext = new HashSet<string> { "search", "create" },
ExcludeFromContext = new HashSet<string> { "search", "create", "content" },
});
return builder;
}
Expand All @@ -70,7 +70,7 @@ public static TBuilder AddHomeConfigType<TBuilder>(this TBuilder builder) where
Name = "Home Page",
Icon = "/static/NodeTypeIcons/layout.svg",
IsSatelliteType = false,
ExcludeFromContext = new HashSet<string> { "search", "create" },
ExcludeFromContext = new HashSet<string> { "search", "create", "content" },
HubConfiguration = config => config
.AddDefaultLayoutAreas()
.AddMeshDataSource(source => source.WithContentType<HomeConfig>())
Expand Down
2 changes: 1 addition & 1 deletion src/MeshWeaver.Graph/Configuration/InvitationNodeType.cs
Original file line number Diff line number Diff line change
Expand Up @@ -62,7 +62,7 @@ public static TBuilder AddInvitationType<TBuilder>(this TBuilder builder) where
{
Name = "Invitation",
Icon = "/static/NodeTypeIcons/message.svg",
ExcludeFromContext = new HashSet<string> { "search", "create" },
ExcludeFromContext = new HashSet<string> { "search", "create", "content" },
HubConfiguration = config => config
.AddMeshDataSource(source => source
.WithContentType<Invitation>())
Expand Down
2 changes: 1 addition & 1 deletion src/MeshWeaver.Graph/Configuration/KernelNodeType.cs
Original file line number Diff line number Diff line change
Expand Up @@ -85,7 +85,7 @@ public MessageHubConfiguration ConfigureSubHub(MessageHubConfiguration config)
{
Name = "Kernel Session",
IsSatelliteType = true,
ExcludeFromContext = new HashSet<string> { "search", "create" },
ExcludeFromContext = new HashSet<string> { "search", "create", "content" },
HubConfiguration = config => config
.AddKernelHandlers()
};
Expand Down
2 changes: 1 addition & 1 deletion src/MeshWeaver.Graph/Configuration/LicenseNodeType.cs
Original file line number Diff line number Diff line change
Expand Up @@ -55,7 +55,7 @@ public static TBuilder AddLicenseType<TBuilder>(this TBuilder builder) where TBu
{
Name = "License Acceptance",
IsSatelliteType = true,
ExcludeFromContext = new HashSet<string> { "search", "create" },
ExcludeFromContext = new HashSet<string> { "search", "create", "content" },
HubConfiguration = config => config
.AddMeshDataSource(source => source.WithContentType<LicenseAcceptance>())
};
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,7 @@ public static TBuilder AddMeshDataSourceType<TBuilder>(this TBuilder builder) wh
Name = "Data Source",
Icon = "/static/NodeTypeIcons/database.svg",
IsSatelliteType = false,
ExcludeFromContext = new HashSet<string> { "search", "create" },
ExcludeFromContext = new HashSet<string> { "search", "create", "content" },
HubConfiguration = config => config
.AddMeshDataSourceViews()
.AddMeshDataSource(source => source.WithContentType<MeshDataSourceConfiguration>())
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -74,7 +74,7 @@ public static TBuilder AddMeshWeaverInstanceType<TBuilder>(this TBuilder builder
// Regular content type, like ApiToken: MainNode = the owning userId on each instance row
// plus the per-user-partition own-scope shortcut in RlsNodeValidator gates Create/Read.
IsSatelliteType = false,
ExcludeFromContext = new HashSet<string> { "search", "create" },
ExcludeFromContext = new HashSet<string> { "search", "create", "content" },
HubConfiguration = config => config
.AddMeshDataSource(source => source
.WithContentType<MeshWeaverInstance>()
Expand All @@ -87,7 +87,7 @@ public static TBuilder AddMeshWeaverInstanceType<TBuilder>(this TBuilder builder
{
Name = "Registration Key",
IsSatelliteType = false,
ExcludeFromContext = new HashSet<string> { "search", "create" },
ExcludeFromContext = new HashSet<string> { "search", "create", "content" },
HubConfiguration = config => config
.AddMeshDataSource(source => source
.WithContentType<RegistrationKey>()
Expand All @@ -101,7 +101,7 @@ public static TBuilder AddMeshWeaverInstanceType<TBuilder>(this TBuilder builder
{
Name = "Plugin Grant",
IsSatelliteType = false,
ExcludeFromContext = new HashSet<string> { "search", "create" },
ExcludeFromContext = new HashSet<string> { "search", "create", "content" },
HubConfiguration = config => config
.AddMeshDataSource(source => source
.WithContentType<PluginGrant>())
Expand Down
Loading
Loading