package matrix import ( lib "git.sr.ht/~cco/go-scopes" "git.sr.ht/~cco/go-scopes/config" "git.sr.ht/~cco/go-scopes/core/action" ) func DefaultConfig(name string) lib.Config { cfg := config.Default(name) cfg.AddAction("create", action.Base(create)) return cfg } func create(act lib.Action) bool { ctx := act.Context() spec := act.Spec() msg := act.Message() cctx := createCell(ctx) //nmsg := message.New("matrix", "connect").WithSender(cctx) //msg.Sender().Cell().Send(nmsg) connect(ctx, cctx, spec, msg) connect(cctx, msg.Sender().Cell(), spec, msg) return true } func createCell(ctx lib.Context) lib.Context { cfg := DefaultConfig("") cctx := ctx.ChildContext(cfg) cfg.Starter()(cctx) return cctx } func connect(src, tgt lib.Context, spec lib.ActionSpec, msg lib.Message) { }