Help us shape the future of Go! Take the 2026 Go Developer Survey

events

package
v1.8.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Oct 20, 2026 License: Apache-2.0 Imports: 1 Imported by: 0

Documentation

Overview

Package events is a lossy in-process event bus for UI notifications. It is not a reliable delivery channel; plugin hooks read the database cursor instead.

Index

Constants

View Source
const (
	MessageReceived  = "message.received"
	MessagesChanged  = "messages.changed"
	SyncStarted      = "sync.started"
	SyncFinished     = "sync.finished"
	SyncFailed       = "sync.failed"
	OutboxChanged    = "outbox.changed"
	SettingsChanged  = "settings.changed"
	ApprovalsChanged = "approvals.changed"
	PluginsChanged   = "plugins.changed"
	MCPChanged       = "mcp.changed"
	LabelsChanged    = "labels.changed"
	ModelsChanged    = "models.changed" // a plugin model's files were downloaded or removed
)

Variables

This section is empty.

Functions

This section is empty.

Types

type Bus

type Bus struct {
	// contains filtered or unexported fields
}

Bus fans events out to subscribers. Publish never blocks.

func New

func New() *Bus

New returns an empty Bus.

func (*Bus) Publish

func (b *Bus) Publish(e Event)

Publish delivers e to every subscriber without blocking.

func (*Bus) Subscribe

func (b *Bus) Subscribe() (<-chan Event, func())

Subscribe returns a channel of events and a func that unsubscribes it. The unsubscribe func closes the channel and is safe to call more than once.

type Event

type Event struct {
	Type       string
	AccountID  int64
	FolderID   int64
	ThreadIDs  []int64
	MessageIDs []int64
	Error      string
	// Kind is a sync.failed's conn.FailureKind (dns, connect, timeout, tls,
	// auth, protocol), or empty when the connection was fine.
	Kind string
	// ConversationID is set on approvals.changed.
	ConversationID int64
}

Event describes something that happened. Only IDs are carried, never IMAP UIDs.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL