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
2 changes: 1 addition & 1 deletion memex/Memex.Portal.Shared/Api/MeshApiEndpoints.cs
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
using System.Reactive.Threading.Tasks;
using System.Text.Json;
using MeshWeaver.AI;
using MeshWeaver.Blazor.Infrastructure; // PortalApplication
using MeshWeaver.Hosting.AspNetCore.Portal; // PortalApplication
using MeshWeaver.Hosting.AspNetCore; // SessionHubResolver, McpConfiguration
using MeshWeaver.Mesh.Security; // WellKnownUsers
using MeshWeaver.Mesh.Services;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
using System.Reactive.Linq;
using System.Reactive.Threading.Tasks;
using System.Threading;
using MeshWeaver.Blazor.Infrastructure; // PortalApplication
using MeshWeaver.Hosting.AspNetCore.Portal; // PortalApplication
using MeshWeaver.Messaging; // AccessService / AccessContext
using Microsoft.AspNetCore.Authorization;
using Microsoft.AspNetCore.Mvc;
Expand Down
2 changes: 1 addition & 1 deletion memex/Memex.Portal.Shared/Authentication/EaGraphAuth.cs
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
using System.Reactive.Linq;
using System.Reactive.Threading.Tasks;
using System.Text.Json;
using MeshWeaver.Blazor.Infrastructure; // PortalApplication
using MeshWeaver.Hosting.AspNetCore.Portal; // PortalApplication
using MeshWeaver.Data; // IWorkspace.GetMeshNodeStream
using MeshWeaver.Graph.Configuration; // EaCredentialNodeType
using MeshWeaver.Mesh; // EaCredential, MeshNode
Expand Down
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
using System.Security.Claims;
using MeshWeaver.Blazor.Portal.Authentication;
using MeshWeaver.Hosting.AspNetCore.Portal.Authentication;
using Microsoft.AspNetCore.Authentication;
using Microsoft.AspNetCore.Authentication.Cookies;
using Microsoft.AspNetCore.Mvc;
using Microsoft.Extensions.Options;
using PortalAuthOptions = MeshWeaver.Blazor.Portal.Authentication.AuthenticationOptions;
using PortalAuthOptions = MeshWeaver.Hosting.AspNetCore.Portal.Authentication.AuthenticationOptions;

namespace Memex.Portal.Shared.Authentication;

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
using System.Security.Claims;
using System.Security.Cryptography;
using System.Text.Json.Serialization;
using MeshWeaver.Blazor.Infrastructure; // PortalApplication
using MeshWeaver.Hosting.AspNetCore.Portal; // PortalApplication
using MeshWeaver.Mesh.Security; // ApiToken (the minted token content)
using MeshWeaver.Messaging; // AccessService / AccessContext
using Microsoft.AspNetCore.Authorization;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
using System.Reactive.Linq;
using System.Reactive.Threading.Tasks;
using System.Text.Json;
using MeshWeaver.Blazor.Infrastructure;
using MeshWeaver.Hosting.AspNetCore.Portal;
using MeshWeaver.Data;
using MeshWeaver.Graph;
using MeshWeaver.Mesh;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
using MeshWeaver.Blazor.Infrastructure;
using MeshWeaver.Hosting.AspNetCore.Portal;
using MeshWeaver.Blazor.Portal.Infrastructure;
using MeshWeaver.Mesh.Security;
using MeshWeaver.Messaging;
Expand Down
2 changes: 1 addition & 1 deletion memex/Memex.Portal.Shared/Email/InvitationEmailSender.cs
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
using System.Reactive.Disposables;
using System.Reactive.Linq;
using System.Text.Json;
using MeshWeaver.Blazor.Infrastructure;
using MeshWeaver.Hosting.AspNetCore.Portal;
using MeshWeaver.Data;
using MeshWeaver.Graph.Configuration;
using MeshWeaver.Mesh;
Expand Down
2 changes: 1 addition & 1 deletion memex/Memex.Portal.Shared/Email/OutboundEmailSender.cs
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
using System.Reactive.Disposables;
using System.Reactive.Linq;
using System.Text.Json;
using MeshWeaver.Blazor.Infrastructure;
using MeshWeaver.Hosting.AspNetCore.Portal;
using MeshWeaver.Graph.Configuration;
using MeshWeaver.Mesh;
using MeshWeaver.Mesh.Security;
Expand Down
2 changes: 1 addition & 1 deletion memex/Memex.Portal.Shared/Layout/MemexMobileMenu.razor
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
@using Icons = Microsoft.FluentUI.AspNetCore.Components.Icons
@using MeshWeaver.Blazor.Infrastructure
@using MeshWeaver.Hosting.AspNetCore.Portal
@using MeshWeaver.Mesh.Services
@using Microsoft.AspNetCore.Components.Authorization
@inject AccessService Access
Expand Down
5 changes: 3 additions & 2 deletions memex/Memex.Portal.Shared/MemexConfiguration.cs
Original file line number Diff line number Diff line change
Expand Up @@ -7,11 +7,12 @@
using Memex.Portal.Shared.Social;
using Microsoft.Extensions.DependencyInjection.Extensions;
using MeshWeaver.AI;
using MeshWeaver.Blazor.Infrastructure;
using MeshWeaver.Hosting.AspNetCore.Portal;
using MeshWeaver.Hosting.Grpc;
using MeshWeaver.Blazor.Pages;
using MeshWeaver.Blazor.Portal;
using MeshWeaver.Blazor.Portal.Authentication;
using MeshWeaver.Hosting.AspNetCore.Portal.Authentication;
using MeshWeaver.Blazor.Portal.Chat;
using MeshWeaver.Blazor.Portal.Components;
using MeshWeaver.Blazor.Portal.Layout;
Expand Down Expand Up @@ -46,7 +47,7 @@
using Microsoft.Extensions.Logging;
using Microsoft.Identity.Web;
using Microsoft.Identity.Web.UI;
using PortalAuthOptions = MeshWeaver.Blazor.Portal.Authentication.AuthenticationOptions;
using PortalAuthOptions = MeshWeaver.Hosting.AspNetCore.Portal.Authentication.AuthenticationOptions;

