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
b6a007d3b6
Add @microsoft/signalr dependency for live flight data
2026-04-15 00:39:31 +03:00
gnezim
b431010241
Add Phase 1E SignalR wrapper implementation plan
2026-04-15 00:39:14 +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
1409df458b
Add 1F-layout implementation plan for root layout, error routes, smoke route
2026-04-15 00:29:46 +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
ad9b35f725
Add schema-dts dependency for typed JSON-LD generation
2026-04-15 00:17:29 +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
ddedddd15d
Add OpenTelemetry and web-vitals dependencies for metrics pipeline
2026-04-15 00:07:38 +03:00
gnezim
8e7adef5e3
Add implementation plans for 1G-metrics, 1G-analytics, and 1F-seo
2026-04-15 00:05:48 +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
c095fad7ad
Add Phase 1G-logger runtime implementation plan
...
6 tasks: TDD LoggerImpl, ConsoleTransport, JsonLinesHttpTransport
with batching/backpressure/redaction, createRootLogger factory with
env-based transport selection, LoggerProvider React context.
2026-04-14 23:51:04 +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
454fb0bdb9
Add Phase 1D API client implementation plan
...
7 tasks: TDD error classes, circuit breaker, three cache types
(request-scoped, client TTL, server byte-capped LRU via lru-cache),
ApiClient with retry+timeout, CachedApiClient decorator, provider.
2026-04-14 23:27:50 +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
3067f8f111
Add Phase 1C i18n runtime implementation plan
...
6 tasks: port 9 locale JSONs, TDD resolver with Language type, TDD
createI18nInstance factory with ICU, TDD SSR↔client hydration
serializer, I18nProvider with useTranslation re-export.
2026-04-14 23:13:35 +03:00
gnezim
050f311a60
Add fabricated violation tests for restricted import rules
2026-04-14 23:07:18 +03:00
gnezim
8459e1661b
Add fabricated violation tests for boundary rules
...
Fix eslint.config.js: add import/resolver settings so boundaries plugin
can resolve .ts/.tsx imports, and merge no-restricted-imports blocks to
prevent ESLint 9 flat config from overriding earlier rule definitions.
2026-04-14 23:06:57 +03:00
gnezim
e9640b17fd
Add no-restricted-imports for OTel SDK, react-i18next, SignalR SSR, localStorage
2026-04-14 22:47:53 +03:00
gnezim
f1acf7827d
Add eslint-plugin-boundaries with layered dependency rules
2026-04-14 22:47:26 +03:00
gnezim
7bbda35041
Add Phase 1A-3 ESLint boundaries implementation plan
...
5 tasks: install eslint-plugin-boundaries, configure layered dependency
rules matching design spec §1.2, add no-restricted-imports for OTel
SDK, react-i18next, SignalR SSR, localStorage. Each rule has a
fabricated-violation test asserting it fires.
2026-04-14 22:46:12 +03:00
gnezim
826758f03d
Add typed loadRemoteModule wrapper around MF runtime
2026-04-14 22:40:49 +03:00
gnezim
604ed75498
Wire build:standalone/build:remote/dev to Modern.js CLI
2026-04-14 22:37:56 +03:00
gnezim
4fd7ae3f94
Add modern.config.ts with standalone/remote BUILD_TARGET branching
2026-04-14 22:37:12 +03:00