Commit Graph

457 Commits

Author SHA1 Message Date
saravanakumardb1
cfbaa92539 feat(feedback): Phase 1.3 - add SAS endpoint and screenshot view/delete routes 2026-03-02 23:55:47 -08:00
saravanakumardb1
b5fb2b683b fix(surveys): Create missing surveys module
- types.ts: Survey, Question, SurveyResponse, conditional logic, validation
- repository.ts: CRUD + analytics + CSV export with proper type casting
- routes.ts: Admin CRUD + public endpoints (13 routes)

Fixes missing module from Phase 1 implementation
2026-03-02 23:54:59 -08:00
saravanakumardb1
d876bb0626 feat(blob): add feedbackScreenshots container for user feedback attachments 2026-03-02 23:54:38 -08:00
saravanakumardb1
8d2ba9c1cc feat(feedback): Phase 1.2 - extend repository with screenshot support and blob path generation 2026-03-02 23:52:57 -08:00
saravanakumardb1
acfbd7c9d7 feat(feedback): Phase 1.1 - add screenshot fields and deviceContext to FeedbackDoc 2026-03-02 23:52:18 -08:00
saravanakumardb1
9fff880d26 docs(broadcasts,surveys): Update roadmap with Phase 1 completion status
- Mark Phase 1 as COMPLETED with commit link 1b11db3
- Update task status table with checkmarks
2026-03-02 23:51:37 -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
890a558c31 docs(diagnostics): update roadmap with Phase 1 completion status and commit links 2026-03-02 23:40:02 -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
d444a8dfea feat(diagnostics): wire routes into server.ts 2026-03-02 23:37:34 -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
dea1521dd5 feat(diagnostics): add 4 Cosmos containers (sessions, traces, logs, screenshots) with TTL 2026-03-02 23:32:49 -08:00
saravanakumardb1
f51c352452 feat(diagnostics): add types.ts with session, trace, log, screenshot schemas 2026-03-02 23:32:27 -08:00
saravanakumardb1
4163e1410a docs(diagnostics): add REMOTE_DIAGNOSTICS_ROADMAP.md with 140+ tasks across 4 phases
Complete roadmap for remote debug tracing system with:
- Phase 1: Server foundation (types, repository, routes, 38+ tests)
- Phase 2: Client SDKs (TypeScript, Swift, Kotlin)
- Phase 3: Admin UI (Next.js dashboard)
- Phase 4: Advanced features (auto-triggers, profiling)

