wavetermdev/waveterm · error
setpeerinfo only valid for proxy connections
Error message
setpeerinfo only valid for proxy connections
What it means
Error "setpeerinfo only valid for proxy connections" thrown in wavetermdev/waveterm.
Source
Thrown at pkg/wshutil/wshrouter_controlimpl.go:87
}
return lm.sourceRouteId, nil
}
func (impl *WshRouterControlImpl) SetPeerInfoCommand(ctx context.Context, peerInfo string) error {
source := GetRpcSourceFromContext(ctx)
linkId := impl.Router.GetLinkIdForRoute(source)
if linkId == baseds.NoLinkId {
return fmt.Errorf("no link found for source route %q", source)
}
lm := impl.Router.getLinkMeta(linkId)
if lm == nil {
return fmt.Errorf("no link meta found for linkId %d", linkId)
}
if proxy, ok := lm.client.(*WshRpcProxy); ok {
proxy.SetPeerInfo(peerInfo)
return nil
}
return fmt.Errorf("setpeerinfo only valid for proxy connections")
}
func (impl *WshRouterControlImpl) AuthenticateCommand(ctx context.Context, data string) (wshrpc.CommandAuthenticateRtnData, error) {
handler := GetRpcResponseHandlerFromContext(ctx)
if handler == nil {
return wshrpc.CommandAuthenticateRtnData{}, fmt.Errorf("no response handler in context")
}
linkId := handler.GetIngressLinkId()
if linkId == baseds.NoLinkId {
return wshrpc.CommandAuthenticateRtnData{}, fmt.Errorf("no ingress link found")
}
newCtx, err := ValidateAndExtractRpcContextFromToken(data)
if err != nil {
log.Printf("wshrouter authenticate error linkid=%d: %v", linkId, err)
return wshrpc.CommandAuthenticateRtnData{}, fmt.Errorf("error validating token: %w", err)
}
routeId, err := validateRpcContextFromAuth(newCtx)View on GitHub (pinned to a4447c1563)
When it happens
Trigger: Thrown at pkg/wshutil/wshrouter_controlimpl.go:87 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of wavetermdev/waveterm@a4447c1563 (2026-09-01).
Data as JSON: /api/errors/81d322a9cef8551b.
Report an issue: GitHub.