activity updates for v0.7.3 (#600)

* adding more activity updates, tabs, workspaces, startup/shutdown

* name change, allow activity updates from FE.  aichat + history opens

* activity updates for non-standard renderers
This commit is contained in:
Mike Sawka
2024-04-23 17:40:14 -07:00
committed by GitHub
parent eadfb92f94
commit 8f93b3e263
10 changed files with 194 additions and 36 deletions
+18 -4
View File
@@ -743,7 +743,7 @@ func EvalCommand(ctx context.Context, pk *scpacket.FeCommandPacketType) (scbus.U
}
evalDepth := getEvalDepth(ctx)
if pk.Interactive && evalDepth == 0 {
telemetry.UpdateActivityWrap(ctx, telemetry.ActivityUpdate{NumCommands: 1}, "numcommands")
telemetry.GoUpdateActivityWrap(telemetry.ActivityUpdate{NumCommands: 1}, "numcommands")
}
if evalDepth > MaxEvalDepth {
return nil, fmt.Errorf("alias/history expansion max-depth exceeded")
@@ -895,6 +895,7 @@ func ScreenOpenCommand(ctx context.Context, pk *scpacket.FeCommandPacketType) (s
return nil, err
}
update.Merge(crUpdate)
telemetry.GoUpdateActivityWrap(telemetry.ActivityUpdate{NewTab: 1}, "screen:open")
return update, nil
}
@@ -2955,6 +2956,7 @@ func OpenAICommand(ctx context.Context, pk *scpacket.FeCommandPacketType) (scbus
if err != nil {
return nil, fmt.Errorf("cannot add new line: %v", err)
}
sendRendererActivityUpdate("openai")
if resolveBool(pk.Kwargs["stream"], true) {
go doOpenAIStreamCompletion(cmd, clientData.ClientId, opts, prompt)
@@ -3138,6 +3140,7 @@ func addLineForCmd(ctx context.Context, metaCmd string, shouldFocus bool, ids re
if err != nil {
return nil, err
}
sendRendererActivityUpdate(renderer)
screen, err := sstore.GetScreenById(ctx, ids.ScreenId)
if err != nil {
// ignore error here, because the command has already run (nothing to do)
@@ -3468,7 +3471,7 @@ func validateRemoteColor(color string, typeStr string) error {
func SessionOpenSharedCommand(ctx context.Context, pk *scpacket.FeCommandPacketType) (scbus.UpdatePacket, error) {
activity := telemetry.ActivityUpdate{ClickShared: 1}
telemetry.UpdateActivityWrap(ctx, activity, "click-shared")
telemetry.GoUpdateActivityWrap(activity, "click-shared")
return nil, fmt.Errorf("shared sessions are not available in this version of prompt (stay tuned)")
}
@@ -4258,7 +4261,7 @@ func HistoryCommand(ctx context.Context, pk *scpacket.FeCommandPacketType) (scbu
}
show := !resolveBool(pk.Kwargs["noshow"], false)
if show {
telemetry.UpdateActivityWrap(ctx, telemetry.ActivityUpdate{HistoryView: 1}, "history")
telemetry.GoUpdateActivityWrap(telemetry.ActivityUpdate{HistoryView: 1}, "history")
}
update := scbus.MakeUpdatePacket()
update.AddUpdate(history.HistoryInfoType{
@@ -4486,6 +4489,15 @@ func focusScreenLine(ctx context.Context, screenId string, lineNum int64) (*ssto
return screen, nil
}
func sendRendererActivityUpdate(renderer string) {
if renderer == "" || !telemetry.IsAllowedRenderer(renderer) {
return
}
activity := telemetry.ActivityUpdate{Renderers: make(map[string]int)}
activity.Renderers[renderer] = 1
telemetry.GoUpdateActivityWrap(activity, "renderer")
}
func LineSetCommand(ctx context.Context, pk *scpacket.FeCommandPacketType) (scbus.UpdatePacket, error) {
ids, err := resolveUiIds(ctx, pk, R_Session|R_Screen)
if err != nil {
@@ -4508,6 +4520,7 @@ func LineSetCommand(ctx context.Context, pk *scpacket.FeCommandPacketType) (scbu
if err != nil {
return nil, fmt.Errorf("error changing line renderer: %v", err)
}
sendRendererActivityUpdate(renderer)
varsUpdated = append(varsUpdated, KwArgRenderer)
}
if view, found := pk.Kwargs[KwArgView]; found {
@@ -4518,6 +4531,7 @@ func LineSetCommand(ctx context.Context, pk *scpacket.FeCommandPacketType) (scbu
if err != nil {
return nil, fmt.Errorf("error changing line view: %v", err)
}
sendRendererActivityUpdate(view)
varsUpdated = append(varsUpdated, KwArgView)
}
if stateJson, found := pk.Kwargs[KwArgState]; found {
@@ -4608,7 +4622,7 @@ func BookmarksShowCommand(ctx context.Context, pk *scpacket.FeCommandPacketType)
if err != nil {
return nil, fmt.Errorf("cannot retrieve bookmarks: %v", err)
}
telemetry.UpdateActivityWrap(ctx, telemetry.ActivityUpdate{BookmarksView: 1}, "bookmarks")
telemetry.GoUpdateActivityWrap(telemetry.ActivityUpdate{BookmarksView: 1}, "bookmarks")
update := scbus.MakeUpdatePacket()
update.AddUpdate(&MainViewUpdate{