gnezim
59d5a7314e
Fix lint: exempt storage test from no-restricted-globals, remove non-null assertion
2026-04-15 00:50:46 +03:00
gnezim
5d041cc4c6
Implement security headers middleware for HSTS, COOP, CORP, and more
2026-04-15 00:49:07 +03:00
gnezim
4f93d0a9bf
Implement SSR stream nonce injection as workaround for React #24883
2026-04-15 00:48:54 +03:00
gnezim
10b97339bf
Implement CSP middleware with per-request nonce and React context
2026-04-15 00:48:02 +03:00
gnezim
2742568a85
Implement safe storage abstraction with Zod validation and namespace prefix
2026-04-15 00:47:22 +03:00
gnezim
ebe6c38713
Fix lint warnings in SignalR wrapper and hook tests
...
Remove unused imports, eliminate non-null assertions,
drop invalid eslint-disable comment for missing rule.
2026-04-15 00:44:31 +03:00
gnezim
4c52bb4032
Add useLiveFlights SSR-safe hook with tests
...
Generic hook wrapping SignalR subscription with SSR guard
(typeof window check). Includes tests for subscribe, data
updates, cleanup, and SSR path.
2026-04-15 00:42:51 +03:00
gnezim
7052052742
Add SignalRConnection ref-counted wrapper with tests
...
Reference-counted connection management with grace period,
dynamic import to keep @microsoft/signalr out of SSR bundle,
and singleton sharing via getSharedConnection.
2026-04-15 00:41:28 +03:00
gnezim
b6da51fce5
Add smoke route exercising logger, i18n, and locale display
2026-04-15 00:36:54 +03:00
gnezim
6d3e3ae986
Add error pages for 404, 500, 503 codes
2026-04-15 00:35:05 +03:00
gnezim
858b8e1d1f
Wire root layout provider stack and locale-scoped layout with i18n
...
Root layout wraps children with LoggerProvider, ApiClientProvider, and
ErrorBoundary. Locale layout validates lang param against 9 supported
languages and provides a request-scoped I18nProvider.
2026-04-15 00:34:16 +03:00
gnezim
fc57556010
Add errorToResponse mapper with TDD tests covering all mapping rules
2026-04-15 00:31:37 +03:00
gnezim
2eb118cb8b
Add ErrorBoundary class component with retry support
2026-04-15 00:30:34 +03:00
gnezim
bb50e63866
Add SeoHead component with canonical, hreflang, OG, Twitter, and JSON-LD
2026-04-15 00:20:40 +03:00
gnezim
599f35f14a
Add JsonLdRenderer and serializeJsonLd with schema-dts typing
2026-04-15 00:20:07 +03:00
gnezim
8abe8acf70
Add buildHreflangSet for 9 languages + x-default
2026-04-15 00:18:35 +03:00
gnezim
6a4be07911
Add useAnalytics hook with server-safe NoopAnalytics fallback
2026-04-15 00:15:43 +03:00
gnezim
8878dcb6c8
Add AnalyticsLoader component with idle-callback initialization
2026-04-15 00:15:43 +03:00
gnezim
515151ed81
Add analytics facade with adapter fan-out and consent gating
2026-04-15 00:15:11 +03:00
gnezim
fe31bbfb65
Add four stub analytics adapters (metrica, ctm, variocube, dynatrace)
2026-04-15 00:13:49 +03:00
gnezim
e95781a069
Add test-observable analytics event sink
2026-04-15 00:13:13 +03:00
gnezim
0b25a1a9e7
Add 8 custom metric instruments using OTel proxy meter
2026-04-15 00:10:49 +03:00
gnezim
2dc1a1f194
Add OTel server/browser initializers with getMeter/getTracer accessors
2026-04-15 00:10:21 +03:00
gnezim
dfa9e0283d
Add LoggerProvider React context with useLogger hook
2026-04-14 23:57:56 +03:00
gnezim
498d049acd
Add createRootLogger factory with transport selection by env
2026-04-14 23:57:30 +03:00
gnezim
9a1b4bace1
Add JsonLinesHttpTransport with batching, backpressure, and redaction
2026-04-14 23:55:12 +03:00
gnezim
98414ee4af
Add dev-mode ConsoleTransport for logger
2026-04-14 23:54:01 +03:00
gnezim
1a40686490
Add LoggerImpl with transport dispatch and child context propagation
2026-04-14 23:53:13 +03:00
gnezim
7992d2705a
Add ApiClient React context provider with useApiClient hook
2026-04-14 23:46:20 +03:00
gnezim
04c5432aef
Add CachedApiClient decorator layered above ApiClient
2026-04-14 23:45:56 +03:00
gnezim
65c8c8b55f
Add ApiClient with retry, timeout, and error mapping
2026-04-14 23:42:22 +03:00
gnezim
cb5e5b0106
Add three cache types (request-scoped, client TTL, server byte-capped LRU)
2026-04-14 23:39:35 +03:00
gnezim
fd62d6f123
Add circuit breaker with closed/open/half-open state machine
2026-04-14 23:30:53 +03:00
gnezim
6ef9ce4ed7
Add typed API error classes (ApiHttpError, ApiTimeoutError, ApiNetworkError)
2026-04-14 23:30:00 +03:00
gnezim
7103b9ffb1
Add I18nProvider with useTranslation re-export for feature code
2026-04-14 23:21:25 +03:00
gnezim
a8c648c818
Add SSR↔client i18n hydration serializer
2026-04-14 23:21:01 +03:00
gnezim
1fd2788c35
Add createI18nInstance factory with ICU and resource backend
2026-04-14 23:18:22 +03:00
gnezim
bf3087d45e
Add locale resolver with Language type and URL prefix parsing
2026-04-14 23:17:08 +03:00
gnezim
33d4c94298
Install i18n deps and port 9 locale JSON files from Angular
2026-04-14 23:15:00 +03:00
gnezim
826758f03d
Add typed loadRemoteModule wrapper around MF runtime
2026-04-14 22:40:49 +03:00
gnezim
2bdfde43f6
Seed MF expose stubs and host-entry for 4 features
2026-04-14 22:35:19 +03:00
gnezim
c41089e5c8
Add stub root route for standalone build (replaced by 1F-layout)
2026-04-14 22:34:41 +03:00
gnezim
0b9ea74617
Seed frozen public barrels for 4 features + UI adapter
2026-04-14 22:07:26 +03:00
gnezim
9c29091b58
Add Zod-validated getEnv() reader with module-level cache
2026-04-14 22:05:36 +03:00
gnezim
23db51997b
Add HostContract interface per design spec §2.4
2026-04-14 22:03:14 +03:00
gnezim
8a8075972d
Seed type-only AnalyticsProviders for Env dependency
2026-04-14 22:02:56 +03:00
gnezim
9acccffe8c
Seed type-only Logger surface for HostContract dependency
2026-04-14 22:02:41 +03:00
gnezim
765174b674
Add strict TypeScript config with @/ and @phase0/ aliases
2026-04-14 21:55:18 +03:00