router-for-me/CLIProxyAPI · error
home plugin status client is unavailable
Error message
home plugin status client is unavailable
What it means
Error "home plugin status client is unavailable" thrown in router-for-me/CLIProxyAPI.
Source
Thrown at internal/home/plugin_status.go:24
"fmt"
"strings"
"time"
"github.com/router-for-me/CLIProxyAPI/v7/internal/homeplugins"
)
const pluginStatusReportTimeout = 10 * time.Second
// PluginStatusClient defines the interface for pushing plugin status reports.
type PluginStatusClient interface {
RPushPluginStatus(ctx context.Context, payload []byte) error
}
// ReportPluginStatus marshals the given report, sets NodeID and UpdatedAt,
// and pushes it to the provided client with a timeout.
func ReportPluginStatus(ctx context.Context, client PluginStatusClient, nodeID string, report homeplugins.SyncReport) error {
if client == nil {
return fmt.Errorf("home plugin status client is unavailable")
}
nodeID = strings.TrimSpace(nodeID)
if nodeID == "" {
return fmt.Errorf("home plugin status node id is empty")
}
report.NodeID = nodeID
report.UpdatedAt = time.Now().UTC()
raw, errMarshal := json.Marshal(report)
if errMarshal != nil {
return errMarshal
}
if ctx == nil {
ctx = context.Background()
}
reportCtx, cancel := context.WithTimeout(ctx, pluginStatusReportTimeout)
defer cancel()
return client.RPushPluginStatus(reportCtx, raw)
}View on GitHub (pinned to 78f0c4079e)
Solutions
- Ensure the home client is connected before querying plugin status.
- Initialize the plugin status client after home cluster discovery completes.
When it happens
Trigger: Thrown at internal/home/plugin_status.go:24 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of router-for-me/CLIProxyAPI@78f0c4079e (2026-08-15).
Data as JSON: /api/errors/a7a39315edb7b64c.
Report an issue: GitHub.