gnezim
b3ab73253d
Add data model types, datetime utils, and dictionary hook
...
Port Angular flight types (ISimpleFlight, IFlightLeg, ITimesSet, etc.)
to minimal React-friendly interfaces. Add formatDuration/formatTime/
formatDate/isDayChange as pure functions. Stub useCityName hook as
passthrough pending customer dictionary API endpoint.
2026-04-15 07:55:00 +03:00
gnezim
fc03c08278
Add Phase 2A UI adapter implementation plan
...
Covers data model types, datetime utilities, dictionary hook,
and flight display components for the online board feature.
2026-04-15 07:52:23 +03:00
gnezim
bd9cc92766
Add Phase 2 Online Board master plan with 8 sub-plans
2026-04-15 07:46:33 +03:00
gnezim
7db39cbeec
Fix type errors and lint warnings in health and shutdown modules
...
Use proper type-safe interfaces instead of Node.js http types for the
health handler, and avoid vi.spyOn type issues in shutdown tests by
directly intercepting process.on.
2026-04-15 00:59:59 +03:00
gnezim
56cc9e1af2
Add operational runbook covering incident response and failure playbooks
...
Covers incident decision tree, canary rollout, rollback procedures,
health-check interpretation, log query cookbook, and 6 known-failure
playbooks per master plan requirements.
2026-04-15 00:56:24 +03:00
gnezim
ca6ae0eea2
Add graceful shutdown handler with TDD
...
registerGracefulShutdown drains in-flight requests for 30s on SIGTERM,
flushes logs, then exits cleanly. Force-exits with code 1 on timeout.
2026-04-15 00:55:09 +03:00
gnezim
f0e540aa3f
Add health endpoint factory with TDD
...
healthMiddleware returns 200 if upstream was reachable within 60s, 503 otherwise.
Exports a factory function — registration in modern.config.ts is a future step.
2026-04-15 00:55:08 +03:00
gnezim
8c8b8b985e
Add deploy workflow template for CI/CD pipeline
...
Stub workflow triggered on push to main: build, test, Docker image build.
Registry URLs and deployment targets are placeholders pending customer config.
2026-04-15 00:53:42 +03:00
gnezim
9b1fb7388f
Add Dockerfile.react and Dockerfile.remote for React build targets
...
Standalone SSR image (Node 24 slim) and remote MF static image (nginx alpine),
coexisting with legacy ASP.NET Dockerfile.
2026-04-15 00:53:36 +03:00
gnezim
0f4180de14
Add Phase 1I (Deploy pipeline + runbook) implementation plan
2026-04-15 00:53:10 +03:00
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
726db20f89
Add Phase 1H security hardening implementation plan
2026-04-15 00:46:29 +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
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