MCPcopy Create free account
hub / github.com/github/copilot-sdk / updateOpenCanvasesFromEvent

Method updateOpenCanvasesFromEvent

go/session.go:151–175  ·  view source on GitHub ↗
(event SessionEvent)

Source from the content-addressed store, hash-verified

149}
150
151func (s *Session) updateOpenCanvasesFromEvent(event SessionEvent) {
152 switch data := event.Data.(type) {
153 case *SessionCanvasOpenedData:
154 if data.InstanceID == "" || data.CanvasID == "" || data.ExtensionID == "" {
155 fmt.Printf("failed to deserialize session.canvas.opened payload\n")
156 return
157 }
158 s.upsertOpenCanvas(rpc.OpenCanvasInstance{
159 CanvasID: data.CanvasID,
160 ExtensionID: data.ExtensionID,
161 ExtensionName: data.ExtensionName,
162 Input: data.Input,
163 InstanceID: data.InstanceID,
164 Status: data.Status,
165 Title: data.Title,
166 URL: data.URL,
167 })
168 case *SessionCanvasClosedData:
169 if data.InstanceID == "" {
170 fmt.Printf("failed to deserialize session.canvas.closed payload\n")
171 return
172 }
173 s.removeOpenCanvas(data.InstanceID)
174 }
175}
176
177func (s *Session) registerCanvasHandler(handler CanvasHandler) {
178 s.canvasMu.Lock()

Callers 1

dispatchEventMethod · 0.95

Calls 2

upsertOpenCanvasMethod · 0.95
removeOpenCanvasMethod · 0.95

Tested by

no test coverage detected