namespace Memex.Portal.Shared;

Expand Down
1 change: 1 addition & 0 deletions memex/Memex.Portal.Shared/Pages/Login.razor
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
@page "/login"
@using Microsoft.AspNetCore.Components.Authorization
@using MeshWeaver.Blazor.Portal.Authentication
@using MeshWeaver.Hosting.AspNetCore.Portal.Authentication
@inject IAuthenticationNavigationService AuthNavService
@inject NavigationManager Navigation
@inject Microsoft.Extensions.Configuration.IConfiguration Configuration
Expand Down
2 changes: 1 addition & 1 deletion memex/Memex.Portal.Shared/Pages/Onboarding.razor
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
the "menu on the onboarding screen" issue). EmptyLayout is the same bare shell Welcome uses. *@
@layout EmptyLayout
@using MeshWeaver.Blazor.Layouts
@using MeshWeaver.Blazor.Infrastructure
@using MeshWeaver.Hosting.AspNetCore.Portal
@using MeshWeaver.Data
@using MeshWeaver.Graph
@using MeshWeaver.Graph.Configuration
Expand Down
2 changes: 1 addition & 1 deletion memex/Memex.Portal.Shared/Skills/AgentSkillSyncService.cs
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
using System.Text;
using System.Text.Json;
using MeshWeaver.AI;
using MeshWeaver.Blazor.Infrastructure;
using MeshWeaver.Hosting.AspNetCore.Portal;
using MeshWeaver.Graph;
using MeshWeaver.Mesh;
using MeshWeaver.Mesh.Threading;
Expand Down
2 changes: 1 addition & 1 deletion memex/Memex.Portal.Shared/Social/GitHubConnectEndpoints.cs
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
using System.Security.Cryptography;
using System.Text;
using System.Threading.Tasks;
using MeshWeaver.Blazor.Infrastructure; // PortalApplication
using MeshWeaver.Hosting.AspNetCore.Portal; // PortalApplication
using MeshWeaver.GitSync;
using MeshWeaver.Messaging; // AccessService
using Microsoft.AspNetCore.Authentication;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,8 @@
using Microsoft.Extensions.Logging;
using Microsoft.IdentityModel.Tokens;

using MeshWeaver.Hosting.AspNetCore.Portal.Authentication;

namespace MeshWeaver.Blazor.Portal.Authentication;

/// <summary>
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,8 @@
using Microsoft.Extensions.Configuration;
using Microsoft.Extensions.DependencyInjection;

using MeshWeaver.Hosting.AspNetCore.Portal.Authentication;

namespace MeshWeaver.Blazor.Portal.Authentication;

/// <summary>
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
using Microsoft.Extensions.Options;

using MeshWeaver.Hosting.AspNetCore.Portal.Authentication;

namespace MeshWeaver.Blazor.Portal.Authentication;

