Commit Graph

23 Commits

Author SHA1 Message Date
saravanakumardb1
841cdf3a16 fix(platform-service+events): 3 more gaps in diagnostics + delivery
- diagnostics/subscribers: wire session.created email notification to
  target user using existing 'diagnostics-session-created' template
  (was just logging instead of sending the email)
- events/types: add missing 'currency' field to payment.failed schema
  (payment.succeeded had it, payment.failed did not — inconsistency)
- delivery/subscribers: use event.payload.currency instead of hardcoded
  empty string in payment-failed email variables
- Typecheck clean, 1483/1483 tests pass
2026-03-22 01:20:24 -07:00
saravanakumardb1
73b07c2c3a fix(platform-service): 5 bugs in recent P2/P3 implementations
- diagnostics/subscribers: use correct template IDs
  'diagnostics-session-cancelled' and 'diagnostics-session-completed'
  instead of non-existent 'generic' (would throw at runtime)
- delivery/templates: add missing 'broadcast' email template used by
  broadcast delivery route (dispatchEmail would throw on unknown ID)
- broadcasts/routes: replace broken dot-path 'metrics.sent' update
  with proper updateBroadcastMetrics() call, add productName variable
- exports/routes: store serialized data on job doc, add download
  endpoint GET /exports/:id/download with content-type headers,
  exclude data payload from metadata GET endpoint
- waitlist/routes: store invitation doc ID (inv_...) instead of
  code string (WL-...) in invitationCodeId field
- delivery/delivery.test.ts: update template count 12 -> 13
- Typecheck clean, 1483/1483 tests pass
2026-03-22 01:14:55 -07:00
saravanakumardb1
1576b699b0 feat(platform-service): resolve all P3 TODOs — diagnostics notifications + test cleanup
- diagnostics/subscribers: notify admin via email when debug session is
  cancelled (looks up session creator via getSession + getUserById)
- diagnostics/subscribers: email session summary (logs/traces/screenshots)
  to admin when debug session completes
- diagnostics/subscribers: send Slack alert via dispatchSlack for FATAL
  logs ingested during debug sessions (on-call engineer notification)
- feedback-client/integration.test.ts: replace TODO-4 with clear NOTE,
  fix unused var lint errors
- feedback-client/gdpr.test.ts: mark lifecycle policy as accepted,
  remove console.log + unused blobPath variable
- Update WORKSPACE_TODO_AUDIT.md — P3 section: all 5 resolved
- Typecheck clean, 1483/1483 tests pass
2026-03-22 01:03:51 -07:00
saravanakumardb1
dfeed4c10f fix(diagnostics): add missing crypto import for randomUUID [BUG-5] 2026-03-03 12:27:03 -08:00
saravanakumardb1
7552b8c8e8 fix(diagnostics): remove unused updateSessionStats import [BUG-4] 2026-03-03 12:25:55 -08:00
saravanakumardb1
eb83b83035 fix(diagnostics): resolve FilterMap type error in performance-profile-repository [BUG-3] 2026-03-03 12:24:54 -08:00
saravanakumardb1
7714ab51fb fix(events): add missing platform event schemas for campaign engine and notifications 2026-03-03 12:24:39 -08:00
saravanakumardb1
03cda3a74f fix(platform-service): resolve type errors in diagnostics and ab-testing modules 2026-03-03 12:22:35 -08:00
saravanakumardb1
914e344a92 fix(feedback-client): correct ApiClient method usage and types 2026-03-03 12:20:43 -08:00
saravanakumardb1
05ad9dbedc feat(diagnostics): Phase 4 - automated triggers, crash sessions, session replay, profiling [4.1][4.2][4.3][4.4] 2026-03-03 12:18:58 -08:00
saravanakumardb1
eab854375e feat(ai-diagnostics): add proactive alerts API and complete [4.3] 2026-03-03 12:17:11 -08:00
saravanakumardb1
460ed6d0c0 feat(ai-diagnostics): add admin UI insights page [4.1] 2026-03-03 12:15:09 -08:00
saravanakumardb1
30583a1768 feat(diagnostics): implement Phase 1.5 — event bus, audit, rate limiting
1.5.2 Event Bus: Add warn to noopLog, update comments

