Skip to content

Skoda Connect TP1: protocol core, sync, admin - #222

Merged
CallMeTechie merged 15 commits into
masterfrom
feat/skoda-connect-tp1
Jul 22, 2026
Merged

Skoda Connect TP1: protocol core, sync, admin#222
CallMeTechie merged 15 commits into
masterfrom
feat/skoda-connect-tp1

Conversation

@CallMeTechie

Copy link
Copy Markdown
Owner

Summary

Skoda-Connect-Integration TP1 (Spec: docs/superpowers/specs/2026-07-22-skoda-connect-design.md, lokal):

  • Protokollkern: VW-Identity-OAuth-PKCE-Login (skodaHttp Cookie-Jar + Redirect-Follower, skodaAuth), MySkoda-REST-Client mit State-Normalisierung und SSRF-Allowlist für Renderbilder (skodaClient)
  • Sync: Orchestrator mit Per-Konto-Locks, Poll-Intervall (Setting, min 5 min), 429-Backoff 60→240 min, 5-min-Refresh-Cooldown, selbstheilender Session-Recovery (index.js + skodaVehicles DB-Layer)
  • Konten: mehrkontenfähig, Passwörter/Sessions verschlüsselt at rest, Redaktion in allen API-Antworten (skodaAccounts)
  • Owner-Zuordnung: n:m Fahrzeug↔Portal-Nutzer inkl. User-Lösch-Cascade (skodaOwners)
  • Admin: /api/v1/skoda (admin-only, Feature-Flag skoda_integration), Seite /skoda in allen 3 Themes, i18n de/en inkl. GC.t-Bridge-Regressionstest
  • Migration: V66; Spike: scripts/skoda-spike.js für den Live-Beweis
  • 41 neue Tests, volle Suite grün (2195 pass / 0 fail); Whole-Branch-Review: Ready to merge

Nach Merge offen (Plan-Meilenstein): Live-Beweis mit echten Skoda-Konten via /skoda-Admin-Seite; Render-CDN-Host nach Spike ggf. pinnen. Portal-Widget folgt als TP2.

🤖 Generated with Claude Code

https://claude.ai/code/session_01NACNfM9Uv6hwZwzXpEkHXQ

Comment thread src/services/skoda/skodaAccounts.js Fixed
CodeQL js/polynomial-redos flagged /.+@.+/ on the admin-supplied email as a
polynomial regular expression on uncontrolled data. Swap for an O(n) indexOf
check plus the RFC 5321 254-char cap; behaviour is unchanged for valid input.
@CallMeTechie
CallMeTechie merged commit b040a55 into master Jul 22, 2026
7 of 8 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants