Skip to content

proxy: domain-aware session handshakes - #470

Open
a2105z wants to merge 1 commit into
teslamotors:mainfrom
a2105z:feat-468-domain-aware-proxy-handshake
Open

proxy: domain-aware session handshakes#470
a2105z wants to merge 1 commit into
teslamotors:mainfrom
a2105z:feat-468-domain-aware-proxy-handshake

Conversation

@a2105z

@a2105z a2105z commented Aug 10, 2026

Copy link
Copy Markdown

Summary

  • Scope HTTP proxy StartSession to the domains each command actually needs instead of always handshaking both VCSEC and Infotainment.
  • Skip StartSession for wake_up (Fleet REST wake; no signed session required).
  • Keep unclassified / future commands on the previous both-domain behavior.

Closes #468.
Also addresses proxy impact of #450 and #285 for VCSEC-only commands (lock/unlock/trunk/tonneau/remote drive) when Infotainment is unreachable.

What was happening

liveVehicle.StartSession always called Vehicle.StartSession(ctx, nil), which expands to both domains. If Infotainment handshake failed, VCSEC-only commands never ran.

What happens with this change

Command class Domains started
door_lock, door_unlock, actuate_trunk, tonneau, remote_start_drive VCSEC only
Climate / charging / media / windows / etc. Infotainment only
wake_up none
Unknown commands both (unchanged default)

Risks

  • Misclassification: unknown commands default to both domains; map is derived from pkg/vehicle (executeRKEAction / executeClosureAction vs executeCarServerAction).
  • Incidental Infotainment warm from lock requests no longer happens; clients that need Infotainment should call an Infotainment command or wake explicitly.

Test plan

  • go test ./pkg/proxy/ -count=1
  • door_lock starts VCSEC only
  • auto_conditioning_start starts Infotainment only
  • wake_up does not call StartSession
  • Maintainer review of domain classification table

@sethterashima @patrickdemers6 @agbpatro — please take a look when you have a chance.

The HTTP proxy always started VCSEC and Infotainment sessions before every
command. Scope StartSession to the domains required by the command (and skip
it for wake_up) so VCSEC-only actions are not blocked when Infotainment is
unreachable.
@a2105z

a2105z commented Aug 10, 2026

Copy link
Copy Markdown
Author

@sethterashima @patrickdemers6 @agbpatro — review request.

Issues addressed

go test ./pkg/proxy/ passes locally.

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.

feat: Domain-aware session handshakes in HTTP proxy

1 participant