1.5.3 Audit: Already implemented in all handlers

1.5.4 Rate Limiting: Add diagnostics keys (10/hr, 12/min, 100/min)

Delivery Templates: Add 4 diagnostics email templates (ready for wiring)

Tests: Update count to 12 templates (was 8)

All 839 tests passing
2026-03-03 08:19:41 -08:00
saravanakumardb1
3ded5ad751 fix(diagnostics,test): fix flaky test and test configuration
- Add DB_PROVIDER=memory to vitest config for diagnostics tests
- Fix flaky timestamp comparison in 'should update a session' test
  - Add 10ms delay between create and update
  - Use toBeGreaterThanOrEqual instead of strict inequality
- All 17 diagnostics tests now pass
2026-03-03 00:01:20 -08:00
saravanakumardb1
fdaffdb13c docs(feedback): fix 8 bugs/gaps identified in systematic review
- Fix inconsistent screenshotUrl fields (removed, SAS generated on-demand)
- Fix blob path pattern to match feedbackScreenshots container
- Clarify flow: direct upload to final container (no temp/move)
- Add rate limiting specs to endpoint table
- Clarify access control: users submit but cannot view (security)
- Remove sas.ts from appendix (not created)
- Align size limits to 5MB consistently
- Add missing screenshotContentType and screenshotSizeBytes
2026-03-03 00:00:14 -08:00
saravanakumardb1
1b11db3f6f feat(broadcasts,surveys): Phase 1 complete - backend modules
- broadcasts/types.ts: Broadcast, BroadcastTarget, BroadcastMetrics, InAppMessage
- broadcasts/repository.ts: CRUD + delivery tracking + read receipts
- broadcasts/targeting.ts: evaluateTarget(), semver, FNV-1a hash
- broadcasts/routes.ts: Admin CRUD + public endpoints (14 routes)
- surveys/types.ts: Survey, Question, SurveyResponse, conditional logic
- surveys/repository.ts: CRUD + analytics + CSV export
- surveys/routes.ts: Admin CRUD + public endpoints (13 routes)
- cosmos-init.ts: 7 new containers with TTL policies
- server.ts: Register broadcastRoutes + surveyRoutes

Implements Phase 1 of platform_BROADCAST_SURVEY_ROADMAP.md
2026-03-02 23:51:23 -08:00
saravanakumardb1
6a23a02cd4 fix(diagnostics): BUG-4, BUG-5, BUG-7, BUG-8 - race condition, transactions, test isolation, auth validation
- BUG-4: Add optimistic concurrency control with retry to updateSessionStats
- BUG-5: Document transaction limitations in batch operations
- BUG-7: Fix test isolation with unique productIds per test run
- BUG-8: Add session ownership validation to ingest endpoints
2026-03-02 23:47:14 -08:00
saravanakumardb1
4ffb28d8d2 fix(diagnostics): BUG-3 - add authentication check to /diagnostics/config endpoint 2026-03-02 23:45:36 -08:00
saravanakumardb1
4cb8b499af fix(diagnostics): BUG-1, BUG-2 - DRY violation - centralize generateId and buildPk in types.ts 2026-03-02 23:43:11 -08:00
saravanakumardb1
fb71981e53 test(diagnostics): add diagnostics.test.ts with 14+ tests for Phase 1 2026-03-02 23:38:21 -08:00
saravanakumardb1
a66a689d7d feat(diagnostics): Phase 1 complete - types, repository, routes
- types.ts: Session, Trace, Log, Screenshot schemas with Zod validation
- repository.ts: CRUD operations with composite partition keys
- routes.ts: REST endpoints for session management and data ingest

TODOs for Phase 2:
- TODO-1: Event bus integration
- TODO-2: PII redaction implementation
- TODO-6: PII redaction in log ingest
- TODO-7: Fatal log alerting
- TODO-8: Blob SAS token generation
2026-03-02 23:36:59 -08:00
saravanakumardb1
f272a44bbe feat(diagnostics): add repository.ts with session, trace, log, screenshot CRUD 2026-03-02 23:34:35 -08:00
saravanakumardb1
f51c352452 feat(diagnostics): add types.ts with session, trace, log, screenshot schemas 2026-03-02 23:32:27 -08:00