Review fixes included:
- Fixed partition keys to avoid hot partitions (composite pk)
- Added PII redaction patterns (email, SSN, CC, phone, IP, JWT)
- Added event bus integration with 8 events
- Fixed screenshot storage to use Azure Blob
- Added rate limiting specs for all endpoints
- Added ETag caching for config polling
2026-03-02 23:29:39 -08:00
saravanakumardb1
03ad80a615 docs(roadmaps): mark Pre-Launch Signup and Marketplace as complete, move to completed/ folder 2026-03-02 10:26:23 -08:00
saravanakumardb1
038cf30aca fix(jobs): implement stub job handlers with actual functionality 2026-03-02 10:19:15 -08:00
saravanakumardb1
41b32a840f fix(extraction-service): export rate limit cleanup functions for graceful shutdown 2026-03-02 10:16:24 -08:00
saravanakumardb1
aeae62027f fix(telemetry): remove redundant event.userId check in cluster affected users dedup 2026-03-02 10:13:47 -08:00
saravanakumardb1
e943f14608 fix(marketplace): prevent duplicate votes with vote tracking collection
- Add marketplace_votes container to cosmos-init.ts
- Add MarketplaceVoteDoc type and vote repository functions
- Fix vote endpoint to toggle votes (prevent unlimited voting)
- Fix listMyReports to filter by productId for data isolation
- Update report routes to pass productId to listMyReports
2026-03-02 10:12:33 -08:00
saravanakumardb1
770bc5ae51 feat(referrals): partition key migration to /referrerId with dual-write backfill 2026-03-02 10:04:57 -08:00
saravanakumardb1
3e05260a6f feat(marketplace): generic template marketplace with listings, reviews, installs, certification 2026-03-02 10:02:54 -08:00
saravanakumardb1
ee9d4b358d feat(cloud-agnostic): complete Sprints 4-6 — secrets consumer migration, @bytelyst/speech package, push verified 2026-03-02 09:46:24 -08:00
saravanakumardb1
90bc31dc58 docs(roadmap): update cloud-agnostic status to reflect Sprints 1-3 complete 2026-03-02 09:32:42 -08:00
saravanakumardb1
cad17a41d6 fix(tracker-web): use dynamic import in telemetry test for correct mock ordering 2026-03-02 09:18:27 -08:00
saravanakumardb1
0ee0533699 fix(tracker-web): telemetry test mock setup for process.env and document.addEventListener 2026-03-02 09:17:51 -08:00
saravanakumardb1
faca108813 docs(sdk): fix stale route references in Swift SDK source comments and README 2026-03-02 09:17:09 -08:00
saravanakumardb1
1beb6ae7ed fix(kotlin-sdk): add /api prefix to all API paths for consistency
Normalize Kotlin SDK API paths to match Swift SDK and TypeScript SDK convention:
- BLAuthClient: /auth/* → /api/auth/*
- BLBlobClient: /blob/sas → /api/blob/sas
- BLCrashReporter: /telemetry/events → /api/telemetry/events
- BLFeatureFlagClient: /flags/poll → /api/flags/poll
- BLKillSwitchClient: /flags/kill-switch → /api/flags/kill-switch
- BLLicenseClient: /licenses/* → /api/licenses/*
- BLTelemetryClient: /telemetry/events → /api/telemetry/events

All SDKs now consistently include /api prefix in paths, with baseUrl
configured as http://host:port/api. Fixes incompatibility introduced
in recent path normalization (commit 78b942a).
2026-03-02 09:16:12 -08:00
saravanakumardb1
053190d660 fix(kotlin-sdk): add missing /api prefix to flags, kill-switch, and telemetry routes 2026-03-02 09:15:03 -08:00
saravanakumardb1
78b942a105 fix(sdk): normalize API path convention — all SDK components now include /api prefix in paths 2026-03-02 09:10:19 -08:00
saravanakumardb1
10e252617b feat(packages): fix test assertions for x-request-id header compatibility
- Update kill-switch-client and feature-flag-client tests to use
  expect.objectContaining for headers to handle x-request-id
- Move React Native SDK roadmap to completed/

Total: 44 client-side package tests passing
2026-03-02 09:08:45 -08:00
saravanakumardb1
7ca2139418 refactor(storage): migrate to storage abstraction 2026-03-02 09:07:33 -08:00
saravanakumardb1
8315814fd9 docs(roadmap): mark Sprint 3 LLM abstraction as DONE 2026-03-02 09:06:56 -08:00
saravanakumardb1
2c047bcf48 feat(telemetry): phase 4 operational wiring — env vars, roadmap complete 2026-03-02 09:00:16 -08:00
saravanakumardb1
fa9603732a docs(roadmap): mark Sprint 1 (DB abstraction) complete, move to completed/ 2026-03-02 02:23:09 -08:00
saravanakumardb1
2b6551ada6 docs(roadmap): update cloud-agnostic refactor with parallel agent scan results — Sprint 1 ~96% done 2026-03-02 02:09:21 -08:00
saravanakumardb1
5401fad419 refactor(platform-service): migrate webhooks/routes and migrations/runner from cosmos.js to datastore 2026-03-02 02:02:47 -08:00
saravanakumardb1
8d9fc4b8d4 fix(admin-web): fix 7 pre-existing test failures — product-config mocks, invitation prefix, telemetry DOM stubs 2026-03-02 02:00:51 -08:00
saravanakumardb1
6fe41de481 fix(datastore): SQL now emits ARRAY_CONTAINS OR CONTAINS for array+string support 2026-03-02 01:50:09 -08:00
saravanakumardb1
fc1fef9c70 refactor(dashboards): migrate admin-web to @bytelyst/datastore 2026-03-02 01:49:41 -08:00
saravanakumardb1
78cb13d9c3 docs(roadmap): update cloud-agnostic refactor roadmap with implementation progress — move to in-progress 2026-03-02 01:14:17 -08:00
saravanakumardb1
b69abf44c7 refactor(platform-service): migrate remaining 14 repositories to @bytelyst/datastore
Migrated modules: audit, auth, invitations, items, jobs, licenses,
maintenance, notifications, subscriptions, telemetry, tokens, usage,
waitlist, webhooks.

Updated 4 test files (notifications, subscriptions, tokens, usage) from
Cosmos SDK mocks to MemoryDatastoreProvider.

Zero cosmos.js imports remain in modules/. All 66 test files pass (746 tests).
2026-03-02 01:06:24 -08:00
saravanakumardb1
e355cb0c1b feat(platform-service): migrate 7 more repositories to @bytelyst/datastore (exports, plans, status, sessions, referrals, ip-rules, delivery) — 753/753 tests pass 2026-03-02 00:54:55 -08:00
saravanakumardb1
4d126cb051 feat(platform-service): migrate 6 repositories to @bytelyst/datastore (flags, settings, comments, votes, products, themes) — 756/756 tests pass 2026-03-02 00:51:03 -08:00
saravanakumardb1
dfa5eb73fa feat(packages): add cloud-agnostic abstraction packages — datastore, storage, llm, push + refactor secrets (58 tests) 2026-03-02 00:43:06 -08:00
saravanakumardb1
4fe0c034c2 docs(roadmap): review cloud-agnostic refactor roadmap — add status markers, correct file counts, fix companion doc link 2026-03-01 23:48:46 -08:00
saravanakumardb1
b33d3cf2b3 feat(platform): add webhook subscriptions module, DB migration runner, Swagger UI — complete 23/25 roadmap items 2026-03-01 23:38:48 -08:00