veza/apps/web/src/services
senke 5b7f4d7fbc refactor(web): zero out @typescript-eslint/no-explicit-any (115 → 0)
The fourth and final TypeScript-side ESLint warning bucket cleaned :
115 explicit `any` annotations replaced or suppressed across 57
files. 0 TS errors after the pass.

Distribution of fixes (per the agent's spot-check on the work) :
  ~50% replaced with `unknown` + downstream narrowing — the
       structurally-safer default for data crossing a boundary
       (catch blocks, JSON.parse output, postMessage, generic
       reducer state).
  ~30% replaced with the concrete type — when an existing type
       in src/types/ or src/services/generated/model/ matched
       the value's actual shape.
  ~15% suppressed with vendor / structural justification — DOM
       event factories, third-party callbacks whose .d.ts
       upstream uses any, generic util types where a constraint
       would balloon the signature.
   ~5% generic constraint refactor — `pluck<T extends Record<…>>`
       style, where the original `any` was hiding a missing
       generic.

One follow-up fix landed in this commit :
  TrackSearchResults.stories.tsx imported Track from
  features/player/types but the component expects Track from
  features/tracks/types/track. The story's `as any` casts had
  been hiding the divergence ; tightening the cast surfaced the
  wrong import. Repointed to the right Track type ; both
  Track-shaped objects in the fixture now satisfy the actual
  prop type without needing a cast.

baseline post-commit : 803 warnings, 0 errors, 0 TS errors.
Remaining buckets :
  754 no-restricted-syntax (design-system guardrail — unchanged)
   49 react-hooks/exhaustive-deps (next target)

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-01 03:23:27 +02:00
..
api refactor(web): zero out @typescript-eslint/no-explicit-any (115 → 0) 2026-05-01 03:23:27 +02:00
generated chore(web): drop orval multi-status response wrapper from generated types 2026-04-30 15:21:05 +02:00
2fa-service.test.ts test: fix and improve unit tests across multiple features 2026-03-25 23:34:42 +01:00
2fa-service.ts fix: stabilize frontend — 98 TS errors to 0, align API endpoints, optimize bundle 2026-03-24 21:18:49 +01:00
adminService.test.ts incus deployement fully implemented, Makefile updated and make fmt ran 2026-01-13 19:47:57 +01:00
adminService.ts refactor(web): zero out @typescript-eslint/no-unused-vars (134 → 0) 2026-04-30 23:05:32 +02:00
analyticsService.test.ts feat(analytics): complete backend analytics, remove frontend mocks 2026-02-15 16:21:20 +01:00
analyticsService.ts feat(v0.11.1): F396-F399 frontend advanced analytics components 2026-03-10 17:13:13 +01:00
chatService.test.ts fix: stabilize frontend — 98 TS errors to 0, align API endpoints, optimize bundle 2026-03-24 21:18:49 +01:00
chatService.ts fix: stabilize frontend — 98 TS errors to 0, align API endpoints, optimize bundle 2026-03-24 21:18:49 +01:00
coListeningService.ts feat(v0.10.7): Collaboration Temps Réel F481-F483 2026-03-10 13:34:16 +01:00
commerceService.test.ts fix(tests): cycles 12–18 – corrections services, mocks et design tokens 2026-02-11 09:43:55 +01:00
commerceService.ts feat(frontend): add admin transfer API functions in commerceService 2026-02-23 23:36:09 +01:00
cookieService.ts chore: enable noUncheckedIndexedAccess, isolate ghost MSW handlers, document go-clamd tech debt 2026-02-12 23:12:35 +01:00
csrf.ts fix(web): silence console for expected failures (CSRF, webhooks 5xx) 2026-02-10 19:51:20 +01:00
developerService.test.ts fix(a11y): fix heading hierarchy h1→h3 gaps on 8 pages 2026-03-25 10:14:18 +01:00
developerService.ts feat(developer): connect API keys to real backend (Lot C frontend) 2026-02-20 00:19:58 +01:00
discoverService.ts fix(backend,web): restore audio playback via /stream fallback 2026-04-16 14:52:26 +02:00
distributionService.ts fix: stabilize frontend — 98 TS errors to 0, align API endpoints, optimize bundle 2026-03-24 21:18:49 +01:00
educationService.ts fix: stabilize frontend — 98 TS errors to 0, align API endpoints, optimize bundle 2026-03-24 21:18:49 +01:00
feedService.ts fix(backend,web): restore audio playback via /stream fallback 2026-04-16 14:52:26 +02:00
gearService.ts fix: stabilize frontend — 98 TS errors to 0, align API endpoints, optimize bundle 2026-03-24 21:18:49 +01:00
groupService.test.ts incus deployement fully implemented, Makefile updated and make fmt ran 2026-01-13 19:47:57 +01:00
groupService.ts feat(groups): S2 frontend - request join, invite, roles, my groups, MSW handlers 2026-02-21 05:51:29 +01:00
liveService.ts feat(v0.10.6): Livestreaming basique F471-F476 2026-03-10 10:21:57 +01:00
marketplaceService.test.ts fix(tests): cycles 12–18 – corrections services, mocks et design tokens 2026-02-11 09:43:55 +01:00
marketplaceService.ts refactor(web): zero out @typescript-eslint/no-explicit-any (115 → 0) 2026-05-01 03:23:27 +02:00
offlineQueue.test.ts refactor(web): zero out 3 ESLint warning buckets (storybook + react-refresh + non-null-assertion) 2026-04-30 23:30:22 +02:00
offlineQueue.ts chore: enable noUncheckedIndexedAccess, isolate ghost MSW handlers, document go-clamd tech debt 2026-02-12 23:12:35 +01:00
productService.ts feat(marketplace): connect CreateProductView to enriched product API 2026-02-22 14:10:26 +01:00
pwa.ts refactor(web): zero out @typescript-eslint/no-explicit-any (115 → 0) 2026-05-01 03:23:27 +02:00
requestDeduplication.test.ts chore: consolidate pending changes (Hyperswitch, PostCard, dashboard, stream server, etc.) 2026-02-14 21:45:15 +01:00
requestDeduplication.ts refactor(web): zero out @typescript-eslint/no-explicit-any (115 → 0) 2026-05-01 03:23:27 +02:00
responseCache.test.ts refactor(web): zero out @typescript-eslint/no-unused-vars (134 → 0) 2026-04-30 23:05:32 +02:00
responseCache.ts refactor(web): zero out @typescript-eslint/no-explicit-any (115 → 0) 2026-05-01 03:23:27 +02:00
roleService.ts incus deployement fully implemented, Makefile updated and make fmt ran 2026-01-13 19:47:57 +01:00
searchService.test.ts chore(refactor/sumi-migration): commit pending changes — tests, stream server, dist_verification 2026-02-13 19:39:18 +01:00
searchService.ts fix: resolve ts-ignore directives and unsafe type casts 2026-02-12 22:21:55 +01:00
sessionService.test.ts chore(refactor/sumi-migration): commit pending changes — tests, stream server, dist_verification 2026-02-13 19:39:18 +01:00
sessionService.ts incus deployement fully implemented, Makefile updated and make fmt ran 2026-01-13 19:47:57 +01:00
socialService.test.ts fix(a11y): fix heading hierarchy h1→h3 gaps on 8 pages 2026-03-25 10:14:18 +01:00
socialService.ts refactor(web): zero out @typescript-eslint/no-unused-vars (134 → 0) 2026-04-30 23:05:32 +02:00
subscriptionService.ts fix: stabilize frontend — 98 TS errors to 0, align API endpoints, optimize bundle 2026-03-24 21:18:49 +01:00
tokenRefresh.test.ts chore(refactor/sumi-migration): commit pending changes — tests, stream server, dist_verification 2026-02-13 19:39:18 +01:00
tokenRefresh.ts refactor(web): zero out 3 ESLint warning buckets (storybook + react-refresh + non-null-assertion) 2026-04-30 23:30:22 +02:00
tokenStorage.test.ts chore(refactor/sumi-migration): commit pending changes — tests, stream server, dist_verification 2026-02-13 19:39:18 +01:00
tokenStorage.ts security: migrate access token to httpOnly cookie (Actions 5.1.1.1-5.1.1.3) 2026-01-16 01:03:23 +01:00
uploadService.test.ts chore(refactor/sumi-migration): commit pending changes — tests, stream server, dist_verification 2026-02-13 19:39:18 +01:00
uploadService.ts refactor(web): zero out @typescript-eslint/no-explicit-any (115 → 0) 2026-05-01 03:23:27 +02:00
webhookService.ts refactor(web): zero out @typescript-eslint/no-explicit-any (115 → 0) 2026-05-01 03:23:27 +02:00
websocket.ts refactor(frontend): eliminate ~45 'any' types in production code 2026-02-22 17:44:49 +01:00