chenhg5/cc-connect · error
matrix: sync ended: %w
Error message
matrix: sync ended: %w
What it means
runConnection: SyncWithContext returned without context cancellation (fatal sync error or dropped connection); after crypto cleanup the error is wrapped so connectLoop reconnects. Ordinary network blips surface here.
Source
Thrown at platform/matrix/matrix.go:246
// re-dispatches as EventMessage, so we only need EventMessage here.
syncer := client.Syncer.(*mautrix.DefaultSyncer)
syncer.OnEventType(event.EventMessage, func(ctx context.Context, evt *event.Event) {
p.handleMessage(ctx, evt)
})
syncer.OnEventType(event.StateMember, func(ctx context.Context, evt *event.Event) {
p.handleMemberState(ctx, evt)
})
// Blocks until ctx cancelled or fatal error
err = client.SyncWithContext(ctx)
// Cleanup
p.closeCryptoHelper()
p.clearClient(gen, client)
if ctx.Err() != nil {
return nil
}
return fmt.Errorf("matrix: sync ended: %w", err)
}
func (p *Platform) handleMessage(ctx context.Context, evt *event.Event) {
content, ok := evt.Content.Parsed.(*event.MessageEventContent)
if !ok || content == nil {
return
}
// Skip own messages
selfID := p.getSelfUserID()
if evt.Sender == selfID {
return
}
// Dedup
if p.dedup.IsDuplicate(evt.ID.String()) {
return
}View on GitHub (pinned to 4000b2338a)
Solutions
- Usually self-heals via the connectLoop backoff
- Persistent errors: check homeserver health and token validity
Defensive patterns
Strategy: retry
When it happens
Trigger: Thrown at platform/matrix/matrix.go:246 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of chenhg5/cc-connect@4000b2338a (2026-09-06).
Data as JSON: /api/errors/9f81cd9c8efd8a2f.
Report an issue: GitHub.