/// <summary>
Expand Down
2 changes: 1 addition & 1 deletion src/MeshWeaver.Blazor.Portal/Chat/ThreadChatView.razor.cs
Original file line number Diff line number Diff line change
Expand Up @@ -1282,7 +1282,7 @@ private void SubmitMessageCore()
Logger.LogWarning("[ThreadChat:{InstanceId}] Submit failed: {Error}", _instanceId, err);
// SURFACE the submit failure (modal) instead of just clearing the spinner — a silent
// reset is the "message vanished, no idea why" symptom.
Services.GetService<MeshWeaver.Blazor.Infrastructure.PortalErrorSink>()
Services.GetService<MeshWeaver.Hosting.AspNetCore.Portal.PortalErrorSink>()
?.Report($"Couldn't send your message: {err}");
showSubmissionProgress = false;
lastSubmittedText = null;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
IDialogService usage in NotificationCenter. *@
@implements IDisposable
@inject IDialogService DialogService
@inject MeshWeaver.Blazor.Infrastructure.PortalErrorSink ErrorSink
@inject MeshWeaver.Hosting.AspNetCore.Portal.PortalErrorSink ErrorSink

@code {
private IDisposable? sub;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
using System.Reactive.Linq;
using System.Reactive.Threading.Tasks;
using System.Security.Claims;
using MeshWeaver.Blazor.Infrastructure;
using MeshWeaver.Hosting.AspNetCore.Portal;
using MeshWeaver.Blazor.Portal.Authentication;
using MeshWeaver.Graph.Configuration;
using MeshWeaver.Mesh;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
using System.Reactive.Linq;
using System.Reactive.Threading.Tasks;
using MeshWeaver.AI;
using MeshWeaver.Blazor.Infrastructure;
using MeshWeaver.Hosting.AspNetCore.Portal;
using MeshWeaver.Blazor.Portal.Resize;
using MeshWeaver.Blazor.Portal.SidePanel;
using MeshWeaver.Blazor.Services;
Expand Down
2 changes: 1 addition & 1 deletion src/MeshWeaver.Blazor/BlazorView.razor.cs
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
using System.Reflection;
using System.Text.Json;
using System.Text.Json.Nodes;
using MeshWeaver.Blazor.Infrastructure;
using MeshWeaver.Hosting.AspNetCore.Portal;
using MeshWeaver.Data;
using MeshWeaver.Layout;
using MeshWeaver.Layout.Client;
Expand Down
4 changes: 4 additions & 0 deletions src/MeshWeaver.Blazor/MeshWeaver.Blazor.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,10 @@
in-mesh compile then resolves a DIFFERENT copy of the styles assembly than the one
the portal rendered with, and icons/styles silently diverge per pod. -->
<ProjectReference Include="..\MeshWeaver.Application.Styles\MeshWeaver.Application.Styles.csproj" />
<!-- The non-visual portal infrastructure (middleware, caches, accessors) lifted out of
this project so the PLATFORM does not depend on the UI assembly. The views still
consume it, so the reference points this way now — UI -> hosting, never back. -->
<ProjectReference Include="..\MeshWeaver.Hosting.AspNetCore\MeshWeaver.Hosting.AspNetCore.csproj" />
<ProjectReference Include="..\MeshWeaver.ContentCollections\MeshWeaver.ContentCollections.csproj" />
<ProjectReference Include="..\MeshWeaver.Graph\MeshWeaver.Graph.csproj" />
<ProjectReference Include="..\MeshWeaver.Kernel\MeshWeaver.Kernel.csproj" />
Expand Down
2 changes: 1 addition & 1 deletion src/MeshWeaver.Blazor/Pages/ArticlePage.razor
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
@page "/article/{**Path}"
@using MeshWeaver.Blazor.Infrastructure
@using MeshWeaver.Hosting.AspNetCore.Portal
@inject PortalApplication PortalApplication

<LayoutArea Address="@PortalApplication.Hub.Address" Area="Articles" Id="@Path"></LayoutArea>
Expand Down
2 changes: 1 addition & 1 deletion src/MeshWeaver.Blazor/Pages/ArticlesCatalogPage.razor
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
@page "/articles/{**Collection}"
@using MeshWeaver.Blazor.Infrastructure
@using MeshWeaver.Hosting.AspNetCore.Portal

@inject PortalApplication Portal

Expand Down
2 changes: 1 addition & 1 deletion src/MeshWeaver.Blazor/Pages/ContentPage.razor.cs
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
using System.Reactive.Linq;
using System.Reactive.Threading.Tasks;
using MeshWeaver.Blazor.Infrastructure;
using MeshWeaver.Hosting.AspNetCore.Portal;
using MeshWeaver.ContentCollections;
using MeshWeaver.Mesh.Services;
using MeshWeaver.Mesh.Threading;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
using System.Reactive.Linq;
using MeshWeaver.Blazor.Components.Monaco;
using MeshWeaver.Blazor.Infrastructure;
using MeshWeaver.Hosting.AspNetCore.Portal;
using MeshWeaver.Mesh.Services;
using MeshWeaver.Messaging;
using Microsoft.Extensions.DependencyInjection;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,17 @@
below the transports so MCP, REST, gRPC and the headless sidecar cannot drift apart. The
reference is what lets the resolver stay platform-side now that MCP is a module. -->
<ProjectReference Include="..\MeshWeaver.Hosting\MeshWeaver.Hosting.csproj" />
<!-- Portal/ holds the non-visual portal infrastructure lifted out of MeshWeaver.Blazor: the
middleware, caches and accessors the PLATFORM depends on, which merely happened to live in
the Blazor project. Not one of them imports MeshWeaver.Blazor or
Microsoft.AspNetCore.Components — they were already Blazor-free, which is what made the
lift a pure move. Three references are the only ones the move adds, one per consumer:
ContentCollections — ArticleExtensions
Layout — PortalErrorSink
Markdown.Export.Contract — PortalApplication -->
<ProjectReference Include="..\MeshWeaver.ContentCollections\MeshWeaver.ContentCollections.csproj" />
<ProjectReference Include="..\MeshWeaver.Layout\MeshWeaver.Layout.csproj" />
<ProjectReference Include="..\MeshWeaver.Markdown.Export.Contract\MeshWeaver.Markdown.Export.Contract.csproj" />
</ItemGroup>

</Project>
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
using System.Threading.Tasks;
using MeshWeaver.ContentCollections;

namespace MeshWeaver.Blazor.Infrastructure;
namespace MeshWeaver.Hosting.AspNetCore.Portal;

/// <summary>Extension methods for formatting author and article metadata.</summary>
public static class ArticleExtensions
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
namespace MeshWeaver.Blazor.Portal.Authentication;
namespace MeshWeaver.Hosting.AspNetCore.Portal.Authentication;

/// <summary>
/// Configuration options for authentication navigation.
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
using MeshWeaver.Messaging;

namespace MeshWeaver.Blazor.Infrastructure;
namespace MeshWeaver.Hosting.AspNetCore.Portal;

/// <summary>
/// Circuit-scoped holder for the Blazor interactive circuit's stable id AND the
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
using MeshWeaver.Mesh.Security;
using MeshWeaver.Messaging;

namespace MeshWeaver.Blazor.Infrastructure;
namespace MeshWeaver.Hosting.AspNetCore.Portal;

/// <summary>
/// The ONE projection of an authoritative mesh <c>User</c> node onto a seeded
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
using Microsoft.AspNetCore.Routing.Patterns;
using Microsoft.Extensions.DependencyInjection;

namespace MeshWeaver.Blazor.Infrastructure;
namespace MeshWeaver.Hosting.AspNetCore.Portal;

/// <summary>
/// Route constraint that excludes paths for static file prefixes used by Blazor and RCLs,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@
using MeshWeaver.Messaging;
using Microsoft.Extensions.DependencyInjection;

namespace MeshWeaver.Blazor.Infrastructure;
namespace MeshWeaver.Hosting.AspNetCore.Portal;

/// <summary>
/// Manages the portal hub for a Blazor session — <b>one portal hub per interactive
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
using MeshWeaver.Layout;
using MeshWeaver.Messaging;

namespace MeshWeaver.Blazor.Infrastructure;
namespace MeshWeaver.Hosting.AspNetCore.Portal;

/// <summary>
/// Circuit-scoped bridge that surfaces failed posts ORIGINATING FROM THE PORTAL HUB to the
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@
using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Logging;

namespace MeshWeaver.Blazor.Infrastructure;
namespace MeshWeaver.Hosting.AspNetCore.Portal;

/// <summary>
/// ASP.NET Core middleware that resolves the authenticated user identity for each request
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@
using MeshWeaver.Messaging;
using Microsoft.Extensions.Logging;

namespace MeshWeaver.Blazor.Infrastructure;
namespace MeshWeaver.Hosting.AspNetCore.Portal;

/// <summary>
/// The outcome of ONE email → mesh-user lookup, keeping "this user has no node" apart from
Expand Down
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
using System.Reactive.Linq;
using MeshWeaver.Blazor.Infrastructure;
using MeshWeaver.Hosting.AspNetCore.Portal;
using MeshWeaver.Mesh;
using MeshWeaver.Mesh.Security;
using MeshWeaver.Messaging;
using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Logging;

namespace MeshWeaver.Blazor.Portal.Infrastructure;
namespace MeshWeaver.Hosting.AspNetCore.Portal;

/// <summary>
/// Helper for managing VUser (virtual/anonymous user) nodes.
Expand Down
2 changes: 1 addition & 1 deletion src/MeshWeaver.Hosting.Blazor/BlazorHostingExtensions.cs
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
using System.Reactive.Threading.Tasks;
using System.Text.Json;
using MeshWeaver.Blazor;
using MeshWeaver.Blazor.Infrastructure;
using MeshWeaver.Hosting.AspNetCore.Portal;
using MeshWeaver.ContentCollections;
using MeshWeaver.Data;
using MeshWeaver.Layout.Client;
Expand Down
Loading
Loading