Files
smart-org/apps/web/src/app/layout.tsx
T
mjalmoudy94 f1e5df29ce feat: realtime WebSocket layer for live events and streaming logs
- Backend: ConnectionManager, Redis-backed bus with in-process fallback,
  channel authorization, and typed emit helpers wired into workers
  (ai_runtime, sandbox_gateway), workforce/sandbox/billing/audit/error services.
- Frontend: single shared WS client with backoff + heartbeat, RealtimeProvider,
  useLiveChannel/useLiveEvent hooks, live indicators on task detail, manager
  chat, dashboard, traces, sandbox terminal, admin errors, and billing.
- Contracts: WsEvent/WsServerFrame/WsClientFrame types mirroring the port.

All 255 backend tests pass; web typecheck and build pass.
2026-10-13 12:56:36 +03:30

23 lines
802 B
TypeScript

import type { Metadata } from "next";
import "./globals.css";
import { RealtimeProvider } from "@/lib/realtime";
import { SessionProvider } from "@/lib/session";
export const metadata: Metadata = {
title: "Smart Organization — پلتفرم نیروی کار هوش مصنوعی",
description: "سازمان بسازید، کارمند هوش مصنوعی استخدام کنید و کارها را بسپارید.",
};
export default function RootLayout({ children }: { children: React.ReactNode }) {
return (
<html lang="fa" dir="rtl" className="dark">
<body>
<SessionProvider>
{/* One socket for the whole app: every live feed rides on it. */}
<RealtimeProvider>{children}</RealtimeProvider>
</SessionProvider>
</body>
</html>
);
}