sipeed/picoclaw · error

deltachat: rpc server did not become ready

Error message

deltachat: rpc server did not become ready

What it means

Error "deltachat: rpc server did not become ready" thrown in sipeed/picoclaw.

Source

Thrown at pkg/channels/deltachat/deltachat.go:951

func (c *DeltaChatChannel) StartTyping(ctx context.Context, chatID string) (func(), error) {
	return func() {}, nil
}

// waitReady polls get_system_info until the RPC server responds.
func (c *DeltaChatChannel) waitReady(ctx context.Context) error {
	for attempt := 0; attempt < 40; attempt++ {
		if ctx.Err() != nil {
			return ctx.Err()
		}
		callCtx, cancel := context.WithTimeout(ctx, 2*time.Second)
		_, err := c.rpc.call(callCtx, "get_system_info")
		cancel()
		if err == nil {
			return nil
		}
		time.Sleep(250 * time.Millisecond)
	}
	return fmt.Errorf("deltachat: rpc server did not become ready")
}

// ensureAccount finds or creates the configured account and starts its IO.
func (c *DeltaChatChannel) ensureAccount(ctx context.Context) error {
	server, bootstrap, err := parseDeltaChatEmailSetting(c.config.Email)
	if err != nil {
		return err
	}
	if bootstrap {
		return c.createChatmailBootstrapAccount(ctx, server)
	}

	c.selfAddr = strings.ToLower(c.config.Email)

	accounts, err := c.listAccounts(ctx)
	if err != nil {
		return err
	}

View on GitHub (pinned to 49183d7e8d)

When it happens

Trigger: Thrown at pkg/channels/deltachat/deltachat.go:951 when the library encounters an invalid state.

Common situations: See trigger scenarios.


AI-assisted analysis of sipeed/picoclaw@49183d7e8d (2026-08-15). Data as JSON: /api/errors/012880d60615926b. Report an issue: GitHub.