diff --git a/.claude-plugin/plugin.json b/.claude-plugin/plugin.json new file mode 100644 index 000000000000..4cbe78fb1644 --- /dev/null +++ b/.claude-plugin/plugin.json @@ -0,0 +1,4 @@ +{ + "name": "keybase-client-skills", + "description": "Development skills for the Keybase client repo" +} diff --git a/.claude/hooks/pre-commit-check.sh b/.claude/hooks/pre-commit-check.sh new file mode 100755 index 000000000000..c7e0895f9857 --- /dev/null +++ b/.claude/hooks/pre-commit-check.sh @@ -0,0 +1,20 @@ +#!/bin/bash + +REPO_ROOT=$(git -C "$(dirname "$0")" rev-parse --show-toplevel) + +if [ ! -d "$REPO_ROOT/shared/node_modules" ]; then + echo "node_modules not installed — skipping lint/tsc." >&2 + exit 0 +fi + +if ! (cd "$REPO_ROOT/shared" && yarn lint 2>&1); then + echo "Lint failed — commit blocked." >&2 + exit 2 +fi + +if ! (cd "$REPO_ROOT/shared" && yarn tsc 2>&1); then + echo "TypeScript check failed — commit blocked." >&2 + exit 2 +fi + +echo "Pre-commit checks passed." >&2 diff --git a/.claude/settings.json b/.claude/settings.json new file mode 100644 index 000000000000..949a8ab85e9c --- /dev/null +++ b/.claude/settings.json @@ -0,0 +1,34 @@ +{ + "permissions": { + "allow": [ + "Bash(yarn lint)", + "Bash(yarn lint-warn:*)", + "Bash(yarn prettier:*)", + "Bash(yarn build-*)", + "Bash(yarn package)", + "Bash(yarn start*)", + "Bash(yarn rn-gobuild*)", + "Bash(yarn rn-download-android*)", + "Bash(yarn tsc)", + "Bash(yarn tsc:*)", + "Bash(yarn pod*)", + "Bash(yarn coverage:*)", + "Bash(yarn maestro*)" + ] + }, + "hooks": { + "PreToolUse": [ + { + "matcher": "Bash(git commit*)", + "hooks": [ + { + "type": "command", + "command": ".claude/hooks/pre-commit-check.sh", + "timeout": 120, + "statusMessage": "Running lint and tsc..." + } + ] + } + ] + } +} diff --git a/.claude/skills b/.claude/skills new file mode 120000 index 000000000000..96973154e6c6 --- /dev/null +++ b/.claude/skills @@ -0,0 +1 @@ +../skill \ No newline at end of file diff --git a/.gitignore b/.gitignore index 471efbebaf00..a0f29bb539aa 100644 --- a/.gitignore +++ b/.gitignore @@ -87,6 +87,5 @@ go/keybase_netbsd go/keybase_openbsd .cursor -.claude +.claude/settings.local.json .*-mcp -CLAUDE.md diff --git a/AGENTS.md b/AGENTS.md new file mode 100644 index 000000000000..e5c25da7d0a0 --- /dev/null +++ b/AGENTS.md @@ -0,0 +1,4 @@ +# Repo Notes + +- This repo uses React Compiler. Assume React Compiler patterns are enabled when editing React code, and avoid adding `useMemo`/`useCallback` by default unless they are clearly needed for correctness or compatibility with existing code. +- When a component reads multiple adjacent values from the same store hook, prefer a consolidated selector with `C.useShallow(...)` instead of multiple separate subscriptions. diff --git a/CLAUDE.md b/CLAUDE.md new file mode 100644 index 000000000000..25405c987feb --- /dev/null +++ b/CLAUDE.md @@ -0,0 +1,19 @@ +## Rules +- No `Co-Authored-By` in commits. Ever. +- "Was working before" = base branch (`nojima/HOTPOT-next-670-clean` or `master`), not previous commit. +- Never use `npm`. Always `yarn`. +- Never silently drop features/behavior — ask first, present options. +- No DOM elements (`
`, ``, etc.) in plain `.tsx` files — use `Kb.*`. Guard desktop-only DOM with `Styles.isMobile`. +- Temp files go in `/tmp/`. +- Remove unused code when editing: styles, imports, vars, params, dead helpers. +- Comments: no refactoring notes; only add when context isn't obvious from code. +- Exact versions in `package.json` (no `^`/`~`). +- Keep `react`, `react-dom`, `react-native`, `@react-native/*` in sync with Expo SDK. +- When updating deps: edit `package.json` → `yarn` → `yarn pod-install`. +- When updating `electron`: run `shared/desktop/extract-electron-shasums.sh `. + +## Working Directory +Repo root is `client/`. TS source lives in `shared/`. Always use absolute paths for file ops. For Bash: always `cd shared/` first. + +## Validation +After TS changes (from `shared/`): `yarn lint` then `yarn tsc`. When debugging visually, skip until fix is confirmed. Never delete the ESLint cache. diff --git a/go/auth/credential_authority_test.go b/go/auth/credential_authority_test.go index 4a5efc709095..61338322e02e 100644 --- a/go/auth/credential_authority_test.go +++ b/go/auth/credential_authority_test.go @@ -59,7 +59,7 @@ func newTestUser(nKeys int) *testUser { sibkeys: make([]keybase1.KID, nKeys), subkeys: make([]keybase1.KID, nKeys), } - for i := 0; i < nKeys; i++ { + for i := range nKeys { ret.sibkeys[i] = genKID() ret.subkeys[i] = genKID() } @@ -236,7 +236,7 @@ func TestSimple(t *testing.T) { u1 := state.newTestUser(4) ng := 3 - for i := 0; i < 10; i++ { + for range 10 { err = credentialAuthority.CheckUserKey(context.TODO(), u1.uid, &u1.username, &u1.sibkeys[0], false) if err != nil { t.Fatal(err) @@ -283,7 +283,7 @@ func TestCheckUsers(t *testing.T) { state, credentialAuthority := newTestSetup() var users, usersWithDud []keybase1.UID - for i := 0; i < 10; i++ { + for range 10 { u := state.newTestUser(2) users = append(users, u.uid) usersWithDud = append(usersWithDud, u.uid) diff --git a/go/avatars/fileurilze_nix.go b/go/avatars/fileurilze_nix.go index 7d42d6cb4b6a..b04086f1e648 100644 --- a/go/avatars/fileurilze_nix.go +++ b/go/avatars/fileurilze_nix.go @@ -1,5 +1,4 @@ //go:build !windows -// +build !windows package avatars diff --git a/go/avatars/fileurlize_windows.go b/go/avatars/fileurlize_windows.go index d8edd1e80fa5..8d54be4e12ea 100644 --- a/go/avatars/fileurlize_windows.go +++ b/go/avatars/fileurlize_windows.go @@ -1,5 +1,4 @@ //go:build windows -// +build windows package avatars diff --git a/go/avatars/fullcaching.go b/go/avatars/fullcaching.go index 3449be8879db..897460f8b0b2 100644 --- a/go/avatars/fullcaching.go +++ b/go/avatars/fullcaching.go @@ -5,6 +5,7 @@ import ( "encoding/json" "fmt" "io" + "maps" "net/url" "os" "path/filepath" @@ -97,10 +98,10 @@ type FullCachingSource struct { prepareDirs sync.Once - usersMissBatch func(interface{}) - teamsMissBatch func(interface{}) - usersStaleBatch func(interface{}) - teamsStaleBatch func(interface{}) + usersMissBatch func(any) + teamsMissBatch func(any) + usersStaleBatch func(any) + teamsStaleBatch func(any) // testing populateSuccessCh chan struct{} @@ -116,16 +117,16 @@ func NewFullCachingSource(g *libkb.GlobalContext, staleThreshold time.Duration, staleThreshold: staleThreshold, simpleSource: NewSimpleSource(), } - batcher := func(intBatched interface{}, intSingle interface{}) interface{} { + batcher := func(intBatched any, intSingle any) any { reqs, _ := intBatched.([]remoteFetchArg) single, _ := intSingle.(remoteFetchArg) return append(reqs, single) } - reset := func() interface{} { + reset := func() any { return []remoteFetchArg{} } - actor := func(loadFn func(libkb.MetaContext, []string, []keybase1.AvatarFormat) (keybase1.LoadAvatarsRes, error)) func(interface{}) { - return func(intBatched interface{}) { + actor := func(loadFn func(libkb.MetaContext, []string, []keybase1.AvatarFormat) (keybase1.LoadAvatarsRes, error)) func(any) { + return func(intBatched any) { reqs, _ := intBatched.([]remoteFetchArg) s.makeRemoteFetchRequests(reqs, loadFn) } @@ -213,7 +214,7 @@ func (c *FullCachingSource) StartBackgroundTasks(mctx libkb.MetaContext) { c.started = true go c.monitorAppState(mctx) c.populateCacheCh = make(chan populateArg, 100) - for i := 0; i < 10; i++ { + for range 10 { go c.populateCacheWorker(mctx) } mctx, cancel := mctx.WithContextCancel() @@ -238,7 +239,7 @@ func (c *FullCachingSource) StopBackgroundTasks(mctx libkb.MetaContext) { } } -func (c *FullCachingSource) debug(m libkb.MetaContext, msg string, args ...interface{}) { +func (c *FullCachingSource) debug(m libkb.MetaContext, msg string, args ...any) { m.Debug("Avatars.FullCachingSource: %s", fmt.Sprintf(msg, args...)) } @@ -266,7 +267,7 @@ func (c *FullCachingSource) monitorAppState(m libkb.MetaContext) { func (c *FullCachingSource) processLRUHit(entry lru.DiskLRUEntry) (res lruEntry) { var ok bool - if _, ok = entry.Value.(map[string]interface{}); ok { + if _, ok = entry.Value.(map[string]any); ok { jstr, _ := json.Marshal(entry.Value) _ = json.Unmarshal(jstr, &res) return res @@ -488,9 +489,7 @@ func (c *FullCachingSource) makeURL(m libkb.MetaContext, path string) keybase1.A func (c *FullCachingSource) mergeRes(res *keybase1.LoadAvatarsRes, m keybase1.LoadAvatarsRes) { for username, rec := range m.Picmap { - for format, url := range rec { - res.Picmap[username][format] = url - } + maps.Copy(res.Picmap[username], rec) } } diff --git a/go/avatars/simple.go b/go/avatars/simple.go index 32a9c92c5c43..e9c8531ada8e 100644 --- a/go/avatars/simple.go +++ b/go/avatars/simple.go @@ -2,6 +2,7 @@ package avatars import ( "fmt" + "maps" "strings" "github.com/keybase/client/go/libkb" @@ -63,14 +64,12 @@ func (s *SimpleSource) makeRes(res *keybase1.LoadAvatarsRes, apiRes apiAvatarRes allocRes(res, names) for index, rec := range apiRes.Pictures { u := names[index] - for format, url := range rec { - res.Picmap[u][format] = url - } + maps.Copy(res.Picmap[u], rec) } return nil } -func (s *SimpleSource) debug(m libkb.MetaContext, msg string, args ...interface{}) { +func (s *SimpleSource) debug(m libkb.MetaContext, msg string, args ...any) { m.Debug("Avatars.SimpleSource: %s", fmt.Sprintf(msg, args...)) } diff --git a/go/avatars/srv.go b/go/avatars/srv.go index 2dc7e721b0c4..dbd1c91e7149 100644 --- a/go/avatars/srv.go +++ b/go/avatars/srv.go @@ -64,12 +64,12 @@ func (s *Srv) GetUserAvatar(username string) (string, error) { return fmt.Sprintf("http://%v/av?typ=user&name=%v&format=square_192&token=%v", addr, username, token), nil } -func (s *Srv) debug(msg string, args ...interface{}) { +func (s *Srv) debug(msg string, args ...any) { s.G().GetLog().Debug("Avatars.Srv: %s", fmt.Sprintf(msg, args...)) } func (s *Srv) makeError(w http.ResponseWriter, code int, msg string, - args ...interface{}, + args ...any, ) { s.debug("serve: error code: %d msg %s", code, fmt.Sprintf(msg, args...)) w.WriteHeader(code) diff --git a/go/avatars/urlcaching.go b/go/avatars/urlcaching.go index a5f7f56bfb96..deab9994fcfd 100644 --- a/go/avatars/urlcaching.go +++ b/go/avatars/urlcaching.go @@ -2,6 +2,7 @@ package avatars import ( "fmt" + "maps" "time" "github.com/keybase/client/go/libkb" @@ -36,7 +37,7 @@ func (c *URLCachingSource) StopBackgroundTasks(m libkb.MetaContext) { c.diskLRU.Flush(m.Ctx(), m.G()) } -func (c *URLCachingSource) debug(m libkb.MetaContext, msg string, args ...interface{}) { +func (c *URLCachingSource) debug(m libkb.MetaContext, msg string, args ...any) { m.Debug("Avatars.URLCachingSource: %s", fmt.Sprintf(msg, args...)) } @@ -89,9 +90,7 @@ func (c *URLCachingSource) specLoad(m libkb.MetaContext, names []string, formats func (c *URLCachingSource) mergeRes(res *keybase1.LoadAvatarsRes, m keybase1.LoadAvatarsRes) { for username, rec := range m.Picmap { - for format, url := range rec { - res.Picmap[username][format] = url - } + maps.Copy(res.Picmap[username], rec) } } diff --git a/go/bind/dns_ios.go b/go/bind/dns_ios.go index d81cfecd7e31..9a8ef38e2c9d 100644 --- a/go/bind/dns_ios.go +++ b/go/bind/dns_ios.go @@ -2,7 +2,6 @@ // this source code is governed by the included BSD license. // //go:build ios -// +build ios package keybase diff --git a/go/bind/dns_other.go b/go/bind/dns_other.go index 369d7b01dcf8..b638c5120ebb 100644 --- a/go/bind/dns_other.go +++ b/go/bind/dns_other.go @@ -2,7 +2,6 @@ // this source code is governed by the included BSD license. // //go:build !ios -// +build !ios package keybase diff --git a/go/bind/keybase.go b/go/bind/keybase.go index 46a598215680..03d2241e5025 100644 --- a/go/bind/keybase.go +++ b/go/bind/keybase.go @@ -60,7 +60,7 @@ var ( ) // log writes to kbCtx.Log if available, otherwise falls back to fmt.Printf -func log(format string, args ...interface{}) { +func log(format string, args ...any) { msg := fmt.Sprintf(format, args...) if kbCtx != nil && kbCtx.Log != nil { kbCtx.Log.Info(msg) @@ -446,7 +446,7 @@ func LogSend(statusJSON string, feedback string, sendLogs, sendMaxBytes bool, tr return string(logSendID), err } -// WriteArr sends raw bytes encoded msgpack rpc payload, ios only +// WriteArr sends raw bytes encoded msgpack rpc payload from the native layer (iOS and Android) func WriteArr(b []byte) (err error) { bytes := make([]byte, len(b)) copy(bytes, b) diff --git a/go/bind/keystore_android.go b/go/bind/keystore_android.go index 9d2832896f1e..c873d91f6e10 100644 --- a/go/bind/keystore_android.go +++ b/go/bind/keystore_android.go @@ -2,7 +2,6 @@ // this source code is governed by the included BSD license. //go:build android -// +build android package keybase diff --git a/go/bind/notifications.go b/go/bind/notifications.go index 3e1a9ddbbc2b..4482a7ca5964 100644 --- a/go/bind/notifications.go +++ b/go/bind/notifications.go @@ -6,8 +6,11 @@ import ( "fmt" "regexp" "runtime" + "strconv" + "sync" "time" + lru "github.com/hashicorp/golang-lru" "github.com/keybase/client/go/chat" "github.com/keybase/client/go/chat/globals" "github.com/keybase/client/go/chat/storage" @@ -20,6 +23,21 @@ import ( "github.com/kyokomi/emoji" ) +const seenNotificationsCacheSize = 100 + +var ( + seenNotificationsMtx sync.Mutex + seenNotifications *lru.Cache + seenNotificationsOnce sync.Once +) + +func getSeenNotificationsCache() *lru.Cache { + seenNotificationsOnce.Do(func() { + seenNotifications, _ = lru.New(seenNotificationsCacheSize) + }) + return seenNotifications +} + type Person struct { KeybaseUsername string KeybaseAvatar string @@ -106,6 +124,20 @@ func HandleBackgroundNotification(strConvID, body, serverMessageBody, sender str return libkb.LoginRequiredError{} } mp := chat.NewMobilePush(gc) + // Dedupe by convID||msgID + dupKey := strConvID + "||" + strconv.Itoa(intMessageID) + // Check if we've already processed this notification but without + // serializing the whole function. We check the map again while holding + // a lock before anything is displayed. + if _, ok := getSeenNotificationsCache().Get(dupKey); ok { + // Cancel any duplicate visible notifications + if len(pushID) > 0 { + mp.AckNotificationSuccess(ctx, []string{pushID}) + } + kbCtx.Log.CDebugf(ctx, "HandleBackgroundNotification: duplicate notification convID=%s msgID=%d", strConvID, intMessageID) + // Return nil (not an error) so Android does not treat this as failure and show a fallback notification. + return nil + } uid := gregor1.UID(kbCtx.Env.GetUID().ToBytes()) convID, err := chat1.MakeConvID(strConvID) if err != nil { @@ -195,7 +227,20 @@ func HandleBackgroundNotification(strConvID, body, serverMessageBody, sender str // only display and ack this notification if we actually have something to display if pusher != nil && (len(chatNotification.Message.Plaintext) > 0 || len(chatNotification.Message.ServerMessage) > 0) { + // Lock and check if we've already processed this notification. + seenNotificationsMtx.Lock() + defer seenNotificationsMtx.Unlock() + if _, ok := getSeenNotificationsCache().Get(dupKey); ok { + // Cancel any duplicate visible notifications + if len(pushID) > 0 { + mp.AckNotificationSuccess(ctx, []string{pushID}) + } + kbCtx.Log.CDebugf(ctx, "HandleBackgroundNotification: duplicate notification convID=%s msgID=%d", strConvID, intMessageID) + // Return nil (not an error) so Android does not treat this as failure and show a fallback notification. + return nil + } pusher.DisplayChatNotification(&chatNotification) + getSeenNotificationsCache().Add(dupKey, struct{}{}) if len(pushID) > 0 { mp.AckNotificationSuccess(ctx, []string{pushID}) } diff --git a/go/blindtree/defaults.go b/go/blindtree/defaults.go index abb04192d0cb..ac37f49daa33 100644 --- a/go/blindtree/defaults.go +++ b/go/blindtree/defaults.go @@ -14,7 +14,7 @@ const ( ) func GetCurrentBlindTreeConfig() (cfg merkletree2.Config) { - valueConstructor := func() interface{} { return BlindMerkleValue{} } + valueConstructor := func() any { return BlindMerkleValue{} } cfg, err := merkletree2.NewConfig( encodingType.GetEncoder(), @@ -31,7 +31,7 @@ func GetCurrentBlindTreeConfig() (cfg merkletree2.Config) { // This config uses the non thread safe encoder. func GetCurrentBlindTreeConfigUnsafe() (cfg merkletree2.Config) { - valueConstructor := func() interface{} { return BlindMerkleValue{} } + valueConstructor := func() any { return BlindMerkleValue{} } cfg, err := merkletree2.NewConfig( encodingType.GetUnsafeEncoder(), diff --git a/go/blindtree/values.go b/go/blindtree/values.go index 1df7cf8e5fb9..84b4b9fee836 100644 --- a/go/blindtree/values.go +++ b/go/blindtree/values.go @@ -12,7 +12,7 @@ import ( // appropriate. type BlindMerkleValue struct { ValueType BlindMerkleValueType - InnerValue interface{} + InnerValue any } // Note: values up to 127 are preferred as they are encoded in a single byte diff --git a/go/blindtree/values_test.go b/go/blindtree/values_test.go index 776e27a5e742..0284a729e5cc 100644 --- a/go/blindtree/values_test.go +++ b/go/blindtree/values_test.go @@ -18,7 +18,7 @@ func TestEncodeMerkleValues(t *testing.T) { } encodingTests := []struct { - Value interface{} + Value any EncodedValue BlindMerkleValue Type BlindMerkleValueType }{ diff --git a/go/chat/archive.go b/go/chat/archive.go index 85599d8796b6..c001bc50a40f 100644 --- a/go/chat/archive.go +++ b/go/chat/archive.go @@ -786,7 +786,6 @@ func (c *ChatArchiver) ArchiveChat(ctx context.Context, arg chat1.ArchiveChatJob // - Messages are rendered in a text format and attachments are downloaded to the archive path. eg.SetLimit(10) for _, conv := range convs { - conv := conv eg.Go(func() error { return c.archiveConv(ctx, arg, &jobInfo, conv) }) diff --git a/go/chat/attachment_httpsrv.go b/go/chat/attachment_httpsrv.go index 754fd1161925..6affad30488f 100644 --- a/go/chat/attachment_httpsrv.go +++ b/go/chat/attachment_httpsrv.go @@ -87,7 +87,7 @@ func NewAttachmentHTTPSrv(g *globals.Context, httpSrv *manager.Srv, fetcher type fetcher: fetcher, httpSrv: httpSrv, hmacPool: sync.Pool{ - New: func() interface{} { + New: func() any { return hmac.New(sha256.New, token) }, }, @@ -105,7 +105,7 @@ func (r *AttachmentHTTPSrv) GetAttachmentFetcher() types.AttachmentFetcher { return r.fetcher } -func (r *AttachmentHTTPSrv) genURLKey(prefix string, payload interface{}) (string, error) { +func (r *AttachmentHTTPSrv) genURLKey(prefix string, payload any) (string, error) { h := r.hmacPool.Get().(hash.Hash) defer r.hmacPool.Put(h) h.Reset() @@ -119,7 +119,7 @@ func (r *AttachmentHTTPSrv) genURLKey(prefix string, payload interface{}) (strin return prefix + hex.EncodeToString(h.Sum(nil)), nil } -func (r *AttachmentHTTPSrv) getURL(ctx context.Context, prefix string, payload interface{}) string { +func (r *AttachmentHTTPSrv) getURL(ctx context.Context, prefix string, payload any) string { if !r.httpSrv.Active() { r.Debug(ctx, "getURL: http server failed to start earlier") return "" @@ -333,9 +333,9 @@ func (r *AttachmentHTTPSrv) serveGiphyGallery(ctx context.Context, w http.Respon return } galleryInfo := infoInt.(giphyGalleryInfo) - var videoStr string + var videoStr strings.Builder for _, res := range galleryInfo.Results { - videoStr += fmt.Sprintf(` + fmt.Fprintf(&videoStr, ` `, res.PreviewUrl, r.getGiphyGallerySelectURL(ctx, galleryInfo.ConvID, galleryInfo.TlfName, res)) @@ -357,7 +357,7 @@ func (r *AttachmentHTTPSrv) serveGiphyGallery(ctx context.Context, w http.Respon %s
- `, videoStr) + `, videoStr.String()) if _, err := io.WriteString(w, res); err != nil { r.makeError(context.TODO(), w, http.StatusInternalServerError, "failed to write giphy gallery: %s", err) @@ -409,7 +409,7 @@ func (r *AttachmentHTTPSrv) serveGiphyLink(ctx context.Context, w http.ResponseW } func (r *AttachmentHTTPSrv) makeError(ctx context.Context, w http.ResponseWriter, code int, msg string, - args ...interface{}, + args ...any, ) { r.Debug(ctx, "serve: error code: %d msg %s", code, fmt.Sprintf(msg, args...)) w.WriteHeader(code) diff --git a/go/chat/attachments/audio.go b/go/chat/attachments/audio.go index 175327dba8c6..02718dd096a1 100644 --- a/go/chat/attachments/audio.go +++ b/go/chat/attachments/audio.go @@ -35,7 +35,7 @@ func newAudioVisualizer(amps []float64) *audioVisualizer { func (a *audioVisualizer) stroke(offset, height int, img *image.NRGBA) { for i := offset; i < offset+a.strokeWidth; i++ { - for j := 0; j < height; j++ { + for j := range height { img.Set(i, a.height-j, a.strokeColor) } } @@ -51,12 +51,12 @@ func (a *audioVisualizer) visualize() ([]byte, int) { width := numStrokes * (a.strokeWidth + a.strokeGap) img := image.NewNRGBA(image.Rect(0, 0, width, a.height)) offset := 0 - for i := 0; i < width; i++ { + for i := range width { for j := 0; j < a.height; j++ { img.Set(i, j, a.bkgColor) } } - for i := 0; i < numStrokes; i++ { + for i := range numStrokes { height := a.getHeight(a.amps[i]) a.stroke(offset, height, img) offset += a.strokeWidth + a.strokeGap diff --git a/go/chat/attachments/preview.go b/go/chat/attachments/preview.go index f6e927999337..bec41abb7750 100644 --- a/go/chat/attachments/preview.go +++ b/go/chat/attachments/preview.go @@ -98,8 +98,8 @@ func previewVideoBlank(ctx context.Context, log utils.DebugLabeler, src io.Reade ) (res *PreviewRes, err error) { const width, height = 300, 150 img := image.NewNRGBA(image.Rect(0, 0, width, height)) - for y := 0; y < height; y++ { - for x := 0; x < width; x++ { + for y := range height { + for x := range width { img.Set(x, y, color.NRGBA{ R: 0, G: 0, @@ -276,18 +276,12 @@ func previewDimensions(origBounds image.Rectangle) (uint, uint) { newWidth, newHeight := origWidth, origHeight // Preserve aspect ratio if origWidth > previewImageWidth { - newHeight = origHeight * previewImageWidth / origWidth - if newHeight < 1 { - newHeight = 1 - } + newHeight = max(origHeight*previewImageWidth/origWidth, 1) newWidth = previewImageWidth } if newHeight > previewImageHeight { - newWidth = newWidth * previewImageHeight / newHeight - if newWidth < 1 { - newWidth = 1 - } + newWidth = max(newWidth*previewImageHeight/newHeight, 1) newHeight = previewImageHeight } diff --git a/go/chat/attachments/preview_android.go b/go/chat/attachments/preview_android.go index 483fb8241469..76e64e5e0719 100644 --- a/go/chat/attachments/preview_android.go +++ b/go/chat/attachments/preview_android.go @@ -1,5 +1,4 @@ //go:build android -// +build android package attachments diff --git a/go/chat/attachments/preview_darwin.go b/go/chat/attachments/preview_darwin.go index 7fbe050d2a27..34a657b5a77d 100644 --- a/go/chat/attachments/preview_darwin.go +++ b/go/chat/attachments/preview_darwin.go @@ -1,5 +1,4 @@ //go:build darwin -// +build darwin package attachments diff --git a/go/chat/attachments/preview_darwin_ios.go b/go/chat/attachments/preview_darwin_ios.go index 1efa101b1f24..da49f5743976 100644 --- a/go/chat/attachments/preview_darwin_ios.go +++ b/go/chat/attachments/preview_darwin_ios.go @@ -1,5 +1,4 @@ //go:build ios -// +build ios package attachments diff --git a/go/chat/attachments/preview_darwin_noios.go b/go/chat/attachments/preview_darwin_noios.go index 59c288146b6d..c274188c933c 100644 --- a/go/chat/attachments/preview_darwin_noios.go +++ b/go/chat/attachments/preview_darwin_noios.go @@ -1,5 +1,4 @@ //go:build darwin && !ios && !android -// +build darwin,!ios,!android package attachments diff --git a/go/chat/attachments/preview_dummy.go b/go/chat/attachments/preview_dummy.go index 2b83ed856e2d..8990166cdec5 100644 --- a/go/chat/attachments/preview_dummy.go +++ b/go/chat/attachments/preview_dummy.go @@ -1,5 +1,4 @@ //go:build !darwin && !android -// +build !darwin,!android package attachments diff --git a/go/chat/attachments/quarantine.go b/go/chat/attachments/quarantine.go index f195964dd6da..a162a533f4b3 100644 --- a/go/chat/attachments/quarantine.go +++ b/go/chat/attachments/quarantine.go @@ -1,5 +1,4 @@ //go:build (!darwin && !windows) || ios -// +build !darwin,!windows ios package attachments diff --git a/go/chat/attachments/quarantine_darwin.go b/go/chat/attachments/quarantine_darwin.go index 019105b0e84e..68dff5388c15 100644 --- a/go/chat/attachments/quarantine_darwin.go +++ b/go/chat/attachments/quarantine_darwin.go @@ -1,5 +1,4 @@ //go:build darwin && !ios -// +build darwin,!ios package attachments diff --git a/go/chat/attachments/quarantine_windows.go b/go/chat/attachments/quarantine_windows.go index 7af89a2d3e79..b3e4abf07067 100644 --- a/go/chat/attachments/quarantine_windows.go +++ b/go/chat/attachments/quarantine_windows.go @@ -1,5 +1,4 @@ //go:build windows -// +build windows package attachments diff --git a/go/chat/attachments/utils.go b/go/chat/attachments/utils.go index 36e6f73cf3a1..e2f6023abeaa 100644 --- a/go/chat/attachments/utils.go +++ b/go/chat/attachments/utils.go @@ -275,7 +275,7 @@ func (fi kbfsFileInfo) ModTime() time.Time { func (fi kbfsFileInfo) IsDir() bool { return fi.dirent.DirentType == keybase1.DirentType_DIR } -func (fi kbfsFileInfo) Sys() interface{} { return fi.dirent } +func (fi kbfsFileInfo) Sys() any { return fi.dirent } // StatOSOrKbfsFile stats the file located at p, using SimpleFSStat if it's a // KBFS path, or os.Stat if not. diff --git a/go/chat/botcommands_test.go b/go/chat/botcommands_test.go index e8a06f75b77e..b49dd9e0bced 100644 --- a/go/chat/botcommands_test.go +++ b/go/chat/botcommands_test.go @@ -113,7 +113,7 @@ func TestBotCommandManager(t *testing.T) { require.Equal(t, "status", cmds[0].Name) // make sure the cmds are cached - for i := 0; i < 5; i++ { + for range 5 { errCh, err = tc.Context().BotCommandManager.UpdateCommands(ctx, impConv.Id, nil) require.NoError(t, err) require.NoError(t, readErrCh(errCh)) diff --git a/go/chat/boxer.go b/go/chat/boxer.go index eb5ef27d8cc9..9bab474dd071 100644 --- a/go/chat/boxer.go +++ b/go/chat/boxer.go @@ -1422,7 +1422,7 @@ func (b *Boxer) UnboxMessages(ctx context.Context, boxed []chat1.MessageBoxed, c }) var resLock sync.Mutex numUnboxThreads := 2 - for i := 0; i < numUnboxThreads; i++ { + for range numUnboxThreads { eg.Go(func() error { for msg := range boxCh { decmsg, err := b.UnboxMessage(ctx, msg, conv, nil) @@ -1639,7 +1639,7 @@ func (b *Boxer) preBoxCheck(ctx context.Context, messagePlaintext chat1.MessageP if err != nil { return err } - e := func(format string, args ...interface{}) error { + e := func(format string, args ...any) error { return errors.New(fmt.Sprintf("malformed %v message: ", typ) + fmt.Sprintf(format, args...)) } switch typ { @@ -1889,7 +1889,7 @@ func (b *Boxer) boxV2orV3orV4(ctx context.Context, messagePlaintext chat1.Messag } // seal encrypts data into chat1.EncryptedData. -func (b *Boxer) seal(data interface{}, key libkb.NaclSecretBoxKey) (*chat1.EncryptedData, error) { +func (b *Boxer) seal(data any, key libkb.NaclSecretBoxKey) (*chat1.EncryptedData, error) { s, err := b.marshal(data) if err != nil { return nil, err @@ -1929,7 +1929,7 @@ func (b *Boxer) open(data chat1.EncryptedData, key libkb.NaclSecretBoxKey) ([]by // signMarshal signs data with a NaclSigningKeyPair, returning a chat1.SignatureInfo. // It marshals data before signing. -func (b *Boxer) signMarshal(data interface{}, kp libkb.NaclSigningKeyPair, prefix kbcrypto.SignaturePrefix) (chat1.SignatureInfo, error) { +func (b *Boxer) signMarshal(data any, kp libkb.NaclSigningKeyPair, prefix kbcrypto.SignaturePrefix) (chat1.SignatureInfo, error) { encoded, err := b.marshal(data) if err != nil { return chat1.SignatureInfo{}, err @@ -1940,7 +1940,7 @@ func (b *Boxer) signMarshal(data interface{}, kp libkb.NaclSigningKeyPair, prefi // signEncryptMarshal signencrypts data given an encryption and signing key, returning a chat1.SignEncryptedData. // It marshals data before signing. -func (b *Boxer) signEncryptMarshal(data interface{}, encryptionKey libkb.NaclSecretBoxKey, +func (b *Boxer) signEncryptMarshal(data any, encryptionKey libkb.NaclSecretBoxKey, signingKeyPair libkb.NaclSigningKeyPair, prefix kbcrypto.SignaturePrefix, ) (chat1.SignEncryptedData, error) { encoded, err := b.marshal(data) @@ -2180,7 +2180,7 @@ func (b *Boxer) keybase1KeybaseTimeToTime(t1 keybase1.KeybaseTime) time.Time { return t2 } -func (b *Boxer) marshal(v interface{}) ([]byte, error) { +func (b *Boxer) marshal(v any) ([]byte, error) { mh := codec.MsgpackHandle{WriteExt: true} var data []byte enc := codec.NewEncoderBytes(&data, &mh) @@ -2190,7 +2190,7 @@ func (b *Boxer) marshal(v interface{}) ([]byte, error) { return data, nil } -func (b *Boxer) unmarshal(data []byte, v interface{}) error { +func (b *Boxer) unmarshal(data []byte, v any) error { mh := codec.MsgpackHandle{WriteExt: true} dec := codec.NewDecoderBytes(data, &mh) return dec.Decode(&v) diff --git a/go/chat/boxer_canned_test.go b/go/chat/boxer_canned_test.go index 361165f008eb..be202e3db235 100644 --- a/go/chat/boxer_canned_test.go +++ b/go/chat/boxer_canned_test.go @@ -162,7 +162,7 @@ func (cm cannedMessage) SenderDeviceID(t *testing.T) gregor1.DeviceID { return did } -func (cm cannedMessage) unhex(t *testing.T, out interface{}, inHex string) { +func (cm cannedMessage) unhex(t *testing.T, out any, inHex string) { bytes, err := hex.DecodeString(inHex) require.NoError(t, err) mh := codec.MsgpackHandle{WriteExt: true} diff --git a/go/chat/commands/giphy_test.go b/go/chat/commands/giphy_test.go index aca5e3a2672b..1d8f52b41493 100644 --- a/go/chat/commands/giphy_test.go +++ b/go/chat/commands/giphy_test.go @@ -111,7 +111,7 @@ func TestGiphyPreview(t *testing.T) { require.Fail(t, "no waiting ch") } giphy.Preview(ctx, uid, convID, "", "/giphy miketown") - for i := 0; i < 2; i++ { + for range 2 { select { case show := <-ui.GiphyWindow: require.True(t, show) diff --git a/go/chat/convdevstorage.go b/go/chat/convdevstorage.go index 1e5de691d954..c7a403f537b9 100644 --- a/go/chat/convdevstorage.go +++ b/go/chat/convdevstorage.go @@ -50,7 +50,7 @@ func (s *ConvDevConversationBackedStorage) getMembersType(conv chat1.Conversatio } func (s *ConvDevConversationBackedStorage) PutToKnownConv(ctx context.Context, uid gregor1.UID, - conv chat1.ConversationLocal, src interface{}, + conv chat1.ConversationLocal, src any, ) (err error) { if s.adminOnly && !conv.ReaderInfo.UntrustedTeamRole.IsAdminOrAbove() { return NewDevStoragePermissionDeniedError(conv.ReaderInfo.UntrustedTeamRole) @@ -93,7 +93,7 @@ func (s *ConvDevConversationBackedStorage) PutToKnownConv(ctx context.Context, u } func (s *ConvDevConversationBackedStorage) Put(ctx context.Context, uid gregor1.UID, - convID chat1.ConversationID, name string, src interface{}, + convID chat1.ConversationID, name string, src any, ) (err error) { defer s.Trace(ctx, &err, "Put(%s)", name)() @@ -112,7 +112,7 @@ func (s *ConvDevConversationBackedStorage) Put(ctx context.Context, uid gregor1. } func (s *ConvDevConversationBackedStorage) GetFromKnownConv(ctx context.Context, uid gregor1.UID, - conv chat1.ConversationLocal, dest interface{}, + conv chat1.ConversationLocal, dest any, ) (found bool, err error) { defer s.Trace(ctx, &err, "GetFromKnownConv(%s)", conv.GetConvID())() tv, err := s.G().ConvSource.Pull(ctx, conv.GetConvID(), uid, chat1.GetThreadReason_GENERAL, nil, @@ -152,7 +152,7 @@ func (s *ConvDevConversationBackedStorage) GetFromKnownConv(ctx context.Context, } func (s *ConvDevConversationBackedStorage) Get(ctx context.Context, uid gregor1.UID, - convID chat1.ConversationID, name string, dest interface{}, createConvIfMissing bool, + convID chat1.ConversationID, name string, dest any, createConvIfMissing bool, ) (found bool, conv *chat1.ConversationLocal, err error) { defer s.Trace(ctx, &err, "Get(%s)", name)() diff --git a/go/chat/convloader.go b/go/chat/convloader.go index b34fe2af84fc..81958167ab93 100644 --- a/go/chat/convloader.go +++ b/go/chat/convloader.go @@ -376,10 +376,7 @@ func (b *BackgroundConvLoader) loop(uid gregor1.UID, stopCh chan struct{}) error // charging through conversations duration := bgLoaderInitDelay if task.attempt > 0 { - duration = bgLoaderErrDelay - time.Since(task.lastAttemptAt) - if duration < bgLoaderInitDelay { - duration = bgLoaderInitDelay - } + duration = max(bgLoaderErrDelay-time.Since(task.lastAttemptAt), bgLoaderInitDelay) } // Make sure we aren't suspended (also make sure we don't get shutdown). Charge through if // neither have any data on them. diff --git a/go/chat/convloader_test.go b/go/chat/convloader_test.go index 00768264eec0..71ee61274551 100644 --- a/go/chat/convloader_test.go +++ b/go/chat/convloader_test.go @@ -245,7 +245,7 @@ func TestConvLoaderPageBack(t *testing.T) { u := world.GetUsers()[0] skp, err := sender.(*BlockingSender).getSigningKeyPair(ctx) require.NoError(t, err) - for i := 0; i < 2; i++ { + for range 2 { pt := chat1.MessagePlaintext{ ClientHeader: chat1.MessageClientHeader{ Conv: conv.Metadata.IdTriple, @@ -272,7 +272,7 @@ func TestConvLoaderPageBack(t *testing.T) { require.NoError(t, tc.Context().ConvLoader.Queue(context.TODO(), types.NewConvLoaderJob(res.ConvID, &chat1.Pagination{Num: 1}, types.ConvLoaderPriorityHigh, types.ConvLoaderGeneric, newConvLoaderPagebackHook(tc.Context(), 0, 1)))) - for i := 0; i < 2; i++ { + for range 2 { select { case <-listener.bgConvLoads: case <-time.After(20 * time.Second): @@ -326,7 +326,7 @@ func TestConvLoaderJobQueue(t *testing.T) { _, err = j.Push(newTask(convID1, order[i], types.ConvLoaderUnique)) require.NoError(t, err) } - for i := 0; i < len(order); i++ { + for i := range order { task, ok := j.PopFront() require.True(t, ok) require.Equal(t, order[i], task.job.Priority) @@ -355,7 +355,7 @@ func TestConvLoaderJobQueue(t *testing.T) { types.ConvLoaderPriorityHigh, types.ConvLoaderUnique, nil)}) require.NoError(t, err) require.True(t, queued) - for i := 0; i < 4; i++ { + for range 4 { _, ok := j.PopFront() require.True(t, ok) } @@ -400,7 +400,7 @@ func TestConvLoaderStartStopRace(t *testing.T) { } // Now test the race: Start multiple times rapidly - for i := 0; i < 5; i++ { + for range 5 { loader.Start(ctx, uid) require.True(t, loader.isRunning()) } diff --git a/go/chat/convsource_test.go b/go/chat/convsource_test.go index cce5f4ba491e..4b6834710c49 100644 --- a/go/chat/convsource_test.go +++ b/go/chat/convsource_test.go @@ -556,7 +556,7 @@ func TestGetThreadHoleResolution(t *testing.T) { var msg *chat1.MessageBoxed var err error holes := 3 - for i := 0; i < holes; i++ { + for i := range holes { pt.MessageBody = chat1.NewMessageBodyWithText(chat1.MessageText{ Body: fmt.Sprintf("MIKE: %d", i), }) @@ -645,11 +645,11 @@ func TestConversationLocking(t *testing.T) { ctx = globals.ChatCtx(context.TODO(), tc.Context(), keybase1.TLFIdentifyBehavior_CHAT_CLI, &breaks, NewCachingIdentifyNotifier(tc.Context())) acquires := 5 - for i := 0; i < acquires; i++ { + for range acquires { _, err := timedAcquire(ctx, t, hcs, uid, conv.GetConvID()) require.NoError(t, err) } - for i := 0; i < acquires; i++ { + for range acquires { hcs.lockTab.Release(ctx, uid, conv.GetConvID()) } require.Zero(t, hcs.lockTab.NumLocks()) diff --git a/go/chat/devstorage.go b/go/chat/devstorage.go index 6373c28f8e22..0f9f2b6115d0 100644 --- a/go/chat/devstorage.go +++ b/go/chat/devstorage.go @@ -29,7 +29,7 @@ func NewDevConversationBackedStorage(g *globals.Context, ri func() chat1.RemoteI } } -func (s *DevConversationBackedStorage) Put(ctx context.Context, uid gregor1.UID, name string, src interface{}) (err error) { +func (s *DevConversationBackedStorage) Put(ctx context.Context, uid gregor1.UID, name string, src any) (err error) { defer s.Trace(ctx, &err, "Put(%s)", name)() un, err := s.G().GetUPAKLoader().LookupUsername(ctx, keybase1.UID(uid.String())) if err != nil { @@ -63,7 +63,7 @@ func (s *DevConversationBackedStorage) Put(ctx context.Context, uid gregor1.UID, } func (s *DevConversationBackedStorage) Get(ctx context.Context, uid gregor1.UID, name string, - dest interface{}, + dest any, ) (found bool, err error) { defer s.Trace(ctx, &err, "Get(%s)", name)() un, err := s.G().GetUPAKLoader().LookupUsername(ctx, keybase1.UID(uid.String())) diff --git a/go/chat/emojisource.go b/go/chat/emojisource.go index a1a301f1e1b3..1674c25f41b0 100644 --- a/go/chat/emojisource.go +++ b/go/chat/emojisource.go @@ -6,6 +6,7 @@ import ( "fmt" "image/gif" "io" + "maps" "net/http" "os" "sort" @@ -137,9 +138,7 @@ func (s *DevConvEmojiSource) getAliasLookup(ctx context.Context, uid gregor1.UID defer s.aliasLookupLock.Unlock() if s.aliasLookup != nil { res = make(map[string]chat1.Emoji, len(s.aliasLookup)) - for alias, emoji := range s.aliasLookup { - res[alias] = emoji - } + maps.Copy(res, s.aliasLookup) return res, nil } res = make(map[string]chat1.Emoji) diff --git a/go/chat/ephemeral_purge_tracker.go b/go/chat/ephemeral_purge_tracker.go index cecdd147e57b..0a37ac2269ea 100644 --- a/go/chat/ephemeral_purge_tracker.go +++ b/go/chat/ephemeral_purge_tracker.go @@ -398,14 +398,14 @@ func (t *EphemeralTracker) OnLogout(mctx libkb.MetaContext) error { return nil } -func decode(data []byte, res interface{}) error { +func decode(data []byte, res any) error { mh := codec.MsgpackHandle{WriteExt: true} dec := codec.NewDecoderBytes(data, &mh) err := dec.Decode(res) return err } -func encode(input interface{}) ([]byte, error) { +func encode(input any) ([]byte, error) { mh := codec.MsgpackHandle{WriteExt: true} var data []byte enc := codec.NewEncoderBytes(&data, &mh) diff --git a/go/chat/ephemeral_purger.go b/go/chat/ephemeral_purger.go index 13d40e8bbd6c..6592d469257c 100644 --- a/go/chat/ephemeral_purger.go +++ b/go/chat/ephemeral_purger.go @@ -75,7 +75,7 @@ func (pq *priorityQueue) Swap(i, j int) { // conversation to appear once in the heap. Use // `BackgroundEphemeralPurger.update` instead since it handles this as // intended. -func (pq *priorityQueue) Push(x interface{}) { +func (pq *priorityQueue) Push(x any) { pq.Lock() defer pq.Unlock() @@ -85,7 +85,7 @@ func (pq *priorityQueue) Push(x interface{}) { pq.itemMap[item.purgeInfo.ConvID.ConvIDStr()] = item } -func (pq *priorityQueue) Pop() interface{} { +func (pq *priorityQueue) Pop() any { pq.Lock() defer pq.Unlock() diff --git a/go/chat/ephemeral_purger_test.go b/go/chat/ephemeral_purger_test.go index e1f025525cd2..11ed97fdb423 100644 --- a/go/chat/ephemeral_purger_test.go +++ b/go/chat/ephemeral_purger_test.go @@ -314,7 +314,7 @@ func TestBackgroundPurge(t *testing.T) { world.Fc.Advance(lifetimeDuration * 3) // keep the fakeclock ticking go func() { - for i := 0; i < 10; i++ { + for range 10 { world.Fc.Advance(lifetimeDuration) time.Sleep(lifetimeDuration) } diff --git a/go/chat/errors.go b/go/chat/errors.go index 53e3a6febeb7..a4820725216a 100644 --- a/go/chat/errors.go +++ b/go/chat/errors.go @@ -266,7 +266,7 @@ func (e chatThreadConsistencyErrorImpl) Code() ConsistencyErrorCode { return e.code } -func NewChatThreadConsistencyError(code ConsistencyErrorCode, msg string, formatArgs ...interface{}) ChatThreadConsistencyError { +func NewChatThreadConsistencyError(code ConsistencyErrorCode, msg string, formatArgs ...any) ChatThreadConsistencyError { return &chatThreadConsistencyErrorImpl{ code: code, msg: fmt.Sprintf(msg, formatArgs...), @@ -437,19 +437,19 @@ func (e OfflineError) Error() string { type OfflineClient struct{} -func (e OfflineClient) Call(ctx context.Context, method string, arg interface{}, - res interface{}, timeout time.Duration, +func (e OfflineClient) Call(ctx context.Context, method string, arg any, + res any, timeout time.Duration, ) error { return OfflineError{} } -func (e OfflineClient) CallCompressed(ctx context.Context, method string, arg interface{}, - res interface{}, ctype rpc.CompressionType, timeout time.Duration, +func (e OfflineClient) CallCompressed(ctx context.Context, method string, arg any, + res any, ctype rpc.CompressionType, timeout time.Duration, ) error { return OfflineError{} } -func (e OfflineClient) Notify(ctx context.Context, method string, arg interface{}, timeout time.Duration) error { +func (e OfflineClient) Notify(ctx context.Context, method string, arg any, timeout time.Duration) error { return OfflineError{} } diff --git a/go/chat/flip/chat_test.go b/go/chat/flip/chat_test.go index febbca3f7eda..19abf7faead9 100644 --- a/go/chat/flip/chat_test.go +++ b/go/chat/flip/chat_test.go @@ -50,13 +50,13 @@ func (c *chatClient) ServerTime(context.Context) (time.Time, error) { return c.Clock().Now(), nil } -func testPrintf(fmtString string, args ...interface{}) { +func testPrintf(fmtString string, args ...any) { if testing.Verbose() { fmt.Printf(fmtString, args...) } } -func (c *chatClient) CLogf(ctx context.Context, fmtString string, args ...interface{}) { +func (c *chatClient) CLogf(ctx context.Context, fmtString string, args ...any) { testPrintf(fmtString+"\n", args...) } @@ -153,7 +153,7 @@ func (c *chatClient) run(ctx context.Context, ch chat1.ConversationID) { } func (s *chatServer) makeAndRunClients(ctx context.Context, ch chat1.ConversationID, nClients int) []*chatClient { - for i := 0; i < nClients; i++ { + for range nClients { cli := s.newClient() go cli.run(ctx, ch) } @@ -167,7 +167,7 @@ func forAllClients(clients []*chatClient, f func(c *chatClient)) { } func nTimes(n int, f func()) { - for i := 0; i < n; i++ { + for range n { f() } } diff --git a/go/chat/flip/dealer.go b/go/chat/flip/dealer.go index d1a7c5ba67d5..d9ef63a60658 100644 --- a/go/chat/flip/dealer.go +++ b/go/chat/flip/dealer.go @@ -94,7 +94,7 @@ type Game struct { me *playerControl commitmentCompleteHash Hash clock func() clockwork.Clock - clogf func(ctx context.Context, fmt string, args ...interface{}) + clogf func(ctx context.Context, fmt string, args ...any) // To handle reorderings between CommitmentComplete and commitements, // wee need some extra bookkeeping. diff --git a/go/chat/flip/dealer_test.go b/go/chat/flip/dealer_test.go index 730b7b996f4c..b1dd333e89d7 100644 --- a/go/chat/flip/dealer_test.go +++ b/go/chat/flip/dealer_test.go @@ -35,7 +35,7 @@ func (t *testDealersHelper) ServerTime(context.Context) (time.Time, error) { return t.clock.Now(), nil } -func (t *testDealersHelper) CLogf(ctx context.Context, fmtString string, args ...interface{}) { +func (t *testDealersHelper) CLogf(ctx context.Context, fmtString string, args ...any) { testPrintf(fmtString+"\n", args...) } @@ -111,7 +111,7 @@ func setupTestBundle(ctx context.Context, t *testing.T) *testBundle { } func (b *testBundle) makeFollowers(t *testing.T, n int) { - for i := 0; i < n; i++ { + for range n { b.makeFollower(t) } } diff --git a/go/chat/flip/flip.go b/go/chat/flip/flip.go index 38b0781ee17d..a7ef6cc00b51 100644 --- a/go/chat/flip/flip.go +++ b/go/chat/flip/flip.go @@ -63,7 +63,7 @@ type Dealer struct { // ReplayHelper contains hooks needed to replay a flip. type ReplayHelper interface { - CLogf(ctx context.Context, fmt string, args ...interface{}) + CLogf(ctx context.Context, fmt string, args ...any) } // DealersHelper is an interface that calling chat clients need to implement. diff --git a/go/chat/flip/msgpack.go b/go/chat/flip/msgpack.go index bc943777bc79..d13bc2b3d0e7 100644 --- a/go/chat/flip/msgpack.go +++ b/go/chat/flip/msgpack.go @@ -10,12 +10,12 @@ func codecHandle() *codec.MsgpackHandle { return &mh } -func msgpackDecode(dst interface{}, src []byte) error { +func msgpackDecode(dst any, src []byte) error { h := codecHandle() return codec.NewDecoderBytes(src, h).Decode(dst) } -func msgpackEncode(src interface{}) ([]byte, error) { +func msgpackEncode(src any) ([]byte, error) { h := codecHandle() var ret []byte err := codec.NewEncoderBytes(&ret, h).Encode(src) diff --git a/go/chat/flip/prng.go b/go/chat/flip/prng.go index 4b6d745e4000..6d6ec9731d5f 100644 --- a/go/chat/flip/prng.go +++ b/go/chat/flip/prng.go @@ -139,7 +139,7 @@ func (p *PRNG) Bool() bool { // already witnessed one. We bounty bugs like these, so let us know! func (p *PRNG) Permutation(n int) []int { ret := make([]int, n) - for i := 0; i < n; i++ { + for i := range n { ret[i] = i } for i := n - 1; i >= 1; i-- { diff --git a/go/chat/flip/prng_test.go b/go/chat/flip/prng_test.go index 5f23f99d3a57..209425ae1c58 100644 --- a/go/chat/flip/prng_test.go +++ b/go/chat/flip/prng_test.go @@ -139,7 +139,7 @@ func TestPRNGCornerCases(t *testing.T) { // failed when I went back and rebroke the shuffle function. flips := 0 n := 40 - for i := 0; i < n; i++ { + for range n { res := prng.Permutation(2) if res[0] == 1 { flips++ diff --git a/go/chat/flip/prot.go b/go/chat/flip/prot.go index 33feee16b980..4f991e490c71 100644 --- a/go/chat/flip/prot.go +++ b/go/chat/flip/prot.go @@ -570,7 +570,7 @@ func (o GameMessageV1) DeepCopy() GameMessageV1 { } } -type FlipInterface interface{} +type FlipInterface any func FlipProtocol(i FlipInterface) rpc.Protocol { return rpc.Protocol{ diff --git a/go/chat/flipmanager.go b/go/chat/flipmanager.go index 8528086e68ee..24d863c3f5f7 100644 --- a/go/chat/flipmanager.go +++ b/go/chat/flipmanager.go @@ -1447,7 +1447,7 @@ func (m *FlipManager) IsFlipConversationCreated(ctx context.Context, outboxID ch } // CLogf implements the flip.DealersHelper interface -func (m *FlipManager) CLogf(ctx context.Context, fmt string, args ...interface{}) { +func (m *FlipManager) CLogf(ctx context.Context, fmt string, args ...any) { m.Debug(ctx, fmt, args...) } @@ -1584,7 +1584,7 @@ func NewFlipVisualizer(width, height int) *FlipVisualizer { height: height, // 40 width: width, // 64 } - for i := 0; i < 256; i++ { + for i := range 256 { v.commitmentColors[i] = color.RGBA{ R: uint8(i), //nolint:gosec // G115: Loop bounded by 256, safe for uint8 G: uint8((128 + i*5) % 128), //nolint:gosec // G115: Modulo by 128 ensures result fits in uint8 @@ -1622,7 +1622,7 @@ func (v *FlipVisualizer) fillRow(img *image.NRGBA, startY, cellHeight, cellWidth ) { b, _ := hex.DecodeString(source) x := 0 - for i := 0; i < len(b); i++ { + for i := range b { v.fillCell(img, x, startY, cellHeight, cellWidth, b[i], palette) x += cellWidth } diff --git a/go/chat/flipmanager_test.go b/go/chat/flipmanager_test.go index f061c396558d..7ab4f5894de4 100644 --- a/go/chat/flipmanager_test.go +++ b/go/chat/flipmanager_test.go @@ -197,8 +197,8 @@ func TestFlipManagerStartFlip(t *testing.T) { consumeNewMsgRemote(t, listener2, chat1.MessageType_FLIP) res0 = consumeFlipToResult(t, ui0, listener0, gameID, numUsers) t.Logf("res0 (shuffle): %s", res0) - toks := strings.Split(res0, ",") - for _, t := range toks { + toks := strings.SplitSeq(res0, ",") + for t := range toks { delete(refMap, strings.Trim(t, " ")) } require.Zero(t, len(refMap)) diff --git a/go/chat/gallery_test.go b/go/chat/gallery_test.go index 93a59b76d8d6..9a54e942394b 100644 --- a/go/chat/gallery_test.go +++ b/go/chat/gallery_test.go @@ -225,7 +225,7 @@ func TestAttachmentGalleryPagination(t *testing.T) { })) require.NoError(t, err) consumeNewMsgRemote(t, listener, chat1.MessageType_ATTACHMENT) - for i := 0; i < 10; i++ { + for range 10 { _, err = postLocalForTest(t, ctc, users[0], conv, chat1.NewMessageBodyWithText(chat1.MessageText{ Body: "MIKE", diff --git a/go/chat/globals/context.go b/go/chat/globals/context.go index 8b2b615f9678..6bb8c4e55d44 100644 --- a/go/chat/globals/context.go +++ b/go/chat/globals/context.go @@ -180,7 +180,7 @@ func CtxAddLogTags(ctx context.Context, g *Context) context.Context { // Add log tags ctx = libkb.WithLogTagWithValue(ctx, "chat-trace", trace) - rpcTags := make(map[string]interface{}) + rpcTags := make(map[string]any) rpcTags["user-agent"] = libkb.UserAgent rpcTags["platform"] = libkb.GetPlatformString() rpcTags["apptype"] = g.GetAppType() diff --git a/go/chat/globals/context_test.go b/go/chat/globals/context_test.go index 464121e49622..746c118e82f0 100644 --- a/go/chat/globals/context_test.go +++ b/go/chat/globals/context_test.go @@ -21,9 +21,9 @@ func TestConcurrentContext(t *testing.T) { ctx := ChatCtx(context.TODO(), g, keybase1.TLFIdentifyBehavior_CHAT_CLI, nil, nil) convID := chat1.ConversationID([]byte("deadbeef")) eg := errgroup.Group{} - for i := 0; i < 5; i++ { + for range 5 { eg.Go(func() error { - for j := 0; j < 50; j++ { + for range 50 { CtxAddMessageCacheSkips(ctx, convID, []chat1.MessageUnboxed{ // drop two empty msgs in {}, diff --git a/go/chat/helper.go b/go/chat/helper.go index 1cf6e49dcc43..114cb8f65aa5 100644 --- a/go/chat/helper.go +++ b/go/chat/helper.go @@ -1199,7 +1199,7 @@ func (n *newConversationHelper) create(ctx context.Context) (res chat1.Conversat // once to allow the retry to get fresh data. clearedCache := false isPublic := n.vis == keybase1.TLFVisibility_PUBLIC - for i := 0; i < 5; i++ { + for i := range 5 { if n.topicID != nil { triple.TopicID = *n.topicID } else { diff --git a/go/chat/helper_test.go b/go/chat/helper_test.go index 3591f57b4a50..f8a8280743e6 100644 --- a/go/chat/helper_test.go +++ b/go/chat/helper_test.go @@ -22,7 +22,7 @@ func TestRecentConversationParticipants(t *testing.T) { uid := u.User.GetUID().ToBytes() var refList []gregor1.UID - for i := 0; i < maxUsers; i++ { + for i := range maxUsers { tlfName := "" for j := i; j >= 0; j-- { tlfName += world.GetUsers()[j].Username @@ -150,7 +150,7 @@ func TestTopicNameRace(t *testing.T) { topicName := "LOSERS" attempts := 2 retCh := make(chan ncRes, attempts) - for i := 0; i < attempts; i++ { + for range attempts { go func() { ctx = globals.CtxAddLogTags(ctx, tc.Context()) conv, _, err := NewConversation(ctx, tc.Context(), uid, first.TlfName, &topicName, @@ -160,7 +160,7 @@ func TestTopicNameRace(t *testing.T) { }() } var convID chat1.ConversationID - for i := 0; i < attempts; i++ { + for range attempts { res := <-retCh require.NoError(t, res.err) if convID.IsNil() { diff --git a/go/chat/identify.go b/go/chat/identify.go index f931d13d6207..2e6079e460d9 100644 --- a/go/chat/identify.go +++ b/go/chat/identify.go @@ -196,7 +196,7 @@ func (t *NameIdentifier) Identify(ctx context.Context, names []string, private b fails := make(chan keybase1.TLFIdentifyFailure) const numIdentifiers = 3 - for i := 0; i < numIdentifiers; i++ { + for range numIdentifiers { group.Go(func() error { for assertion := range assertions { f, err := t.identifyUser(ectx, assertion, private, identBehavior) diff --git a/go/chat/inboxsource_test.go b/go/chat/inboxsource_test.go index d6ac1b2f1167..093c8a093aa4 100644 --- a/go/chat/inboxsource_test.go +++ b/go/chat/inboxsource_test.go @@ -90,7 +90,7 @@ func TestInboxSourceSkipAhead(t *testing.T) { require.NoError(t, err) } - fatal := func(msg string, args ...interface{}) error { + fatal := func(msg string, args ...any) error { t.Fatalf(msg, args...) return fmt.Errorf(msg, args...) } diff --git a/go/chat/journey_card_manager.go b/go/chat/journey_card_manager.go index 9b1f21ed059b..4a20e615c1f4 100644 --- a/go/chat/journey_card_manager.go +++ b/go/chat/journey_card_manager.go @@ -4,7 +4,8 @@ import ( "context" "fmt" "log" - "sort" + "maps" + "slices" "strings" "sync" "time" @@ -164,7 +165,7 @@ type JourneyCardManagerSingleUser struct { encryptedDB *encrypteddb.EncryptedDB } -type logFn func(ctx context.Context, format string, args ...interface{}) +type logFn func(ctx context.Context, format string, args ...any) func NewJourneyCardManagerSingleUser(g *globals.Context, ri func() chat1.RemoteInterface, uid gregor1.UID) *JourneyCardManagerSingleUser { lru, err := lru.New(200) @@ -237,7 +238,7 @@ func (cc *JourneyCardManagerSingleUser) PickCard(ctx context.Context, // Journey cards are gated by either client-side flag KEYBASE_DEBUG_JOURNEYCARD or server-driven flag 'journeycard'. return nil, nil } - debugDebug := func(ctx context.Context, format string, args ...interface{}) { + debugDebug := func(ctx context.Context, format string, args ...any) { if debug { cc.Debug(ctx, format, args...) } @@ -1235,9 +1236,7 @@ func (j *journeycardData) MutateConv(convID chat1.ConversationID, apply func(jou func (j *journeycardData) SetLockin(cardType chat1.JourneycardType, convID chat1.ConversationID) (res journeycardData) { res = *j res.Lockin = make(map[chat1.JourneycardType]chat1.ConversationID) - for k, v := range j.Lockin { - res.Lockin[k] = v - } + maps.Copy(res.Lockin, j.Lockin) res.Lockin[cardType] = convID return res } @@ -1269,18 +1268,14 @@ func (j *journeycardData) hasDismissed(cardType chat1.JourneycardType) bool { func (j *journeycardData) PrepareToMutateDismissals() (res journeycardData) { res = *j res.Dismissals = make(map[chat1.JourneycardType]bool) - for k, v := range j.Dismissals { - res.Dismissals[k] = v - } + maps.Copy(res.Dismissals, j.Dismissals) return res } func (j *journeycardConvData) PrepareToMutatePositions() (res journeycardConvData) { res = *j res.Positions = make(map[chat1.JourneycardType]*journeyCardPosition) - for k, v := range j.Positions { - res.Positions[k] = v - } + maps.Copy(res.Positions, j.Positions) return res } @@ -1336,14 +1331,9 @@ func init() { for s := range chat1.ConversationMemberStatusRevMap { allConvMemberStatuses = append(allConvMemberStatuses, s) } - sort.Slice(allConvMemberStatuses, func(i, j int) bool { return allConvMemberStatuses[i] < allConvMemberStatuses[j] }) + slices.Sort(allConvMemberStatuses) } func memberStatusListContains(a []chat1.ConversationMemberStatus, v chat1.ConversationMemberStatus) bool { - for _, el := range a { - if el == v { - return true - } - } - return false + return slices.Contains(a, v) } diff --git a/go/chat/livelocation_test.go b/go/chat/livelocation_test.go index 530a4367f252..459a8b0e3c70 100644 --- a/go/chat/livelocation_test.go +++ b/go/chat/livelocation_test.go @@ -151,7 +151,7 @@ func updateCoords(t *testing.T, livelocation *maps.LiveLocationTracker, coords [ livelocation.LocationUpdate(context.TODO(), c) allCoords = append(allCoords, c) } - for i := 0; i < len(coords); i++ { + for range coords { select { case <-coordsCh: case <-time.After(20 * time.Second): diff --git a/go/chat/localizer.go b/go/chat/localizer.go index 444624b75473..2993541a2e86 100644 --- a/go/chat/localizer.go +++ b/go/chat/localizer.go @@ -535,7 +535,7 @@ func (s *localizerPipeline) localizeConversations(localizeJob *localizerPipeline return nil }) nthreads := s.G().Env.GetChatInboxSourceLocalizeThreads() - for i := 0; i < nthreads; i++ { + for i := range nthreads { index := i eg.Go(func() error { for conv := range convCh { diff --git a/go/chat/maps/livelocation.go b/go/chat/maps/livelocation.go index fce01a3b4dd0..76e24d886e23 100644 --- a/go/chat/maps/livelocation.go +++ b/go/chat/maps/livelocation.go @@ -308,7 +308,7 @@ func (l *LiveLocationTracker) tracker(t *locationTrack) error { l.Unlock() l.Debug(ctx, "tracker[%v]: added %d coords", watchID, added) if l.TestingCoordsAddedCh != nil { - for i := 0; i < added; i++ { + for range added { l.TestingCoordsAddedCh <- struct{}{} } } diff --git a/go/chat/maps/srv.go b/go/chat/maps/srv.go index e0ddead8c215..b19fb8bb5316 100644 --- a/go/chat/maps/srv.go +++ b/go/chat/maps/srv.go @@ -28,11 +28,11 @@ func NewSrv(g *globals.Context, httpSrv *manager.Srv) *Srv { return s } -func (s *Srv) debug(msg string, args ...interface{}) { +func (s *Srv) debug(msg string, args ...any) { s.G().GetLog().Debug("Maps.Srv: %s", fmt.Sprintf(msg, args...)) } -func (s *Srv) makeError(w http.ResponseWriter, code int, msg string, args ...interface{}) { +func (s *Srv) makeError(w http.ResponseWriter, code int, msg string, args ...any) { s.debug("serve: error code: %d msg %s", code, fmt.Sprintf(msg, args...)) w.WriteHeader(code) } diff --git a/go/chat/maps/track.go b/go/chat/maps/track.go index 23dbead9da5a..49a7044b04a4 100644 --- a/go/chat/maps/track.go +++ b/go/chat/maps/track.go @@ -87,7 +87,7 @@ func (t *locationTrack) IsStopped() bool { } func (t *locationTrack) Key() types.LiveLocationKey { - key := base64.StdEncoding.EncodeToString([]byte(fmt.Sprintf("%s:%d", t.convID, t.msgID))) + key := base64.StdEncoding.EncodeToString(fmt.Appendf(nil, "%s:%d", t.convID, t.msgID)) return types.LiveLocationKey(key) } diff --git a/go/chat/pager/pager.go b/go/chat/pager/pager.go index b16a0ba960ed..33013b3979bd 100644 --- a/go/chat/pager/pager.go +++ b/go/chat/pager/pager.go @@ -33,7 +33,7 @@ func NewPager() Pager { } } -func (p Pager) encode(input interface{}) ([]byte, error) { +func (p Pager) encode(input any) ([]byte, error) { var data []byte enc := codec.NewEncoderBytes(&data, p.codec) if err := enc.Encode(input); err != nil { @@ -42,14 +42,14 @@ func (p Pager) encode(input interface{}) ([]byte, error) { return data, nil } -func (p Pager) decode(data []byte, res interface{}) error { +func (p Pager) decode(data []byte, res any) error { dec := codec.NewDecoderBytes(data, p.codec) err := dec.Decode(res) return err } func (p Pager) GetPage(getcond func(bool) string, page *chat1.Pagination, - pivot interface{}, + pivot any, ) (string, bool, error) { var dat []byte var cond string @@ -74,7 +74,7 @@ func (p Pager) GetPage(getcond func(bool) string, page *chat1.Pagination, return cond, prev, nil } -func (p Pager) MakePage(length, reqed int, next interface{}, prev interface{}) (*chat1.Pagination, error) { +func (p Pager) MakePage(length, reqed int, next any, prev any) (*chat1.Pagination, error) { prevEncoded, err := p.encode(prev) if err != nil { return nil, err diff --git a/go/chat/participantsource.go b/go/chat/participantsource.go index 4250735780db..58bca84cd33b 100644 --- a/go/chat/participantsource.go +++ b/go/chat/participantsource.go @@ -2,6 +2,7 @@ package chat import ( "context" + "maps" "time" "github.com/keybase/client/go/chat/globals" @@ -29,7 +30,7 @@ type CachingParticipantSource struct { encryptedDB *encrypteddb.EncryptedDB sema *semaphore.Weighted locktab *libkb.LockTable - notify func(interface{}) + notify func(any) } var _ types.ParticipantSource = (*CachingParticipantSource)(nil) @@ -41,17 +42,15 @@ func NewCachingParticipantSource(g *globals.Context, ri func() chat1.RemoteInter dbFn := func(g *libkb.GlobalContext) *libkb.JSONLocalDb { return g.LocalChatDb } - notify, notifyCancel := libkb.ThrottleBatch(func(batchedInt interface{}) { + notify, notifyCancel := libkb.ThrottleBatch(func(batchedInt any) { batched, _ := batchedInt.(map[chat1.ConvIDStr][]chat1.UIParticipant) g.NotifyRouter.HandleChatParticipantsInfo(context.Background(), batched) - }, func(batchedInt, singleInt interface{}) interface{} { + }, func(batchedInt, singleInt any) any { batched, _ := batchedInt.(map[chat1.ConvIDStr][]chat1.UIParticipant) single, _ := singleInt.(map[chat1.ConvIDStr][]chat1.UIParticipant) - for convIDStr, parts := range single { - batched[convIDStr] = parts - } + maps.Copy(batched, single) return batched - }, func() interface{} { + }, func() any { return make(map[chat1.ConvIDStr][]chat1.UIParticipant) }, 200*time.Millisecond, true) diff --git a/go/chat/push.go b/go/chat/push.go index f2891bf960d1..4107f9818082 100644 --- a/go/chat/push.go +++ b/go/chat/push.go @@ -148,14 +148,12 @@ func (g *gregorMessageOrderer) WaitForTurn(ctx context.Context, uid gregor1.UID, err, vers) } // add extra time if we are multiple updates behind - dur = time.Duration(newVers-vers-1) * time.Second //nolint:gosec // G115: Version difference for delay calculation, safe to convert - if dur < 0 { - dur = 0 - } - // cap at a minute - if dur > time.Minute { - dur = time.Minute - } + dur = min( + // cap at a minute + // + //nolint:gosec // G115: Version difference for delay calculation, safe to convert + max( + time.Duration(newVers-vers-1)*time.Second, 0), time.Minute) deadline = deadline.Add(dur) waiters := g.addToWaitersLocked(ctx, uid, vers, newVers) diff --git a/go/chat/remoteclient.go b/go/chat/remoteclient.go index 327a854eb01e..4652bb7755d0 100644 --- a/go/chat/remoteclient.go +++ b/go/chat/remoteclient.go @@ -23,8 +23,8 @@ func NewRemoteClient(g *globals.Context, cli rpc.GenericClient) *RemoteClient { } } -func (c *RemoteClient) Call(ctx context.Context, method string, arg interface{}, - res interface{}, timeout time.Duration, +func (c *RemoteClient) Call(ctx context.Context, method string, arg any, + res any, timeout time.Duration, ) (err error) { defer c.Trace(ctx, &err, "%s", method)() err = c.cli.Call(ctx, method, arg, res, timeout) @@ -36,8 +36,8 @@ func (c *RemoteClient) Call(ctx context.Context, method string, arg interface{}, return err } -func (c *RemoteClient) CallCompressed(ctx context.Context, method string, arg interface{}, - res interface{}, ctype rpc.CompressionType, timeout time.Duration, +func (c *RemoteClient) CallCompressed(ctx context.Context, method string, arg any, + res any, ctype rpc.CompressionType, timeout time.Duration, ) (err error) { defer c.Trace(ctx, &err, "%s", method)() err = c.cli.CallCompressed(ctx, method, arg, res, ctype, timeout) @@ -49,7 +49,7 @@ func (c *RemoteClient) CallCompressed(ctx context.Context, method string, arg in return err } -func (c *RemoteClient) Notify(ctx context.Context, method string, arg interface{}, timeout time.Duration) (err error) { +func (c *RemoteClient) Notify(ctx context.Context, method string, arg any, timeout time.Duration) (err error) { defer c.Trace(ctx, &err, "%s", method)() return c.cli.Notify(ctx, method, arg, timeout) } diff --git a/go/chat/replyto_test.go b/go/chat/replyto_test.go index 9a98458969d8..881ee7e31c00 100644 --- a/go/chat/replyto_test.go +++ b/go/chat/replyto_test.go @@ -81,7 +81,7 @@ func TestChatReplyToBasic(t *testing.T) { mustEditMsg(ctx, t, ctc, users[0], conv, origID) consumeNewMsgRemote(t, listener0, chat1.MessageType_EDIT) consumeNewMsgLocal(t, listener0, chat1.MessageType_EDIT) - for i := 0; i < 2; i++ { + for range 2 { select { case update := <-listener0.messagesUpdated: require.Equal(t, 1, len(update.Updates)) diff --git a/go/chat/retry_test.go b/go/chat/retry_test.go index fc7f9f195f31..75ae8c1596cd 100644 --- a/go/chat/retry_test.go +++ b/go/chat/retry_test.go @@ -18,19 +18,19 @@ import ( type errorClient struct{} -func (e errorClient) Call(_ context.Context, method string, _ interface{}, - _ interface{}, _ time.Duration, +func (e errorClient) Call(_ context.Context, method string, _ any, + _ any, _ time.Duration, ) error { return fmt.Errorf("errorClient: Call %s", method) } -func (e errorClient) CallCompressed(_ context.Context, method string, _ interface{}, - _ interface{}, _ rpc.CompressionType, _ time.Duration, +func (e errorClient) CallCompressed(_ context.Context, method string, _ any, + _ any, _ rpc.CompressionType, _ time.Duration, ) error { return fmt.Errorf("errorClient: Call %s", method) } -func (e errorClient) Notify(_ context.Context, method string, _ interface{}, _ time.Duration) error { +func (e errorClient) Notify(_ context.Context, method string, _ any, _ time.Duration) error { return fmt.Errorf("errorClient: Notify %s", method) } diff --git a/go/chat/s3/s3.go b/go/chat/s3/s3.go index ca539ca972bb..8e6e0c96ac18 100644 --- a/go/chat/s3/s3.go +++ b/go/chat/s3/s3.go @@ -20,6 +20,7 @@ import ( "fmt" "io" "log" + "maps" "net" "net/http" "net/http/httputil" @@ -467,9 +468,7 @@ func (b *Bucket) PutReaderHeader(ctx context.Context, path string, r io.Reader, b.addTokenHeader(headers) // Override with custom headers - for key, value := range customHeaders { - headers[key] = value - } + maps.Copy(headers, customHeaders) req := &request{ method: "PUT", @@ -887,7 +886,7 @@ func (req *request) url() (*url.URL, error) { // query prepares and runs the req request. // If resp is not nil, the XML data contained in the response // body will be unmarshalled on it. -func (s3 *S3) query(ctx context.Context, req *request, resp interface{}) error { +func (s3 *S3) query(ctx context.Context, req *request, resp any) error { err := s3.prepare(req) if err == nil { var httpResponse *http.Response @@ -911,12 +910,8 @@ func (s3 *S3) prepare(req *request) error { // Copy so they can be mutated without affecting on retries. params := make(url.Values) headers := make(http.Header) - for k, v := range req.params { - params[k] = v - } - for k, v := range req.headers { - headers[k] = v - } + maps.Copy(params, req.params) + maps.Copy(headers, req.headers) req.params = params req.headers = headers if !strings.HasPrefix(req.path, "/") { @@ -955,7 +950,7 @@ func (s3 *S3) prepare(req *request) error { // run sends req and returns the http response from the server. // If resp is not nil, the XML data contained in the response // body will be unmarshalled on it. -func (s3 *S3) run(ctx context.Context, req *request, resp interface{}) (*http.Response, error) { +func (s3 *S3) run(ctx context.Context, req *request, resp any) (*http.Response, error) { if debug { log.Printf("Running S3 request: %#v", req) } diff --git a/go/chat/search/indexer.go b/go/chat/search/indexer.go index ecdfd6cd2200..b3b2417f34b1 100644 --- a/go/chat/search/indexer.go +++ b/go/chat/search/indexer.go @@ -53,7 +53,7 @@ type Indexer struct { clock clockwork.Clock eg errgroup.Group uid gregor1.UID - storageCh chan interface{} + storageCh chan any maxSyncConvs int startSyncDelay time.Duration @@ -81,7 +81,7 @@ func NewIndexer(g *globals.Context) *Indexer { pokeSyncCh: make(chan struct{}, 100), clock: clockwork.NewRealClock(), flushDelay: 15 * time.Second, - storageCh: make(chan interface{}, 100), + storageCh: make(chan any, 100), } switch idx.G().GetAppType() { case libkb.MobileAppType: @@ -373,7 +373,7 @@ func (idx *Indexer) consumeResultsForTest(convID chat1.ConversationID, err error } } -func (idx *Indexer) storageDispatch(op interface{}) { +func (idx *Indexer) storageDispatch(op any) { select { case idx.storageCh <- op: default: diff --git a/go/chat/search/regexp_searcher.go b/go/chat/search/regexp_searcher.go index 3be442d108e6..e1fa9f9b5b25 100644 --- a/go/chat/search/regexp_searcher.go +++ b/go/chat/search/regexp_searcher.go @@ -115,10 +115,7 @@ func (s *RegexpSearcher) Search(ctx context.Context, uid gregor1.UID, convID cha } } // Get the remaining context from the new current page of the thread. - remainingContext := beforeContext - len(hitContext) - if remainingContext > len(next.Messages) { - remainingContext = len(next.Messages) - } + remainingContext := min(beforeContext-len(hitContext), len(next.Messages)) hitContext = append(hitContext, next.Messages[:remainingContext]...) return next, hitContext, nil } @@ -134,10 +131,7 @@ func (s *RegexpSearcher) Search(ctx context.Context, uid gregor1.UID, convID cha hitContext := cur.Messages[:i] if prev != nil { // Get the remaining context from the previous page of the thread. - remainingContext := len(prev.Messages) - (afterContext - len(hitContext)) - if remainingContext < 0 { - remainingContext = 0 - } + remainingContext := max(len(prev.Messages)-(afterContext-len(hitContext)), 0) hitContext = append(prev.Messages[remainingContext:], hitContext...) } return hitContext diff --git a/go/chat/search/session.go b/go/chat/search/session.go index 22f28663a888..e560070d6a73 100644 --- a/go/chat/search/session.go +++ b/go/chat/search/session.go @@ -212,18 +212,12 @@ func (s *searchSession) searchHitBatch(ctx context.Context, convID chat1.Convers if idSet.Contains(msg.GetMessageID()) && msg.IsValidFull() && s.opts.Matches(msg) { var afterMessages, beforeMessages []chat1.UIMessage if s.opts.AfterContext > 0 { - afterLimit := i - s.opts.AfterContext - if afterLimit < 0 { - afterLimit = 0 - } + afterLimit := max(i-s.opts.AfterContext, 0) afterMessages = getUIMsgs(ctx, s.indexer.G(), convID, s.uid, msgs[afterLimit:i]) } if s.opts.BeforeContext > 0 && i < len(msgs)-1 { - beforeLimit := i + 1 + s.opts.BeforeContext - if beforeLimit >= len(msgs) { - beforeLimit = len(msgs) - } + beforeLimit := min(i+1+s.opts.BeforeContext, len(msgs)) beforeMessages = getUIMsgs(ctx, s.indexer.G(), convID, s.uid, msgs[i+1:beforeLimit]) } diff --git a/go/chat/search/storage.go b/go/chat/search/storage.go index 916f8742c2ab..a98bf537c8bc 100644 --- a/go/chat/search/storage.go +++ b/go/chat/search/storage.go @@ -5,6 +5,7 @@ import ( "crypto/hmac" "crypto/sha256" "fmt" + "maps" "strings" "sync" @@ -74,9 +75,7 @@ func (a *aliasEntry) dup() (res *aliasEntry) { res = new(aliasEntry) res.Version = a.Version res.Aliases = make(map[string]int, len(a.Aliases)) - for k, v := range a.Aliases { - res.Aliases[k] = v - } + maps.Copy(res.Aliases, a.Aliases) return res } diff --git a/go/chat/search/utils.go b/go/chat/search/utils.go index 3e0fb221b77f..ba584bb0c4cc 100644 --- a/go/chat/search/utils.go +++ b/go/chat/search/utils.go @@ -236,9 +236,6 @@ func MinMaxIDs(conv chat1.Conversation) (minID, maxID chat1.MessageID) { minID = 1 } // highest msgID we care about - maxID = conv.GetMaxMessageID() - if minID > maxID { - maxID = minID - } + maxID = max(minID, conv.GetMaxMessageID()) return minID, maxID } diff --git a/go/chat/search_test.go b/go/chat/search_test.go index 501099d7d620..6b0647d9f726 100644 --- a/go/chat/search_test.go +++ b/go/chat/search_test.go @@ -243,7 +243,7 @@ func TestChatSearchConvRegexp(t *testing.T) { // drain the cbs, 8 hits and 4 dones timeout := 20 * time.Second - for i := 0; i < 8+4; i++ { + for range 8 + 4 { select { case <-chatUI.SearchHitCb: case <-chatUI.SearchDoneCb: @@ -316,7 +316,7 @@ func TestChatSearchConvRegexp(t *testing.T) { query = "hi" matches := []chat1.ChatSearchMatch{} startIndex := 0 - for i := 0; i < 3; i++ { + for range 3 { matches = append(matches, chat1.ChatSearchMatch{ StartIndex: startIndex, EndIndex: startIndex + 2, @@ -958,7 +958,7 @@ func TestChatSearchInbox(t *testing.T) { indexer1.SetSyncLoopCh(syncLoopCh) indexer1.StartSyncLoop() waitForFail := func() bool { - for i := 0; i < 5; i++ { + for range 5 { indexer1.CancelSync(ctx) select { case <-time.After(2 * time.Second): diff --git a/go/chat/sender.go b/go/chat/sender.go index dfd7c0449b31..653934c17696 100644 --- a/go/chat/sender.go +++ b/go/chat/sender.go @@ -1201,7 +1201,7 @@ func (s *BlockingSender) Send(ctx context.Context, convID chat1.ConversationID, clearedCache := false // Try this up to 5 times in case we are trying to set the topic name, and the topic name // state is moving around underneath us. - for i := 0; i < 5; i++ { + for range 5 { // Add a bunch of stuff to the message (like prev pointers, sender info, ...) if prepareRes, err = s.Prepare(ctx, msg, conv.GetMembersType(), &conv, prepareOpts); err != nil { s.Debug(ctx, "Send: error in Prepare: %s", err) diff --git a/go/chat/sender_test.go b/go/chat/sender_test.go index 27450a0a3765..75eb2db5055b 100644 --- a/go/chat/sender_test.go +++ b/go/chat/sender_test.go @@ -4,6 +4,7 @@ import ( "context" "encoding/hex" "fmt" + "slices" "sort" "strings" "sync" @@ -427,7 +428,7 @@ func TestNonblockTimer(t *testing.T) { // Send a bunch of blocking messages var sentRef []sentRecord - for i := 0; i < 5; i++ { + for range 5 { _, msgBoxed, err := baseSender.Send(ctx, res.ConvID, chat1.MessagePlaintext{ ClientHeader: chat1.MessageClientHeader{ Conv: trip, @@ -450,7 +451,7 @@ func TestNonblockTimer(t *testing.T) { outbox.SetClock(clock) var obids []chat1.OutboxID msgID := *sentRef[len(sentRef)-1].msgID - for i := 0; i < 5; i++ { + for range 5 { obr, err := outbox.PushMessage(ctx, res.ConvID, chat1.MessagePlaintext{ ClientHeader: chat1.MessageClientHeader{ Conv: trip, @@ -485,7 +486,7 @@ func TestNonblockTimer(t *testing.T) { } // Send a bunch of blocking messages - for i := 0; i < 5; i++ { + for range 5 { _, msgBoxed, err := baseSender.Send(ctx, res.ConvID, chat1.MessagePlaintext{ ClientHeader: chat1.MessageClientHeader{ Conv: trip, @@ -524,7 +525,7 @@ func TestNonblockTimer(t *testing.T) { // Should get a blast of all 5 var olen int - for i := 0; i < 5; i++ { + for i := range 5 { select { case olen = <-listener.incomingRemote: case <-time.After(20 * time.Second): @@ -565,7 +566,7 @@ func (f FailingSender) Prepare(ctx context.Context, msg chat1.MessagePlaintext, func recordCompare(t *testing.T, obids []chat1.OutboxID, obrs []chat1.OutboxRecord) { require.Equal(t, len(obids), len(obrs), "wrong length") - for i := 0; i < len(obids); i++ { + for i := range obids { require.Equal(t, obids[i], obrs[i].OutboxID) } } @@ -594,7 +595,7 @@ func TestFailingSender(t *testing.T) { // Send nonblock var obids []chat1.OutboxID - for i := 0; i < 5; i++ { + for range 5 { obid, _, err := sender.Send(context.TODO(), res.ConvID, chat1.MessagePlaintext{ ClientHeader: chat1.MessageClientHeader{ Conv: trip, @@ -606,7 +607,7 @@ func TestFailingSender(t *testing.T) { require.NoError(t, err) obids = append(obids, obid) } - for i := 0; i < deliverMaxAttempts; i++ { + for range deliverMaxAttempts { tc.ChatG.MessageDeliverer.ForceDeliverLoop(context.TODO()) } @@ -745,7 +746,7 @@ func TestDisconnectedFailure(t *testing.T) { // Send nonblock obids := []chat1.OutboxID{} - for i := 0; i < 3; i++ { + for range 3 { obid, _, err = sender.Send(ctx, conv.GetConvID(), mkMsg(), 0, nil, nil, nil) require.NoError(t, err) obids = append(obids, obid) @@ -1131,7 +1132,7 @@ func TestPrevPointerAddition(t *testing.T) { localConv := localizeConv(ctx, t, tc, uid, conv) // Send a bunch of messages on this convo - for i := 0; i < 10; i++ { + for range 10 { _, _, err := blockingSender.Send(ctx, conv.GetConvID(), chat1.MessagePlaintext{ ClientHeader: chat1.MessageClientHeader{ Conv: conv.Metadata.IdTriple, @@ -1469,7 +1470,7 @@ func TestPairwiseMACChecker(t *testing.T) { require.Error(t, err) require.IsType(t, libkb.EphemeralPairwiseMACsMissingUIDsError{}, err) merr = err.(libkb.EphemeralPairwiseMACsMissingUIDsError) - sortUIDs := func(uids []keybase1.UID) { sort.Slice(uids, func(i, j int) bool { return uids[i] < uids[j] }) } + sortUIDs := func(uids []keybase1.UID) { slices.Sort(uids) } expectedUIDs := []keybase1.UID{uid1, uid2} sortUIDs(expectedUIDs) sortUIDs(merr.UIDs) @@ -1623,7 +1624,7 @@ func TestProcessDuplicateReactionMsgs(t *testing.T) { // Send a bunch of blocking reaction messages var sentRef []sentRecord - for i := 0; i < 5; i++ { + for range 5 { _, msgBoxed, err := baseSender.Send(ctx, res.ConvID, chat1.MessagePlaintext{ ClientHeader: chat1.MessageClientHeader{ Conv: trip, @@ -1682,7 +1683,7 @@ func TestProcessDuplicateReactionMsgs(t *testing.T) { outbox.SetClock(clock) var obids []chat1.OutboxID msgID := *sentRef[len(sentRef)-1].msgID - for i := 0; i < 5; i++ { + for range 5 { obr, err := outbox.PushMessage(ctx, res.ConvID, chat1.MessagePlaintext{ ClientHeader: chat1.MessageClientHeader{ Conv: trip, diff --git a/go/chat/server.go b/go/chat/server.go index dd465a2622ff..ed1fe06430cb 100644 --- a/go/chat/server.go +++ b/go/chat/server.go @@ -10,6 +10,7 @@ import ( "io" "os" "regexp" + "slices" "sort" "strings" "sync" @@ -2698,9 +2699,7 @@ func (h *Server) GetUnfurlSettings(ctx context.Context) (res chat1.UnfurlSetting for w := range settings.Whitelist { res.Whitelist = append(res.Whitelist, w) } - sort.Slice(res.Whitelist, func(i, j int) bool { - return res.Whitelist[i] < res.Whitelist[j] - }) + slices.Sort(res.Whitelist) return res, nil } diff --git a/go/chat/server_test.go b/go/chat/server_test.go index 6e4c024a07fa..cc2b1d8bf2b7 100644 --- a/go/chat/server_test.go +++ b/go/chat/server_test.go @@ -13,8 +13,10 @@ import ( "encoding/json" "errors" "fmt" + "maps" "net/http" "os" + "slices" "sort" "strconv" "strings" @@ -1126,7 +1128,7 @@ func TestChatSrvGetInboxNonblock(t *testing.T) { // Create a bunch of blank convos convs := make(map[chat1.ConvIDStr]bool) - for i := 0; i < numconvs; i++ { + for i := range numconvs { created := mustCreateConversationForTest(t, ctc, users[0], chat1.TopicType_CHAT, mt, ctc.as(t, users[i+1]).user()) convs[created.Id.ConvIDStr()] = true @@ -1153,7 +1155,7 @@ func TestChatSrvGetInboxNonblock(t *testing.T) { require.Fail(t, "no inbox received") } // Get all convos - for i := 0; i < numconvs; i++ { + for range numconvs { select { case conv := <-ui.InboxCb: require.NotNil(t, conv.ConvRes, "no conv") @@ -1167,7 +1169,7 @@ func TestChatSrvGetInboxNonblock(t *testing.T) { // Send a bunch of messages t.Logf("messages in convos test") convs = make(map[chat1.ConvIDStr]bool) - for i := 0; i < numconvs; i++ { + for i := range numconvs { conv := mustCreateConversationForTest(t, ctc, users[0], chat1.TopicType_CHAT, mt, ctc.as(t, users[i+1]).user()) convs[conv.Id.ConvIDStr()] = true @@ -1204,7 +1206,7 @@ func TestChatSrvGetInboxNonblock(t *testing.T) { require.Fail(t, "no inbox received") } // Get all convos - for i := 0; i < numconvs; i++ { + for range numconvs { select { case conv := <-ui.InboxCb: require.NotNil(t, conv.ConvRes, "no conv") @@ -2379,9 +2381,7 @@ func TestChatSrvPostLocalNonblock(t *testing.T) { refMap.Reactions[emoji] = chat1.UIReactionDesc{ Users: make(map[string]chat1.Reaction), } - for username, reaction := range users { - refMap.Reactions[emoji].Users[username] = reaction - } + maps.Copy(refMap.Reactions[emoji].Users, users) } require.Equal(t, refMap, reactionUpdate.Reactions) } @@ -2973,7 +2973,7 @@ func TestChatSrvGetThreadNonblockServerPage(t *testing.T) { t.Logf("send a bunch of messages") numMsgs := 5 msg := chat1.NewMessageBodyWithText(chat1.MessageText{Body: "hi"}) - for i := 0; i < numMsgs; i++ { + for range numMsgs { mustPostLocalForTest(t, ctc, users[0], conv, msg) } @@ -3016,7 +3016,7 @@ func TestChatSrvGetThreadNonblockServerPage(t *testing.T) { require.Fail(t, "no thread cb") } recvRemote := func() bool { - for i := 0; i < 5; i++ { + for range 5 { clock.Advance(20 * time.Minute) select { case res := <-ui.ThreadCb: @@ -3067,7 +3067,7 @@ func TestChatSrvGetThreadNonblockServerPage(t *testing.T) { require.Fail(t, "no thread cb") } recvRemote = func() bool { - for i := 0; i < 5; i++ { + for range 5 { clock.Advance(20 * time.Minute) select { case res := <-ui.ThreadCb: @@ -3091,7 +3091,7 @@ func TestChatSrvGetThreadNonblockServerPage(t *testing.T) { require.Fail(t, "GetThread never finished") } - for i := 0; i < 5; i++ { + for i := range 5 { p.Num = 50 cb = make(chan struct{}) go func() { @@ -3126,7 +3126,7 @@ func TestChatSrvGetThreadNonblockServerPage(t *testing.T) { } } recvRemote = func() bool { - for j := 0; j < 5; j++ { + for range 5 { clock.Advance(20 * time.Minute) if i == 0 { select { @@ -3179,7 +3179,7 @@ func TestChatSrvGetThreadNonblockIncremental(t *testing.T) { t.Logf("send a bunch of messages") numMsgs := 20 msg := chat1.NewMessageBodyWithText(chat1.MessageText{Body: "hi"}) - for i := 0; i < numMsgs; i++ { + for range numMsgs { mustPostLocalForTest(t, ctc, users[0], conv, msg) } @@ -3470,7 +3470,7 @@ func TestChatSrvGetUnreadLine(t *testing.T) { assertUnreadline := func(ctx context.Context, g *globals.ChatContext, user *kbtest.FakeUser, readMsgID, unreadLineID chat1.MessageID, ) { - for i := 0; i < 1; i++ { + for i := range 1 { if i == 0 { require.NoError(t, g.ConvSource.Clear(ctx, conv.Id, user.GetUID().ToBytes(), nil)) } @@ -3712,7 +3712,7 @@ func TestChatSrvGetThreadNonblockPlaceholders(t *testing.T) { require.Fail(t, "no thread cb") } recvRemote := func() bool { - for i := 0; i < 5; i++ { + for range 5 { clock.Advance(20 * time.Minute) select { case res := <-ui.ThreadCb: @@ -3857,7 +3857,7 @@ func TestChatSrvGetThreadNonblockOldPages(t *testing.T) { } numMsgs := 20 msg := chat1.NewMessageBodyWithText(chat1.MessageText{Body: "hi"}) - for i := 0; i < numMsgs; i++ { + for range numMsgs { mustPostLocalForTest(t, ctc, users[0], conv, msg) } select { @@ -3917,7 +3917,7 @@ func TestChatSrvGetThreadNonblock(t *testing.T) { t.Logf("send a bunch of messages") numMsgs := 20 msg := chat1.NewMessageBodyWithText(chat1.MessageText{Body: "hi"}) - for i := 0; i < numMsgs; i++ { + for range numMsgs { mustPostLocalForTest(t, ctc, users[0], conv, msg) } @@ -3981,7 +3981,7 @@ func TestChatSrvGetThreadNonblockError(t *testing.T) { conv := mustCreateConversationForTest(t, ctc, users[0], chat1.TopicType_CHAT, mt) numMsgs := 20 msg := chat1.NewMessageBodyWithText(chat1.MessageText{Body: "hi"}) - for i := 0; i < numMsgs; i++ { + for range numMsgs { mustPostLocalForTest(t, ctc, users[0], conv, msg) } require.NoError(t, @@ -4072,7 +4072,7 @@ func TestChatSrvGetInboxNonblockChatUIError(t *testing.T) { }) require.NoError(t, err) waitForThreadStale := func() { - for i := 0; i < 5; i++ { + for range 5 { tc.Context().FetchRetrier.Force(ctx) select { case <-listener0.threadsStale: @@ -4145,7 +4145,7 @@ func TestChatSrvGetInboxNonblockError(t *testing.T) { conv := mustCreateConversationForTest(t, ctc, users[0], chat1.TopicType_CHAT, mt) numMsgs := 20 msg := chat1.NewMessageBodyWithText(chat1.MessageText{Body: "hi"}) - for i := 0; i < numMsgs; i++ { + for range numMsgs { mustPostLocalForTest(t, ctc, users[0], conv, msg) consumeNewMsgRemote(t, listener0, chat1.MessageType_TEXT) } @@ -4185,7 +4185,7 @@ func TestChatSrvGetInboxNonblockError(t *testing.T) { return ri }) waitForThreadsStale := func() { - for i := 0; i < 5; i++ { + for range 5 { tc.Context().FetchRetrier.Force(ctx) select { case updates := <-listener0.threadsStale: @@ -4282,12 +4282,7 @@ func TestChatSrvMakePreview(t *testing.T) { } func inMessageTypes(x chat1.MessageType, ys []chat1.MessageType) bool { - for _, y := range ys { - if x == y { - return true - } - } - return false + return slices.Contains(ys, x) } func consumeNewPendingMsg(t *testing.T, listener *serverChatListener) { @@ -4524,7 +4519,7 @@ func TestChatSrvTeamChannels(t *testing.T) { consumeAllMsgJoins := func(listener *serverChatListener) { msgMap := make(map[chat1.MessageType]bool) rounds := 2 - for i := 0; i < rounds; i++ { + for range rounds { select { case msg := <-listener.newMessageRemote: t.Logf("recvd: %v convID: %s", msg.Message.GetMessageType(), msg.ConvID) @@ -5328,7 +5323,7 @@ func TestChatSrvRetentionSweepTeam(t *testing.T) { // convB: expire policy // convC: retain policy var convs []chat1.ConversationInfoLocal - for i := 0; i < 3; i++ { + for i := range 3 { t.Logf("creating conv %v", i) var topicName *string if i > 0 { @@ -5505,7 +5500,7 @@ func TestChatSrvEphemeralTeamRetention(t *testing.T) { // convB: expire policy // convC: retain policy var convs []chat1.ConversationInfoLocal - for i := 0; i < 3; i++ { + for i := range 3 { t.Logf("creating conv %v", i) var topicName *string if i > 0 { @@ -6661,7 +6656,7 @@ func TestChatSrvUserResetAndDeleted(t *testing.T) { t.Logf("user 2 gets PUK and tries to do stuff") require.NoError(t, users[2].Login(g2)) kickTeamRekeyd(g2, t) - for i := 0; i < 200; i++ { + for range 200 { _, err = ctc.as(t, users[2]).chatLocalHandler().PostLocal(ctx2, chat1.PostLocalArg{ ConversationID: conv.Id, Msg: chat1.MessagePlaintext{ @@ -7548,7 +7543,7 @@ func TestMessageDrafts(t *testing.T) { require.NoError(t, err) worked := false - for i := 0; i < 5; i++ { + for range 5 { ibres, err = ctc.as(t, user).chatLocalHandler().GetInboxAndUnboxLocal(context.TODO(), chat1.GetInboxAndUnboxLocalArg{ Query: &chat1.GetInboxLocalQuery{ diff --git a/go/chat/signencrypt/codec.go b/go/chat/signencrypt/codec.go index 72f9d1dacbd2..34e2a9246746 100644 --- a/go/chat/signencrypt/codec.go +++ b/go/chat/signencrypt/codec.go @@ -585,7 +585,7 @@ type AEADMessage struct { // SealWithAssociatedData is a wrapper around SealWhole which adds an associatedData object // (see AEAD ciphers) which must be message-packable into bytes. This exact object is required // to call OpenWithAssociatedData on the ciphertext. -func SealWithAssociatedData(msg []byte, associatedData interface{}, encKey SecretboxKey, signKey SignKey, signaturePrefix kbcrypto.SignaturePrefix, nonce Nonce) (ret []byte, err error) { +func SealWithAssociatedData(msg []byte, associatedData any, encKey SecretboxKey, signKey SignKey, signaturePrefix kbcrypto.SignaturePrefix, nonce Nonce) (ret []byte, err error) { adEncoded, err := msgpack.Encode(associatedData) if err != nil { return ret, err @@ -603,7 +603,7 @@ func SealWithAssociatedData(msg []byte, associatedData interface{}, encKey Secre return SealWhole(clearBytes, encKey, signKey, signaturePrefix, nonce), nil } -func OpenWithAssociatedData(sealed []byte, associatedData interface{}, encKey SecretboxKey, verifyKey VerifyKey, signaturePrefix kbcrypto.SignaturePrefix, nonce Nonce) (ret []byte, err error) { +func OpenWithAssociatedData(sealed []byte, associatedData any, encKey SecretboxKey, verifyKey VerifyKey, signaturePrefix kbcrypto.SignaturePrefix, nonce Nonce) (ret []byte, err error) { clearBytes, err := OpenWhole(sealed, encKey, verifyKey, signaturePrefix, nonce) if err != nil { return ret, err @@ -648,7 +648,7 @@ type Error struct { Message string } -func NewError(errorType ErrorType, message string, args ...interface{}) error { +func NewError(errorType ErrorType, message string, args ...any) error { return Error{ Type: errorType, Message: fmt.Sprintf(message, args...), diff --git a/go/chat/signencrypt/codec_test.go b/go/chat/signencrypt/codec_test.go index 64b5bf5568e0..0c20cbbb8b28 100644 --- a/go/chat/signencrypt/codec_test.go +++ b/go/chat/signencrypt/codec_test.go @@ -30,7 +30,7 @@ type arbitraryNested struct { Boring arbitraryMsg `codec:"b" json:"b"` } -var associatedDataInputs = []interface{}{ +var associatedDataInputs = []any{ "", nil, map[string]map[float64]map[string]string{"first": {2.22000222: {"third": "fourth"}}}, @@ -89,7 +89,7 @@ func zeroOpenWhole(plaintext []byte) ([]byte, error) { return OpenWhole(plaintext, zeroSecretboxKey(), zeroVerifyKey(), testingPrefix(), zeroNonce()) } -func zeroSealWithAssociatedData(plaintext []byte, associatedData interface{}) []byte { +func zeroSealWithAssociatedData(plaintext []byte, associatedData any) []byte { res, err := SealWithAssociatedData(plaintext, associatedData, zeroSecretboxKey(), zeroSignKey(), testingPrefix(), zeroNonce()) if err != nil { // this should never actually error @@ -98,7 +98,7 @@ func zeroSealWithAssociatedData(plaintext []byte, associatedData interface{}) [] return res } -func zeroOpenWithAssociatedData(plaintext []byte, associatedData interface{}) ([]byte, error) { +func zeroOpenWithAssociatedData(plaintext []byte, associatedData any) ([]byte, error) { return OpenWithAssociatedData(plaintext, associatedData, zeroSecretboxKey(), zeroVerifyKey(), testingPrefix(), zeroNonce()) } @@ -240,7 +240,7 @@ func TestBadSecretbox(t *testing.T) { // Then also test a secretbox that's long enough to be real, but has an // invalid authenticator (just a bunch of constant bytes). badAuthenticatorPacket := []byte{0xc6, 0, 0, 0, 100} - for i := 0; i < 100; i++ { + for range 100 { badAuthenticatorPacket = append(badAuthenticatorPacket, 42) } _, err = openPacket(badAuthenticatorPacket, zeroSecretboxKey(), zeroVerifyKey(), testingPrefix(), zeroChunkNonce(0)) diff --git a/go/chat/signencrypt/example/main.go b/go/chat/signencrypt/example/main.go index d1345d56f996..f7059b91232f 100644 --- a/go/chat/signencrypt/example/main.go +++ b/go/chat/signencrypt/example/main.go @@ -13,7 +13,7 @@ import ( "github.com/keybase/client/go/kbcrypto" ) -func failf(format string, args ...interface{}) { +func failf(format string, args ...any) { log.Printf(format, args...) os.Exit(1) } diff --git a/go/chat/storage/basebox.go b/go/chat/storage/basebox.go index 8b56a27d046f..16216e8c6d72 100644 --- a/go/chat/storage/basebox.go +++ b/go/chat/storage/basebox.go @@ -34,11 +34,11 @@ func newBaseBox(g *globals.Context) *baseBox { } } -func (i *baseBox) readDiskBox(ctx context.Context, key libkb.DbKey, res interface{}) (bool, error) { +func (i *baseBox) readDiskBox(ctx context.Context, key libkb.DbKey, res any) (bool, error) { return i.encryptedDB.Get(ctx, key, res) } -func (i *baseBox) writeDiskBox(ctx context.Context, key libkb.DbKey, data interface{}) error { +func (i *baseBox) writeDiskBox(ctx context.Context, key libkb.DbKey, data any) error { return i.encryptedDB.Put(ctx, key, data) } diff --git a/go/chat/storage/blockengine_memcache.go b/go/chat/storage/blockengine_memcache.go index c50e67bf2ce2..d8f0bdf5e9a9 100644 --- a/go/chat/storage/blockengine_memcache.go +++ b/go/chat/storage/blockengine_memcache.go @@ -60,7 +60,7 @@ func (b *blockEngineMemCacheImpl) getBlock(ctx context.Context, uid gregor1.UID, if v, ok := b.blockCache.Get(key); ok { bl := v.(block) var retMsgs [blockSize]chat1.MessageUnboxed - for i := 0; i < blockSize; i++ { + for i := range blockSize { retMsgs[i] = bl.Msgs[i].DeepCopy() } return block{ @@ -78,7 +78,7 @@ func (b *blockEngineMemCacheImpl) writeBlock(ctx context.Context, uid gregor1.UI lock := b.lockTab.AcquireOnName(ctx, b.logContext, key) defer lock.Release(ctx) var storedMsgs [blockSize]chat1.MessageUnboxed - for i := 0; i < blockSize; i++ { + for i := range blockSize { storedMsgs[i] = bl.Msgs[i].DeepCopy() } b.blockCache.Add(key, block{ diff --git a/go/chat/storage/checkers.go b/go/chat/storage/checkers.go index 1132a5169670..dd4ee499e5e3 100644 --- a/go/chat/storage/checkers.go +++ b/go/chat/storage/checkers.go @@ -28,7 +28,7 @@ func makeBodyHashIndexKey(bodyHash chat1.Hash) libkb.DbKey { // seen, to prevent replays. If the header hash is new, add it to the set. func CheckAndRecordBodyHash(ctx context.Context, g *globals.Context, bodyHash chat1.Hash, uniqueMsgID chat1.MessageID, uniqueConvID chat1.ConversationID) error { bodyHashKey := makeBodyHashIndexKey(bodyHash) - bodyHashValue := []byte(fmt.Sprintf("%s:%s", uniqueConvID, uniqueMsgID)) + bodyHashValue := fmt.Appendf(nil, "%s:%s", uniqueConvID, uniqueMsgID) existingVal, found, err := g.LocalChatDb.GetRaw(bodyHashKey) // Log errors as warnings, and skip this check. That prevents a corrupt // leveldb cache from breaking chat. diff --git a/go/chat/storage/errors.go b/go/chat/storage/errors.go index 7c63b13caf56..a128bd7401ba 100644 --- a/go/chat/storage/errors.go +++ b/go/chat/storage/errors.go @@ -30,7 +30,7 @@ func (e InternalError) Message() string { return e.Msg } -func NewInternalError(ctx context.Context, d utils.DebugLabeler, msg string, args ...interface{}) InternalError { +func NewInternalError(ctx context.Context, d utils.DebugLabeler, msg string, args ...any) InternalError { d.Debug(ctx, "internal chat storage error: "+msg, args...) return InternalError{Msg: fmt.Sprintf(msg, args...)} } diff --git a/go/chat/storage/inbox.go b/go/chat/storage/inbox.go index 4390594638fd..03954d6b6259 100644 --- a/go/chat/storage/inbox.go +++ b/go/chat/storage/inbox.go @@ -6,6 +6,7 @@ import ( "crypto/sha1" //nolint:gosec // G505: SHA1 used for non-cryptographic cache key generation, not for security "encoding/hex" "fmt" + "maps" "time" "github.com/keybase/client/go/chat/globals" @@ -1225,9 +1226,7 @@ func (i *Inbox) SetAppNotificationSettings(ctx context.Context, uid gregor1.UID, i.Debug(ctx, "SetAppNotificationSettings: no conversation found: convID: %s", convID) } else { for apptype, kindMap := range settings.Settings { - for kind, enabled := range kindMap { - conv.Conv.Notifications.Settings[apptype][kind] = enabled - } + maps.Copy(conv.Conv.Notifications.Settings[apptype], kindMap) } conv.Conv.Notifications.ChannelWide = settings.ChannelWide conv.Conv.Metadata.Version = vers.ToConvVers() diff --git a/go/chat/storage/inbox_test.go b/go/chat/storage/inbox_test.go index db010a068841..f290e1b42c8c 100644 --- a/go/chat/storage/inbox_test.go +++ b/go/chat/storage/inbox_test.go @@ -128,7 +128,7 @@ func TestInboxQueries(t *testing.T) { // Create an inbox with a bunch of convos, merge it and read it back out numConvs := 20 var convs []types.RemoteConversation - for i := 0; i < numConvs; i++ { + for i := range numConvs { conv := makeConvo(gregor1.Time(i), 1, 1) convs = append(convs, conv) } @@ -248,7 +248,7 @@ func TestInboxEmptySuperseder(t *testing.T) { // Create an inbox with a bunch of convos, merge it and read it back out numConvs := 20 var convs []types.RemoteConversation - for i := 0; i < numConvs; i++ { + for i := range numConvs { conv := makeConvo(gregor1.Time(i), 1, 1) conv.Conv.MaxMsgSummaries = nil convs = append(convs, conv) @@ -770,7 +770,7 @@ func TestInboxMembershipUpdate(t *testing.T) { require.NoError(t, inbox.Merge(context.TODO(), uid, 1, utils.PluckConvs(convs), nil)) var joinedConvs []types.RemoteConversation numJoinedConvs := 5 - for i := 0; i < numJoinedConvs; i++ { + for i := range numJoinedConvs { conv := makeConvo(gregor1.Time(i), 1, 1) conv.Conv.Metadata.IdTriple.Tlfid = tlfID conv.Conv.Metadata.AllList = []gregor1.UID{uid, uid3, uid4} @@ -837,7 +837,7 @@ func TestInboxMembershipUpdate(t *testing.T) { sort.Sort(utils.ByConvID(roleUpdates)) sort.Sort(utils.RemoteConvByConvID(res)) require.Equal(t, len(expected), len(res)) - for i := 0; i < len(res); i++ { + for i := range res { sort.Sort(chat1.ByUID(res[i].Conv.Metadata.AllList)) sort.Sort(chat1.ByUID(expected[i].Conv.Metadata.AllList)) require.Equal(t, keybase1.TeamRole_WRITER, res[i].Conv.ReaderInfo.UntrustedTeamRole) diff --git a/go/chat/storage/outbox_test.go b/go/chat/storage/outbox_test.go index dcd8b2486f56..23fe3714993b 100644 --- a/go/chat/storage/outbox_test.go +++ b/go/chat/storage/outbox_test.go @@ -56,7 +56,7 @@ func TestChatOutbox(t *testing.T) { conv := makeConvo(gregor1.Time(5), 1, 1) prevOrdinal := outboxOrdinalStart - for i := 0; i < 5; i++ { + for range 5 { obr, err := ob.PushMessage(context.TODO(), conv.GetConvID(), makeMsgPlaintext("hi", uid), nil, nil, nil, keybase1.TLFIdentifyBehavior_CHAT_CLI) require.Equal(t, obr.Ordinal, prevOrdinal) @@ -164,7 +164,7 @@ func TestChatOutboxPurge(t *testing.T) { prevOrdinal := outboxOrdinalStart ephemeralMetadata := &chat1.MsgEphemeralMetadata{Lifetime: 0} - for i := 0; i < 9; i++ { + for i := range 9 { // send some exploding and some non exploding msgs if i > 3 { ephemeralMetadata = nil @@ -193,7 +193,7 @@ func TestChatOutboxPurge(t *testing.T) { // Mark 6/9 records as an error, three of these are ephemeral message, 3 // regular messages. - for i := 0; i < 6; i++ { + for i := range 6 { errRec := chat1.OutboxStateError{ Message: "failed", Typ: chat1.OutboxErrorType_MISC, @@ -234,7 +234,7 @@ func TestChatOutboxMarkConv(t *testing.T) { var obrs []chat1.OutboxRecord conv := makeConvo(gregor1.Time(5), 1, 1) conv2 := makeConvo(gregor1.Time(5), 1, 1) - for i := 0; i < 5; i++ { + for i := range 5 { convID := conv.GetConvID() if i%2 == 0 { convID = conv2.GetConvID() @@ -294,7 +294,7 @@ func TestChatOutboxCancelMessagesWithPredicate(t *testing.T) { ctx := context.TODO() conv := makeConvo(gregor1.Time(5), 1, 1) - for i := 0; i < 5; i++ { + for i := range 5 { _, err := ob.PushMessage(ctx, conv.GetConvID(), makeMsgPlaintext(fmt.Sprintf("hi%d", i), uid), nil, nil, nil, keybase1.TLFIdentifyBehavior_CHAT_CLI) diff --git a/go/chat/storage/storage.go b/go/chat/storage/storage.go index 26f761911701..5368b3c82e55 100644 --- a/go/chat/storage/storage.go +++ b/go/chat/storage/storage.go @@ -4,6 +4,7 @@ import ( "context" "errors" "fmt" + "slices" "sort" "github.com/keybase/client/go/chat/globals" @@ -97,7 +98,7 @@ func makeBlockIndexKey(convID chat1.ConversationID, uid gregor1.UID) libkb.DbKey } } -func encode(input interface{}) ([]byte, error) { +func encode(input any) ([]byte, error) { mh := codec.MsgpackHandle{WriteExt: true} var data []byte enc := codec.NewEncoderBytes(&data, &mh) @@ -107,7 +108,7 @@ func encode(input interface{}) ([]byte, error) { return data, nil } -func decode(data []byte, res interface{}) error { +func decode(data []byte, res any) error { mh := codec.MsgpackHandle{WriteExt: true} dec := codec.NewDecoderBytes(data, &mh) err := dec.Decode(res) @@ -690,7 +691,7 @@ func (s *Storage) flatten(m map[chat1.MessageID]chat1.MessageUnboxed) (res []cha func (s *Storage) updateMinDeletableMessage(ctx context.Context, convID chat1.ConversationID, uid gregor1.UID, msgs []chat1.MessageUnboxed, ) Error { - de := func(format string, args ...interface{}) { + de := func(format string, args ...any) { s.Debug(ctx, "updateMinDeletableMessage: "+fmt.Sprintf(format, args...)) } @@ -745,7 +746,7 @@ func (s *Storage) updateMinDeletableMessage(ctx context.Context, convID chat1.Co func (s *Storage) handleDeleteHistory(ctx context.Context, conv types.UnboxConversationInfo, uid gregor1.UID, msgs []chat1.MessageUnboxed, expungeExplicit *chat1.Expunge, ) (*chat1.Expunge, Error) { - de := func(format string, args ...interface{}) { + de := func(format string, args ...any) { s.Debug(ctx, "handleDeleteHistory: "+fmt.Sprintf(format, args...)) } @@ -829,7 +830,7 @@ func (s *Storage) applyExpunge(ctx context.Context, conv types.UnboxConversation convID := conv.GetConvID() s.Debug(ctx, "applyExpunge(%v, %v, %v)", convID, uid, expunge.Upto) - de := func(format string, args ...interface{}) { + de := func(format string, args ...any) { s.Debug(ctx, "applyExpunge: "+fmt.Sprintf(format, args...)) } @@ -1321,10 +1322,8 @@ func (s *Storage) GetExplodedReplies(ctx context.Context, convID chat1.Conversat // updateReactionIDs appends `msgid` to `reactionIDs` if it is not already // present. func (s *Storage) updateReactionIDs(reactionIDs []chat1.MessageID, msgid chat1.MessageID) ([]chat1.MessageID, bool) { - for _, reactionID := range reactionIDs { - if reactionID == msgid { - return reactionIDs, false - } + if slices.Contains(reactionIDs, msgid) { + return reactionIDs, false } return append(reactionIDs, msgid), true } diff --git a/go/chat/storage/storage_test.go b/go/chat/storage/storage_test.go index 26b7f918d30f..4aa8b8b5cf0f 100644 --- a/go/chat/storage/storage_test.go +++ b/go/chat/storage/storage_test.go @@ -78,7 +78,7 @@ func makeMsgRange(maxMsgs int) (res []chat1.MessageUnboxed) { func addMsgs(num int, msgs []chat1.MessageUnboxed) []chat1.MessageUnboxed { maxID := msgs[0].GetMessageID() - for i := 0; i < num; i++ { + for i := range num { msgs = append([]chat1.MessageUnboxed{MakeText(chat1.MessageID(int(maxID)+i+1), "addMsgs junk text")}, //nolint:gosec // G115: Test code generating sequential MessageIDs, safe to convert msgs...) } @@ -126,7 +126,7 @@ func doRandomBench(b *testing.B, storage *Storage, uid gregor1.UID, num, length b.ResetTimer() for i := 0; i < b.N; i++ { mustMerge(b, storage, conv.Metadata.ConversationID, uid, msgs) - for j := 0; j < 300; j++ { + for range 300 { b.StopTimer() var bi *big.Int @@ -718,7 +718,7 @@ func TestStorageTypeFilter(t *testing.T) { require.Equal(t, len(msgs), len(res.Messages), "wrong amount of messages") restexts := utils.FilterByType(res.Messages, &query, true) require.Equal(t, len(textmsgs), len(restexts), "wrong amount of text messages") - for i := 0; i < len(restexts); i++ { + for i := range restexts { require.Equal(t, textmsgs[i].GetMessageID(), restexts[i].GetMessageID(), "msg mismatch") } } diff --git a/go/chat/subteam_rename_test.go b/go/chat/subteam_rename_test.go index 0a023a511419..3d15aa9aa8ed 100644 --- a/go/chat/subteam_rename_test.go +++ b/go/chat/subteam_rename_test.go @@ -60,7 +60,7 @@ func TestChatSubteamRename(t *testing.T) { versMap := make(map[chat1.ConvIDStr]chat1.ConversationVers) var convs []chat1.ConversationInfoLocal for _, name := range []string{subteamName.String(), subSubteamName.String()} { - for i := 0; i < 2; i++ { + for i := range 2 { t.Logf("creating conv %v, subteam: %vv", i, name) var topicName *string if i > 0 { diff --git a/go/chat/tlf.go b/go/chat/tlf.go index c952387f7706..96fede34523c 100644 --- a/go/chat/tlf.go +++ b/go/chat/tlf.go @@ -56,7 +56,7 @@ func (t *KBFSNameInfoSource) loadAll(ctx context.Context, tlfName string, public if public { visibility = keybase1.TLFVisibility_PUBLIC } - for i := 0; i < 5; i++ { + for range 5 { if visibility == keybase1.TLFVisibility_PUBLIC { var pres keybase1.CanonicalTLFNameAndIDWithBreaks pres, err = t.PublicCanonicalTLFNameAndID(ctx, tlfName) diff --git a/go/chat/transcripts_test.go b/go/chat/transcripts_test.go index 54d71deb6496..a98a50ae35b1 100644 --- a/go/chat/transcripts_test.go +++ b/go/chat/transcripts_test.go @@ -127,7 +127,7 @@ func TestTranscriptLimit(t *testing.T) { Body: "hello chat", })) - for i := 0; i < 10; i++ { + for i := range 10 { mustPostLocalForTest(t, ctc, users[0], ncres.Conv.Info, chat1.NewMessageBodyWithText(chat1.MessageText{ Body: fmt.Sprintf("hello message %d", i), diff --git a/go/chat/types/interfaces.go b/go/chat/types/interfaces.go index 88495819ca49..14f7fcf0e858 100644 --- a/go/chat/types/interfaces.go +++ b/go/chat/types/interfaces.go @@ -483,16 +483,16 @@ type StellarSender interface { } type ConvConversationBackedStorage interface { - Put(ctx context.Context, uid gregor1.UID, convID chat1.ConversationID, name string, data interface{}) error - PutToKnownConv(ctx context.Context, uid gregor1.UID, conv chat1.ConversationLocal, data interface{}) error - Get(ctx context.Context, uid gregor1.UID, convID chat1.ConversationID, name string, res interface{}, + Put(ctx context.Context, uid gregor1.UID, convID chat1.ConversationID, name string, data any) error + PutToKnownConv(ctx context.Context, uid gregor1.UID, conv chat1.ConversationLocal, data any) error + Get(ctx context.Context, uid gregor1.UID, convID chat1.ConversationID, name string, res any, createConvIfMissing bool) (bool, *chat1.ConversationLocal, error) - GetFromKnownConv(ctx context.Context, uid gregor1.UID, conv chat1.ConversationLocal, dest interface{}) (bool, error) + GetFromKnownConv(ctx context.Context, uid gregor1.UID, conv chat1.ConversationLocal, dest any) (bool, error) } type UserConversationBackedStorage interface { - Put(ctx context.Context, uid gregor1.UID, name string, data interface{}) error - Get(ctx context.Context, uid gregor1.UID, name string, res interface{}) (bool, error) + Put(ctx context.Context, uid gregor1.UID, name string, data any) error + Get(ctx context.Context, uid gregor1.UID, name string, res any) (bool, error) } type WhitelistExemption interface { diff --git a/go/chat/uiinboxloader.go b/go/chat/uiinboxloader.go index af1fc0ff4b25..0410141530c0 100644 --- a/go/chat/uiinboxloader.go +++ b/go/chat/uiinboxloader.go @@ -34,7 +34,7 @@ type UIInboxLoader struct { eg errgroup.Group clock clockwork.Clock - transmitCh chan interface{} + transmitCh chan any layoutCh chan chat1.InboxLayoutReselectMode bigTeamUnboxCh chan []chat1.ConversationID convTransmitBatch map[chat1.ConvIDStr]chat1.ConversationLocal @@ -79,7 +79,7 @@ func (h *UIInboxLoader) Start(ctx context.Context, uid gregor1.UID) { if h.started { return } - h.transmitCh = make(chan interface{}, 1000) + h.transmitCh = make(chan any, 1000) h.layoutCh = make(chan chat1.InboxLayoutReselectMode, 1000) h.bigTeamUnboxCh = make(chan []chat1.ConversationID, 1000) h.stopCh = make(chan struct{}) @@ -256,7 +256,7 @@ func (h *UIInboxLoader) flushFailed(r failedResponse) { } } -func (h *UIInboxLoader) transmitOnce(imsg interface{}) { +func (h *UIInboxLoader) transmitOnce(imsg any) { switch msg := imsg.(type) { case unverifiedResponse: _ = h.flushConvBatch() @@ -556,10 +556,7 @@ func hashSortedConvs(convs []types.ShareConversation) uint64 { for _, conv := range sorted { h.Write([]byte(conv.ConvID)) buf := make([]byte, 8) - lastSend := conv.LastSendTime - if lastSend < 0 { - lastSend = 0 - } + lastSend := max(conv.LastSendTime, 0) // lastSend is in [0, maxint64] here; conversion to uint64 is safe (G115) binary.BigEndian.PutUint64(buf, uint64(lastSend)) //nolint:gosec // G115: clamped above h.Write(buf) diff --git a/go/chat/uiinboxloader_test.go b/go/chat/uiinboxloader_test.go index 90f138705905..9599cf5edb4a 100644 --- a/go/chat/uiinboxloader_test.go +++ b/go/chat/uiinboxloader_test.go @@ -58,14 +58,14 @@ func TestUIInboxLoaderLayout(t *testing.T) { t.Logf("basic") conv1 := mustCreateConversationForTest(t, ctc, users[0], chat1.TopicType_CHAT, chat1.ConversationMembersType_IMPTEAMNATIVE, users[1]) - for i := 0; i < 2; i++ { + for range 2 { layout = recvLayout() require.Equal(t, 1, len(layout.SmallTeams)) require.Equal(t, conv1.Id.ConvIDStr(), layout.SmallTeams[0].ConvID) } conv2 := mustCreateConversationForTest(t, ctc, users[0], chat1.TopicType_CHAT, chat1.ConversationMembersType_IMPTEAMNATIVE, users[2]) - for i := 0; i < 2; i++ { + for range 2 { layout = recvLayout() require.Equal(t, 2, len(layout.SmallTeams)) require.Equal(t, conv2.Id.ConvIDStr(), layout.SmallTeams[0].ConvID) @@ -130,7 +130,7 @@ func TestUIInboxLoaderLayout(t *testing.T) { }) require.NoError(t, err) // get two here - for i := 0; i < 2; i++ { + for range 2 { layout = recvLayout() require.Equal(t, 1, len(layout.SmallTeams)) require.Equal(t, conv2.Id.ConvIDStr(), layout.SmallTeams[0].ConvID) @@ -226,7 +226,7 @@ func TestUIInboxLoaderReselect(t *testing.T) { var layout chat1.UIInboxLayout conv1 := mustCreateConversationForTest(t, ctc, users[0], chat1.TopicType_CHAT, chat1.ConversationMembersType_TEAM, users[1]) - for i := 0; i < 2; i++ { + for range 2 { layout = recvLayout() require.Equal(t, 1, len(layout.SmallTeams)) require.Equal(t, conv1.Id.ConvIDStr(), layout.SmallTeams[0].ConvID) diff --git a/go/chat/uithreadloader.go b/go/chat/uithreadloader.go index f76efc295801..3840ce497657 100644 --- a/go/chat/uithreadloader.go +++ b/go/chat/uithreadloader.go @@ -394,7 +394,7 @@ func (t *UIThreadLoader) waitForOnline(ctx context.Context) (err error) { } }() // wait at most a second, and then charge forward - for i := 0; i < 40; i++ { + for range 40 { if !t.IsOffline(ctx) { return nil } diff --git a/go/chat/unfurl/cache.go b/go/chat/unfurl/cache.go index f5589156c529..e45cb8d990fc 100644 --- a/go/chat/unfurl/cache.go +++ b/go/chat/unfurl/cache.go @@ -15,7 +15,7 @@ const ( ) type cacheItem struct { - data interface{} + data any ctime gregor1.Time } @@ -62,7 +62,7 @@ func (c *unfurlCache) get(key string) (res cacheItem, ok bool) { return cacheItem, valid } -func (c *unfurlCache) put(key string, data interface{}) { +func (c *unfurlCache) put(key string, data any) { c.Lock() defer c.Unlock() c.cache.Add(key, cacheItem{ diff --git a/go/chat/unfurl/extractor_test.go b/go/chat/unfurl/extractor_test.go index 0afde87368f1..33b818dd7be4 100644 --- a/go/chat/unfurl/extractor_test.go +++ b/go/chat/unfurl/extractor_test.go @@ -3,6 +3,7 @@ package unfurl import ( "context" "fmt" + "strings" "testing" "github.com/keybase/client/go/chat/globals" @@ -29,10 +30,10 @@ func TestExtractor(t *testing.T) { whitelist []string result []ExtractorHit } - var maxCase string + var maxCase strings.Builder var maxRes []ExtractorHit for i := 0; i < extractor.maxHits+5; i++ { - maxCase += " http://www.wsj.com" + maxCase.WriteString(" http://www.wsj.com") } for i := 0; i < extractor.maxHits; i++ { maxRes = append(maxRes, ExtractorHit{ @@ -50,7 +51,7 @@ func TestExtractor(t *testing.T) { mode: chat1.UnfurlMode_ALWAYS, }, { - message: maxCase, + message: maxCase.String(), mode: chat1.UnfurlMode_ALWAYS, result: maxRes, }, diff --git a/go/chat/unfurl/settings_test.go b/go/chat/unfurl/settings_test.go index ddf6e1358d38..300fa8a5ba36 100644 --- a/go/chat/unfurl/settings_test.go +++ b/go/chat/unfurl/settings_test.go @@ -24,7 +24,7 @@ func newMemConversationBackedStorage() *memConversationBackedStorage { } } -func (s *memConversationBackedStorage) Get(ctx context.Context, uid gregor1.UID, name string, res interface{}) (bool, error) { +func (s *memConversationBackedStorage) Get(ctx context.Context, uid gregor1.UID, name string, res any) (bool, error) { s.Lock() defer s.Unlock() dat, ok := s.storage[name] @@ -35,7 +35,7 @@ func (s *memConversationBackedStorage) Get(ctx context.Context, uid gregor1.UID, return true, err } -func (s *memConversationBackedStorage) Put(ctx context.Context, uid gregor1.UID, name string, src interface{}) error { +func (s *memConversationBackedStorage) Put(ctx context.Context, uid gregor1.UID, name string, src any) error { s.Lock() defer s.Unlock() dat, err := json.Marshal(src) diff --git a/go/chat/unfurl/unfurler_test.go b/go/chat/unfurl/unfurler_test.go index 0f99ffa38bc0..f6d1627e3fdf 100644 --- a/go/chat/unfurl/unfurler_test.go +++ b/go/chat/unfurl/unfurler_test.go @@ -127,7 +127,7 @@ func TestUnfurler(t *testing.T) { numPrefetched = unfurler.Prefetch(context.TODO(), uid, convID, strings.Repeat(msgBody, 5)) require.Equal(t, 1, numPrefetched) - for i := 0; i < 5; i++ { + for range 5 { unfurler.UnfurlAndSend(context.TODO(), uid, convID, fromMsg) } var outboxID chat1.OutboxID diff --git a/go/chat/unfurl_test.go b/go/chat/unfurl_test.go index 935883aafafb..d553b11fce36 100644 --- a/go/chat/unfurl_test.go +++ b/go/chat/unfurl_test.go @@ -198,7 +198,7 @@ func TestChatSrvUnfurl(t *testing.T) { } // We get two of these, one for local and remote, but its hard to know where they // come from at the source, so just check twice. - for i := 0; i < 2; i++ { + for range 2 { select { case mu := <-listener0.messagesUpdated: require.Equal(t, 1, len(mu.Updates)) @@ -272,7 +272,7 @@ func TestChatSrvUnfurl(t *testing.T) { httpSrv.setSucceed(true) var u *chat1.Unfurl - for i := 0; i < 10; i++ { + for i := range 10 { tc.Context().MessageDeliverer.ForceDeliverLoop(context.TODO()) recvSingleRetry() u = recvUnfurl() diff --git a/go/chat/utils/utils.go b/go/chat/utils/utils.go index 36e1042b8723..6e50e0e71e3d 100644 --- a/go/chat/utils/utils.go +++ b/go/chat/utils/utils.go @@ -8,8 +8,10 @@ import ( "encoding/json" "errors" "fmt" + "maps" "math" "regexp" + "slices" "sort" "strconv" "strings" @@ -433,12 +435,7 @@ func VisibleChatConversationStatuses() (res []chat1.ConversationStatus) { } func checkMessageTypeQual(messageType chat1.MessageType, l []chat1.MessageType) bool { - for _, mt := range l { - if messageType == mt { - return true - } - } - return false + return slices.Contains(l, messageType) } func IsVisibleChatMessageType(messageType chat1.MessageType) bool { @@ -535,21 +532,21 @@ func (d DebugLabeler) showLog() bool { return true } -func (d DebugLabeler) Debug(ctx context.Context, msg string, args ...interface{}) { +func (d DebugLabeler) Debug(ctx context.Context, msg string, args ...any) { if d.showLog() { d.G().GetLog().CDebugf(ctx, "++Chat: | "+d.label+": "+msg, args...) } } -func (d DebugLabeler) Trace(ctx context.Context, err *error, format string, args ...interface{}) func() { +func (d DebugLabeler) Trace(ctx context.Context, err *error, format string, args ...any) func() { return d.trace(ctx, d.G().GetLog(), err, format, args...) } -func (d DebugLabeler) PerfTrace(ctx context.Context, err *error, format string, args ...interface{}) func() { +func (d DebugLabeler) PerfTrace(ctx context.Context, err *error, format string, args ...any) func() { return d.trace(ctx, d.G().GetPerfLog(), err, format, args...) } -func (d DebugLabeler) trace(ctx context.Context, log logger.Logger, err *error, format string, args ...interface{}) func() { +func (d DebugLabeler) trace(ctx context.Context, log logger.Logger, err *error, format string, args ...any) func() { if d.showLog() { msg := fmt.Sprintf(format, args...) start := time.Now() @@ -771,11 +768,8 @@ func parseItemAsUID(ctx context.Context, g *globals.Context, name string, if err != nil { return nil, err } - for _, memb := range membs { - if memb == nname.String() { - shouldLookup = true - break - } + if slices.Contains(membs, nname.String()) { + shouldLookup = true } } if shouldLookup { @@ -1805,9 +1799,7 @@ func PresentDecoratedReactionMap(ctx context.Context, g *globals.Context, uid gr chat1.MessageType_REACTION, msg.Emojis) } desc.Users = make(map[string]chat1.Reaction) - for username, reaction := range value { - desc.Users[username] = reaction - } + maps.Copy(desc.Users, value) res.Reactions[key] = desc } return res @@ -2289,7 +2281,7 @@ func ParseTeamNameFromDisplayName(displayName string) string { // comma-separated display name (e.g. "alice,bob,charlie"). func ParseParticipantNamesFromDisplayName(displayName string, maxCount int) []string { var out []string - for _, p := range strings.Split(displayName, ",") { + for p := range strings.SplitSeq(displayName, ",") { if u := strings.TrimSpace(p); u != "" { out = append(out, u) if len(out) >= maxCount { @@ -2636,7 +2628,7 @@ func EscapeForDecorate(ctx context.Context, body string) string { }) } -func DecorateBody(ctx context.Context, body string, offset, length int, decoration interface{}) (res string, added int) { +func DecorateBody(ctx context.Context, body string, offset, length int, decoration any) (res string, added int) { out, err := json.Marshal(decoration) if err != nil { return res, 0 @@ -2838,7 +2830,7 @@ func ReplaceQuotedSubstrings(xs string, skipAngleQuotes bool) string { // Remove all quoted lines. Because we removed all codeblocks // before, we only need to consider single lines. var ret []string - for _, line := range strings.Split(xs, string(newline)) { + for line := range strings.SplitSeq(xs, string(newline)) { if skipAngleQuotes || !strings.HasPrefix(strings.TrimLeft(line, " "), startQuote) { ret = append(ret, line) } else { diff --git a/go/chat/wallet/parser.go b/go/chat/wallet/parser.go index 723676e77aeb..f09a23bba3ad 100644 --- a/go/chat/wallet/parser.go +++ b/go/chat/wallet/parser.go @@ -51,7 +51,7 @@ func FindChatTxCandidates(xs string) []ChatTxCandidate { // adjacent matches of txPattern can overlap. // For example: "+1xlm +2xlm" -> "+1xlm ", " +2xlm" var matches []ChatTxCandidate - for i := 0; i < maxTxsPerMessage; i++ { + for range maxTxsPerMessage { rawIndices := txPattern.FindStringSubmatchIndex(buf) if rawIndices == nil { break diff --git a/go/chat/wallet/sender.go b/go/chat/wallet/sender.go index e7c1916afadd..f010aa7e150a 100644 --- a/go/chat/wallet/sender.go +++ b/go/chat/wallet/sender.go @@ -4,6 +4,7 @@ import ( "context" "errors" "fmt" + "slices" "strings" "time" @@ -109,12 +110,7 @@ func (s *Sender) getRecipientUsername(ctx context.Context, uid gregor1.UID, part } func (s *Sender) validConvUsername(ctx context.Context, username string, parts []string) bool { - for _, p := range parts { - if username == p { - return true - } - } - return false + return slices.Contains(parts, username) } func (s *Sender) ParsePayments(ctx context.Context, uid gregor1.UID, convID chat1.ConversationID, diff --git a/go/chatrender/chat_cli_rendering.go b/go/chatrender/chat_cli_rendering.go index 2cc66b2813c2..1b5488655771 100644 --- a/go/chatrender/chat_cli_rendering.go +++ b/go/chatrender/chat_cli_rendering.go @@ -669,7 +669,7 @@ func newMessageViewValid(g *libkb.GlobalContext, opts RenderOptions, conversatio explodedByText = fmt.Sprintf(" by %s", *m.ExplodedBy()) } mv.Body = fmt.Sprintf("[exploded%s] ", explodedByText) - for i := 0; i < 40; i++ { + for range 40 { mv.Body += "* " } } else { @@ -688,12 +688,12 @@ func newMessageViewValid(g *libkb.GlobalContext, opts RenderOptions, conversatio } sort.Strings(reactionTexts) - var reactionInfo string + var reactionInfo strings.Builder for _, reactionText := range reactionTexts { reactions := m.Reactions.Reactions[reactionText] - reactionInfo += emoji.Sprintf("%v[%d] ", reactionText, len(reactions)) + reactionInfo.WriteString(emoji.Sprintf("%v[%d] ", reactionText, len(reactions))) } - mv.ReactionInfo = reactionInfo + mv.ReactionInfo = reactionInfo.String() return mv, nil } diff --git a/go/citogo/main.go b/go/citogo/main.go index 7f3319cf30f0..d15ed2005b94 100644 --- a/go/citogo/main.go +++ b/go/citogo/main.go @@ -35,7 +35,7 @@ type opts struct { Pause time.Duration } -func logError(f string, args ...interface{}) { +func logError(f string, args ...any) { s := fmt.Sprintf(f, args...) if s[len(s)-1] != '\n' { s += "\n" diff --git a/go/client/chat_api_handler.go b/go/client/chat_api_handler.go index 8e45ddf154da..f0ffbed20620 100644 --- a/go/client/chat_api_handler.go +++ b/go/client/chat_api_handler.go @@ -179,7 +179,7 @@ func (l *ephemeralLifetime) UnmarshalJSON(b []byte) (err error) { } func (l ephemeralLifetime) MarshalJSON() (b []byte, err error) { - return []byte(fmt.Sprintf(`"%s"`, l.String())), nil + return fmt.Appendf(nil, `"%s"`, l.String()), nil } func (l ephemeralLifetime) Valid() bool { diff --git a/go/client/chat_api_listen_display.go b/go/client/chat_api_listen_display.go index 87893ae0a1c1..34b0d3dae617 100644 --- a/go/client/chat_api_listen_display.go +++ b/go/client/chat_api_listen_display.go @@ -3,6 +3,7 @@ package client import ( "context" "fmt" + "slices" "strings" "github.com/keybase/client/go/chat/utils" @@ -136,13 +137,7 @@ func (d *chatNotificationDisplay) matchFilters(convID chat1.ConversationID) bool // No filters - every message is relayed. return true } - for _, v := range d.filtersNormalized { - if convID.Eq(v) { - return true - } - } - // None of our filters matched. - return false + return slices.ContainsFunc(d.filtersNormalized, convID.Eq) } func (d *chatNotificationDisplay) NewChatActivity(ctx context.Context, arg chat1.NewChatActivityArg) error { diff --git a/go/client/chat_svc_handler.go b/go/client/chat_svc_handler.go index d80f08916b70..ac3fe121d550 100644 --- a/go/client/chat_svc_handler.go +++ b/go/client/chat_svc_handler.go @@ -4,6 +4,7 @@ import ( "context" "errors" "fmt" + "maps" "strings" "time" @@ -266,7 +267,7 @@ func (c *chatServiceHandler) GetUnfurlSettingsV1(ctx context.Context) Reply { return c.errReply(err) } return Reply{ - Result: map[string]interface{}{ + Result: map[string]any{ "mode": strings.ToLower(chat1.UnfurlModeRevMap[res.Mode]), "whitelist": res.Whitelist, }, @@ -509,9 +510,7 @@ func (c *chatServiceHandler) reactionMapToUI(reactions chat1.ReactionMap) (res c res.Reactions[emoji] = chat1.UIReactionDesc{ Users: make(map[string]chat1.Reaction), } - for username, reaction := range users { - res.Reactions[emoji].Users[username] = reaction - } + maps.Copy(res.Reactions[emoji].Users, users) } return res } diff --git a/go/client/cmd_chat_addtochannel.go b/go/client/cmd_chat_addtochannel.go index f3a582406ccb..ef0ba5d8fa8c 100644 --- a/go/client/cmd_chat_addtochannel.go +++ b/go/client/cmd_chat_addtochannel.go @@ -88,8 +88,8 @@ func (c *CmdChatAddToChannel) ParseArgv(ctx *cli.Context) (err error) { if len(userString) == 0 { return errors.New("add-to-channel needs at least one user") } - users := strings.Split(userString, ",") - for _, user := range users { + users := strings.SplitSeq(userString, ",") + for user := range users { if len(user) == 0 { return errors.New("cannot specify an empty user") } diff --git a/go/client/cmd_chat_api_listen.go b/go/client/cmd_chat_api_listen.go index 35c53580cd4f..e432147c328e 100644 --- a/go/client/cmd_chat_api_listen.go +++ b/go/client/cmd_chat_api_listen.go @@ -142,7 +142,7 @@ func sendPing(cli keybase1.SessionClient) error { return cli.SessionPing(ctx) } -func (c *CmdChatAPIListen) ErrWriteLn(format string, obj ...interface{}) { +func (c *CmdChatAPIListen) ErrWriteLn(format string, obj ...any) { _, _ = c.G().UI.GetTerminalUI().ErrorWriter().Write([]byte(fmt.Sprintf(format, obj...) + "\n")) } @@ -222,17 +222,17 @@ func newBaseNotificationDisplay(g *libkb.GlobalContext) *baseNotificationDisplay } } -func (d *baseNotificationDisplay) printf(fmt string, args ...interface{}) error { +func (d *baseNotificationDisplay) printf(fmt string, args ...any) error { _, err := d.G().UI.GetTerminalUI().Printf(fmt, args...) return err } -func (d *baseNotificationDisplay) errorf(format string, args ...interface{}) error { +func (d *baseNotificationDisplay) errorf(format string, args ...any) error { _, err := fmt.Fprintf(d.G().UI.GetTerminalUI().ErrorWriter(), format, args...) return err } -func (d *baseNotificationDisplay) printJSON(data interface{}) { +func (d *baseNotificationDisplay) printJSON(data any) { if jsonStr, err := json.Marshal(data); err != nil { _ = d.errorf("Error while marshaling JSON: %s\n", err) } else { diff --git a/go/client/cmd_chat_removefromchannel.go b/go/client/cmd_chat_removefromchannel.go index 87163961bbc7..1598257922f0 100644 --- a/go/client/cmd_chat_removefromchannel.go +++ b/go/client/cmd_chat_removefromchannel.go @@ -88,8 +88,8 @@ func (c *CmdChatRemoveFromChannel) ParseArgv(ctx *cli.Context) (err error) { if len(userString) == 0 { return errors.New("remove-from-channel needs at least one user") } - users := strings.Split(userString, ",") - for _, user := range users { + users := strings.SplitSeq(userString, ",") + for user := range users { if len(user) == 0 { return errors.New("cannot specify an empty user") } diff --git a/go/client/cmd_chat_retention.go b/go/client/cmd_chat_retention.go index a056227f1e74..683159e8f41a 100644 --- a/go/client/cmd_chat_retention.go +++ b/go/client/cmd_chat_retention.go @@ -312,6 +312,6 @@ func (c *CmdChatSetRetention) parseExpireAgeLimited(s string) (gregor1.DurationS return gregor1.DurationSec(d.Seconds()), nil } -func (c *CmdChatSetRetention) println(dui libkb.DumbOutputUI, format string, args ...interface{}) { +func (c *CmdChatSetRetention) println(dui libkb.DumbOutputUI, format string, args ...any) { dui.Printf(fmt.Sprintf(format, args...) + "\n") } diff --git a/go/client/cmd_chat_search_profile.go b/go/client/cmd_chat_search_profile.go index 491af574821b..8ec5570407d9 100644 --- a/go/client/cmd_chat_search_profile.go +++ b/go/client/cmd_chat_search_profile.go @@ -2,7 +2,6 @@ // this source code is governed by the included BSD license. //go:build !production -// +build !production package client diff --git a/go/client/cmd_contacts_debug.go b/go/client/cmd_contacts_debug.go index 6b9cf41bffa9..d19857e9ac97 100644 --- a/go/client/cmd_contacts_debug.go +++ b/go/client/cmd_contacts_debug.go @@ -2,7 +2,6 @@ // this source code is governed by the included BSD license. //go:build !production -// +build !production package client diff --git a/go/client/cmd_ctl_autostart.go b/go/client/cmd_ctl_autostart.go index 3d7de4e123a3..eabe39312be9 100644 --- a/go/client/cmd_ctl_autostart.go +++ b/go/client/cmd_ctl_autostart.go @@ -2,7 +2,6 @@ // this source code is governed by the included BSD license. //go:build !darwin -// +build !darwin package client diff --git a/go/client/cmd_ctl_nix.go b/go/client/cmd_ctl_nix.go index 448317290131..aeb548b5ea1d 100644 --- a/go/client/cmd_ctl_nix.go +++ b/go/client/cmd_ctl_nix.go @@ -2,7 +2,6 @@ // this source code is governed by the included BSD license. //go:build !darwin && !windows -// +build !darwin,!windows package client diff --git a/go/client/cmd_ctl_restart.go b/go/client/cmd_ctl_restart.go index e980dd11b174..39a7c95780d3 100644 --- a/go/client/cmd_ctl_restart.go +++ b/go/client/cmd_ctl_restart.go @@ -2,7 +2,6 @@ // this source code is governed by the included BSD license. //go:build !darwin -// +build !darwin package client diff --git a/go/client/cmd_ctl_restart_osx.go b/go/client/cmd_ctl_restart_osx.go index e2a1be49adae..f2fd5f8b6b7a 100644 --- a/go/client/cmd_ctl_restart_osx.go +++ b/go/client/cmd_ctl_restart_osx.go @@ -2,7 +2,6 @@ // this source code is governed by the included BSD license. //go:build darwin -// +build darwin package client diff --git a/go/client/cmd_ctl_start.go b/go/client/cmd_ctl_start.go index 7851aa13c2b1..17dac11c4660 100644 --- a/go/client/cmd_ctl_start.go +++ b/go/client/cmd_ctl_start.go @@ -2,7 +2,6 @@ // this source code is governed by the included BSD license. //go:build !darwin -// +build !darwin package client diff --git a/go/client/cmd_ctl_start_osx.go b/go/client/cmd_ctl_start_osx.go index 7c7661f2898e..3fcdf3127eef 100644 --- a/go/client/cmd_ctl_start_osx.go +++ b/go/client/cmd_ctl_start_osx.go @@ -2,7 +2,6 @@ // this source code is governed by the included BSD license. //go:build darwin -// +build darwin package client @@ -55,8 +54,8 @@ func newCmdCtlStart(g *libkb.GlobalContext) *cmdCtlStart { func ctlParseArgv(ctx *cli.Context) map[string]bool { components := defaultCtlComponents(true) if ctx.String("exclude") != "" { - excluded := strings.Split(ctx.String("exclude"), ",") - for _, exclude := range excluded { + excluded := strings.SplitSeq(ctx.String("exclude"), ",") + for exclude := range excluded { components[exclude] = false } } diff --git a/go/client/cmd_ctl_stop.go b/go/client/cmd_ctl_stop.go index 59ecb78281d9..30e1ef24bbde 100644 --- a/go/client/cmd_ctl_stop.go +++ b/go/client/cmd_ctl_stop.go @@ -2,7 +2,6 @@ // this source code is governed by the included BSD license. //go:build !darwin -// +build !darwin package client diff --git a/go/client/cmd_ctl_stop_osx.go b/go/client/cmd_ctl_stop_osx.go index c88fcd5b2fc4..8dabc425662d 100644 --- a/go/client/cmd_ctl_stop_osx.go +++ b/go/client/cmd_ctl_stop_osx.go @@ -2,7 +2,6 @@ // this source code is governed by the included BSD license. //go:build darwin -// +build darwin package client diff --git a/go/client/cmd_ctl_watchdog.go b/go/client/cmd_ctl_watchdog.go index 28de000a1a7e..97e7723e2fb9 100644 --- a/go/client/cmd_ctl_watchdog.go +++ b/go/client/cmd_ctl_watchdog.go @@ -128,22 +128,22 @@ func (c *CmdWatchdog) GetUsage() libkb.Usage { } // Debugf (for watchdog.Log interface) -func (c *CmdWatchdog) Debugf(s string, args ...interface{}) { +func (c *CmdWatchdog) Debugf(s string, args ...any) { c.G().Log.Debug(s, args...) } // Infof (for watchdog.Log interface) -func (c *CmdWatchdog) Infof(s string, args ...interface{}) { +func (c *CmdWatchdog) Infof(s string, args ...any) { c.G().Log.Info(s, args...) } // Warningf (for watchdog Log interface) -func (c *CmdWatchdog) Warningf(s string, args ...interface{}) { +func (c *CmdWatchdog) Warningf(s string, args ...any) { c.G().Log.Warning(s, args...) } // Errorf (for watchdog Log interface) -func (c *CmdWatchdog) Errorf(s string, args ...interface{}) { +func (c *CmdWatchdog) Errorf(s string, args ...any) { c.G().Log.Errorf(s, args...) } diff --git a/go/client/cmd_decrypt.go b/go/client/cmd_decrypt.go index 99a83fc17ec4..326f3dc2773e 100644 --- a/go/client/cmd_decrypt.go +++ b/go/client/cmd_decrypt.go @@ -73,7 +73,7 @@ func (c *CmdDecrypt) explainDecryptionFailure(info *keybase1.SaltpackEncryptedMe return } out := c.G().UI.GetTerminalUI().ErrorWriter() - prnt := func(s string, args ...interface{}) { + prnt := func(s string, args ...any) { fmt.Fprintf(out, s, args...) } if len(info.Devices) > 0 { diff --git a/go/client/cmd_device_remove.go b/go/client/cmd_device_remove.go index 04d2cd950676..58d53dcbe835 100644 --- a/go/client/cmd_device_remove.go +++ b/go/client/cmd_device_remove.go @@ -7,6 +7,7 @@ import ( "context" "errors" "fmt" + "strings" "github.com/keybase/cli" "github.com/keybase/client/go/libcmdline" @@ -57,17 +58,18 @@ func (c *CmdDeviceRemove) confirmDelete(id keybase1.DeviceID) error { return errors.New("Need a terminal UI to prompt for TLF data loss override") } - out := "Are you sure you want to delete this device? If you do, you can lose KBFS access to:\n" + var out strings.Builder + out.WriteString("Are you sure you want to delete this device? If you do, you can lose KBFS access to:\n") n := len(res.EndangeredTLFs) for i, tlf := range res.EndangeredTLFs { if i == 10 && n > 11 { - out += fmt.Sprintf(" .... and %d others\n", (n - 10)) + fmt.Fprintf(&out, " .... and %d others\n", (n - 10)) break } - out += fmt.Sprintf(" * %s\n", tlf.Name) + fmt.Fprintf(&out, " * %s\n", tlf.Name) } - _ = tui.OutputDesc(OutputDescriptorEndageredTLFs, out) + _ = tui.OutputDesc(OutputDescriptorEndageredTLFs, out.String()) ok, err := tui.PromptYesNo(PromptDescriptorDeviceRevoke, "Go ahead anyway?", libkb.PromptDefaultNo) if err != nil { return err diff --git a/go/client/cmd_fuse_osx.go b/go/client/cmd_fuse_osx.go index b0a38351fd11..18e5af220f8b 100644 --- a/go/client/cmd_fuse_osx.go +++ b/go/client/cmd_fuse_osx.go @@ -1,5 +1,4 @@ //go:build darwin -// +build darwin package client diff --git a/go/client/cmd_install_osx.go b/go/client/cmd_install_osx.go index 30a5634c5b74..784ca3910f93 100644 --- a/go/client/cmd_install_osx.go +++ b/go/client/cmd_install_osx.go @@ -2,7 +2,6 @@ // this source code is governed by the included BSD license. //go:build darwin -// +build darwin package client diff --git a/go/client/cmd_kbfs_mount.go b/go/client/cmd_kbfs_mount.go index 2507671a095e..93d5e8eee7bb 100644 --- a/go/client/cmd_kbfs_mount.go +++ b/go/client/cmd_kbfs_mount.go @@ -2,7 +2,6 @@ // this source code is governed by the included BSD license. //go:build windows -// +build windows package client diff --git a/go/client/cmd_launchd_osx.go b/go/client/cmd_launchd_osx.go index 8b51ec01afcb..fd2f0f244f8e 100644 --- a/go/client/cmd_launchd_osx.go +++ b/go/client/cmd_launchd_osx.go @@ -2,7 +2,6 @@ // this source code is governed by the included BSD license. //go:build darwin -// +build darwin package client diff --git a/go/client/cmd_pipe_owner.go b/go/client/cmd_pipe_owner.go index 7c89c0f5ab4b..cd6d351136ef 100644 --- a/go/client/cmd_pipe_owner.go +++ b/go/client/cmd_pipe_owner.go @@ -2,7 +2,6 @@ // this source code is governed by the included BSD license. //go:build windows -// +build windows package client diff --git a/go/client/cmd_rekey.go b/go/client/cmd_rekey.go index 4f9f52a45bf0..4b20e230efdc 100644 --- a/go/client/cmd_rekey.go +++ b/go/client/cmd_rekey.go @@ -2,7 +2,6 @@ // this source code is governed by the included BSD license. // //go:build production -// +build production package client diff --git a/go/client/cmd_rekey_devel.go b/go/client/cmd_rekey_devel.go index 6ccafccfb0dd..97e13df24af0 100644 --- a/go/client/cmd_rekey_devel.go +++ b/go/client/cmd_rekey_devel.go @@ -2,7 +2,6 @@ // this source code is governed by the included BSD license. // //go:build !production -// +build !production package client diff --git a/go/client/cmd_rekey_trigger.go b/go/client/cmd_rekey_trigger.go index 8405d05f39a9..18dca92bec23 100644 --- a/go/client/cmd_rekey_trigger.go +++ b/go/client/cmd_rekey_trigger.go @@ -2,7 +2,6 @@ // this source code is governed by the included BSD license. // //go:build !production -// +build !production package client diff --git a/go/client/cmd_show_notifications.go b/go/client/cmd_show_notifications.go index 1f6c9d6308ee..eb8096e7f734 100644 --- a/go/client/cmd_show_notifications.go +++ b/go/client/cmd_show_notifications.go @@ -94,7 +94,7 @@ func newNotificationDisplay(g *libkb.GlobalContext) *notificationDisplay { return ¬ificationDisplay{Contextified: libkb.NewContextified(g)} } -func (d *notificationDisplay) printf(fmt string, args ...interface{}) error { +func (d *notificationDisplay) printf(fmt string, args ...any) error { _, err := d.G().UI.GetTerminalUI().Printf(fmt, args...) return err } diff --git a/go/client/cmd_sigs_list.go b/go/client/cmd_sigs_list.go index 8c4d3e18467d..d7050c3e4333 100644 --- a/go/client/cmd_sigs_list.go +++ b/go/client/cmd_sigs_list.go @@ -42,8 +42,8 @@ func (s *CmdSigsList) ParseTypes(ctx *cli.Context) error { } ret := make(map[string]bool) - v := strings.Split(tmp, ",") - for _, i := range v { + v := strings.SplitSeq(tmp, ",") + for i := range v { ok, found := types[i] if !ok || !found { return fmt.Errorf("Unknown signature type: %s", i) diff --git a/go/client/cmd_simplefs_sync_enable.go b/go/client/cmd_simplefs_sync_enable.go index a55c0ad6bdb3..ed04f17fee7a 100644 --- a/go/client/cmd_simplefs_sync_enable.go +++ b/go/client/cmd_simplefs_sync_enable.go @@ -7,6 +7,7 @@ import ( "context" "fmt" "path" + "slices" "strings" "github.com/keybase/cli" @@ -96,11 +97,9 @@ func (c *CmdSimpleFSSyncEnable) Run() error { return fmt.Errorf("Must disable full syncing on %s first", arg.Path) } - for _, p := range res.Config.Paths { - if p == subpath { - // Already enabled. - return nil - } + if slices.Contains(res.Config.Paths, subpath) { + // Already enabled. + return nil } arg.Config.Mode = keybase1.FolderSyncMode_PARTIAL diff --git a/go/client/cmd_stress.go b/go/client/cmd_stress.go index 8ca3e93d3da8..373fd16f96bb 100644 --- a/go/client/cmd_stress.go +++ b/go/client/cmd_stress.go @@ -2,7 +2,6 @@ // this source code is governed by the included BSD license. //go:build !production -// +build !production // this command is only for testing purposes package client @@ -144,14 +143,14 @@ func (c *CmdStress) simulate(username, passphrase string) { c.status, c.trackSomeone, } - for i := 0; i < 10; i++ { + for range 10 { f := funcs[libkb.RandIntn(len(funcs))] //nolint:gosec // G602: RandIntn returns value in [0, n) via modulo, array access is safe f() } // now add logout to the mix funcs = append(funcs, c.logout) - for i := 0; i < 10; i++ { + for range 10 { f := funcs[libkb.RandIntn(len(funcs))] f() } diff --git a/go/client/cmd_team_add_members_bulk.go b/go/client/cmd_team_add_members_bulk.go index e503801fc3f1..af462a105525 100644 --- a/go/client/cmd_team_add_members_bulk.go +++ b/go/client/cmd_team_add_members_bulk.go @@ -73,8 +73,8 @@ func (c *CmdTeamAddMembersBulk) parseBulkList(v string, role keybase1.TeamRole) if len(v) == 0 { return 0, nil } - parts := strings.Split(v, ",") - for _, p := range parts { + parts := strings.SplitSeq(v, ",") + for p := range parts { if len(p) == 0 { return 0, errors.New("cannot specify an empty user") } diff --git a/go/client/cmd_team_ftl.go b/go/client/cmd_team_ftl.go index c9a8d55e395b..63ef4e60782f 100644 --- a/go/client/cmd_team_ftl.go +++ b/go/client/cmd_team_ftl.go @@ -55,8 +55,8 @@ func (c *cmdTeamFTL) Run() error { } func (c *cmdTeamFTL) parseTeamGenerations(s string) (gens []keybase1.PerTeamKeyGeneration, err error) { - v := strings.Split(s, ",") - for _, e := range v { + v := strings.SplitSeq(s, ",") + for e := range v { i, err := strconv.Atoi(e) if err != nil { return nil, err diff --git a/go/client/cmd_wallet_cancel_all.go b/go/client/cmd_wallet_cancel_all.go index 18ae9711207a..d00b03529a77 100644 --- a/go/client/cmd_wallet_cancel_all.go +++ b/go/client/cmd_wallet_cancel_all.go @@ -140,7 +140,7 @@ func (c *cmdWalletCancelAll) Run() (err error) { } // start maxConsumers workers - for i := 0; i < maxConsumers; i++ { + for range maxConsumers { c.group.Go(func() error { for txID := range ingestChannel { res, err := cli.ClaimCLILocal(context.TODO(), stellar1.ClaimCLILocalArg{TxID: txID}) diff --git a/go/client/cmd_wallet_history.go b/go/client/cmd_wallet_history.go index 4cf4e6007c95..91c12c51580b 100644 --- a/go/client/cmd_wallet_history.go +++ b/go/client/cmd_wallet_history.go @@ -70,7 +70,7 @@ func (c *cmdWalletHistory) Run() (err error) { return err } dui := c.G().UI.GetDumbOutputUI() - lineUnescaped := func(format string, args ...interface{}) { + lineUnescaped := func(format string, args ...any) { _, _ = dui.PrintfUnescaped(format+"\n", args...) } // `payments` is sorted most recent first. diff --git a/go/client/cmd_wot_list.go b/go/client/cmd_wot_list.go index 1fceb48342f2..8a6ab6ac7c80 100644 --- a/go/client/cmd_wot_list.go +++ b/go/client/cmd_wot_list.go @@ -76,7 +76,7 @@ func (c *cmdWotList) Run() error { return err } dui := c.G().UI.GetDumbOutputUI() - line := func(format string, args ...interface{}) { + line := func(format string, args ...any) { dui.Printf(format+"\n", args...) } diff --git a/go/client/color.go b/go/client/color.go index b8a0d12d4d98..7966c5098b24 100644 --- a/go/client/color.go +++ b/go/client/color.go @@ -84,7 +84,7 @@ var codes = map[string]CodePair{ const keyEscape = 0x1b func colorByteSequence(code int) []byte { - b := []byte(fmt.Sprintf("%d", code)) + b := fmt.Appendf(nil, "%d", code) ret := []byte{keyEscape, '['} ret = append(ret, b...) ret = append(ret, 'm') @@ -145,6 +145,6 @@ func ColorBytes(g *libkb.GlobalContext, which string, text []byte) []byte { return text } -func ColorString(g *libkb.GlobalContext, which, format string, args ...interface{}) string { - return string(ColorBytes(g, which, []byte(fmt.Sprintf(format, args...)))) +func ColorString(g *libkb.GlobalContext, which, format string, args ...any) string { + return string(ColorBytes(g, which, fmt.Appendf(nil, format, args...))) } diff --git a/go/client/commands_devel.go b/go/client/commands_devel.go index c6791e940554..a1ecd877501d 100644 --- a/go/client/commands_devel.go +++ b/go/client/commands_devel.go @@ -2,7 +2,6 @@ // this source code is governed by the included BSD license. //go:build !production -// +build !production // this is the list of commands for the devel version of the // client. diff --git a/go/client/commands_nix.go b/go/client/commands_nix.go index 20f1e1dbea0e..d1bea8bbd7c1 100644 --- a/go/client/commands_nix.go +++ b/go/client/commands_nix.go @@ -2,7 +2,6 @@ // this source code is governed by the included BSD license. //go:build !darwin && !windows -// +build !darwin,!windows package client diff --git a/go/client/commands_osx.go b/go/client/commands_osx.go index 83f46ecf0473..13551c3da8fb 100644 --- a/go/client/commands_osx.go +++ b/go/client/commands_osx.go @@ -2,7 +2,6 @@ // this source code is governed by the included BSD license. //go:build darwin -// +build darwin package client diff --git a/go/client/commands_production.go b/go/client/commands_production.go index adf2f049816b..4d582c51d700 100644 --- a/go/client/commands_production.go +++ b/go/client/commands_production.go @@ -2,7 +2,6 @@ // this source code is governed by the included BSD license. //go:build production -// +build production // this is the list of commands for the release version of the // client. diff --git a/go/client/commands_windows.go b/go/client/commands_windows.go index f2de07782da7..0ed8d5bb8d02 100644 --- a/go/client/commands_windows.go +++ b/go/client/commands_windows.go @@ -2,7 +2,6 @@ // this source code is governed by the included BSD license. //go:build windows -// +build windows package client diff --git a/go/client/contact_settings_api_handler.go b/go/client/contact_settings_api_handler.go index 9019224f6247..7987593021c2 100644 --- a/go/client/contact_settings_api_handler.go +++ b/go/client/contact_settings_api_handler.go @@ -143,7 +143,7 @@ func (t *contactSettingsAPIHandler) set(ctx context.Context, c Call, w io.Writer return t.get(ctx, c, w) } -func (t *contactSettingsAPIHandler) encodeResult(call Call, result interface{}, w io.Writer) error { +func (t *contactSettingsAPIHandler) encodeResult(call Call, result any, w io.Writer) error { return encodeResult(call, result, w, t.indent) } diff --git a/go/client/display_nix.go b/go/client/display_nix.go index 22828a3e31c9..0ba178787210 100644 --- a/go/client/display_nix.go +++ b/go/client/display_nix.go @@ -2,7 +2,6 @@ // this source code is governed by the included BSD license. //go:build darwin || dragonfly || freebsd || linux || nacl || netbsd || openbsd || solaris -// +build darwin dragonfly freebsd linux nacl netbsd openbsd solaris package client diff --git a/go/client/fork_server.go b/go/client/fork_server.go index b5a270183f39..18cb4297bf88 100644 --- a/go/client/fork_server.go +++ b/go/client/fork_server.go @@ -118,7 +118,7 @@ func ForkServer(g *libkb.GlobalContext, cl libkb.CommandLine, forkType keybase1. func pingLoop(g *libkb.GlobalContext) error { var err error - for i := 0; i < 20; i++ { + for i := range 20 { _, err = getSocketWithRetry(g) if err == nil { g.Log.Debug("Connected (%d)", i) diff --git a/go/client/json_api_common.go b/go/client/json_api_common.go index dd3c28fd58ad..fc82daa6a8fa 100644 --- a/go/client/json_api_common.go +++ b/go/client/json_api_common.go @@ -66,17 +66,17 @@ type Params struct { // CallError is the result when there is an error. type CallError struct { - Code int `json:"code"` - Message string `json:"message"` - Data interface{} `json:"data,omitempty"` + Code int `json:"code"` + Message string `json:"message"` + Data any `json:"data,omitempty"` } // Reply is returned with the results of processing a Call. type Reply struct { - Jsonrpc string `json:"jsonrpc,omitempty"` - ID int `json:"id,omitempty"` - Error *CallError `json:"error,omitempty"` - Result interface{} `json:"result,omitempty"` + Jsonrpc string `json:"jsonrpc,omitempty"` + ID int `json:"id,omitempty"` + Error *CallError `json:"error,omitempty"` + Result any `json:"result,omitempty"` } // Checker implementations can check their options for errors. @@ -217,7 +217,7 @@ func (c *cmdAPI) decode(ctx context.Context, r io.Reader, w io.Writer, h handler } // encodeResult JSON encodes a successful result to the wr writer. -func encodeResult(call Call, result interface{}, wr io.Writer, indent bool) error { +func encodeResult(call Call, result any, wr io.Writer, indent bool) error { reply := Reply{ Result: result, } diff --git a/go/client/kvstore_api_handler.go b/go/client/kvstore_api_handler.go index 7f5463faff68..64ac2ab16742 100644 --- a/go/client/kvstore_api_handler.go +++ b/go/client/kvstore_api_handler.go @@ -259,7 +259,7 @@ func (t *kvStoreAPIHandler) list(ctx context.Context, c Call, w io.Writer) error return t.encodeResult(c, res, w) } -func (t *kvStoreAPIHandler) encodeResult(call Call, result interface{}, w io.Writer) error { +func (t *kvStoreAPIHandler) encodeResult(call Call, result any, w io.Writer) error { return encodeResult(call, result, w, t.indent) } diff --git a/go/client/markup.go b/go/client/markup.go index 558329602334..2fb20d963d01 100644 --- a/go/client/markup.go +++ b/go/client/markup.go @@ -36,7 +36,7 @@ var nl = []byte{'\n'} // makePad makes a whitespace pad that is l bytes long. func makePad(l int) []byte { ret := make([]byte, l) - for i := 0; i < l; i++ { + for i := range l { ret[i] = ' ' } return ret diff --git a/go/client/passphrase_prompt.go b/go/client/passphrase_prompt.go index cdb5ceb21522..89762898683b 100644 --- a/go/client/passphrase_prompt.go +++ b/go/client/passphrase_prompt.go @@ -60,7 +60,7 @@ func promptPassphraseWithArg(g *libkb.GlobalContext, arg keybase1.GUIEntryArg, p firstPrompt := arg.Prompt - for i := 0; i < 10; i++ { + for range 10 { // get the first passphrase res, err := libkb.GetPassphraseUntilCheckWithChecker(m, arg, prompter, &libkb.CheckPassphraseNew) if err != nil { diff --git a/go/client/pgp_ui.go b/go/client/pgp_ui.go index 6770a77ab8f7..8b45876aa9bc 100644 --- a/go/client/pgp_ui.go +++ b/go/client/pgp_ui.go @@ -31,7 +31,7 @@ func (p PgpUI) OutputPGPWarning(_ context.Context, arg keybase1.OutputPGPWarning func (p PgpUI) OutputSignatureSuccess(ctx context.Context, arg keybase1.OutputSignatureSuccessArg) error { signedAt := keybase1.FromTime(arg.SignedAt) un := ColorString(p.G(), "bold", "%s", arg.Username) - output := func(fmtString string, args ...interface{}) { + output := func(fmtString string, args ...any) { s := fmt.Sprintf(fmtString, args...) s = ColorString(p.G(), "green", "%s", s) _, _ = p.w.Write([]byte(s)) @@ -57,7 +57,7 @@ func (p PgpUI) OutputSignatureSuccess(ctx context.Context, arg keybase1.OutputSi func (p PgpUI) OutputSignatureNonKeybase(ctx context.Context, arg keybase1.OutputSignatureNonKeybaseArg) error { signedAt := keybase1.FromTime(arg.SignedAt) - output := func(fmtString string, args ...interface{}) { + output := func(fmtString string, args ...any) { s := fmt.Sprintf(fmtString, args...) s = ColorString(p.G(), "red", "%s", s) _, _ = p.w.Write([]byte(s)) diff --git a/go/client/platform_specific_ctl_commands_linux.go b/go/client/platform_specific_ctl_commands_linux.go index b313d12fa2db..914f8fa7d067 100644 --- a/go/client/platform_specific_ctl_commands_linux.go +++ b/go/client/platform_specific_ctl_commands_linux.go @@ -1,7 +1,6 @@ // Copyright 2019 Keybase, Inc. All rights reserved. Use of // this source code is governed by the included BSD license. //go:build !darwin && !windows -// +build !darwin,!windows package client diff --git a/go/client/platform_specific_ctl_commands_other.go b/go/client/platform_specific_ctl_commands_other.go index 141efcbf9826..0616cc3637b3 100644 --- a/go/client/platform_specific_ctl_commands_other.go +++ b/go/client/platform_specific_ctl_commands_other.go @@ -1,7 +1,6 @@ // Copyright 2019 Keybase, Inc. All rights reserved. Use of // this source code is governed by the included BSD license. //go:build darwin || netbsd || openbsd || freebsd -// +build darwin netbsd openbsd freebsd package client diff --git a/go/client/provision_ui.go b/go/client/provision_ui.go index 1be11bc82190..f8f8f6bf924f 100644 --- a/go/client/provision_ui.go +++ b/go/client/provision_ui.go @@ -275,7 +275,7 @@ func (p ProvisionUI) PromptNewDeviceName(ctx context.Context, arg keybase1.Promp _, _ = p.parent.PrintfUnescaped("%s", ColorString(p.G(), "magenta", "************************************************************\n")) _ = p.parent.Output("\n\n\n") - for i := 0; i < 10; i++ { + for range 10 { name, err := PromptWithChecker(PromptDescriptorProvisionDeviceName, p.parent, "Enter a public name for this device", false, libkb.CheckDeviceName) if err != nil { return "", err diff --git a/go/client/simplefs_ls.go b/go/client/simplefs_ls.go index 806df5f30099..3296cf99edc7 100644 --- a/go/client/simplefs_ls.go +++ b/go/client/simplefs_ls.go @@ -91,7 +91,7 @@ func (d DirentFileInfo) IsDir() bool { } // Sys - underlying data source (can return nil) -func (d DirentFileInfo) Sys() interface{} { +func (d DirentFileInfo) Sys() any { return nil } @@ -667,13 +667,13 @@ func (c *CmdSimpleFSList) writeListingsToBuffer(outputBuffer *bytes.Buffer, } colListings := make([]int, numCols) - for i := 0; i < len(colListings); i++ { + for i := range colListings { colListings[i] = 0 } // calculate necessary column widths // also calculate the number of listings per column - for i := 0; i < len(listings); i++ { + for i := range listings { col := i / numRows if colWidths[col] < len(listings[i].name) { colWidths[col] = len(listings[i].name) @@ -683,7 +683,7 @@ func (c *CmdSimpleFSList) writeListingsToBuffer(outputBuffer *bytes.Buffer, // calculate the maximum width of each row maxRowLength := 0 - for i := 0; i < numCols; i++ { + for i := range numCols { maxRowLength += colWidths[i] } maxRowLength += len(separator) * (numCols - 1) @@ -745,8 +745,8 @@ func (c *CmdSimpleFSList) ls(outputBuffer *bytes.Buffer, listResult keybase1.Sim parseLsColors(lsColors) } else if lsUnderscoreColors != "" { // parse lsUnderscoreColors - lsColorsSplit := strings.Split(lsUnderscoreColors, ":") - for _, i := range lsColorsSplit { + lsColorsSplit := strings.SplitSeq(lsUnderscoreColors, ":") + for i := range lsColorsSplit { if i == "" { continue } diff --git a/go/client/stellar_common.go b/go/client/stellar_common.go index 9c98d407d0f0..1336a9e30a63 100644 --- a/go/client/stellar_common.go +++ b/go/client/stellar_common.go @@ -15,10 +15,10 @@ import ( ) func printPayment(g *libkb.GlobalContext, p stellar1.PaymentCLILocal, verbose, details bool, dui libkb.DumbOutputUI) { - lineUnescaped := func(format string, args ...interface{}) { + lineUnescaped := func(format string, args ...any) { _, _ = dui.PrintfUnescaped(format+"\n", args...) } - line := func(format string, args ...interface{}) { + line := func(format string, args ...any) { dui.Printf(format+"\n", args...) } timeStr := p.Time.Time().Format("2006/01/02 15:04") diff --git a/go/client/team_api_handler.go b/go/client/team_api_handler.go index 2e6c15be2624..a425a8a1a5f5 100644 --- a/go/client/team_api_handler.go +++ b/go/client/team_api_handler.go @@ -474,7 +474,7 @@ func (t *teamAPIHandler) requireOptionsV1(c Call) error { return nil } -func (t *teamAPIHandler) encodeResult(call Call, result interface{}, w io.Writer) error { +func (t *teamAPIHandler) encodeResult(call Call, result any, w io.Writer) error { return encodeResult(call, result, w, t.indent) } diff --git a/go/client/ui.go b/go/client/ui.go index a8066b01de56..4a5f79f128cb 100644 --- a/go/client/ui.go +++ b/go/client/ui.go @@ -1240,19 +1240,19 @@ func (ui *UI) ErrorWriter() io.Writer { return logger.ErrorWriter() } -func (ui *UI) Printf(format string, a ...interface{}) (n int, err error) { +func (ui *UI) Printf(format string, a ...any) (n int, err error) { return fmt.Fprintf(ui.OutputWriter(), format, a...) } -func (ui *UI) PrintfUnescaped(format string, a ...interface{}) (n int, err error) { +func (ui *UI) PrintfUnescaped(format string, a ...any) (n int, err error) { return fmt.Fprintf(ui.UnescapedOutputWriter(), format, a...) } -func (ui *UI) Println(a ...interface{}) (int, error) { +func (ui *UI) Println(a ...any) (int, error) { return fmt.Fprintln(ui.OutputWriter(), a...) } -func (ui *UI) PrintfStderr(format string, a ...interface{}) (n int, err error) { +func (ui *UI) PrintfStderr(format string, a ...any) (n int, err error) { return fmt.Fprintf(os.Stderr, format, a...) } diff --git a/go/client/wallet_api_handler.go b/go/client/wallet_api_handler.go index 899af3fe6441..f8bfda8f4336 100644 --- a/go/client/wallet_api_handler.go +++ b/go/client/wallet_api_handler.go @@ -432,7 +432,7 @@ func (w *walletAPIHandler) sendPathPayment(ctx context.Context, c Call, wr io.Wr } // encodeResult JSON encodes a successful result to the wr writer. -func (w *walletAPIHandler) encodeResult(call Call, result interface{}, wr io.Writer) error { +func (w *walletAPIHandler) encodeResult(call Call, result any, wr io.Writer) error { return encodeResult(call, result, wr, w.indent) } diff --git a/go/client/wallet_api_listen_display.go b/go/client/wallet_api_listen_display.go index 807929f54813..af0ed04ae1c2 100644 --- a/go/client/wallet_api_listen_display.go +++ b/go/client/wallet_api_listen_display.go @@ -19,9 +19,9 @@ type walletNotification struct { // wallet Type string `json:"type"` // payment, request, etc - Source string `json:"source"` - Notification interface{} `json:"notification,omitempty"` - Error *string `json:"error,omitempty"` + Source string `json:"source"` + Notification any `json:"notification,omitempty"` + Error *string `json:"error,omitempty"` } func newWalletNotification(source string) *walletNotification { diff --git a/go/contacts/contacts.go b/go/contacts/contacts.go index c7cc17d47f31..ccef0fee5311 100644 --- a/go/contacts/contacts.go +++ b/go/contacts/contacts.go @@ -5,6 +5,7 @@ package contacts import ( "errors" + "maps" "strings" "github.com/keybase/client/go/externals" @@ -84,9 +85,7 @@ func fillResolvedUserInfo(mctx libkb.MetaContext, provider ContactsProvider, uid } if smap, found := serviceMaps[v.Uid]; found && len(smap) > 0 { v.ServiceMap = make(map[string]string, len(smap)) - for service, username := range smap { - v.ServiceMap[service] = username - } + maps.Copy(v.ServiceMap, smap) } } } diff --git a/go/contacts/mocks.go b/go/contacts/mocks.go index a6b637ef273c..c07fc83180c9 100644 --- a/go/contacts/mocks.go +++ b/go/contacts/mocks.go @@ -1,5 +1,4 @@ //go:build !production -// +build !production package contacts diff --git a/go/encrypteddb/db.go b/go/encrypteddb/db.go index e5b3569ea806..415a1754f299 100644 --- a/go/encrypteddb/db.go +++ b/go/encrypteddb/db.go @@ -48,7 +48,7 @@ func New(g *libkb.GlobalContext, getDB DbFn, getSecretBoxKey KeyFn) *EncryptedDB } func DecodeBox(ctx context.Context, b []byte, getSecretBoxKey KeyFn, - res interface{}, + res any, ) error { // Decode encrypted box var boxed boxedData @@ -77,7 +77,7 @@ func DecodeBox(ctx context.Context, b []byte, getSecretBoxKey KeyFn, // Get a value // Decodes into res // Returns (found, err). Res is valid only if (found && err == nil) -func (i *EncryptedDB) Get(ctx context.Context, key libkb.DbKey, res interface{}) (bool, error) { +func (i *EncryptedDB) Get(ctx context.Context, key libkb.DbKey, res any) (bool, error) { var err error db := i.getDB(i.G()) b, found, err := db.GetRaw(key) @@ -93,7 +93,7 @@ func (i *EncryptedDB) Get(ctx context.Context, key libkb.DbKey, res interface{}) return true, nil } -func EncodeBox(ctx context.Context, data interface{}, getSecretBoxKey KeyFn) ([]byte, error) { +func EncodeBox(ctx context.Context, data any, getSecretBoxKey KeyFn) ([]byte, error) { dat, err := libkb.MPackEncode(data) if err != nil { return nil, err @@ -124,7 +124,7 @@ func EncodeBox(ctx context.Context, data interface{}, getSecretBoxKey KeyFn) ([] return dat, nil } -func (i *EncryptedDB) Put(ctx context.Context, key libkb.DbKey, data interface{}) error { +func (i *EncryptedDB) Put(ctx context.Context, key libkb.DbKey, data any) error { db := i.getDB(i.G()) dat, err := EncodeBox(ctx, data, i.getSecretBoxKey) if err != nil { diff --git a/go/encrypteddb/file.go b/go/encrypteddb/file.go index 6a6245c40360..e7815dc95ad6 100644 --- a/go/encrypteddb/file.go +++ b/go/encrypteddb/file.go @@ -22,7 +22,7 @@ func NewFile(g *libkb.GlobalContext, path string, getSecretBoxKey KeyFn) *Encryp } } -func (f *EncryptedFile) Get(ctx context.Context, res interface{}) error { +func (f *EncryptedFile) Get(ctx context.Context, res any) error { enc, err := os.ReadFile(f.path) if err != nil { return err @@ -33,7 +33,7 @@ func (f *EncryptedFile) Get(ctx context.Context, res interface{}) error { return nil } -func (f *EncryptedFile) Put(ctx context.Context, data interface{}) error { +func (f *EncryptedFile) Put(ctx context.Context, data any) error { b, err := EncodeBox(ctx, data, f.getSecretBoxKey) if err != nil { return err diff --git a/go/engine/account_delete_test.go b/go/engine/account_delete_test.go index 9555bc446a55..1840703cc21a 100644 --- a/go/engine/account_delete_test.go +++ b/go/engine/account_delete_test.go @@ -2,7 +2,6 @@ // this source code is governed by the included BSD license. //go:build !production -// +build !production // // This is a test template for the AccountDelete engine. diff --git a/go/engine/background_task.go b/go/engine/background_task.go index 268d42627161..8707ccb995cc 100644 --- a/go/engine/background_task.go +++ b/go/engine/background_task.go @@ -199,7 +199,7 @@ func (e *BackgroundTask) meta(s string) { } } -func (e *BackgroundTask) log(m libkb.MetaContext, format string, args ...interface{}) { +func (e *BackgroundTask) log(m libkb.MetaContext, format string, args ...any) { content := fmt.Sprintf(format, args...) m.Debug("%s %s", e.Name(), content) } diff --git a/go/engine/bug_3964_repairman_test.go b/go/engine/bug_3964_repairman_test.go index 0c71d27bb50e..7f9bc213e60d 100644 --- a/go/engine/bug_3964_repairman_test.go +++ b/go/engine/bug_3964_repairman_test.go @@ -30,71 +30,71 @@ func (a *auditLog) ClearLines() { a.lines = &[]string{} } -func (a *auditLog) Debug(format string, args ...interface{}) { +func (a *auditLog) Debug(format string, args ...any) { s := fmt.Sprintf(format, args...) a.l.CloneWithAddedDepth(1).Debug(s) *a.lines = append(*a.lines, s) } -func (a *auditLog) CDebugf(ctx context.Context, format string, args ...interface{}) { +func (a *auditLog) CDebugf(ctx context.Context, format string, args ...any) { s := fmt.Sprintf(format, args...) a.l.CloneWithAddedDepth(1).CDebugf(ctx, s) *a.lines = append(*a.lines, s) } -func (a *auditLog) Info(format string, args ...interface{}) { +func (a *auditLog) Info(format string, args ...any) { a.l.CloneWithAddedDepth(1).Info(format, args...) } -func (a *auditLog) CInfof(ctx context.Context, format string, args ...interface{}) { +func (a *auditLog) CInfof(ctx context.Context, format string, args ...any) { a.l.CloneWithAddedDepth(1).CInfof(ctx, format, args...) } -func (a *auditLog) Notice(format string, args ...interface{}) { +func (a *auditLog) Notice(format string, args ...any) { a.l.CloneWithAddedDepth(1).Notice(format, args...) } -func (a *auditLog) CNoticef(ctx context.Context, format string, args ...interface{}) { +func (a *auditLog) CNoticef(ctx context.Context, format string, args ...any) { a.l.CloneWithAddedDepth(1).CNoticef(ctx, format, args...) } -func (a *auditLog) Warning(format string, args ...interface{}) { +func (a *auditLog) Warning(format string, args ...any) { a.l.CloneWithAddedDepth(1).Warning(format, args...) } -func (a *auditLog) CWarningf(ctx context.Context, format string, args ...interface{}) { +func (a *auditLog) CWarningf(ctx context.Context, format string, args ...any) { a.l.CloneWithAddedDepth(1).CWarningf(ctx, format, args...) } -func (a *auditLog) Error(format string, args ...interface{}) { +func (a *auditLog) Error(format string, args ...any) { a.l.CloneWithAddedDepth(1).Errorf(format, args...) } -func (a *auditLog) Errorf(format string, args ...interface{}) { +func (a *auditLog) Errorf(format string, args ...any) { a.l.CloneWithAddedDepth(1).Errorf(format, args...) } -func (a *auditLog) CErrorf(ctx context.Context, format string, args ...interface{}) { +func (a *auditLog) CErrorf(ctx context.Context, format string, args ...any) { a.l.CloneWithAddedDepth(1).CErrorf(ctx, format, args...) } -func (a *auditLog) Critical(format string, args ...interface{}) { +func (a *auditLog) Critical(format string, args ...any) { a.l.CloneWithAddedDepth(1).Critical(format, args...) } -func (a *auditLog) CCriticalf(ctx context.Context, format string, args ...interface{}) { +func (a *auditLog) CCriticalf(ctx context.Context, format string, args ...any) { a.l.CloneWithAddedDepth(1).CCriticalf(ctx, format, args...) } -func (a *auditLog) Fatalf(format string, args ...interface{}) { +func (a *auditLog) Fatalf(format string, args ...any) { a.l.CloneWithAddedDepth(1).Fatalf(format, args...) } -func (a *auditLog) CFatalf(ctx context.Context, format string, args ...interface{}) { +func (a *auditLog) CFatalf(ctx context.Context, format string, args ...any) { a.l.CloneWithAddedDepth(1).CFatalf(ctx, format, args...) } -func (a *auditLog) Profile(fmts string, args ...interface{}) { +func (a *auditLog) Profile(fmts string, args ...any) { a.l.CloneWithAddedDepth(1).Profile(fmts, args...) } diff --git a/go/engine/concurrency_test.go b/go/engine/concurrency_test.go index d58bd9b53618..27e02e5d46c3 100644 --- a/go/engine/concurrency_test.go +++ b/go/engine/concurrency_test.go @@ -31,11 +31,11 @@ func TestConcurrentLogin(t *testing.T) { done := make(chan bool) - for i := 0; i < 10; i++ { + for i := range 10 { lwg.Add(1) go func(index int) { defer lwg.Done() - for j := 0; j < 4; j++ { + for range 4 { Logout(tc) err := u.Login(tc.G) require.NoError(t, err) @@ -83,11 +83,11 @@ func TestConcurrentGetPassphraseStream(t *testing.T) { done := make(chan bool) - for i := 0; i < 10; i++ { + for i := range 10 { lwg.Add(1) go func(index int) { defer lwg.Done() - for j := 0; j < 4; j++ { + for range 4 { Logout(tc) err := u.Login(tc.G) require.NoError(t, err) @@ -132,11 +132,11 @@ func TestConcurrentSignup(t *testing.T) { done := make(chan bool) - for i := 0; i < 10; i++ { + for i := range 10 { lwg.Add(1) go func(index int) { defer lwg.Done() - for j := 0; j < 4; j++ { + for range 4 { Logout(tc) err := u.Login(tc.G) require.NoError(t, err) @@ -173,10 +173,10 @@ func TestConcurrentGlobals(t *testing.T) { genv, } var wg sync.WaitGroup - for i := 0; i < 10; i++ { + for i := range 10 { wg.Add(1) go func(_ int) { - for j := 0; j < 10; j++ { + for range 10 { f := fns[rand.Intn(len(fns))] //nolint:gosec // G404: Test code with randomized function calls, not security-critical f(tc.G) } diff --git a/go/engine/deprovision_test.go b/go/engine/deprovision_test.go index c5e5ae5abec4..4432fde401fa 100644 --- a/go/engine/deprovision_test.go +++ b/go/engine/deprovision_test.go @@ -499,7 +499,7 @@ func TestConcurrentDeprovision(t *testing.T) { } g := new(errgroup.Group) - for i := 0; i < 5; i++ { + for range 5 { g.Go(func() error { e := NewDeprovisionEngine(tc.G, fu.Username, false, libkb.LogoutOptions{}) uis = libkb.UIs{ diff --git a/go/engine/device_add.go b/go/engine/device_add.go index 8181cc9fd0c4..7473f250568d 100644 --- a/go/engine/device_add.go +++ b/go/engine/device_add.go @@ -52,7 +52,7 @@ func (e *DeviceAdd) promptLoop(m libkb.MetaContext, provisioner *Kex2Provisioner Phrase: secret.Phrase(), OtherDeviceType: provisioneeType, } - for i := 0; i < 10; i++ { + for i := range 10 { receivedSecret, err := m.UIs().ProvisionUI.DisplayAndPromptSecret(m.Ctx(), arg) if err != nil { m.Warning("DisplayAndPromptSecret error: %s", err) diff --git a/go/engine/engine.go b/go/engine/engine.go index a64ab04574ec..a6374767479d 100644 --- a/go/engine/engine.go +++ b/go/engine/engine.go @@ -6,6 +6,7 @@ package engine import ( "fmt" "runtime/debug" + "slices" "github.com/keybase/client/go/libkb" keybase1 "github.com/keybase/client/go/protocol/keybase1" @@ -21,10 +22,8 @@ type UIDelegateWanter interface { } func requiresUI(c libkb.UIConsumer, kind libkb.UIKind) bool { - for _, ui := range c.RequiredUIs() { - if ui == kind { - return true - } + if slices.Contains(c.RequiredUIs(), kind) { + return true } for _, sub := range c.SubConsumers() { if requiresUI(sub, kind) { diff --git a/go/engine/favorite_add.go b/go/engine/favorite_add.go index aa92e3947949..e5d3a2d144ba 100644 --- a/go/engine/favorite_add.go +++ b/go/engine/favorite_add.go @@ -96,7 +96,7 @@ func (e *FavoriteAdd) checkInviteNeeded(m libkb.MetaContext) error { return nil } - for _, user := range strings.Split(e.arg.Folder.Name, ",") { + for user := range strings.SplitSeq(e.arg.Folder.Name, ",") { assertion, ok := externals.NormalizeSocialAssertion(m, user) if !ok { m.Debug("not a social assertion: %s", user) diff --git a/go/engine/features_test.go b/go/engine/features_test.go index c8787b484b24..b69a621e5de2 100644 --- a/go/engine/features_test.go +++ b/go/engine/features_test.go @@ -54,7 +54,7 @@ func TestFeatureFlagSet(t *testing.T) { require.True(t, on) fakeClock.Advance(time.Hour * 10) - for i := 0; i < 2; i++ { + for range 2 { on, err = tc.G.FeatureFlags.EnabledWithError(m, testFeature) require.NoError(t, err) require.False(t, on) diff --git a/go/engine/kex2_provisionee.go b/go/engine/kex2_provisionee.go index 69a9cd455279..77fa8c3b2172 100644 --- a/go/engine/kex2_provisionee.go +++ b/go/engine/kex2_provisionee.go @@ -94,7 +94,7 @@ type kex2LogContext struct { log logger.Logger } -func (k kex2LogContext) Debug(format string, args ...interface{}) { +func (k kex2LogContext) Debug(format string, args ...any) { k.log.Debug(format, args...) } diff --git a/go/engine/login_provision.go b/go/engine/login_provision.go index c1c6fc9f8db0..02612c3acb1e 100644 --- a/go/engine/login_provision.go +++ b/go/engine/login_provision.go @@ -214,7 +214,7 @@ func (e *loginProvision) deviceWithType(m libkb.MetaContext, provisionerType key } var contxt context.Context contxt, canceler = context.WithCancel(context.Background()) - for i := 0; i < 10; i++ { + for i := range 10 { receivedSecret, err := m.UIs().ProvisionUI.DisplayAndPromptSecret(contxt, arg) if err != nil { // cancel provisionee run: @@ -350,7 +350,7 @@ var paperKeyNotFound = libkb.NotFoundError{ func (e *loginProvision) getValidPaperKey(m libkb.MetaContext, expectedPrefix *string) (keys *libkb.DeviceWithKeys, err error) { defer m.Trace("loginProvision#getValidPaperKey", &err)() - for i := 0; i < 10; i++ { + for i := range 10 { keys, err = e.getValidPaperKeyOnce(m, i, err, expectedPrefix) if err == nil { return keys, err @@ -561,7 +561,7 @@ func (e *loginProvision) deviceName(m libkb.MetaContext) (string, error) { ExistingDevices: names, } - for i := 0; i < 10; i++ { + for range 10 { devname, err := m.UIs().ProvisionUI.PromptNewDeviceName(m.Ctx(), arg) if err != nil { return "", err diff --git a/go/engine/login_test.go b/go/engine/login_test.go index 688ce274bc85..c66486af2124 100644 --- a/go/engine/login_test.go +++ b/go/engine/login_test.go @@ -98,7 +98,7 @@ func TestLoginAndSwitchWithoutLogout(t *testing.T) { err := u.SwitchTo(tc.G, false) require.NoError(t, err) } - for i := 0; i < 3; i++ { + for range 3 { swtch(u1) swtch(u2) } @@ -614,7 +614,7 @@ func TestProvisionAutoreset(t *testing.T) { // Rather than sleeping we'll wait for autoreset by analyzing its state var lastErr error - for i := 0; i < 60; i++ { + for range 60 { // up to 60 iters * 100ms = 6s lastErr = assertAutoreset(tcX, userX.UID(), libkb.AutoresetEventReady) if lastErr == nil { @@ -1560,7 +1560,7 @@ func TestProvisionGPGSign(t *testing.T) { // this test sometimes fails at the GPG level with a "Bad signature" error, // so we're going to retry it several times to hopefully get past it. attempts := 10 - for i := 0; i < attempts; i++ { + for i := range attempts { tc := SetupEngineTest(t, "login") defer tc.Cleanup() @@ -1672,7 +1672,7 @@ func TestProvisionGPGSignSecretStore(t *testing.T) { // this test sometimes fails at the GPG level with a "Bad signature" error, // so we're going to retry it several times to hopefully get past it. attempts := 10 - for i := 0; i < attempts; i++ { + for i := range attempts { tc := SetupEngineTest(t, "login") defer tc.Cleanup() @@ -1739,7 +1739,7 @@ func TestProvisionGPGSwitchToSign(t *testing.T) { // this test sometimes fails at the GPG level with a "Bad signature" error, // so we're going to retry it several times to hopefully get past it. attempts := 10 - for i := 0; i < attempts; i++ { + for i := range attempts { tc := SetupEngineTest(t, "login") defer tc.Cleanup() @@ -2427,7 +2427,7 @@ func TestProvisionKexUseSyncPGP(t *testing.T) { func TestProvisionMultipleUsers(t *testing.T) { // make some users with synced pgp keys users := make([]*FakeUser, 3) - for i := 0; i < len(users); i++ { + for i := range users { tc := SetupEngineTest(t, "login") users[i] = createFakeUserWithPGPOnly(t, tc) Logout(tc) @@ -3512,7 +3512,7 @@ func TestBootstrapAfterGPGSign(t *testing.T) { // this test sometimes fails at the GPG level with a "Bad signature" error, // so we're going to retry it several times to hopefully get past it. attempts := 10 - for i := 0; i < attempts; i++ { + for i := range attempts { tc := SetupEngineTest(t, "login") defer tc.Cleanup() @@ -3999,7 +3999,7 @@ func newTestProvisionUIGPGSign() *testProvisionUI { return ui } -func (u *testProvisionUI) printf(format string, a ...interface{}) { +func (u *testProvisionUI) printf(format string, a ...any) { if !u.verbose { return } diff --git a/go/engine/logout.go b/go/engine/logout.go index b6b557bc03e6..93aef4629e01 100644 --- a/go/engine/logout.go +++ b/go/engine/logout.go @@ -2,6 +2,7 @@ package engine import ( "context" + "strings" "time" "github.com/keybase/client/go/libkb" @@ -48,20 +49,20 @@ func (e *LogoutEngine) printSwitchInfo(mctx libkb.MetaContext) (err error) { if len(loggedInAccounts) > 1 { maybePlural = "s" } - accountsList := "" + var accountsList strings.Builder for idx, acct := range loggedInAccounts { - accountsList += string(acct) + accountsList.WriteString(string(acct)) if idx < len(loggedInAccounts)-2 { - accountsList += ", " + accountsList.WriteString(", ") } if idx == len(loggedInAccounts)-2 { - accountsList += " and " + accountsList.WriteString(" and ") } } mctx.Info( "You can still sign in to keybase account%s %s"+ - " without a password.", maybePlural, accountsList) + " without a password.", maybePlural, accountsList.String()) } return nil } diff --git a/go/engine/merkle_client_historical_test.go b/go/engine/merkle_client_historical_test.go index e855d6c0cc7d..30ca74190dd7 100644 --- a/go/engine/merkle_client_historical_test.go +++ b/go/engine/merkle_client_historical_test.go @@ -25,7 +25,7 @@ func TestMerkleClientHistorical(t *testing.T) { require.NotNil(t, root) var sigVersion libkb.SigVersion - for i := 0; i < 3; i++ { + for i := range 3 { // Cover both v1 and v2 case if i%2 == 0 { sigVersion = libkb.KeybaseSignatureV2 @@ -57,7 +57,7 @@ func TestFindNextMerkleRootAfterRevoke(t *testing.T) { tc := SetupEngineTest(t, "merk") defer tc.Cleanup() fu := CreateAndSignupFakeUserPaper(tc, "merk") - for i := 0; i < 2; i++ { + for range 2 { v := libkb.KeybaseSignatureV2 trackAlice(tc, fu, v) untrackAlice(tc, fu, v) @@ -77,7 +77,7 @@ func TestFindNextMerkleRootAfterRevoke(t *testing.T) { require.NoError(t, err, "revoke worked") assertNumDevicesAndKeys(tc, fu, 1, 2) - for i := 0; i < 2; i++ { + for range 2 { v := libkb.KeybaseSignatureV2 trackAlice(tc, fu, v) untrackAlice(tc, fu, v) diff --git a/go/engine/paperkey_test.go b/go/engine/paperkey_test.go index ccb5e2e47379..c29e44c28e17 100644 --- a/go/engine/paperkey_test.go +++ b/go/engine/paperkey_test.go @@ -108,7 +108,7 @@ func testPaperKeyMulti(t *testing.T, upgradePerUserKey bool) { fu, _, _ := CreateAndSignupFakeUserCustomArg(tc, "login", f) - for i := 0; i < 3; i++ { + for i := range 3 { uis := libkb.UIs{ LogUI: tc.G.UI.GetLogUI(), LoginUI: &libkb.TestLoginUI{}, diff --git a/go/engine/passphrase_change_test.go b/go/engine/passphrase_change_test.go index 89cd2d37ef46..dbbe6da905cc 100644 --- a/go/engine/passphrase_change_test.go +++ b/go/engine/passphrase_change_test.go @@ -179,7 +179,7 @@ func TestPassphraseChangeKnownPrompt(t *testing.T) { // cache is properly busted. newPassphrase := "password1234" numChanges := 3 - for i := 0; i < numChanges; i++ { + for i := range numChanges { arg := &keybase1.PassphraseChangeArg{ Passphrase: newPassphrase, @@ -229,7 +229,7 @@ func TestPassphraseChangeKnownPromptRepeatOld(t *testing.T) { // cache is properly busted. newPassphrase := "password1234" numChanges := 3 - for i := 0; i < numChanges; i++ { + for i := range numChanges { arg := &keybase1.PassphraseChangeArg{ Passphrase: newPassphrase, diff --git a/go/engine/pgp_import_key.go b/go/engine/pgp_import_key.go index c21f034178fd..79f013adee11 100644 --- a/go/engine/pgp_import_key.go +++ b/go/engine/pgp_import_key.go @@ -405,7 +405,7 @@ func (e *PGPKeyImportEngine) push(m libkb.MetaContext) (err error) { m.UIs().LogUI.Info("Generated new PGP key:") d := e.bundle.VerboseDescription() - for _, line := range strings.Split(d, "\n") { + for line := range strings.SplitSeq(d, "\n") { m.UIs().LogUI.Info(" %s", line) } diff --git a/go/engine/provision_utils.go b/go/engine/provision_utils.go index 82eb56b84a06..b20cfac956e7 100644 --- a/go/engine/provision_utils.go +++ b/go/engine/provision_utils.go @@ -9,7 +9,7 @@ import ( ) func retryOnEphemeralRace(mctx libkb.MetaContext, fn func(mctx libkb.MetaContext) error) (err error) { - for attempt := 0; attempt < 5; attempt++ { + for attempt := range 5 { if err = fn(mctx); err == nil { return nil } diff --git a/go/engine/puk_upgrade_background_test.go b/go/engine/puk_upgrade_background_test.go index cdaa2d6f7843..cebec0c62e98 100644 --- a/go/engine/puk_upgrade_background_test.go +++ b/go/engine/puk_upgrade_background_test.go @@ -122,7 +122,7 @@ func TestPerUserKeyUpgradeBackgroundShutdownMiddle(t *testing.T) { expectMeta(t, metaCh, "woke-start") n := 3 - for i := 0; i < n; i++ { + for i := range n { t.Logf("check %v", i) select { case x := <-roundResCh: @@ -142,7 +142,7 @@ func TestPerUserKeyUpgradeBackgroundShutdownMiddle(t *testing.T) { eng.Shutdown() expectMeta(t, metaCh, "loop-exit") - for i := 0; i < 2; i++ { + for range 2 { advance(PerUserKeyUpgradeBackgroundSettings.Interval) select { case x := <-roundResCh: diff --git a/go/engine/scanproofs.go b/go/engine/scanproofs.go index b8e4cfe1f46c..150b48f4fee8 100644 --- a/go/engine/scanproofs.go +++ b/go/engine/scanproofs.go @@ -455,7 +455,7 @@ func (e *ScanProofsEngine) GetRemoteProofChainLink(m libkb.MetaContext, uid keyb } func (e *ScanProofsEngine) ParseIndices(indices string) (start int, end int, reterr error) { - wrap := func(format string, arg ...interface{}) error { + wrap := func(format string, arg ...any) error { f2 := fmt.Sprintf("Invalid indices: %s", format) return fmt.Errorf(f2, arg...) } diff --git a/go/engine/template.go b/go/engine/template.go index 691278979544..76d6cac4e3c3 100644 --- a/go/engine/template.go +++ b/go/engine/template.go @@ -2,7 +2,6 @@ // this source code is governed by the included BSD license. //go:build ignore -// +build ignore // // This is a template for an engine. diff --git a/go/engine/template_test.go b/go/engine/template_test.go index 323e6532e803..6eb13348b392 100644 --- a/go/engine/template_test.go +++ b/go/engine/template_test.go @@ -2,7 +2,6 @@ // this source code is governed by the included BSD license. //go:build ignore -// +build ignore // // This is a test template for the Template engine. diff --git a/go/engine/track_test.go b/go/engine/track_test.go index 3717be0b9e5e..b48d55ac8e3c 100644 --- a/go/engine/track_test.go +++ b/go/engine/track_test.go @@ -327,7 +327,7 @@ func _testIdentifyTrackRaceDetection(t *testing.T, sigVersion libkb.SigVersion) require.Equal(tc.T, tse.FirstTrack, firstTrack) } - for i := 0; i < 2; i++ { + for i := range 2 { fui1 := &FakeIdentifyUI{} fui2 := &FakeIdentifyUI{} doID(dev1, fui1) diff --git a/go/engine/wot_react.go b/go/engine/wot_react.go index 9499f31c169a..8ce967a3d33c 100644 --- a/go/engine/wot_react.go +++ b/go/engine/wot_react.go @@ -127,7 +127,7 @@ func (e *WotReact) Run(mctx libkb.MetaContext) error { } payload := make(libkb.JSONPayload) - payload["sigs"] = []interface{}{item} + payload["sigs"] = []any{item} if _, err := e.G().API.PostJSON(mctx, libkb.APIArg{ Endpoint: "sig/multi", diff --git a/go/engine/wot_vouch.go b/go/engine/wot_vouch.go index 3a8750ab31ea..54ca42139057 100644 --- a/go/engine/wot_vouch.go +++ b/go/engine/wot_vouch.go @@ -198,7 +198,7 @@ func (e *WotVouch) Run(mctx libkb.MetaContext) error { } payload := make(libkb.JSONPayload) - payload["sigs"] = []interface{}{item} + payload["sigs"] = []any{item} if lease != nil { payload["downgrade_lease_id"] = lease.LeaseID } diff --git a/go/ephemeral/device_ek_storage.go b/go/ephemeral/device_ek_storage.go index 5cb6162b0638..599af2e39de8 100644 --- a/go/ephemeral/device_ek_storage.go +++ b/go/ephemeral/device_ek_storage.go @@ -4,6 +4,7 @@ import ( "fmt" "log" "math" + "slices" "sort" "strconv" "strings" @@ -109,7 +110,7 @@ func (s *DeviceEKStorage) SetLogPrefix(mctx libkb.MetaContext) { // Log sensitive deletion actions to a separate log file so we don't lose the // logs during normal rotation. -func (s *DeviceEKStorage) ekLogf(mctx libkb.MetaContext, format string, args ...interface{}) { +func (s *DeviceEKStorage) ekLogf(mctx libkb.MetaContext, format string, args ...any) { mctx.Debug(format, args...) if s.logger != nil { s.logger.Printf(format, args...) @@ -292,7 +293,7 @@ func (s *DeviceEKStorage) get(mctx libkb.MetaContext, generation keybase1.EkGene } func (s *DeviceEKStorage) Delete(mctx libkb.MetaContext, generation keybase1.EkGeneration, - reason string, args ...interface{}, + reason string, args ...any, ) (err error) { s.Lock() defer s.Unlock() @@ -300,7 +301,7 @@ func (s *DeviceEKStorage) Delete(mctx libkb.MetaContext, generation keybase1.EkG } func (s *DeviceEKStorage) delete(mctx libkb.MetaContext, generation keybase1.EkGeneration, - reason string, args ...interface{}, + reason string, args ...any, ) (err error) { defer s.ekLogCTrace(mctx, fmt.Sprintf("DeviceEKStorage#delete: generation:%v reason: %s", generation, fmt.Sprintf(reason, args...)), &err)() @@ -535,7 +536,7 @@ func (s *DeviceEKStorage) getExpiredGenerations(mctx libkb.MetaContext, keyMap k for k := range keyMap { keys = append(keys, k) } - sort.Slice(keys, func(i, j int) bool { return keys[i] < keys[j] }) + slices.Sort(keys) for i, generation := range keys { keyCtime := keyMap[generation].Time() @@ -544,11 +545,9 @@ func (s *DeviceEKStorage) getExpiredGenerations(mctx libkb.MetaContext, keyMap k // to be at most libkb.MaxEphemeralKeyStaleness expiryOffset1 := libkb.MaxEphemeralKeyStaleness if i < len(keys)-1 { - expiryOffset1 = keyMap[keys[i+1]].Time().Sub(keyCtime) - // Offset can be max libkb.MaxEphemeralKeyStaleness - if expiryOffset1 > libkb.MaxEphemeralKeyStaleness { - expiryOffset1 = libkb.MaxEphemeralKeyStaleness - } + expiryOffset1 = min( + // Offset can be max libkb.MaxEphemeralKeyStaleness + keyMap[keys[i+1]].Time().Sub(keyCtime), libkb.MaxEphemeralKeyStaleness) } // Offset between the key one generation older and two generations @@ -556,10 +555,7 @@ func (s *DeviceEKStorage) getExpiredGenerations(mctx libkb.MetaContext, keyMap k // libkb.MaxEphemeralKeyStaleness expiryOffset2 := libkb.MaxEphemeralKeyStaleness if i < len(keys)-2 { - expiryOffset2 = keyMap[keys[i+2]].Time().Sub(keyMap[keys[i+1]].Time()) - if expiryOffset2 > libkb.MaxEphemeralKeyStaleness { - expiryOffset2 = libkb.MaxEphemeralKeyStaleness - } + expiryOffset2 = min(keyMap[keys[i+2]].Time().Sub(keyMap[keys[i+1]].Time()), libkb.MaxEphemeralKeyStaleness) } expiryOffset := expiryOffset1 + expiryOffset2 diff --git a/go/ephemeral/device_ek_storage_test.go b/go/ephemeral/device_ek_storage_test.go index 53de348c7b90..0e9f24fa943f 100644 --- a/go/ephemeral/device_ek_storage_test.go +++ b/go/ephemeral/device_ek_storage_test.go @@ -337,7 +337,7 @@ func TestDeviceEKStorageDeleteExpiredKeys(t *testing.T) { // Test multiple gaps, only the last key is valid though. keyMap = make(keyExpiryMap) numKeys := 5 - for i := 0; i < numKeys; i++ { + for i := range numKeys { keyMap[keybase1.EkGeneration((numKeys - i - 1))] = keybase1.ToTime(now.Add(-(libkb.MaxEphemeralKeyStaleness*time.Duration(i) + libkb.MinEphemeralKeyLifetime))) } expired = s.getExpiredGenerations(mctx, keyMap, now) diff --git a/go/ephemeral/lib.go b/go/ephemeral/lib.go index 217fc518ed7c..df832e8f3376 100644 --- a/go/ephemeral/lib.go +++ b/go/ephemeral/lib.go @@ -173,7 +173,7 @@ func (e *EKLib) KeygenIfNeeded(mctx libkb.MetaContext) (err error) { } }() - for tries := 0; tries < maxRetries; tries++ { + for tries := range maxRetries { mctx.Debug("keygenIfNeeded attempt #%d: %v", tries, err) merkleRootPtr, err := mctx.G().GetMerkleClient().FetchRootFromServer(mctx, libkb.EphemeralKeyMerkleFreshness) if err != nil { @@ -448,7 +448,7 @@ func (e *EKLib) teambotCacheKey(teamID keybase1.TeamID, botUID keybase1.UID, gen return fmt.Sprintf("%s-%s-%d", teamID, botUID, generation) } -func (e *EKLib) isEntryExpired(val interface{}) (*teamEKGenCacheEntry, bool) { +func (e *EKLib) isEntryExpired(val any) (*teamEKGenCacheEntry, bool) { cacheEntry, ok := val.(*teamEKGenCacheEntry) if !ok || cacheEntry == nil { return nil, false diff --git a/go/ephemeral/team_ek.go b/go/ephemeral/team_ek.go index 493c7a246aed..9a93aafe3867 100644 --- a/go/ephemeral/team_ek.go +++ b/go/ephemeral/team_ek.go @@ -297,7 +297,7 @@ func (k *TeamEphemeralKeyer) Unbox(mctx libkb.MetaContext, boxed keybase1.TeamEp // of posting a new key, causing the post to fail. Detect these conditions // and retry. func teamEKRetryWrapper(mctx libkb.MetaContext, retryFn func() error) (err error) { - for tries := 0; tries < maxRetries; tries++ { + for tries := range maxRetries { if err = retryFn(); err == nil { return nil } diff --git a/go/ephemeral/teambot_ek.go b/go/ephemeral/teambot_ek.go index 1322fd83deed..a6b63cfce026 100644 --- a/go/ephemeral/teambot_ek.go +++ b/go/ephemeral/teambot_ek.go @@ -124,7 +124,7 @@ func fetchLatestTeambotEK(mctx libkb.MetaContext, teamID keybase1.TeamID) (metad var parsedResponse teambot.TeambotKeyResponse gotResult := false - for i := 0; i < 10; i++ { + for i := range 10 { apiArg := libkb.APIArg{ Endpoint: "teambot/key", SessionType: libkb.APISessionTypeREQUIRED, diff --git a/go/ephemeral/user_ek_box_storage.go b/go/ephemeral/user_ek_box_storage.go index 82ce511526ed..8f08dff24674 100644 --- a/go/ephemeral/user_ek_box_storage.go +++ b/go/ephemeral/user_ek_box_storage.go @@ -2,7 +2,7 @@ package ephemeral import ( "fmt" - "sort" + "slices" "sync" "time" @@ -402,17 +402,15 @@ func (s *UserEKBoxStorage) getExpiredGenerations(mctx libkb.MetaContext, keyMap for k := range keyMap { keys = append(keys, k) } - sort.Slice(keys, func(i, j int) bool { return keys[i] < keys[j] }) + slices.Sort(keys) for i, generation := range keys { keyCtime := keyMap[generation].Time() expiryOffset := libkb.MaxEphemeralKeyStaleness if i < len(keys)-1 { - expiryOffset = keyMap[keys[i+1]].Time().Sub(keyCtime) - // Offset can be max libkb.MaxEphemeralKeyStaleness - if expiryOffset > libkb.MaxEphemeralKeyStaleness { - expiryOffset = libkb.MaxEphemeralKeyStaleness - } + expiryOffset = min( + // Offset can be max libkb.MaxEphemeralKeyStaleness + keyMap[keys[i+1]].Time().Sub(keyCtime), libkb.MaxEphemeralKeyStaleness) } if now.Sub(keyCtime) >= (libkb.MinEphemeralKeyLifetime + expiryOffset) { mctx.Debug("getExpiredGenerations: expired generation:%v, now: %v, keyCtime:%v, expiryOffset:%v, keyMap: %v, i:%v, %v, %v", diff --git a/go/ephemeral/user_ek_box_storage_test.go b/go/ephemeral/user_ek_box_storage_test.go index a85c270c6316..ef85e1c2c14d 100644 --- a/go/ephemeral/user_ek_box_storage_test.go +++ b/go/ephemeral/user_ek_box_storage_test.go @@ -199,7 +199,7 @@ func TestUserEKBoxStorageDeleteExpiredKeys(t *testing.T) { // Test multiple gaps, only the last key is valid though. keyMap = make(keyExpiryMap) numKeys := 5 - for i := 0; i < numKeys; i++ { + for i := range numKeys { keyMap[keybase1.EkGeneration((numKeys - i - 1))] = keybase1.ToTime(now.Add(-libkb.MaxEphemeralKeyStaleness * time.Duration(i))) } expired = s.getExpiredGenerations(mctx, keyMap, now) diff --git a/go/externals/implicit_team_test.go b/go/externals/implicit_team_test.go index f53a1fe0014d..e7a5cbe6cbbf 100644 --- a/go/externals/implicit_team_test.go +++ b/go/externals/implicit_team_test.go @@ -8,6 +8,7 @@ import ( "context" "encoding/hex" "fmt" + "slices" "testing" "github.com/stretchr/testify/require" @@ -18,12 +19,7 @@ import ( ) func containsString(xs []string, target string) bool { - for _, x := range xs { - if x == target { - return true - } - } - return false + return slices.Contains(xs, target) } func TestParseImplicitTeamTLFName(t *testing.T) { diff --git a/go/externals/proof_checkers_devel.go b/go/externals/proof_checkers_devel.go index ac3e9d607b24..b4865f7aa39b 100644 --- a/go/externals/proof_checkers_devel.go +++ b/go/externals/proof_checkers_devel.go @@ -2,7 +2,6 @@ // this source code is governed by the included BSD license. //go:build !production && !staging -// +build !production,!staging package externals diff --git a/go/externals/proof_checkers_production.go b/go/externals/proof_checkers_production.go index 0bc5e0037b73..b534fd768bf2 100644 --- a/go/externals/proof_checkers_production.go +++ b/go/externals/proof_checkers_production.go @@ -2,7 +2,6 @@ // this source code is governed by the included BSD license. //go:build production || staging -// +build production staging package externals diff --git a/go/externals/proof_service_rooter.go b/go/externals/proof_service_rooter.go index c8a8228a863c..efa9ef5a11e9 100644 --- a/go/externals/proof_service_rooter.go +++ b/go/externals/proof_service_rooter.go @@ -2,7 +2,6 @@ // this source code is governed by the included BSD license. //go:build !production -// +build !production package externals diff --git a/go/externalstest/test_common.go b/go/externalstest/test_common.go index 32dd495defb7..60fb6d0ca5f6 100644 --- a/go/externalstest/test_common.go +++ b/go/externalstest/test_common.go @@ -2,7 +2,6 @@ // this source code is governed by the included BSD license. //go:build !production -// +build !production package externalstest diff --git a/go/git/get.go b/go/git/get.go index 6e1a7b00308d..1c44e01c5c26 100644 --- a/go/git/get.go +++ b/go/git/get.go @@ -165,7 +165,7 @@ func getMetadataInner(ctx context.Context, g *libkb.GlobalContext, folder *keyba var firstErr error var anySuccess bool numUnboxThreads := 2 - for i := 0; i < numUnboxThreads; i++ { + for range numUnboxThreads { eg.Go(func() error { for responseRepo := range repoCh { info, skip, err := getMetadataInnerSingle(ctx, g, folder, responseRepo) diff --git a/go/go.mod b/go/go.mod index 38a719ab678c..9dcbad4f752c 100644 --- a/go/go.mod +++ b/go/go.mod @@ -222,6 +222,7 @@ tool ( github.com/golang/mock/mockgen golang.org/x/mobile/cmd/gobind golang.org/x/mobile/cmd/gomobile + golang.org/x/tools/cmd/goimports golang.org/x/vuln/cmd/govulncheck mvdan.cc/gofumpt ) diff --git a/go/gregor/client/client.go b/go/gregor/client/client.go index bdc8c0615717..6f8560004349 100644 --- a/go/gregor/client/client.go +++ b/go/gregor/client/client.go @@ -490,7 +490,7 @@ func (c *Client) outboxSend() { return } var index int - for index = 0; index < len(msgs); index++ { + for index = range msgs { m := msgs[index] // Look for a message that we already have in our state and skip ibm := m.ToInBandMessage() diff --git a/go/home/home.go b/go/home/home.go index dd349639ac3d..79502bb9c60c 100644 --- a/go/home/home.go +++ b/go/home/home.go @@ -122,10 +122,7 @@ func (h *Home) getToCache(ctx context.Context, markedViewed bool, numPeopleWante mctx := libkb.NewMetaContext(ctx, h.G()) defer mctx.Trace("Home#getToCache", &err)() - numPeopleToRequest := 100 - if numPeopleWanted > numPeopleToRequest { - numPeopleToRequest = numPeopleWanted - } + numPeopleToRequest := max(numPeopleWanted, 100) if skipPeople { numPeopleToRequest = 0 } diff --git a/go/install/fuse_status_darwin.go b/go/install/fuse_status_darwin.go index ec707f3ec0b1..326d7a9dd365 100644 --- a/go/install/fuse_status_darwin.go +++ b/go/install/fuse_status_darwin.go @@ -2,7 +2,6 @@ // this source code is governed by the included BSD license. //go:build darwin && !ios -// +build darwin,!ios package install diff --git a/go/install/fuse_status_darwin_test.go b/go/install/fuse_status_darwin_test.go index 10e8093ac266..86cc82bf1194 100644 --- a/go/install/fuse_status_darwin_test.go +++ b/go/install/fuse_status_darwin_test.go @@ -2,7 +2,6 @@ // this source code is governed by the included BSD license. //go:build darwin -// +build darwin package install diff --git a/go/install/fuse_status_default.go b/go/install/fuse_status_default.go index 599643e6d19f..138fe8584153 100644 --- a/go/install/fuse_status_default.go +++ b/go/install/fuse_status_default.go @@ -2,7 +2,6 @@ // this source code is governed by the included BSD license. //go:build (!darwin && !windows) || ios -// +build !darwin,!windows ios package install diff --git a/go/install/fuse_status_windows.go b/go/install/fuse_status_windows.go index 2e4ee356c96c..a80e3ffb3589 100644 --- a/go/install/fuse_status_windows.go +++ b/go/install/fuse_status_windows.go @@ -2,7 +2,6 @@ // this source code is governed by the included BSD license. //go:build windows -// +build windows package install diff --git a/go/install/install.go b/go/install/install.go index 5b6605a9f4e2..cac610807fe1 100644 --- a/go/install/install.go +++ b/go/install/install.go @@ -21,10 +21,10 @@ import ( // Log is the logging interface for this package type Log interface { - Debug(s string, args ...interface{}) - Info(s string, args ...interface{}) - Warning(s string, args ...interface{}) - Errorf(s string, args ...interface{}) + Debug(s string, args ...any) + Info(s string, args ...any) + Warning(s string, args ...any) + Errorf(s string, args ...any) } // Context is the environment for this package diff --git a/go/install/install_darwin_test.go b/go/install/install_darwin_test.go index 36aa5d6d5441..7e5cdd0f5173 100644 --- a/go/install/install_darwin_test.go +++ b/go/install/install_darwin_test.go @@ -2,7 +2,6 @@ // this source code is governed by the included BSD license. //go:build darwin -// +build darwin package install diff --git a/go/install/install_darwinwindows.go b/go/install/install_darwinwindows.go index 3a58877d4ee1..a15e0c50712f 100644 --- a/go/install/install_darwinwindows.go +++ b/go/install/install_darwinwindows.go @@ -2,7 +2,6 @@ // this source code is governed by the included BSD license. //go:build darwin || windows -// +build darwin windows package install diff --git a/go/install/install_default.go b/go/install/install_default.go index d26b652180ee..1fde29084eda 100644 --- a/go/install/install_default.go +++ b/go/install/install_default.go @@ -2,7 +2,6 @@ // this source code is governed by the included BSD license. //go:build !darwin && !windows -// +build !darwin,!windows package install diff --git a/go/install/install_nix.go b/go/install/install_nix.go index 17b002ab30ab..5166cac37c6f 100644 --- a/go/install/install_nix.go +++ b/go/install/install_nix.go @@ -2,7 +2,6 @@ // this source code is governed by the included BSD license. //go:build !windows -// +build !windows package install diff --git a/go/install/install_test.go b/go/install/install_test.go index 32aaaf9c393b..704b85268ad0 100644 --- a/go/install/install_test.go +++ b/go/install/install_test.go @@ -2,7 +2,6 @@ // this source code is governed by the included BSD license. //go:build darwin -// +build darwin package install diff --git a/go/install/install_unix.go b/go/install/install_unix.go index d1a84ba9dd00..590fc36cad5b 100644 --- a/go/install/install_unix.go +++ b/go/install/install_unix.go @@ -2,7 +2,6 @@ // this source code is governed by the included BSD license. //go:build linux || freebsd || netbsd || openbsd -// +build linux freebsd netbsd openbsd package install diff --git a/go/install/install_windows_test.go b/go/install/install_windows_test.go index 9a660da3085f..82cb9ae32ae8 100644 --- a/go/install/install_windows_test.go +++ b/go/install/install_windows_test.go @@ -2,7 +2,6 @@ // this source code is governed by the included BSD license. //go:build windows -// +build windows package install diff --git a/go/install/libnativeinstaller/app.go b/go/install/libnativeinstaller/app.go index d488ad45a1f2..31b1e9b7a4a4 100644 --- a/go/install/libnativeinstaller/app.go +++ b/go/install/libnativeinstaller/app.go @@ -16,10 +16,10 @@ import ( // Log is the logging interface for this package type Log interface { - Debug(s string, args ...interface{}) - Info(s string, args ...interface{}) - Warning(s string, args ...interface{}) - Errorf(s string, args ...interface{}) + Debug(s string, args ...any) + Info(s string, args ...any) + Warning(s string, args ...any) + Errorf(s string, args ...any) } // Context is the environment for install package. diff --git a/go/install/stop_darwin.go b/go/install/stop_darwin.go index c471d10127f5..6764d86277fd 100644 --- a/go/install/stop_darwin.go +++ b/go/install/stop_darwin.go @@ -2,7 +2,6 @@ // this source code is governed by the included BSD license. //go:build darwin -// +build darwin package install diff --git a/go/install/stop_nix.go b/go/install/stop_nix.go index 99cf3c3e61f0..dc377a6b44fe 100644 --- a/go/install/stop_nix.go +++ b/go/install/stop_nix.go @@ -2,7 +2,6 @@ // this source code is governed by the included BSD license. //go:build (!windows && !darwin) || netbsd || openbsd || freebsd -// +build !windows,!darwin netbsd openbsd freebsd package install diff --git a/go/install/stop_windows.go b/go/install/stop_windows.go index 2babe6493e27..8f53eaaab7b3 100644 --- a/go/install/stop_windows.go +++ b/go/install/stop_windows.go @@ -2,7 +2,6 @@ // this source code is governed by the included BSD license. //go:build windows -// +build windows package install diff --git a/go/install/terminate_mobile.go b/go/install/terminate_mobile.go index 4edd9653c38e..0d04ac7900d8 100644 --- a/go/install/terminate_mobile.go +++ b/go/install/terminate_mobile.go @@ -1,5 +1,4 @@ //go:build ios || android -// +build ios android package install diff --git a/go/install/terminate_nonmobile.go b/go/install/terminate_nonmobile.go index 562870d2d16c..fe5c497902f0 100644 --- a/go/install/terminate_nonmobile.go +++ b/go/install/terminate_nonmobile.go @@ -1,5 +1,4 @@ //go:build !ios && !android -// +build !ios,!android package install diff --git a/go/install/update.go b/go/install/update.go index 41d988bf53d6..d045c1bf7fb9 100644 --- a/go/install/update.go +++ b/go/install/update.go @@ -2,7 +2,6 @@ // this source code is governed by the included BSD license. //go:build !darwin || ios -// +build !darwin ios package install diff --git a/go/install/winversion.go b/go/install/winversion.go index 969c19c46784..e4fb144b20b5 100644 --- a/go/install/winversion.go +++ b/go/install/winversion.go @@ -4,7 +4,6 @@ // Adapted mainly from github.com/gonutz/w32 //go:build windows -// +build windows package install diff --git a/go/jsonhelpers/json_helpers.go b/go/jsonhelpers/json_helpers.go index 23c4a4f4664f..5b56805242b6 100644 --- a/go/jsonhelpers/json_helpers.go +++ b/go/jsonhelpers/json_helpers.go @@ -58,7 +58,7 @@ func jsonUnpackArray(w *jsonw.Wrapper) ([]*jsonw.Wrapper, error) { return nil, err } res := make([]*jsonw.Wrapper, length) - for i := 0; i < length; i++ { + for i := range length { res[i] = w.AtIndex(i) } return res, nil @@ -93,7 +93,7 @@ func JSONGetChildren(w *jsonw.Wrapper) ([]*jsonw.Wrapper, error) { // ([], nil) will be returned. This is because a selector may descend into // many subtrees and fail in all but one. func AtSelectorPath(selectedObject *jsonw.Wrapper, selectors []keybase1.SelectorEntry, - logger func(format string, arg ...interface{}), mkErr func(selector keybase1.SelectorEntry) error, + logger func(format string, arg ...any), mkErr func(selector keybase1.SelectorEntry) error, ) ([]*jsonw.Wrapper, error) { // The terminating condition is when we've consumed all the selectors. if len(selectors) == 0 { diff --git a/go/kbcrypto/signature_prefix_devel.go b/go/kbcrypto/signature_prefix_devel.go index 94dd4fbad6a6..4f17fdf8fe68 100644 --- a/go/kbcrypto/signature_prefix_devel.go +++ b/go/kbcrypto/signature_prefix_devel.go @@ -2,7 +2,6 @@ // this source code is governed by the included BSD license. //go:build !production -// +build !production package kbcrypto diff --git a/go/kbcrypto/signature_prefix_production.go b/go/kbcrypto/signature_prefix_production.go index bb8bce5599e4..c53e92d2ee18 100644 --- a/go/kbcrypto/signature_prefix_production.go +++ b/go/kbcrypto/signature_prefix_production.go @@ -2,7 +2,6 @@ // this source code is governed by the included BSD license. //go:build production -// +build production package kbcrypto diff --git a/go/kbfs/cache/cache.go b/go/kbfs/cache/cache.go index e119a77f92fb..4b3b47b4e9e4 100644 --- a/go/kbfs/cache/cache.go +++ b/go/kbfs/cache/cache.go @@ -123,7 +123,7 @@ func NewLRUEvictedCache(maxBytes int) Cache { maxBytes: maxBytes, } c.data = &lru.Cache{ - OnEvicted: func(key lru.Key, value interface{}) { + OnEvicted: func(key lru.Key, value any) { // No locking is needed in this function because we do them in // public methods Get/Add, and RemoveOldest() is only called in the // Add method. diff --git a/go/kbfs/cache/size_utils.go b/go/kbfs/cache/size_utils.go index 936448daa0d5..172a2310a8e1 100644 --- a/go/kbfs/cache/size_utils.go +++ b/go/kbfs/cache/size_utils.go @@ -98,7 +98,7 @@ func mapKeyOrValueSizeWithIndirectPointerOverhead(rawSize int) int { // itself, etc.). If needed, dynamic sized stuff (slice/map content, pointer // content should be calculated separately by caller. func StaticSizeOfMap( - zeroValueKey, zeroValueValue interface{}, count int, + zeroValueKey, zeroValueValue any, count int, ) (bytes int) { return StaticSizeOfMapWithSize(int(reflect.TypeOf(zeroValueKey).Size()), int(reflect.TypeOf(zeroValueValue).Size()), count) diff --git a/go/kbfs/data/bcache.go b/go/kbfs/data/bcache.go index c0899878195e..3b78fed53d7c 100644 --- a/go/kbfs/data/bcache.go +++ b/go/kbfs/data/bcache.go @@ -129,7 +129,7 @@ func (b *BlockCacheStandard) subtractBlockBytes(block Block) { } } -func (b *BlockCacheStandard) onEvict(key interface{}, value interface{}) { +func (b *BlockCacheStandard) onEvict(key any, value any) { block, ok := value.(Block) if !ok { return diff --git a/go/kbfs/data/bcache_test.go b/go/kbfs/data/bcache_test.go index 3b6936c70f51..761e1bc7eec5 100644 --- a/go/kbfs/data/bcache_test.go +++ b/go/kbfs/data/bcache_test.go @@ -196,7 +196,7 @@ func TestBlockCacheEvictOnBytes(t *testing.T) { bcache := blockCacheTestInit(t, 1000, 5) tlf := tlf.FakeID(1, tlf.Private) - for i := byte(0); i < 8; i++ { + for i := range byte(8) { block := &FileBlock{ Contents: make([]byte, 1), } @@ -208,7 +208,7 @@ func TestBlockCacheEvictOnBytes(t *testing.T) { } // Only blocks 3 through 7 should be left - for i := byte(0); i < 3; i++ { + for i := range byte(3) { id := kbfsblock.FakeID(i) testExpectedMissing(t, id, bcache) } diff --git a/go/kbfs/data/block_tree.go b/go/kbfs/data/block_tree.go index 2788dff73fdc..5d446f3abee0 100644 --- a/go/kbfs/data/block_tree.go +++ b/go/kbfs/data/block_tree.go @@ -8,6 +8,7 @@ import ( "context" "fmt" "sort" + "strings" "sync" "github.com/gammazero/workerpool" @@ -797,7 +798,8 @@ func (bt *blockTree) String() string { level := []BlockWithPtrs{block} // TODO: use a `bytes.Buffer` instead of a regular string here if // we ever use this function from real code. - res := "\n---------------\n" + var res strings.Builder + res.WriteString("\n---------------\n") for len(level) > 0 { var nextLevel []BlockWithPtrs for i, block := range level { @@ -806,7 +808,7 @@ func (bt *blockTree) String() string { } for j := 0; j < block.NumIndirectPtrs(); j++ { info, off := block.IndirectPtr(j) - res += fmt.Sprintf("\"%s\" ", off) + fmt.Fprintf(&res, "\"%s\" ", off) if info.DirectType == DirectBlock { continue } @@ -818,14 +820,14 @@ func (bt *blockTree) String() string { nextLevel = append(nextLevel, child) } if i+1 < len(level) { - res += "| " + res.WriteString("| ") } } - res += "\n" + res.WriteString("\n") level = nextLevel } - res += "---------------\n" - return res + res.WriteString("---------------\n") + return res.String() } // shiftBlocksToFillHole should be called after newRightBlock when the @@ -1115,10 +1117,7 @@ func (bt *blockTree) readyHelper( for level := len(pathsFromRoot[0]) - 1; level > 0; level-- { eg, groupCtx := errgroup.WithContext(ctx) indices := make(chan int, len(pathsFromRoot)) - numWorkers := len(pathsFromRoot) - if numWorkers > maxParallelReadies { - numWorkers = maxParallelReadies - } + numWorkers := min(len(pathsFromRoot), maxParallelReadies) worker := func() error { for i := range indices { @@ -1131,11 +1130,11 @@ func (bt *blockTree) readyHelper( } return nil } - for i := 0; i < numWorkers; i++ { + for range numWorkers { eg.Go(worker) } - for i := 0; i < len(pathsFromRoot); i++ { + for i := range pathsFromRoot { indices <- i } close(indices) diff --git a/go/kbfs/data/block_types.go b/go/kbfs/data/block_types.go index 999f4ed35eca..6e07a3f015a5 100644 --- a/go/kbfs/data/block_types.go +++ b/go/kbfs/data/block_types.go @@ -6,6 +6,7 @@ package data import ( "fmt" + "maps" "strconv" "sync" @@ -286,9 +287,7 @@ func (db *DirBlock) Set(other Block) { // DeepCopy makes a complete copy of a DirBlock func (db *DirBlock) DeepCopy() *DirBlock { childrenCopy := make(map[string]DirEntry, len(db.Children)) - for k, v := range db.Children { - childrenCopy[k] = v - } + maps.Copy(childrenCopy, db.Children) var iptrsCopy []IndirectDirPtr if db.IsInd { iptrsCopy = make([]IndirectDirPtr, len(db.IPtrs)) diff --git a/go/kbfs/data/block_types_test.go b/go/kbfs/data/block_types_test.go index 17b14863b7c0..dea55b508a91 100644 --- a/go/kbfs/data/block_types_test.go +++ b/go/kbfs/data/block_types_test.go @@ -5,6 +5,7 @@ package data import ( + "maps" "sync" "testing" @@ -120,9 +121,7 @@ func (dbf *dirBlockFuture) NewEmpty() Block { func (dbf *dirBlockFuture) Set(other Block) { otherDbf := other.(*dirBlockFuture) childrenCopy := make(map[string]dirEntryFuture, len(otherDbf.Children)) - for k, v := range otherDbf.Children { - childrenCopy[k] = v - } + maps.Copy(childrenCopy, otherDbf.Children) ptrsCopy := make([]indirectDirPtrFuture, len(otherDbf.IPtrs)) copy(ptrsCopy, otherDbf.IPtrs) dbf.Children = childrenCopy diff --git a/go/kbfs/data/bsplitter_simple.go b/go/kbfs/data/bsplitter_simple.go index fe7c79e54630..4af369524b23 100644 --- a/go/kbfs/data/bsplitter_simple.go +++ b/go/kbfs/data/bsplitter_simple.go @@ -66,7 +66,7 @@ func NewBlockSplitterSimple(desiredBlockSize int64, // attempts), because the overhead is not constant across // different Contents lengths (probably due to variable length // encoding of the buffer size). - for i := 0; i < 10; i++ { + for range 10 { block.Contents = fullData[:maxSize] encodedBlock, err := codec.Encode(block) if err != nil { @@ -96,10 +96,9 @@ func NewBlockSplitterSimple(desiredBlockSize int64, // the number of realistic indirect pointers you can fit into the // default block size. TODO: calculate this number more exactly // during initialization for a given `maxSize`. - maxPtrs := int(.75 * float64(maxSize/int64(BPSize))) //nolint:gosec // G115: maxSize is bounded by config - if maxPtrs < 2 { - maxPtrs = 2 - } + maxPtrs := max( + //nolint:gosec // G115: maxSize is bounded by config + int(.75*float64(maxSize/int64(BPSize))), 2) maxDirEntriesPerBlock, err := getMaxDirEntriesPerBlock() if err != nil { diff --git a/go/kbfs/data/data_types.go b/go/kbfs/data/data_types.go index 2aec725c84ea..423b12c6b8a1 100644 --- a/go/kbfs/data/data_types.go +++ b/go/kbfs/data/data_types.go @@ -245,7 +245,7 @@ func (bi BlockInfo) String() string { } // BPSize is the estimated size of a block pointer in bytes. -var BPSize = uint64(reflect.TypeOf(BlockPointer{}).Size()) +var BPSize = uint64(reflect.TypeFor[BlockPointer]().Size()) // ReadyBlockData is a block that has been encoded (and encrypted). type ReadyBlockData struct { diff --git a/go/kbfs/data/dirty_bcache.go b/go/kbfs/data/dirty_bcache.go index 36a837f916db..79d2157e1c1f 100644 --- a/go/kbfs/data/dirty_bcache.go +++ b/go/kbfs/data/dirty_bcache.go @@ -355,11 +355,8 @@ func (d *DirtyBlockCacheStandard) maybeDecreaseBuffer(start time.Time, // started, and multiply that by the entire fracTimeoutUsed, // since subtracting percentages in this way doesn't make a // whole lot of sense. - d.syncBufferCap = int64(float64(d.syncBufferCap) * - (1 - (fracTimeoutUsed - soFar))) - if d.syncBufferCap < d.minSyncBufCap { - d.syncBufferCap = d.minSyncBufCap - } + d.syncBufferCap = max(int64(float64(d.syncBufferCap)* + (1-(fracTimeoutUsed-soFar))), d.minSyncBufCap) d.log.CDebugf(context.TODO(), "Writes blocked for %s (%f%% of timeout), "+ "syncBufferCap=%d", timeoutUsed, fracTimeoutUsed*100, d.syncBufferCap) @@ -615,10 +612,7 @@ func (d *DirtyBlockCacheStandard) SyncFinished(_ tlf.ID, size int64) { // If the outstanding bytes have timed out, don't count them // towards the buffer increase. - ignore := d.ignoreSyncBytes - if ignore > size { - ignore = size - } + ignore := min(d.ignoreSyncBytes, size) bufferIncrease := size - ignore d.ignoreSyncBytes -= ignore diff --git a/go/kbfs/data/file_data.go b/go/kbfs/data/file_data.go index 69da8a41c95c..629973c1fd9c 100644 --- a/go/kbfs/data/file_data.go +++ b/go/kbfs/data/file_data.go @@ -182,10 +182,7 @@ func (fd *FileData) getByteSlicesInOffsetRange(ctx context.Context, if nextByte >= lastByteInBlock { if nextIPtrOff > 0 { - fill := int64(nextIPtrOff) - nextByte - if fill > toRead { - fill = toRead - } + fill := min(int64(nextIPtrOff)-nextByte, toRead) fd.tree.vlog.CLogf( ctx, libkb.VLog1, "Read from hole: nextByte=%d "+ "lastByteInBlock=%d fill=%d", nextByte, lastByteInBlock, @@ -224,10 +221,7 @@ func (fd *FileData) getByteSlicesInOffsetRange(ctx context.Context, if nRead < n && nextBlockOff > 0 { toRead := n - nRead nextByte := nRead + int64(startOff) - fill := int64(nextBlockOff) - nextByte - if fill > toRead { - fill = toRead - } + fill := min(int64(nextBlockOff)-nextByte, toRead) fd.tree.vlog.CLogf( ctx, libkb.VLog1, "Read from hole at end of file: nextByte=%d "+ "fill=%d", nextByte, fill) diff --git a/go/kbfs/data/file_data_test.go b/go/kbfs/data/file_data_test.go index df4cd4505b59..05d7ace3bc8f 100644 --- a/go/kbfs/data/file_data_test.go +++ b/go/kbfs/data/file_data_test.go @@ -148,15 +148,12 @@ func testFileDataLevelFromData(t *testing.T, maxBlockSize Int64Offset, numAtLevel := int(math.Ceil(float64(len(prevChildren)) / float64(maxPtrsPerBlock))) - for i := 0; i < numAtLevel; i++ { + for range numAtLevel { // Split the previous children up (if any) into // maxPtrsPerBlock chunks. var children []testFileDataLevel var off Int64Offset - newIndex := prevChildIndex + maxPtrsPerBlock - if newIndex > len(prevChildren) { - newIndex = len(prevChildren) - } + newIndex := min(prevChildIndex+maxPtrsPerBlock, len(prevChildren)) off = prevChildren[prevChildIndex].off children = prevChildren[prevChildIndex:newIndex] prevChildIndex = newIndex @@ -327,8 +324,6 @@ func testFileDataWriteNewLevel(t *testing.T, levels float64) { func TestFileDataWriteNewLevel(t *testing.T) { for _, level := range []float64{1, 2, 3, 10} { - // capture range variable. - level := level t.Run(fmt.Sprintf("%dLevels", int(level)), func(t *testing.T) { testFileDataWriteNewLevel(t, level) }) @@ -386,14 +381,11 @@ func testFileDataLevelExistingBlocks(t *testing.T, fd *FileData, var level []*FileBlock numAtLevel := int(math.Ceil(float64(len(prevChildren)) / float64(maxPtrsPerBlock))) - for i := 0; i < numAtLevel; i++ { + for range numAtLevel { // Split the previous children up (if any) into maxPtrsPerBlock // chunks. var children []*FileBlock - newIndex := prevChildIndex + maxPtrsPerBlock - if newIndex > len(prevChildren) { - newIndex = len(prevChildren) - } + newIndex := min(prevChildIndex+maxPtrsPerBlock, len(prevChildren)) children = prevChildren[prevChildIndex:newIndex] fblock := NewFileBlock().(*FileBlock) fblock.IsInd = true @@ -498,8 +490,6 @@ func testFileDataExtendExistingLevels(t *testing.T, levels float64) { func TestFileDataExtendExistingLevels(t *testing.T) { for _, level := range []float64{1, 2, 3, 10} { - // capture range variable. - level := level t.Run(fmt.Sprintf("%dLevels", int(level)), func(t *testing.T) { testFileDataExtendExistingLevels(t, level) }) @@ -614,8 +604,6 @@ func TestFileDataWriteHole(t *testing.T) { } for _, test := range tests { - // capture range variable. - test := test t.Run(test.name, func(t *testing.T) { testFileDataOverwriteExistingFile(t, 2, 2, 10, []testFileDataHole{{5, 10}}, test.start, test.end, test.final) @@ -707,8 +695,6 @@ func TestFileDataTruncateExtendLevel(t *testing.T) { } for _, test := range tests { - // capture range variable. - test := test t.Run(test.name, func(t *testing.T) { testFileDataTruncateExtendFile( t, 2, 2, test.currLen, test.newSize, nil) @@ -798,8 +784,6 @@ func TestFileDataTruncateShrink(t *testing.T) { } for _, test := range tests { - // capture range variable. - test := test t.Run(test.name, func(t *testing.T) { testFileDataShrinkExistingFile(t, 2, 2, test.currLen, test.newSize) }) @@ -813,7 +797,7 @@ func testFileDataWriteExtendExistingFileWithGap(t *testing.T, fd, cleanBcache, dirtyBcache, df := setupFileDataTest( t, int64(maxBlockSize), maxPtrsPerBlock) data := make([]byte, fullDataLen) - for i := Int64Offset(0); i < fullDataLen; i++ { + for i := range fullDataLen { if i < existingLen || i >= startWrite { data[i] = byte(i) } @@ -881,8 +865,6 @@ func TestFileDataWriteExtendExistingFileWithGap(t *testing.T) { } for _, test := range tests { - // capture range variable. - test := test t.Run(test.name, func(t *testing.T) { testFileDataWriteExtendExistingFileWithGap( t, 2, 2, test.currLen, test.newSize, test.startWrite, diff --git a/go/kbfs/data/path_part_string.go b/go/kbfs/data/path_part_string.go index 9c0a918bdaa6..9ba9bd4eea65 100644 --- a/go/kbfs/data/path_part_string.go +++ b/go/kbfs/data/path_part_string.go @@ -56,8 +56,8 @@ func NewPathPartString( } isFileInfo := false - if strings.HasPrefix(plaintext, prefixFileInfo) { - toObfuscate = strings.TrimPrefix(plaintext, prefixFileInfo) + if after, ok := strings.CutPrefix(plaintext, prefixFileInfo); ok { + toObfuscate = after isFileInfo = true } else if strings.HasPrefix(plaintext, prefixToSkipObfsucation) { // Nil out the obfuscator since this string doesn't need diff --git a/go/kbfs/dokan/cgo.go b/go/kbfs/dokan/cgo.go index f9be1e87284a..e1bd0462a22e 100644 --- a/go/kbfs/dokan/cgo.go +++ b/go/kbfs/dokan/cgo.go @@ -3,7 +3,6 @@ // license that can be found in the LICENSE file. //go:build windows -// +build windows package dokan diff --git a/go/kbfs/dokan/debug_none.go b/go/kbfs/dokan/debug_none.go index c4e564fc8410..5d7cdee5cb67 100644 --- a/go/kbfs/dokan/debug_none.go +++ b/go/kbfs/dokan/debug_none.go @@ -3,11 +3,10 @@ // license that can be found in the LICENSE file. //go:build !debug -// +build !debug package dokan const isDebug = false //nolint -func debug(...interface{}) {} // nolint -func debugf(string, ...interface{}) {} // nolint +func debug(...any) {} // nolint +func debugf(string, ...any) {} // nolint diff --git a/go/kbfs/dokan/debug_stderr.go b/go/kbfs/dokan/debug_stderr.go index c8b0e0e842d8..58b496148eda 100644 --- a/go/kbfs/dokan/debug_stderr.go +++ b/go/kbfs/dokan/debug_stderr.go @@ -3,7 +3,6 @@ // license that can be found in the LICENSE file. //go:build debug -// +build debug package dokan diff --git a/go/kbfs/dokan/dokan_test.go b/go/kbfs/dokan/dokan_test.go index 62cdbd70fd43..82dcdaa75161 100644 --- a/go/kbfs/dokan/dokan_test.go +++ b/go/kbfs/dokan/dokan_test.go @@ -3,7 +3,6 @@ // license that can be found in the LICENSE file. //go:build windows -// +build windows package dokan diff --git a/go/kbfs/dokan/filesystem.go b/go/kbfs/dokan/filesystem.go index 5ff97d10ccee..3437fddd2422 100644 --- a/go/kbfs/dokan/filesystem.go +++ b/go/kbfs/dokan/filesystem.go @@ -54,7 +54,7 @@ type FileSystem interface { ErrorPrint(error) // Printf is for information level messages. - Printf(format string, v ...interface{}) + Printf(format string, v ...any) } // CreateStatus marks status of successful create/open operations. diff --git a/go/kbfs/dokan/loaddll.go b/go/kbfs/dokan/loaddll.go index 6f0a6fa116f8..4e05b7e18080 100644 --- a/go/kbfs/dokan/loaddll.go +++ b/go/kbfs/dokan/loaddll.go @@ -3,7 +3,6 @@ // license that can be found in the LICENSE file. //go:build windows -// +build windows package dokan diff --git a/go/kbfs/dokan/testfs_test.go b/go/kbfs/dokan/testfs_test.go index 73f855a23056..ff9213475a7c 100644 --- a/go/kbfs/dokan/testfs_test.go +++ b/go/kbfs/dokan/testfs_test.go @@ -3,7 +3,6 @@ // license that can be found in the LICENSE file. //go:build windows -// +build windows package dokan diff --git a/go/kbfs/dokan/winacl/debug.go b/go/kbfs/dokan/winacl/debug.go index f721806c61d4..a448b7924ed4 100644 --- a/go/kbfs/dokan/winacl/debug.go +++ b/go/kbfs/dokan/winacl/debug.go @@ -3,7 +3,6 @@ // license that can be found in the LICENSE file. //go:build debug -// +build debug package winacl diff --git a/go/kbfs/dokan/winacl/dummy.go b/go/kbfs/dokan/winacl/dummy.go index 9e4812b39bf1..127b27c21592 100644 --- a/go/kbfs/dokan/winacl/dummy.go +++ b/go/kbfs/dokan/winacl/dummy.go @@ -3,7 +3,6 @@ // license that can be found in the LICENSE file. //go:build !windows -// +build !windows package winacl diff --git a/go/kbfs/idutil/data_types.go b/go/kbfs/idutil/data_types.go index f222132b882b..519963786812 100644 --- a/go/kbfs/idutil/data_types.go +++ b/go/kbfs/idutil/data_types.go @@ -5,6 +5,8 @@ package idutil import ( + "maps" + "github.com/keybase/client/go/kbfs/kbfscrypto" "github.com/keybase/client/go/kbfs/kbfsmd" "github.com/keybase/client/go/kbfs/tlf" @@ -95,21 +97,15 @@ func (ui UserInfo) DeepCopy() UserInfo { []kbfscrypto.CryptPublicKey, len(ui.CryptPublicKeys)) copy(copyUI.CryptPublicKeys, ui.CryptPublicKeys) copyUI.KIDNames = make(map[keybase1.KID]string, len(ui.KIDNames)) - for k, v := range ui.KIDNames { - copyUI.KIDNames[k] = v - } + maps.Copy(copyUI.KIDNames, ui.KIDNames) copyUI.RevokedVerifyingKeys = make( map[kbfscrypto.VerifyingKey]RevokedKeyInfo, len(ui.RevokedVerifyingKeys)) - for k, v := range ui.RevokedVerifyingKeys { - copyUI.RevokedVerifyingKeys[k] = v - } + maps.Copy(copyUI.RevokedVerifyingKeys, ui.RevokedVerifyingKeys) copyUI.RevokedCryptPublicKeys = make( map[kbfscrypto.CryptPublicKey]RevokedKeyInfo, len(ui.RevokedCryptPublicKeys)) - for k, v := range ui.RevokedCryptPublicKeys { - copyUI.RevokedCryptPublicKeys[k] = v - } + maps.Copy(copyUI.RevokedCryptPublicKeys, ui.RevokedCryptPublicKeys) return copyUI } diff --git a/go/kbfs/idutil/local.go b/go/kbfs/idutil/local.go index b181ab18c456..3b5f61e142b6 100644 --- a/go/kbfs/idutil/local.go +++ b/go/kbfs/idutil/local.go @@ -6,6 +6,7 @@ package idutil import ( "fmt" + "maps" "strings" "github.com/keybase/client/go/kbfs/kbfscrypto" @@ -41,7 +42,7 @@ func (lu *LocalUser) GetCurrentVerifyingKey() kbfscrypto.VerifyingKey { // LocalUsers suitable to use with KeybaseDaemonLocal. func MakeLocalUsers(users []kbname.NormalizedUsername) []LocalUser { localUsers := make([]LocalUser, len(users)) - for i := 0; i < len(users); i++ { + for i := range users { verifyingKey := MakeLocalUserVerifyingKeyOrBust(users[i]) cryptPublicKey := MakeLocalUserCryptPublicKeyOrBust(users[i]) localUsers[i] = LocalUser{ @@ -107,23 +108,17 @@ func (lu LocalUser) DeepCopy() LocalUser { copy(luCopy.CryptPublicKeys, lu.CryptPublicKeys) luCopy.KIDNames = make(map[keybase1.KID]string, len(lu.KIDNames)) - for k, v := range lu.KIDNames { - luCopy.KIDNames[k] = v - } + maps.Copy(luCopy.KIDNames, lu.KIDNames) luCopy.RevokedVerifyingKeys = make( map[kbfscrypto.VerifyingKey]RevokedKeyInfo, len(lu.RevokedVerifyingKeys)) - for k, v := range lu.RevokedVerifyingKeys { - luCopy.RevokedVerifyingKeys[k] = v - } + maps.Copy(luCopy.RevokedVerifyingKeys, lu.RevokedVerifyingKeys) luCopy.RevokedCryptPublicKeys = make( map[kbfscrypto.CryptPublicKey]RevokedKeyInfo, len(lu.RevokedCryptPublicKeys)) - for k, v := range lu.RevokedCryptPublicKeys { - luCopy.RevokedCryptPublicKeys[k] = v - } + maps.Copy(luCopy.RevokedCryptPublicKeys, lu.RevokedCryptPublicKeys) luCopy.Asserts = make([]string, len(lu.Asserts)) copy(luCopy.Asserts, lu.Asserts) @@ -138,7 +133,7 @@ func makeLocalTeams( localTeams []TeamInfo, ) { localTeams = make([]TeamInfo, len(teams)) - for index := 0; index < len(teams); index++ { + for index := range teams { i := index + startingIndex cryptKey := MakeLocalTLFCryptKeyOrBust( tlf.SingleTeam.String()+"/"+string(teams[index]), @@ -154,7 +149,7 @@ func makeLocalTeams( // If this is a subteam, set the root ID. if strings.Contains(string(teams[index]), ".") { parts := strings.SplitN(string(teams[index]), ".", 2) - for j := 0; j < index; j++ { + for j := range index { if parts[0] == string(localTeams[j].Name) { localTeams[index].RootID = localTeams[j].TID break diff --git a/go/kbfs/ioutil/is_exist_default.go b/go/kbfs/ioutil/is_exist_default.go index 2035af717649..bf77dae03e6d 100644 --- a/go/kbfs/ioutil/is_exist_default.go +++ b/go/kbfs/ioutil/is_exist_default.go @@ -3,7 +3,6 @@ // license that can be found in the LICENSE file. //go:build !windows -// +build !windows package ioutil diff --git a/go/kbfs/ioutil/json.go b/go/kbfs/ioutil/json.go index 408a6fc2edd0..aa31014698e9 100644 --- a/go/kbfs/ioutil/json.go +++ b/go/kbfs/ioutil/json.go @@ -17,7 +17,7 @@ import ( // SerializeToJSONFile serializes the given object as JSON and writes // it to the given file, making its parent directory first if // necessary. -func SerializeToJSONFile(obj interface{}, path string) error { +func SerializeToJSONFile(obj any, path string) error { err := MkdirAll(filepath.Dir(path), 0o700) if err != nil { return err @@ -34,7 +34,7 @@ func SerializeToJSONFile(obj interface{}, path string) error { // DeserializeFromJSONFile deserializes the given JSON file into the // object pointed to by objPtr. It may return an error for which // ioutil.IsNotExist() returns true. -func DeserializeFromJSONFile(path string, objPtr interface{}) error { +func DeserializeFromJSONFile(path string, objPtr any) error { data, err := ReadFile(path) if err != nil { return err diff --git a/go/kbfs/kbfsblock/id_test.go b/go/kbfs/kbfsblock/id_test.go index fe35c0225ee1..7b4673224ce4 100644 --- a/go/kbfs/kbfsblock/id_test.go +++ b/go/kbfs/kbfsblock/id_test.go @@ -87,7 +87,7 @@ func TestRandomIDInRange(t *testing.T) { t.Log("Test that the distribution of IDs is roughly uniform.") buckets := make([]int, 16) numIds := 100000 - for i := 0; i < numIds; i++ { + for range numIds { id, err := MakeRandomIDInRange(0, 1.0, UseMathRandForTest) require.NoError(t, err) asInt := idToInt(id) diff --git a/go/kbfs/kbfsblock/quota.go b/go/kbfs/kbfsblock/quota.go index af9246553113..3b08b80dff8c 100644 --- a/go/kbfs/kbfsblock/quota.go +++ b/go/kbfs/kbfsblock/quota.go @@ -74,7 +74,7 @@ func UsageStatFromProtocol(stat keybase1.UsageStat) *UsageStat { // NonZero checks whether UsageStat has accumulated any usage info func (u *UsageStat) NonZero() bool { - for i := UsageType(0); i < NumUsage; i++ { + for i := range NumUsage { if u.Bytes[i] != 0 { return true } diff --git a/go/kbfs/kbfsblock/server_errors.go b/go/kbfs/kbfsblock/server_errors.go index 8271f8c521de..f4a49aca14a3 100644 --- a/go/kbfs/kbfsblock/server_errors.go +++ b/go/kbfs/kbfsblock/server_errors.go @@ -287,12 +287,12 @@ type ServerErrorUnwrapper struct{} var _ rpc.ErrorUnwrapper = ServerErrorUnwrapper{} // MakeArg implements rpc.ErrorUnwrapper. -func (eu ServerErrorUnwrapper) MakeArg() interface{} { +func (eu ServerErrorUnwrapper) MakeArg() any { return &keybase1.Status{} } // UnwrapError implements rpc.ErrorUnwrapper. -func (eu ServerErrorUnwrapper) UnwrapError(arg interface{}) (appError error, dispatchError error) { +func (eu ServerErrorUnwrapper) UnwrapError(arg any) (appError error, dispatchError error) { s, ok := arg.(*keybase1.Status) if !ok { return nil, errors.New("Error converting arg to keybase1.Status object in ServerErrorUnwrapper.UnwrapError") diff --git a/go/kbfs/kbfscodec/codec.go b/go/kbfs/kbfscodec/codec.go index 2c25e97aee11..6fc200baea7b 100644 --- a/go/kbfs/kbfscodec/codec.go +++ b/go/kbfs/kbfscodec/codec.go @@ -25,9 +25,9 @@ const ( // Codec encodes and decodes arbitrary data type Codec interface { // Decode unmarshals the given buffer into the given object, if possible. - Decode(buf []byte, obj interface{}) error + Decode(buf []byte, obj any) error // Encode marshals the given object into a returned buffer. - Encode(obj interface{}) ([]byte, error) + Encode(obj any) ([]byte, error) // RegisterType should be called for all types that are stored // under ambiguous types (like interface{} or nil interface) in a // struct that will be encoded/decoded by the codec. Each must @@ -45,12 +45,12 @@ type Codec interface { // codec cannot decode interface types to their desired pointer // form. RegisterIfaceSliceType(rt reflect.Type, code ExtCode, - typer func(interface{}) reflect.Value) + typer func(any) reflect.Value) } // Equal returns whether or not the given objects serialize to the // same byte string. x or y (or both) can be nil. -func Equal(c Codec, x, y interface{}) (bool, error) { +func Equal(c Codec, x, y any) (bool, error) { xBuf, err := c.Encode(x) if err != nil { return false, err @@ -64,7 +64,7 @@ func Equal(c Codec, x, y interface{}) (bool, error) { // Update encodes src into a byte string, and then decode it into the // object pointed to by dstPtr. -func Update(c Codec, dstPtr interface{}, src interface{}) error { +func Update(c Codec, dstPtr any, src any) error { buf, err := c.Encode(src) if err != nil { return err @@ -78,7 +78,7 @@ func Update(c Codec, dstPtr interface{}, src interface{}) error { // SerializeToFile serializes the given object and writes it to the // given file, making its parent directory first if necessary. -func SerializeToFile(c Codec, obj interface{}, path string) error { +func SerializeToFile(c Codec, obj any, path string) error { err := ioutil.MkdirAll(filepath.Dir(path), 0o700) if err != nil { return err @@ -94,7 +94,7 @@ func SerializeToFile(c Codec, obj interface{}, path string) error { // SerializeToFileIfNotExist is like SerializeToFile, but does nothing // if the file already exists. -func SerializeToFileIfNotExist(c Codec, obj interface{}, path string) error { +func SerializeToFileIfNotExist(c Codec, obj any, path string) error { _, err := ioutil.Stat(path) switch { case ioutil.IsExist(err): @@ -111,7 +111,7 @@ func SerializeToFileIfNotExist(c Codec, obj interface{}, path string) error { // DeserializeFromFile deserializes the given file into the object // pointed to by objPtr. It may return an error for which // ioutil.IsNotExist() returns true. -func DeserializeFromFile(c Codec, path string, objPtr interface{}) error { +func DeserializeFromFile(c Codec, path string, objPtr any) error { data, err := ioutil.ReadFile(path) if err != nil { return err diff --git a/go/kbfs/kbfscodec/codec_msgpack.go b/go/kbfs/kbfscodec/codec_msgpack.go index 8b4ec00398e7..862551c5fce3 100644 --- a/go/kbfs/kbfscodec/codec_msgpack.go +++ b/go/kbfs/kbfscodec/codec_msgpack.go @@ -21,17 +21,17 @@ type ext struct { } // ConvertExt implements the codec.Ext interface for ext. -func (e ext) ConvertExt(v interface{}) interface{} { +func (e ext) ConvertExt(v any) any { panic("ConvertExt not supported") } // UpdateExt implements the codec.Ext interface for ext. -func (e ext) UpdateExt(dest interface{}, v interface{}) { +func (e ext) UpdateExt(dest any, v any) { panic("UpdateExt not supported") } // WriteExt implements the codec.Ext interface for ext. -func (e ext) WriteExt(v interface{}) (buf []byte) { +func (e ext) WriteExt(v any) (buf []byte) { buf, err := e.codec.Encode(v) if err != nil { panic(fmt.Sprintf("Couldn't encode data in %v", v)) @@ -40,7 +40,7 @@ func (e ext) WriteExt(v interface{}) (buf []byte) { } // ReadExt implements the codec.Ext interface for ext. -func (e ext) ReadExt(v interface{}, buf []byte) { +func (e ext) ReadExt(v any, buf []byte) { err := e.codec.Decode(buf, v) if err != nil { panic(fmt.Sprintf("Couldn't decode data into %v", v)) @@ -53,28 +53,28 @@ func (e ext) ReadExt(v interface{}, buf []byte) { type extSlice struct { // codec SHOULD encode extension types codec Codec - typer func(interface{}) reflect.Value + typer func(any) reflect.Value } // ConvertExt implements the codec.Ext interface for extSlice. -func (es extSlice) ConvertExt(v interface{}) interface{} { +func (es extSlice) ConvertExt(v any) any { panic("ConvertExt not supported") } // UpdateExt implements the codec.Ext interface for extSlice. -func (es extSlice) UpdateExt(dest interface{}, v interface{}) { +func (es extSlice) UpdateExt(dest any, v any) { panic("UpdateExt not supported") } // WriteExt implements the codec.Ext interface for extSlice. -func (es extSlice) WriteExt(v interface{}) (buf []byte) { +func (es extSlice) WriteExt(v any) (buf []byte) { val := reflect.ValueOf(v) if val.Kind() != reflect.Slice { panic(fmt.Sprintf("Non-slice passed to extSlice.WriteExt %v", val.Kind())) } - ifaceArray := make([]interface{}, val.Len()) + ifaceArray := make([]any, val.Len()) for i := 0; i < val.Len(); i++ { ifaceArray[i] = val.Index(i).Interface() } @@ -87,10 +87,10 @@ func (es extSlice) WriteExt(v interface{}) (buf []byte) { } // ReadExt implements the codec.Ext interface for extSlice. -func (es extSlice) ReadExt(v interface{}, buf []byte) { +func (es extSlice) ReadExt(v any, buf []byte) { // ReadExt actually receives a pointer to the list val := reflect.ValueOf(v) - if val.Kind() != reflect.Ptr { + if val.Kind() != reflect.Pointer { panic(fmt.Sprintf("Non-pointer passed to extSlice.ReadExt: %v", val.Kind())) } @@ -101,7 +101,7 @@ func (es extSlice) ReadExt(v interface{}, buf []byte) { val.Kind())) } - var ifaceArray []interface{} + var ifaceArray []any err := es.codec.Decode(buf, &ifaceArray) if err != nil { panic(fmt.Sprintf("Couldn't decode data into %v", v)) @@ -158,7 +158,7 @@ func NewMsgpackNoUnknownFields() *CodecMsgpack { } // Decode implements the Codec interface for CodecMsgpack -func (c *CodecMsgpack) Decode(buf []byte, obj interface{}) error { +func (c *CodecMsgpack) Decode(buf []byte, obj any) error { err := codec.NewDecoderBytes(buf, c.h).Decode(obj) if err != nil { return errors.Wrap(err, "failed to decode") @@ -167,7 +167,7 @@ func (c *CodecMsgpack) Decode(buf []byte, obj interface{}) error { } // Encode implements the Codec interface for CodecMsgpack -func (c *CodecMsgpack) Encode(obj interface{}) (buf []byte, err error) { +func (c *CodecMsgpack) Encode(obj any) (buf []byte, err error) { err = codec.NewEncoderBytes(&buf, c.h).Encode(obj) if err != nil { return nil, errors.Wrap(err, "failed to encode") @@ -186,7 +186,7 @@ func (c *CodecMsgpack) RegisterType(rt reflect.Type, code ExtCode) { // RegisterIfaceSliceType implements the Codec interface for CodecMsgpack func (c *CodecMsgpack) RegisterIfaceSliceType( - rt reflect.Type, code ExtCode, typer func(interface{}) reflect.Value, + rt reflect.Type, code ExtCode, typer func(any) reflect.Value, ) { err := c.h.(*codec.MsgpackHandle).SetBytesExt( rt, uint64(code), extSlice{c, typer}) diff --git a/go/kbfs/kbfscodec/codec_msgpack_test.go b/go/kbfs/kbfscodec/codec_msgpack_test.go index 5ae1f31ef285..01e8f5cc5b38 100644 --- a/go/kbfs/kbfscodec/codec_msgpack_test.go +++ b/go/kbfs/kbfscodec/codec_msgpack_test.go @@ -15,7 +15,7 @@ import ( func TestCodecEncodeMap(t *testing.T) { m1 := make(map[int]int) m2 := make(map[int]int) - for i := 0; i < 10; i++ { + for i := range 10 { m1[i] = 1 m2[9-i] = 1 } diff --git a/go/kbfs/kbfscodec/mock_codec.go b/go/kbfs/kbfscodec/mock_codec.go index 637250dccb81..7babfbbc5b7f 100644 --- a/go/kbfs/kbfscodec/mock_codec.go +++ b/go/kbfs/kbfscodec/mock_codec.go @@ -34,7 +34,7 @@ func (m *MockCodec) EXPECT() *MockCodecMockRecorder { } // Decode mocks base method. -func (m *MockCodec) Decode(buf []byte, obj interface{}) error { +func (m *MockCodec) Decode(buf []byte, obj any) error { m.ctrl.T.Helper() ret := m.ctrl.Call(m, "Decode", buf, obj) ret0, _ := ret[0].(error) @@ -48,7 +48,7 @@ func (mr *MockCodecMockRecorder) Decode(buf, obj interface{}) *gomock.Call { } // Encode mocks base method. -func (m *MockCodec) Encode(obj interface{}) ([]byte, error) { +func (m *MockCodec) Encode(obj any) ([]byte, error) { m.ctrl.T.Helper() ret := m.ctrl.Call(m, "Encode", obj) ret0, _ := ret[0].([]byte) @@ -63,7 +63,7 @@ func (mr *MockCodecMockRecorder) Encode(obj interface{}) *gomock.Call { } // RegisterIfaceSliceType mocks base method. -func (m *MockCodec) RegisterIfaceSliceType(rt reflect.Type, code ExtCode, typer func(interface{}) reflect.Value) { +func (m *MockCodec) RegisterIfaceSliceType(rt reflect.Type, code ExtCode, typer func(any) reflect.Value) { m.ctrl.T.Helper() m.ctrl.Call(m, "RegisterIfaceSliceType", rt, code, typer) } diff --git a/go/kbfs/kbfscodec/unknown_fields_test_util.go b/go/kbfs/kbfscodec/unknown_fields_test_util.go index 8c6225caf623..8b0b7dadf188 100644 --- a/go/kbfs/kbfscodec/unknown_fields_test_util.go +++ b/go/kbfs/kbfscodec/unknown_fields_test_util.go @@ -94,7 +94,7 @@ func MakeExtraOrBust(prefix string, t require.TestingT) Extra { // CurrentStruct is an interface for the current version of a struct // type. -type CurrentStruct interface{} +type CurrentStruct any // FutureStruct is an interface for a hypothetical future version of a // struct type. diff --git a/go/kbfs/kbfscrypto/auth_token.go b/go/kbfs/kbfscrypto/auth_token.go index 5a2a47de679b..92062f62b253 100644 --- a/go/kbfs/kbfscrypto/auth_token.go +++ b/go/kbfs/kbfscrypto/auth_token.go @@ -73,10 +73,7 @@ func (a *AuthToken) signWithUserAndKeyInfo(ctx context.Context, } // reset the ticker - refreshSeconds := a.expireIn / 2 - if refreshSeconds < AuthTokenMinRefreshSeconds { - refreshSeconds = AuthTokenMinRefreshSeconds - } + refreshSeconds := max(a.expireIn/2, AuthTokenMinRefreshSeconds) a.startTicker(refreshSeconds) return signature, nil diff --git a/go/kbfs/kbfscrypto/crypto_key_types.go b/go/kbfs/kbfscrypto/crypto_key_types.go index 5797f96522ff..92f0e18cda05 100644 --- a/go/kbfs/kbfscrypto/crypto_key_types.go +++ b/go/kbfs/kbfscrypto/crypto_key_types.go @@ -728,7 +728,7 @@ func MakeBlockCryptKey(data [32]byte) BlockCryptKey { func xorKeys(x, y [32]byte) [32]byte { var res [32]byte - for i := 0; i < 32; i++ { + for i := range 32 { res[i] = x[i] ^ y[i] } return res diff --git a/go/kbfs/kbfscrypto/crypto_key_types_test.go b/go/kbfs/kbfscrypto/crypto_key_types_test.go index a719af8ca5a7..21436369e37f 100644 --- a/go/kbfs/kbfscrypto/crypto_key_types_test.go +++ b/go/kbfs/kbfscrypto/crypto_key_types_test.go @@ -13,9 +13,9 @@ import ( ) type kidContainerType interface { - makeZero() interface{} - makeFromKID(kid keybase1.KID) interface{} - decode(codec *kbfscodec.CodecMsgpack, data []byte) (interface{}, error) + makeZero() any + makeFromKID(kid keybase1.KID) any + decode(codec *kbfscodec.CodecMsgpack, data []byte) (any, error) } // Make sure the kid container type encodes and decodes properly with @@ -59,17 +59,17 @@ func testKidContainerTypeEncodeDecodeZero(t *testing.T, kt kidContainerType) { type verifyingKeyType struct{} -func (verifyingKeyType) makeZero() interface{} { +func (verifyingKeyType) makeZero() any { return VerifyingKey{} } -func (verifyingKeyType) makeFromKID(kid keybase1.KID) interface{} { +func (verifyingKeyType) makeFromKID(kid keybase1.KID) any { return MakeVerifyingKey(kid) } func (verifyingKeyType) decode( codec *kbfscodec.CodecMsgpack, data []byte, -) (interface{}, error) { +) (any, error) { k := VerifyingKey{} err := codec.Decode(data, &k) return k, err @@ -86,8 +86,8 @@ func TestVerifyingKeyEncodeDecodeZero(t *testing.T) { } type byte32ContainerType interface { - makeZero() interface{} - makeFromData(data [32]byte) interface{} + makeZero() any + makeFromData(data [32]byte) any } func testByte32ContainerEncodeDecode(t *testing.T, bt byte32ContainerType) { @@ -112,11 +112,11 @@ func testByte32ContainerEncodeDecode(t *testing.T, bt byte32ContainerType) { type tlfPrivateKeyType struct{} -func (tlfPrivateKeyType) makeZero() interface{} { +func (tlfPrivateKeyType) makeZero() any { return TLFPrivateKey{} } -func (tlfPrivateKeyType) makeFromData(data [32]byte) interface{} { +func (tlfPrivateKeyType) makeFromData(data [32]byte) any { return MakeTLFPrivateKey(data) } @@ -128,11 +128,11 @@ func TestTLFPrivateKeyEncodeDecode(t *testing.T) { type tlfPublicKeyType struct{} -func (tlfPublicKeyType) makeZero() interface{} { +func (tlfPublicKeyType) makeZero() any { return TLFPublicKey{} } -func (tlfPublicKeyType) makeFromData(data [32]byte) interface{} { +func (tlfPublicKeyType) makeFromData(data [32]byte) any { return MakeTLFPublicKey(data) } @@ -144,11 +144,11 @@ func TestTLFPublicKeyEncodeDecode(t *testing.T) { type tlfEphemeralPrivateKeyType struct{} -func (tlfEphemeralPrivateKeyType) makeZero() interface{} { +func (tlfEphemeralPrivateKeyType) makeZero() any { return TLFEphemeralPrivateKey{} } -func (tlfEphemeralPrivateKeyType) makeFromData(data [32]byte) interface{} { +func (tlfEphemeralPrivateKeyType) makeFromData(data [32]byte) any { return MakeTLFEphemeralPrivateKey(data) } @@ -160,17 +160,17 @@ func TestTLFEphemeralPrivateKeyEncodeDecode(t *testing.T) { type cryptPublicKeyType struct{} -func (cryptPublicKeyType) makeZero() interface{} { +func (cryptPublicKeyType) makeZero() any { return CryptPublicKey{} } -func (cryptPublicKeyType) makeFromKID(kid keybase1.KID) interface{} { +func (cryptPublicKeyType) makeFromKID(kid keybase1.KID) any { return MakeCryptPublicKey(kid) } func (cryptPublicKeyType) decode( codec *kbfscodec.CodecMsgpack, data []byte, -) (interface{}, error) { +) (any, error) { k := CryptPublicKey{} err := codec.Decode(data, &k) return k, err @@ -190,11 +190,11 @@ func TestCryptPublicKeyEncodeDecodeZero(t *testing.T) { type tlfEphemeralPublicKeyType struct{} -func (tlfEphemeralPublicKeyType) makeZero() interface{} { +func (tlfEphemeralPublicKeyType) makeZero() any { return TLFEphemeralPublicKey{} } -func (tlfEphemeralPublicKeyType) makeFromData(data [32]byte) interface{} { +func (tlfEphemeralPublicKeyType) makeFromData(data [32]byte) any { return MakeTLFEphemeralPublicKey(data) } @@ -206,11 +206,11 @@ func TestTLFEphemeralPublicKeyEncodeDecode(t *testing.T) { type tlfCryptKeyServerHalfType struct{} -func (tlfCryptKeyServerHalfType) makeZero() interface{} { +func (tlfCryptKeyServerHalfType) makeZero() any { return TLFCryptKeyServerHalf{} } -func (tlfCryptKeyServerHalfType) makeFromData(data [32]byte) interface{} { +func (tlfCryptKeyServerHalfType) makeFromData(data [32]byte) any { return MakeTLFCryptKeyServerHalf(data) } @@ -222,11 +222,11 @@ func TestTLFCryptKeyServerHalfEncodeDecode(t *testing.T) { type tlfCryptKeyClientHalfType struct{} -func (tlfCryptKeyClientHalfType) makeZero() interface{} { +func (tlfCryptKeyClientHalfType) makeZero() any { return TLFCryptKeyClientHalf{} } -func (tlfCryptKeyClientHalfType) makeFromData(data [32]byte) interface{} { +func (tlfCryptKeyClientHalfType) makeFromData(data [32]byte) any { return MakeTLFCryptKeyClientHalf(data) } @@ -238,11 +238,11 @@ func TestTLFCryptKeyClientHalfEncodeDecode(t *testing.T) { type tlfCryptKeyType struct{} -func (tlfCryptKeyType) makeZero() interface{} { +func (tlfCryptKeyType) makeZero() any { return TLFCryptKey{} } -func (tlfCryptKeyType) makeFromData(data [32]byte) interface{} { +func (tlfCryptKeyType) makeFromData(data [32]byte) any { return MakeTLFCryptKey(data) } @@ -268,11 +268,11 @@ func TestRandomTLFCryptKeyServerHalf(t *testing.T) { type blockCryptKeyServerHalfType struct{} -func (blockCryptKeyServerHalfType) makeZero() interface{} { +func (blockCryptKeyServerHalfType) makeZero() any { return TLFCryptKey{} } -func (blockCryptKeyServerHalfType) makeFromData(data [32]byte) interface{} { +func (blockCryptKeyServerHalfType) makeFromData(data [32]byte) any { return MakeTLFCryptKey(data) } @@ -284,11 +284,11 @@ func TestBlockCryptKeyServerHalfEncodeDecode(t *testing.T) { type blockCryptKeyType struct{} -func (blockCryptKeyType) makeZero() interface{} { +func (blockCryptKeyType) makeZero() any { return TLFCryptKey{} } -func (blockCryptKeyType) makeFromData(data [32]byte) interface{} { +func (blockCryptKeyType) makeFromData(data [32]byte) any { return MakeTLFCryptKey(data) } diff --git a/go/kbfs/kbfscrypto/pad_test.go b/go/kbfs/kbfscrypto/pad_test.go index 2670eea01d65..32b36eed05ba 100644 --- a/go/kbfs/kbfscrypto/pad_test.go +++ b/go/kbfs/kbfscrypto/pad_test.go @@ -64,7 +64,7 @@ func TestBlockDepadding(t *testing.T) { // Test padding of blocks results in blocks at least 2^8. func TestBlockPadMinimum(t *testing.T) { - for i := 0; i < 256; i++ { + for i := range 256 { b := make([]byte, i) err := RandRead(b) require.NoError(t, err) diff --git a/go/kbfs/kbfsdokan/defaults.go b/go/kbfs/kbfsdokan/defaults.go index c483d8dc0cb5..5d299edb5290 100644 --- a/go/kbfs/kbfsdokan/defaults.go +++ b/go/kbfs/kbfsdokan/defaults.go @@ -3,7 +3,6 @@ // license that can be found in the LICENSE file. //go:build !production && !staging -// +build !production,!staging package main diff --git a/go/kbfs/kbfsdokan/defaults_production.go b/go/kbfs/kbfsdokan/defaults_production.go index 81d4f8934376..f2e08d4dc6f9 100644 --- a/go/kbfs/kbfsdokan/defaults_production.go +++ b/go/kbfs/kbfsdokan/defaults_production.go @@ -3,7 +3,6 @@ // license that can be found in the LICENSE file. //go:build production -// +build production package main diff --git a/go/kbfs/kbfsdokan/defaults_staging.go b/go/kbfs/kbfsdokan/defaults_staging.go index c81455a2a747..e55e6817d823 100644 --- a/go/kbfs/kbfsdokan/defaults_staging.go +++ b/go/kbfs/kbfsdokan/defaults_staging.go @@ -3,7 +3,6 @@ // license that can be found in the LICENSE file. //go:build staging -// +build staging package main diff --git a/go/kbfs/kbfsedits/tlf_history.go b/go/kbfs/kbfsedits/tlf_history.go index b38519af8e91..11e4b2e3e51f 100644 --- a/go/kbfs/kbfsedits/tlf_history.go +++ b/go/kbfs/kbfsedits/tlf_history.go @@ -70,12 +70,12 @@ func (wbr writersByRevision) Swap(i, j int) { wbr[i], wbr[j] = wbr[j], wbr[i] } -func (wbr *writersByRevision) Push(x interface{}) { +func (wbr *writersByRevision) Push(x any) { wn := x.(*writerNotifications) *wbr = append(*wbr, wn) } -func (wbr *writersByRevision) Pop() interface{} { +func (wbr *writersByRevision) Pop() any { // The item to remove is the last item; heap has already swapped // it to the end. old := *wbr diff --git a/go/kbfs/kbfsedits/tlf_history_test.go b/go/kbfs/kbfsedits/tlf_history_test.go index c841f6a0efc1..3d107372f8bb 100644 --- a/go/kbfs/kbfsedits/tlf_history_test.go +++ b/go/kbfs/kbfsedits/tlf_history_test.go @@ -267,7 +267,7 @@ func TestTlfHistoryNeedsMoreThenComplete(t *testing.T) { var aliceMessages []string nn := nextNotification{1, 0, tlfID, nil} - for i := 0; i < maxEditsPerWriter; i++ { + for i := range maxEditsPerWriter { event := nn.make( strconv.Itoa(i), NotificationCreate, aliceUID, nil, time.Time{}) allExpected = append(allExpected, event) @@ -307,7 +307,7 @@ func TestTlfHistoryTrimming(t *testing.T) { var aliceMessages []string nn := nextNotification{1, 0, tlfID, nil} - for i := 0; i < maxEditsPerWriter+2; i++ { + for i := range maxEditsPerWriter + 2 { event := nn.make(strconv.Itoa(i), NotificationCreate, aliceUID, nil, time.Time{}) allExpected = append(allExpected, event) diff --git a/go/kbfs/kbfsedits/user_history.go b/go/kbfs/kbfsedits/user_history.go index 1cd92555c6c3..e094a9117c4e 100644 --- a/go/kbfs/kbfsedits/user_history.go +++ b/go/kbfs/kbfsedits/user_history.go @@ -7,6 +7,7 @@ package kbfsedits import ( "context" "fmt" + "slices" "sort" "strings" "sync" @@ -178,13 +179,7 @@ func (uh *UserHistory) Get(loggedInUser string) ( // Only include public TLFs if they match the logged-in user. if history.Folder.FolderType == keybase1.FolderType_PUBLIC { names := strings.Split(history.Folder.Name, ",") - match := false - for _, name := range names { - if name == loggedInUser { - match = true - break - } - } + match := slices.Contains(names, loggedInUser) if !match { continue } diff --git a/go/kbfs/kbfsedits/user_history_test.go b/go/kbfs/kbfsedits/user_history_test.go index 6a0b6cfd5e59..196dca819e19 100644 --- a/go/kbfs/kbfsedits/user_history_test.go +++ b/go/kbfs/kbfsedits/user_history_test.go @@ -41,7 +41,7 @@ func TestUserHistorySimple(t *testing.T) { now := time.Now() // Alice writes to private shared TLF. var privSharedAlice []string - for i := 0; i < 3; i++ { + for i := range 3 { now = now.Add(1 * time.Minute) _ = privSharedNN.make( strconv.Itoa(i), NotificationCreate, aliceUID, nil, now) @@ -56,7 +56,7 @@ func TestUserHistorySimple(t *testing.T) { // Alice writes to public TLF. var publicAlice []string - for i := 0; i < 3; i++ { + for i := range 3 { now = now.Add(1 * time.Minute) _ = publicNN.make( strconv.Itoa(i), NotificationCreate, aliceUID, nil, now) @@ -76,7 +76,7 @@ func TestUserHistorySimple(t *testing.T) { // Alice writes to private home TLF. var privHomeAlice []string - for i := 0; i < 3; i++ { + for i := range 3 { now = now.Add(1 * time.Minute) _ = privHomeNN.make( strconv.Itoa(i), NotificationCreate, aliceUID, nil, now) diff --git a/go/kbfs/kbfsfuse/defaults.go b/go/kbfs/kbfsfuse/defaults.go index 9245216b29bd..3d28364c334a 100644 --- a/go/kbfs/kbfsfuse/defaults.go +++ b/go/kbfs/kbfsfuse/defaults.go @@ -3,7 +3,6 @@ // license that can be found in the LICENSE file. //go:build !production && !staging && !windows -// +build !production,!staging,!windows package main diff --git a/go/kbfs/kbfsfuse/defaults_production.go b/go/kbfs/kbfsfuse/defaults_production.go index f0b8394b0a6c..c4a6b157be5c 100644 --- a/go/kbfs/kbfsfuse/defaults_production.go +++ b/go/kbfs/kbfsfuse/defaults_production.go @@ -3,7 +3,6 @@ // license that can be found in the LICENSE file. //go:build production && !windows -// +build production,!windows package main diff --git a/go/kbfs/kbfsfuse/defaults_staging.go b/go/kbfs/kbfsfuse/defaults_staging.go index 95381dc442e8..b8047b4f606e 100644 --- a/go/kbfs/kbfsfuse/defaults_staging.go +++ b/go/kbfs/kbfsfuse/defaults_staging.go @@ -3,7 +3,6 @@ // license that can be found in the LICENSE file. //go:build staging && !windows -// +build staging,!windows package main diff --git a/go/kbfs/kbfsfuse/main.go b/go/kbfs/kbfsfuse/main.go index 2d2da2d6519b..675bae70ca93 100644 --- a/go/kbfs/kbfsfuse/main.go +++ b/go/kbfs/kbfsfuse/main.go @@ -3,7 +3,6 @@ // license that can be found in the LICENSE file. //go:build !windows -// +build !windows // Keybase file system diff --git a/go/kbfs/kbfsgit/runner.go b/go/kbfs/kbfsgit/runner.go index c4551957f393..4681553a3b2c 100644 --- a/go/kbfs/kbfsgit/runner.go +++ b/go/kbfs/kbfsgit/runner.go @@ -526,7 +526,7 @@ func (r *runner) printGitJournalStart(ctx context.Context) { } if r.verbosity >= 1 { r.printStageStart(ctx, - []byte(fmt.Sprintf("Syncing %s data to Keybase: ", adj)), + fmt.Appendf(nil, "Syncing %s data to Keybase: ", adj), "mem.flush.prof", "") } } @@ -536,10 +536,7 @@ func (r *runner) printGitJournalMessage( ) int { const bytesFmt string = "(%.2f%%) %s... " eraseStr := strings.Repeat("\b", lastByteCount) - flushed := totalSize - sizeLeft - if flushed < 0 { - flushed = 0 - } + flushed := max(totalSize-sizeLeft, 0) str := fmt.Sprintf( bytesFmt, percent(flushed, totalSize), humanizeBytes(flushed, totalSize)) diff --git a/go/kbfs/kbfsgit/runner_test.go b/go/kbfs/kbfsgit/runner_test.go index 3648bb44dbb2..8c99797e7ecb 100644 --- a/go/kbfs/kbfsgit/runner_test.go +++ b/go/kbfs/kbfsgit/runner_test.go @@ -221,7 +221,7 @@ func testPushWithTemplate(ctx context.Context, t *testing.T, outputMap[line] = true } - dsts := make([]interface{}, 0, len(refspecs)) + dsts := make([]any, 0, len(refspecs)) for _, refspec := range refspecs { dsts = append(dsts, gogitcfg.RefSpec(refspec).Dst("")) } @@ -1104,7 +1104,7 @@ func TestRunnerHandlePushBatch(t *testing.T) { t.Log("Add more commits than the maximum to visit per ref. " + "Check that a sentinel value was added.") - for i := 0; i < maxCommitsToVisitPerRef+1; i++ { + for i := range maxCommitsToVisitPerRef + 1 { filename := fmt.Sprintf("foo%d", i+6) content := fmt.Sprintf("hello%d", i+6) msg := fmt.Sprintf("commit message %d", i+6) diff --git a/go/kbfs/kbfsmd/key_bundle.go b/go/kbfs/kbfsmd/key_bundle.go index 8c3f613a54b4..ee19cebbbff2 100644 --- a/go/kbfs/kbfsmd/key_bundle.go +++ b/go/kbfs/kbfsmd/key_bundle.go @@ -6,6 +6,7 @@ package kbfsmd import ( "fmt" + "maps" "github.com/keybase/client/go/kbfs/kbfscrypto" "github.com/keybase/client/go/protocol/keybase1" @@ -89,9 +90,7 @@ func (serverHalves UserDeviceKeyServerHalves) MergeUsers( ) (UserDeviceKeyServerHalves, error) { merged := make(UserDeviceKeyServerHalves, len(serverHalves)+len(other)) - for uid, deviceServerHalves := range serverHalves { - merged[uid] = deviceServerHalves - } + maps.Copy(merged, serverHalves) for uid, deviceServerHalves := range other { if _, ok := merged[uid]; ok { return nil, fmt.Errorf( @@ -240,9 +239,7 @@ func (info ServerHalfRemovalInfo) MergeUsers( other ServerHalfRemovalInfo, ) (ServerHalfRemovalInfo, error) { merged := make(ServerHalfRemovalInfo, len(info)+len(other)) - for uid, removalInfo := range info { - merged[uid] = removalInfo - } + maps.Copy(merged, info) for uid, removalInfo := range other { if _, ok := merged[uid]; ok { return nil, fmt.Errorf( diff --git a/go/kbfs/kbfsmd/key_bundle_v3.go b/go/kbfs/kbfsmd/key_bundle_v3.go index 446ba5cd1a16..b1a126a9f9c6 100644 --- a/go/kbfs/kbfsmd/key_bundle_v3.go +++ b/go/kbfs/kbfsmd/key_bundle_v3.go @@ -29,8 +29,8 @@ type DeviceKeyInfoMapV3 map[kbfscrypto.CryptPublicKey]TLFCryptKeyInfo // static sizes in DeviceKeyInfoMapV3 var ( - ssCryptPublicKey = int(reflect.TypeOf(kbfscrypto.CryptPublicKey{}).Size()) - ssTLFCryptKeyInfo = int(reflect.TypeOf(TLFCryptKeyInfo{}).Size()) + ssCryptPublicKey = int(reflect.TypeFor[kbfscrypto.CryptPublicKey]().Size()) + ssTLFCryptKeyInfo = int(reflect.TypeFor[TLFCryptKeyInfo]().Size()) ) // Size implements the cache.Measurable interface. diff --git a/go/kbfs/kbfsmd/merkle_leaf.go b/go/kbfs/kbfsmd/merkle_leaf.go index e83b1af03f2e..54a7e04fd32e 100644 --- a/go/kbfs/kbfsmd/merkle_leaf.go +++ b/go/kbfs/kbfsmd/merkle_leaf.go @@ -22,7 +22,7 @@ type MerkleLeaf struct { var _ merkle.ValueConstructor = (*MerkleLeaf)(nil) // Construct implements the go-merkle-tree.ValueConstructor interface. -func (l MerkleLeaf) Construct() interface{} { +func (l MerkleLeaf) Construct() any { // In the Merkle tree leaves are simply byte slices. return &[]byte{} } @@ -35,7 +35,7 @@ type EncryptedMerkleLeaf struct { } // Construct implements the go-merkle-tree.ValueConstructor interface. -func (el EncryptedMerkleLeaf) Construct() interface{} { +func (el EncryptedMerkleLeaf) Construct() any { // In the Merkle tree leaves are simply byte slices. return &[]byte{} } diff --git a/go/kbfs/kbfsmd/root_metadata_test.go b/go/kbfs/kbfsmd/root_metadata_test.go index 8bff9a6ccd52..5505bed24f14 100644 --- a/go/kbfs/kbfsmd/root_metadata_test.go +++ b/go/kbfs/kbfsmd/root_metadata_test.go @@ -32,7 +32,6 @@ func runTestOverMetadataVers( t *testing.T, f func(t *testing.T, ver MetadataVer), ) { for _, ver := range testMetadataVers { - ver := ver // capture range variable. t.Run(ver.String(), func(t *testing.T) { f(t, ver) }) @@ -57,7 +56,6 @@ func runTestsOverMetadataVers(t *testing.T, prefix string, fs []func(t *testing.T, ver MetadataVer), ) { for _, f := range fs { - f := f // capture range variable. name := runtime.FuncForPC(reflect.ValueOf(f).Pointer()).Name() i := strings.LastIndex(name, prefix) if i >= 0 { diff --git a/go/kbfs/kbfsmd/root_metadata_v2.go b/go/kbfs/kbfsmd/root_metadata_v2.go index f41a5618ba5c..0da5a194cbab 100644 --- a/go/kbfs/kbfsmd/root_metadata_v2.go +++ b/go/kbfs/kbfsmd/root_metadata_v2.go @@ -8,6 +8,7 @@ import ( "context" "errors" "fmt" + "slices" "github.com/keybase/client/go/kbfs/kbfscodec" "github.com/keybase/client/go/kbfs/kbfscrypto" @@ -325,10 +326,8 @@ func (md *RootMetadataV2) IsWriter( _ keybase1.OfflineAvailability, ) (bool, error) { if md.ID.Type() != tlf.Private { - for _, w := range md.Writers { - if w == user.AsUserOrTeam() { - return true, nil - } + if slices.Contains(md.Writers, user.AsUserOrTeam()) { + return true, nil } return false, nil } diff --git a/go/kbfs/kbfsmd/root_metadata_v2_test.go b/go/kbfs/kbfsmd/root_metadata_v2_test.go index 74a792682d67..089cc8c2c8af 100644 --- a/go/kbfs/kbfsmd/root_metadata_v2_test.go +++ b/go/kbfs/kbfsmd/root_metadata_v2_test.go @@ -7,6 +7,7 @@ package kbfsmd import ( "context" "fmt" + "maps" "sort" "testing" @@ -189,7 +190,7 @@ func TestWriterMetadataV2EncodedFields(t *testing.T) { buf, err := c.Encode(wm) require.NoError(t, err) - var m map[string]interface{} + var m map[string]any err = c.Decode(buf, &m) require.NoError(t, err) @@ -841,9 +842,7 @@ func unionPublicKeyUsers( pubKeys1, pubKeys2 UserDevicePublicKeys, ) UserDevicePublicKeys { pubKeys := make(UserDevicePublicKeys) - for uid, keys := range pubKeys1 { - pubKeys[uid] = keys - } + maps.Copy(pubKeys, pubKeys1) for uid, keys := range pubKeys2 { if pubKeys[uid] != nil { panic(fmt.Sprintf("uid=%s exists in both", uid)) diff --git a/go/kbfs/kbfsmd/root_metadata_v3.go b/go/kbfs/kbfsmd/root_metadata_v3.go index 3105497d5331..fc5b2814b88c 100644 --- a/go/kbfs/kbfsmd/root_metadata_v3.go +++ b/go/kbfs/kbfsmd/root_metadata_v3.go @@ -8,6 +8,8 @@ import ( "context" "fmt" "runtime" + "slices" + "strings" goerrors "github.com/go-errors/errors" "github.com/keybase/client/go/kbfs/kbfscodec" @@ -111,12 +113,13 @@ type missingKeyBundlesError struct { } func (e missingKeyBundlesError) Error() string { - s := "Missing key bundles: \n" + var s strings.Builder + s.WriteString("Missing key bundles: \n") for _, pc := range e.stack { f := goerrors.NewStackFrame(pc) - s += f.String() + s.WriteString(f.String()) } - return s + return s.String() } func makeMissingKeyBundlesError() missingKeyBundlesError { @@ -426,10 +429,8 @@ func (md *RootMetadataV3) isNonTeamWriter( return false, err } - for _, w := range md.WriterMetadata.Writers { - if w == user.AsUserOrTeam() { - return true, nil - } + if slices.Contains(md.WriterMetadata.Writers, user.AsUserOrTeam()) { + return true, nil } return false, nil case tlf.Private: diff --git a/go/kbfs/kbfsmd/server_errors.go b/go/kbfs/kbfsmd/server_errors.go index d99a4abdd0f1..d8a591ea56a2 100644 --- a/go/kbfs/kbfsmd/server_errors.go +++ b/go/kbfs/kbfsmd/server_errors.go @@ -419,12 +419,12 @@ type ServerErrorUnwrapper struct{} var _ rpc.ErrorUnwrapper = ServerErrorUnwrapper{} // MakeArg implements rpc.ErrorUnwrapper for ServerErrorUnwrapper. -func (eu ServerErrorUnwrapper) MakeArg() interface{} { +func (eu ServerErrorUnwrapper) MakeArg() any { return &keybase1.Status{} } // UnwrapError implements rpc.ErrorUnwrapper for ServerErrorUnwrapper. -func (eu ServerErrorUnwrapper) UnwrapError(arg interface{}) (appError error, dispatchError error) { +func (eu ServerErrorUnwrapper) UnwrapError(arg any) (appError error, dispatchError error) { s, ok := arg.(*keybase1.Status) if !ok { return nil, errors.New("Error converting arg to keybase1.Status object in ServerErrorUnwrapper.UnwrapError") diff --git a/go/kbfs/kbfssync/repeated_wait_group_test.go b/go/kbfs/kbfssync/repeated_wait_group_test.go index b77376980ea9..1cd4774ac87c 100644 --- a/go/kbfs/kbfssync/repeated_wait_group_test.go +++ b/go/kbfs/kbfssync/repeated_wait_group_test.go @@ -17,7 +17,7 @@ func testRepeatedWaitGroupSimpleWait(t *testing.T, rwg *RepeatedWaitGroup) { go func() { errChan <- rwg.Wait(context.Background()) }() - for i := 0; i < 10; i++ { + for range 10 { rwg.Done() } err := <-errChan @@ -41,7 +41,7 @@ func TestRepeatedWaitGroupCanceledWait(t *testing.T) { errChan <- rwg.Wait(ctx) }() // Only finish half the tasks - for i := 0; i < 5; i++ { + for range 5 { rwg.Done() } cancel() @@ -54,13 +54,13 @@ func TestRepeatedWaitGroupCanceledWait(t *testing.T) { func TestRepeatedWaitGroupMultiWait(t *testing.T) { var rwg RepeatedWaitGroup // Three in serial - for i := 0; i < 3; i++ { + for range 3 { testRepeatedWaitGroupSimpleWait(t, &rwg) } // Three in parallel! var wg sync.WaitGroup - for i := 0; i < 3; i++ { + for range 3 { wg.Add(1) go func() { defer wg.Done() diff --git a/go/kbfs/kbfssync/semaphore_test.go b/go/kbfs/kbfssync/semaphore_test.go index bd23b404d5b9..665db3464ccd 100644 --- a/go/kbfs/kbfssync/semaphore_test.go +++ b/go/kbfs/kbfssync/semaphore_test.go @@ -169,7 +169,7 @@ func TestSerialRelease(t *testing.T) { s := NewSemaphore() acquireCount := 0 callCh := make(chan acquireCall, acquirerCount) - for i := 0; i < acquirerCount; i++ { + for range acquirerCount { go func() { call := callAcquire(ctx, s, 1) acquireCount++ @@ -177,7 +177,7 @@ func TestSerialRelease(t *testing.T) { }() } - for i := 0; i < acquirerCount; i++ { + for range acquirerCount { requireNoCall(t, callCh) count := s.Release(1) @@ -211,7 +211,7 @@ func TestAcquireDifferentSizes(t *testing.T) { s := NewSemaphore() acquireCount := 0 callCh := make(chan acquireCall, acquirerCount) - for i := 0; i < acquirerCount; i++ { + for i := range acquirerCount { go func(i int) { call := callAcquire(ctx, s, int64(i+1)) acquireCount++ @@ -219,7 +219,7 @@ func TestAcquireDifferentSizes(t *testing.T) { }(i) } - for i := 0; i < acquirerCount; i++ { + for i := range acquirerCount { requireNoCall(t, callCh) if i == 0 { diff --git a/go/kbfs/kbfstool/md_dump.go b/go/kbfs/kbfstool/md_dump.go index 10b0f87ed819..e1f31dca9bd6 100644 --- a/go/kbfs/kbfstool/md_dump.go +++ b/go/kbfs/kbfstool/md_dump.go @@ -93,10 +93,7 @@ func mdDumpInput(ctx context.Context, config libkbfs.Config, if start <= stop { for chunkStart := start; chunkStart <= stop; chunkStart += maxChunkSize { - chunkStop := chunkStart + maxChunkSize - 1 - if chunkStop > stop { - chunkStop = stop - } + chunkStop := min(chunkStart+maxChunkSize-1, stop) err = mdDumpChunk(ctx, config, replacements, tlfStr, branchStr, tlfID, branchID, chunkStart, chunkStop) if err != nil { return err @@ -104,10 +101,7 @@ func mdDumpInput(ctx context.Context, config libkbfs.Config, } } else { for chunkStart := start; chunkStart >= stop; chunkStart -= maxChunkSize { - chunkStop := chunkStart - maxChunkSize + 1 - if chunkStop < stop { - chunkStop = stop - } + chunkStop := max(chunkStart-maxChunkSize+1, stop) err = mdDumpChunk(ctx, config, replacements, tlfStr, branchStr, tlfID, branchID, chunkStart, chunkStop) if err != nil { diff --git a/go/kbfs/ldbutils/count_meter.go b/go/kbfs/ldbutils/count_meter.go index bfb613bf5538..0144fc9a1f50 100644 --- a/go/kbfs/ldbutils/count_meter.go +++ b/go/kbfs/ldbutils/count_meter.go @@ -86,7 +86,7 @@ func (m *CountMeter) Mark(i int64) { func (m *CountMeter) rateN(n int) float64 { var count int64 - for i := 0; i < n; i++ { + for i := range n { count += m.counters[i] } return float64(count) diff --git a/go/kbfs/ldbutils/count_meter_test.go b/go/kbfs/ldbutils/count_meter_test.go index 1d9777f36d02..7a5022fe2240 100644 --- a/go/kbfs/ldbutils/count_meter_test.go +++ b/go/kbfs/ldbutils/count_meter_test.go @@ -16,7 +16,7 @@ func TestCountMeter(t *testing.T) { var count15 float64 var countMean float64 - for i := 0; i < 100; i++ { + for i := range 100 { count1 = 0 if i > 4 { count5 -= float64(((i - 5) * 4) + 10) diff --git a/go/kbfs/libdokan/createfile_test.go b/go/kbfs/libdokan/createfile_test.go index 8e5c88bda92d..dd2e4572b848 100644 --- a/go/kbfs/libdokan/createfile_test.go +++ b/go/kbfs/libdokan/createfile_test.go @@ -3,7 +3,6 @@ // license that can be found in the LICENSE file. //go:build windows -// +build windows package libdokan diff --git a/go/kbfs/libdokan/dokan_info.go b/go/kbfs/libdokan/dokan_info.go index 102d1d5f2454..aa0f0ad14f79 100644 --- a/go/kbfs/libdokan/dokan_info.go +++ b/go/kbfs/libdokan/dokan_info.go @@ -26,7 +26,7 @@ type errorPrinter struct { buf bytes.Buffer } -func (ep *errorPrinter) Printf(s string, os ...interface{}) { +func (ep *errorPrinter) Printf(s string, os ...any) { fmt.Fprintf(&ep.buf, s, os...) } diff --git a/go/kbfs/libdokan/dummy.go b/go/kbfs/libdokan/dummy.go index fe45488afd7a..452877cd0adb 100644 --- a/go/kbfs/libdokan/dummy.go +++ b/go/kbfs/libdokan/dummy.go @@ -3,7 +3,6 @@ // license that can be found in the LICENSE file. //go:build !windows -// +build !windows package libdokan diff --git a/go/kbfs/libdokan/fs.go b/go/kbfs/libdokan/fs.go index f15fab459137..f09bd7bb7b5a 100644 --- a/go/kbfs/libdokan/fs.go +++ b/go/kbfs/libdokan/fs.go @@ -424,7 +424,7 @@ func (f *FS) ErrorPrint(err error) { } // Printf prints information from the Dokan library. -func (f *FS) Printf(fmt string, args ...interface{}) { +func (f *FS) Printf(fmt string, args ...any) { f.log.Info("Dokan info: "+fmt, args...) } @@ -651,7 +651,7 @@ func (f *FS) logEnter(ctx context.Context, s string) { f.vlog.CLogf(ctx, libkb.VLog1, "=> %s", s) } -func (f *FS) logEnterf(ctx context.Context, fmt string, args ...interface{}) { +func (f *FS) logEnterf(ctx context.Context, fmt string, args ...any) { f.vlog.CLogf(ctx, libkb.VLog1, "=> "+fmt, args...) } diff --git a/go/kbfs/libdokan/mount_test.go b/go/kbfs/libdokan/mount_test.go index 2acc334c2c66..d482cd92a288 100644 --- a/go/kbfs/libdokan/mount_test.go +++ b/go/kbfs/libdokan/mount_test.go @@ -3,7 +3,6 @@ // license that can be found in the LICENSE file. //go:build windows -// +build windows package libdokan diff --git a/go/kbfs/libdokan/new_folder_name.go b/go/kbfs/libdokan/new_folder_name.go index 1881871e3cdd..9e441bdc478c 100644 --- a/go/kbfs/libdokan/new_folder_name.go +++ b/go/kbfs/libdokan/new_folder_name.go @@ -3,7 +3,6 @@ // license that can be found in the LICENSE file. //go:build windows -// +build windows package libdokan diff --git a/go/kbfs/libdokan/noexec_test.go b/go/kbfs/libdokan/noexec_test.go index 7916a31deda0..b25f51929769 100644 --- a/go/kbfs/libdokan/noexec_test.go +++ b/go/kbfs/libdokan/noexec_test.go @@ -3,7 +3,6 @@ // license that can be found in the LICENSE file. //go:build windows -// +build windows package libdokan diff --git a/go/kbfs/libfs/file_info.go b/go/kbfs/libfs/file_info.go index 488a68670a87..82def4299b79 100644 --- a/go/kbfs/libfs/file_info.go +++ b/go/kbfs/libfs/file_info.go @@ -163,7 +163,7 @@ func (fis fileInfoSys) EntryInfo() data.EntryInfo { } // Sys implements the os.FileInfo interface for FileInfo. -func (fi *FileInfo) Sys() interface{} { +func (fi *FileInfo) Sys() any { return fileInfoSys{fi} } @@ -214,7 +214,7 @@ func (fif *FileInfoFast) IsDir() bool { } // Sys implements the os.FileInfo interface. -func (fif *FileInfoFast) Sys() interface{} { +func (fif *FileInfoFast) Sys() any { return fif } diff --git a/go/kbfs/libfs/fs.go b/go/kbfs/libfs/fs.go index c71fb772d78a..d29cd4ec0841 100644 --- a/go/kbfs/libfs/fs.go +++ b/go/kbfs/libfs/fs.go @@ -480,7 +480,7 @@ func (fs *FS) lookupOrCreateEntry( } filename = strings.TrimPrefix(filename, "/") - for i := 0; i < maxSymlinkLevels; i++ { + for range maxSymlinkLevels { var parentDir, fName string n, parentDir, fName, err = fs.lookupParent(filename) if err != nil { @@ -535,9 +535,9 @@ func (fs *FS) mkdirAll(filename string, perm os.FileMode) (err error) { return err } - parts := strings.Split(leftover, "/") + parts := strings.SplitSeq(leftover, "/") // Make all necessary dirs. - for _, p := range parts { + for p := range parts { child, _, err := fs.config.KBFSOps().CreateDir( fs.ctx, n, n.ChildName(p)) switch errors.Cause(err).(type) { diff --git a/go/kbfs/libfs/json.go b/go/kbfs/libfs/json.go index 7236e67abf7e..eb5875153fb0 100644 --- a/go/kbfs/libfs/json.go +++ b/go/kbfs/libfs/json.go @@ -9,7 +9,7 @@ import ( ) // PrettyJSON marshals a value to human-readable JSON. -func PrettyJSON(value interface{}) ([]byte, error) { +func PrettyJSON(value any) ([]byte, error) { data, err := json.MarshalIndent(value, "", " ") if err != nil { return nil, err diff --git a/go/kbfs/libfs/profilelist.go b/go/kbfs/libfs/profilelist.go index b3c2f4f0bc6a..acd86f18aaeb 100644 --- a/go/kbfs/libfs/profilelist.go +++ b/go/kbfs/libfs/profilelist.go @@ -209,11 +209,11 @@ func (pfs ProfileFS) OpenWithContext( ) (billy.File, error) { var durationStr string var prof timedProfile - if strings.HasPrefix(filename, CPUProfilePrefix) { - durationStr = strings.TrimPrefix(filename, CPUProfilePrefix) + if after, ok := strings.CutPrefix(filename, CPUProfilePrefix); ok { + durationStr = after prof = cpuProfile{} - } else if strings.HasPrefix(filename, TraceProfilePrefix) { - durationStr = strings.TrimPrefix(filename, TraceProfilePrefix) + } else if after, ok := strings.CutPrefix(filename, TraceProfilePrefix); ok { + durationStr = after prof = traceProfile{} } if durationStr != "" { diff --git a/go/kbfs/libfs/wrapped_read_file_info.go b/go/kbfs/libfs/wrapped_read_file_info.go index 8854c1e6dbd3..873679528364 100644 --- a/go/kbfs/libfs/wrapped_read_file_info.go +++ b/go/kbfs/libfs/wrapped_read_file_info.go @@ -39,6 +39,6 @@ func (cfi *wrappedReadFileInfo) IsDir() bool { return cfi.dir } -func (cfi *wrappedReadFileInfo) Sys() interface{} { +func (cfi *wrappedReadFileInfo) Sys() any { return nil } diff --git a/go/kbfs/libfuse/alias.go b/go/kbfs/libfuse/alias.go index 286ac992df64..fb1d5d31c60e 100644 --- a/go/kbfs/libfuse/alias.go +++ b/go/kbfs/libfuse/alias.go @@ -3,7 +3,6 @@ // license that can be found in the LICENSE file. // //go:build !windows -// +build !windows package libfuse diff --git a/go/kbfs/libfuse/archive_reltime_file.go b/go/kbfs/libfuse/archive_reltime_file.go index dd1f8cce4634..7b238c3ed27a 100644 --- a/go/kbfs/libfuse/archive_reltime_file.go +++ b/go/kbfs/libfuse/archive_reltime_file.go @@ -3,7 +3,6 @@ // license that can be found in the LICENSE file. // //go:build !windows -// +build !windows package libfuse diff --git a/go/kbfs/libfuse/block_size.go b/go/kbfs/libfuse/block_size.go index e1df7cc6bcb9..beb60f83444f 100644 --- a/go/kbfs/libfuse/block_size.go +++ b/go/kbfs/libfuse/block_size.go @@ -3,7 +3,6 @@ // license that can be found in the LICENSE file. // //go:build !windows -// +build !windows package libfuse diff --git a/go/kbfs/libfuse/common.go b/go/kbfs/libfuse/common.go index b40467645457..43e838cbf44e 100644 --- a/go/kbfs/libfuse/common.go +++ b/go/kbfs/libfuse/common.go @@ -3,7 +3,6 @@ // license that can be found in the LICENSE file. // //go:build !windows -// +build !windows package libfuse diff --git a/go/kbfs/libfuse/constants_darwin.go b/go/kbfs/libfuse/constants_darwin.go index 1af47c7ac4ad..07d124e7443b 100644 --- a/go/kbfs/libfuse/constants_darwin.go +++ b/go/kbfs/libfuse/constants_darwin.go @@ -3,7 +3,6 @@ // license that can be found in the LICENSE file. // //go:build !windows -// +build !windows package libfuse diff --git a/go/kbfs/libfuse/debug.go b/go/kbfs/libfuse/debug.go index 6e243408baf1..969308b15c90 100644 --- a/go/kbfs/libfuse/debug.go +++ b/go/kbfs/libfuse/debug.go @@ -3,7 +3,6 @@ // license that can be found in the LICENSE file. // //go:build !windows -// +build !windows package libfuse @@ -21,8 +20,8 @@ var statfsOrAccessRegexp = regexp.MustCompile(`^(<-|->).* (Statfs|Access)`) // given log, suitable to assign to fuse.Debug. func MakeFuseDebugFn( log logger.Logger, superVerbose bool, -) func(msg interface{}) { - return func(msg interface{}) { +) func(msg any) { + return func(msg any) { str := fmt.Sprintf("%s", msg) // If superVerbose is not set, filter out Statfs and // Access messages, since they're spammy on OS X. @@ -40,8 +39,8 @@ func MakeFuseDebugFn( // given vlog at level 1, suitable to assign to fuse.Debug. func MakeFuseVDebugFn( vlog *libkb.VDebugLog, superVerbose bool, -) func(msg interface{}) { - return func(msg interface{}) { +) func(msg any) { + return func(msg any) { str := fmt.Sprintf("%s", msg) // If superVerbose is not set, filter out Statfs and // Access messages, since they're spammy on OS X. diff --git a/go/kbfs/libfuse/debug_server_file.go b/go/kbfs/libfuse/debug_server_file.go index 6e762fe6bfbf..33b731d1803e 100644 --- a/go/kbfs/libfuse/debug_server_file.go +++ b/go/kbfs/libfuse/debug_server_file.go @@ -3,7 +3,6 @@ // license that can be found in the LICENSE file. // //go:build !windows -// +build !windows package libfuse diff --git a/go/kbfs/libfuse/dir.go b/go/kbfs/libfuse/dir.go index 38c39ba4add9..1815182d5bfe 100644 --- a/go/kbfs/libfuse/dir.go +++ b/go/kbfs/libfuse/dir.go @@ -3,7 +3,6 @@ // license that can be found in the LICENSE file. // //go:build !windows -// +build !windows package libfuse diff --git a/go/kbfs/libfuse/error_file.go b/go/kbfs/libfuse/error_file.go index 690ab297ce93..6568701e0ae5 100644 --- a/go/kbfs/libfuse/error_file.go +++ b/go/kbfs/libfuse/error_file.go @@ -3,7 +3,6 @@ // license that can be found in the LICENSE file. // //go:build !windows -// +build !windows package libfuse diff --git a/go/kbfs/libfuse/errors.go b/go/kbfs/libfuse/errors.go index c44244132287..e5fc5d7eb2b6 100644 --- a/go/kbfs/libfuse/errors.go +++ b/go/kbfs/libfuse/errors.go @@ -3,7 +3,6 @@ // license that can be found in the LICENSE file. // //go:build !windows -// +build !windows package libfuse diff --git a/go/kbfs/libfuse/external_file.go b/go/kbfs/libfuse/external_file.go index 53586f73b3d0..895840468c42 100644 --- a/go/kbfs/libfuse/external_file.go +++ b/go/kbfs/libfuse/external_file.go @@ -3,7 +3,6 @@ // license that can be found in the LICENSE file. // //go:build !windows -// +build !windows package libfuse diff --git a/go/kbfs/libfuse/file.go b/go/kbfs/libfuse/file.go index 480c13e2d4fb..3a0d04f38661 100644 --- a/go/kbfs/libfuse/file.go +++ b/go/kbfs/libfuse/file.go @@ -3,7 +3,6 @@ // license that can be found in the LICENSE file. // //go:build !windows -// +build !windows package libfuse diff --git a/go/kbfs/libfuse/file_info_file.go b/go/kbfs/libfuse/file_info_file.go index 2918d4c08754..cef7f663f036 100644 --- a/go/kbfs/libfuse/file_info_file.go +++ b/go/kbfs/libfuse/file_info_file.go @@ -3,7 +3,6 @@ // license that can be found in the LICENSE file. // //go:build !windows -// +build !windows package libfuse diff --git a/go/kbfs/libfuse/folderlist.go b/go/kbfs/libfuse/folderlist.go index 4edced639bdf..99b4a19d72e9 100644 --- a/go/kbfs/libfuse/folderlist.go +++ b/go/kbfs/libfuse/folderlist.go @@ -3,7 +3,6 @@ // license that can be found in the LICENSE file. // //go:build !windows -// +build !windows package libfuse diff --git a/go/kbfs/libfuse/fs.go b/go/kbfs/libfuse/fs.go index 1c9315c0321a..fd314124f47f 100644 --- a/go/kbfs/libfuse/fs.go +++ b/go/kbfs/libfuse/fs.go @@ -3,7 +3,6 @@ // license that can be found in the LICENSE file. // //go:build !windows -// +build !windows package libfuse diff --git a/go/kbfs/libfuse/fs_darwin.go b/go/kbfs/libfuse/fs_darwin.go index a74671108dfc..0da1b76999b4 100644 --- a/go/kbfs/libfuse/fs_darwin.go +++ b/go/kbfs/libfuse/fs_darwin.go @@ -3,7 +3,6 @@ // license that can be found in the LICENSE file. // //go:build darwin -// +build darwin package libfuse diff --git a/go/kbfs/libfuse/fs_default.go b/go/kbfs/libfuse/fs_default.go index 50ff153ccaa4..f9fbd97f9cca 100644 --- a/go/kbfs/libfuse/fs_default.go +++ b/go/kbfs/libfuse/fs_default.go @@ -3,7 +3,6 @@ // license that can be found in the LICENSE file. //go:build !darwin && !windows -// +build !darwin,!windows package libfuse diff --git a/go/kbfs/libfuse/journal_control_file.go b/go/kbfs/libfuse/journal_control_file.go index b3e59eadbb24..dc85396a654c 100644 --- a/go/kbfs/libfuse/journal_control_file.go +++ b/go/kbfs/libfuse/journal_control_file.go @@ -3,7 +3,6 @@ // license that can be found in the LICENSE file. // //go:build !windows -// +build !windows package libfuse diff --git a/go/kbfs/libfuse/metrics_file.go b/go/kbfs/libfuse/metrics_file.go index 1a03628ce6c9..ac82bae55e53 100644 --- a/go/kbfs/libfuse/metrics_file.go +++ b/go/kbfs/libfuse/metrics_file.go @@ -3,7 +3,6 @@ // license that can be found in the LICENSE file. // //go:build !windows -// +build !windows package libfuse diff --git a/go/kbfs/libfuse/mount_test.go b/go/kbfs/libfuse/mount_test.go index 63fe1e4d9690..0e7d5ed479a1 100644 --- a/go/kbfs/libfuse/mount_test.go +++ b/go/kbfs/libfuse/mount_test.go @@ -3,7 +3,6 @@ // license that can be found in the LICENSE file. // //go:build !windows -// +build !windows package libfuse @@ -13,6 +12,7 @@ import ( "encoding/json" "fmt" "io" + "maps" "os" "os/exec" "path" @@ -123,9 +123,7 @@ func checkDirNoTestError( // make a copy of want, to be safe { tmp := make(map[string]fileInfoCheck, len(want)) - for k, v := range want { - tmp[k] = v - } + maps.Copy(tmp, want) want = tmp } @@ -1211,7 +1209,7 @@ func TestRemoveTLF(t *testing.T) { } var lastErr error - for i := 0; i < 10; i++ { + for range 10 { if err := syscall.Rmdir(p); err != nil { t.Fatal(err) } @@ -4118,7 +4116,7 @@ func TestUpdateHistoryFile(t *testing.T) { t.Log("Make several revisions") p := path.Join(mnt.Dir, PrivateName, "jdoe") - for i := 0; i < 10; i++ { + for i := range 10 { file := path.Join(p, fmt.Sprintf("foo-%d", i)) f, err := os.Create(file) //nolint:gosec // G304: Test file path require.NoError(t, err) diff --git a/go/kbfs/libfuse/mounter.go b/go/kbfs/libfuse/mounter.go index 41b2dcaa6ee2..1d1fb9ded239 100644 --- a/go/kbfs/libfuse/mounter.go +++ b/go/kbfs/libfuse/mounter.go @@ -3,7 +3,6 @@ // license that can be found in the LICENSE file. // //go:build !windows -// +build !windows package libfuse diff --git a/go/kbfs/libfuse/mounter_non_osx.go b/go/kbfs/libfuse/mounter_non_osx.go index 9be992a6f626..89be8b86af2f 100644 --- a/go/kbfs/libfuse/mounter_non_osx.go +++ b/go/kbfs/libfuse/mounter_non_osx.go @@ -3,7 +3,6 @@ // license that can be found in the LICENSE file. // //go:build !darwin && !windows -// +build !darwin,!windows package libfuse diff --git a/go/kbfs/libfuse/open_file_count_file.go b/go/kbfs/libfuse/open_file_count_file.go index 41c3e7d97d74..eb2d4ae37874 100644 --- a/go/kbfs/libfuse/open_file_count_file.go +++ b/go/kbfs/libfuse/open_file_count_file.go @@ -3,7 +3,6 @@ // license that can be found in the LICENSE file. // //go:build !windows -// +build !windows package libfuse diff --git a/go/kbfs/libfuse/platform_flags_non_osx.go b/go/kbfs/libfuse/platform_flags_non_osx.go index f17e59b5b3e5..bea03e573377 100644 --- a/go/kbfs/libfuse/platform_flags_non_osx.go +++ b/go/kbfs/libfuse/platform_flags_non_osx.go @@ -3,7 +3,6 @@ // license that can be found in the LICENSE file. // //go:build !darwin && !windows -// +build !darwin,!windows package libfuse diff --git a/go/kbfs/libfuse/platform_flags_osx.go b/go/kbfs/libfuse/platform_flags_osx.go index 62b64f359177..6f4dfb9e1609 100644 --- a/go/kbfs/libfuse/platform_flags_osx.go +++ b/go/kbfs/libfuse/platform_flags_osx.go @@ -3,7 +3,6 @@ // license that can be found in the LICENSE file.// // //go:build darwin -// +build darwin package libfuse diff --git a/go/kbfs/libfuse/prefetch_file.go b/go/kbfs/libfuse/prefetch_file.go index 98587ff343c0..724b39f411d1 100644 --- a/go/kbfs/libfuse/prefetch_file.go +++ b/go/kbfs/libfuse/prefetch_file.go @@ -3,7 +3,6 @@ // license that can be found in the LICENSE file. // //go:build !windows -// +build !windows package libfuse diff --git a/go/kbfs/libfuse/profilelist.go b/go/kbfs/libfuse/profilelist.go index 294eee64bc00..5ae4389884e9 100644 --- a/go/kbfs/libfuse/profilelist.go +++ b/go/kbfs/libfuse/profilelist.go @@ -3,7 +3,6 @@ // license that can be found in the LICENSE file. // //go:build !windows -// +build !windows package libfuse diff --git a/go/kbfs/libfuse/quarantine.go b/go/kbfs/libfuse/quarantine.go index 25b7eabcece7..536290af6a60 100644 --- a/go/kbfs/libfuse/quarantine.go +++ b/go/kbfs/libfuse/quarantine.go @@ -3,7 +3,6 @@ // license that can be found in the LICENSE file. // //go:build !windows -// +build !windows package libfuse diff --git a/go/kbfs/libfuse/quarantine_darwin.go b/go/kbfs/libfuse/quarantine_darwin.go index 23e25aa6267b..70130c44d103 100644 --- a/go/kbfs/libfuse/quarantine_darwin.go +++ b/go/kbfs/libfuse/quarantine_darwin.go @@ -3,7 +3,6 @@ // license that can be found in the LICENSE file. // //go:build !windows -// +build !windows package libfuse diff --git a/go/kbfs/libfuse/quarantine_others.go b/go/kbfs/libfuse/quarantine_others.go index e26713fe0bb0..3381dae97e78 100644 --- a/go/kbfs/libfuse/quarantine_others.go +++ b/go/kbfs/libfuse/quarantine_others.go @@ -3,7 +3,6 @@ // license that can be found in the LICENSE file. // //go:build !darwin && !windows -// +build !darwin,!windows package libfuse diff --git a/go/kbfs/libfuse/reclaim_quota_file.go b/go/kbfs/libfuse/reclaim_quota_file.go index b2f3ddb81c93..134022a8987e 100644 --- a/go/kbfs/libfuse/reclaim_quota_file.go +++ b/go/kbfs/libfuse/reclaim_quota_file.go @@ -3,7 +3,6 @@ // license that can be found in the LICENSE file. // //go:build !windows -// +build !windows package libfuse diff --git a/go/kbfs/libfuse/rekey_file.go b/go/kbfs/libfuse/rekey_file.go index 7acc94626fff..dd30581c20ef 100644 --- a/go/kbfs/libfuse/rekey_file.go +++ b/go/kbfs/libfuse/rekey_file.go @@ -3,7 +3,6 @@ // license that can be found in the LICENSE file. // //go:build !windows -// +build !windows package libfuse diff --git a/go/kbfs/libfuse/reset_caches_file.go b/go/kbfs/libfuse/reset_caches_file.go index 3d168bf2752e..3df0c3373866 100644 --- a/go/kbfs/libfuse/reset_caches_file.go +++ b/go/kbfs/libfuse/reset_caches_file.go @@ -3,7 +3,6 @@ // license that can be found in the LICENSE file. // //go:build !windows -// +build !windows package libfuse diff --git a/go/kbfs/libfuse/special_files.go b/go/kbfs/libfuse/special_files.go index 129021dcf8a6..f3a5af23fc62 100644 --- a/go/kbfs/libfuse/special_files.go +++ b/go/kbfs/libfuse/special_files.go @@ -3,7 +3,6 @@ // license that can be found in the LICENSE file. // //go:build !windows -// +build !windows package libfuse diff --git a/go/kbfs/libfuse/special_read_file.go b/go/kbfs/libfuse/special_read_file.go index 1afb9f4a4dfc..03a3f3ab2a3d 100644 --- a/go/kbfs/libfuse/special_read_file.go +++ b/go/kbfs/libfuse/special_read_file.go @@ -3,7 +3,6 @@ // license that can be found in the LICENSE file. // //go:build !windows -// +build !windows package libfuse diff --git a/go/kbfs/libfuse/start.go b/go/kbfs/libfuse/start.go index cf25362adfa0..da2927ec94a8 100644 --- a/go/kbfs/libfuse/start.go +++ b/go/kbfs/libfuse/start.go @@ -3,7 +3,6 @@ // license that can be found in the LICENSE file. // //go:build !windows -// +build !windows package libfuse diff --git a/go/kbfs/libfuse/status_file.go b/go/kbfs/libfuse/status_file.go index c535815fb63f..2bc015980ad5 100644 --- a/go/kbfs/libfuse/status_file.go +++ b/go/kbfs/libfuse/status_file.go @@ -3,7 +3,6 @@ // license that can be found in the LICENSE file. // //go:build !windows -// +build !windows package libfuse diff --git a/go/kbfs/libfuse/symlink.go b/go/kbfs/libfuse/symlink.go index 3fd0895a86ae..cdb9468158ba 100644 --- a/go/kbfs/libfuse/symlink.go +++ b/go/kbfs/libfuse/symlink.go @@ -3,7 +3,6 @@ // license that can be found in the LICENSE file. // //go:build !windows -// +build !windows package libfuse diff --git a/go/kbfs/libfuse/sync_control_file.go b/go/kbfs/libfuse/sync_control_file.go index b3df00ccc3fa..4bff8d4465cd 100644 --- a/go/kbfs/libfuse/sync_control_file.go +++ b/go/kbfs/libfuse/sync_control_file.go @@ -3,7 +3,6 @@ // license that can be found in the LICENSE file. // //go:build !windows -// +build !windows package libfuse diff --git a/go/kbfs/libfuse/sync_from_server_file.go b/go/kbfs/libfuse/sync_from_server_file.go index ef4eb4acbe81..7cf35e660240 100644 --- a/go/kbfs/libfuse/sync_from_server_file.go +++ b/go/kbfs/libfuse/sync_from_server_file.go @@ -3,7 +3,6 @@ // license that can be found in the LICENSE file. // //go:build !windows -// +build !windows package libfuse diff --git a/go/kbfs/libfuse/tlf.go b/go/kbfs/libfuse/tlf.go index e04fc4042c66..7f1c511bdfbd 100644 --- a/go/kbfs/libfuse/tlf.go +++ b/go/kbfs/libfuse/tlf.go @@ -3,7 +3,6 @@ // license that can be found in the LICENSE file. // //go:build !windows -// +build !windows package libfuse diff --git a/go/kbfs/libfuse/tlf_edit_history_file.go b/go/kbfs/libfuse/tlf_edit_history_file.go index 929973f6e08f..0899e56d0838 100644 --- a/go/kbfs/libfuse/tlf_edit_history_file.go +++ b/go/kbfs/libfuse/tlf_edit_history_file.go @@ -3,7 +3,6 @@ // license that can be found in the LICENSE file. // //go:build !windows -// +build !windows package libfuse diff --git a/go/kbfs/libfuse/unstage_file.go b/go/kbfs/libfuse/unstage_file.go index f7b39effa2aa..1a714e9acd46 100644 --- a/go/kbfs/libfuse/unstage_file.go +++ b/go/kbfs/libfuse/unstage_file.go @@ -3,7 +3,6 @@ // license that can be found in the LICENSE file. // //go:build !windows -// +build !windows package libfuse diff --git a/go/kbfs/libfuse/updates_file.go b/go/kbfs/libfuse/updates_file.go index ec55c4a3d668..b5d959dbe7c7 100644 --- a/go/kbfs/libfuse/updates_file.go +++ b/go/kbfs/libfuse/updates_file.go @@ -3,7 +3,6 @@ // license that can be found in the LICENSE file. // //go:build !windows -// +build !windows package libfuse diff --git a/go/kbfs/libfuse/user_edit_history_file.go b/go/kbfs/libfuse/user_edit_history_file.go index c674ff0d100a..b152b022ab57 100644 --- a/go/kbfs/libfuse/user_edit_history_file.go +++ b/go/kbfs/libfuse/user_edit_history_file.go @@ -3,7 +3,6 @@ // license that can be found in the LICENSE file. // //go:build !windows -// +build !windows package libfuse diff --git a/go/kbfs/libgit/autogit_manager.go b/go/kbfs/libgit/autogit_manager.go index d70327e76f68..68dddf403482 100644 --- a/go/kbfs/libgit/autogit_manager.go +++ b/go/kbfs/libgit/autogit_manager.go @@ -7,6 +7,7 @@ package libgit import ( "context" "os" + "slices" "sync" lru "github.com/hashicorp/golang-lru" @@ -265,14 +266,11 @@ func (am *AutogitManager) clearInvalidatedBrowsers( // have one entry (since only one repo is updated in a single // metadata update), so iterating here should be cheaper than // making a map. - for _, nodeID := range repoNodeIDs { - if rootNodeID == nodeID { - am.log.CDebugf( - context.TODO(), "Invalidating browser for %s", - v.repoFS.Root()) - am.browserCache.Remove(k) - break - } + if slices.Contains(repoNodeIDs, rootNodeID) { + am.log.CDebugf( + context.TODO(), "Invalidating browser for %s", + v.repoFS.Root()) + am.browserCache.Remove(k) } } } @@ -285,7 +283,6 @@ func (am *AutogitManager) BatchChanges( nodes, repoNodeIDs := am.getNodesToInvalidate(affectedNodeIDs) go am.clearInvalidatedBrowsers(repoNodeIDs) for _, node := range nodes { - node := node go func() { ctx := libkbfs.CtxWithRandomIDReplayable( context.Background(), ctxAutogitIDKey, ctxAutogitOpID, am.log) diff --git a/go/kbfs/libgit/autogit_node_wrappers.go b/go/kbfs/libgit/autogit_node_wrappers.go index b03b15328146..312decb9c01d 100644 --- a/go/kbfs/libgit/autogit_node_wrappers.go +++ b/go/kbfs/libgit/autogit_node_wrappers.go @@ -227,8 +227,8 @@ func (rdn *repoDirNode) WrapChild(child libkbfs.Node) libkbfs.Node { subdir: "", branch: branch, } - } else if strings.HasPrefix(name, AutogitCommitPrefix) { - commit := strings.TrimPrefix(name, AutogitCommitPrefix) + } else if after, ok := strings.CutPrefix(name, AutogitCommitPrefix); ok { + commit := after return &repoCommitNode{ Node: child, am: rdn.am, diff --git a/go/kbfs/libgit/browser.go b/go/kbfs/libgit/browser.go index 4b3b9fb5bf22..f9e7aa82f55c 100644 --- a/go/kbfs/libgit/browser.go +++ b/go/kbfs/libgit/browser.go @@ -224,7 +224,7 @@ func (b *Browser) Open(filename string) (f billy.File, err error) { } defer translateGitError(&err) - for i := 0; i < maxSymlinkLevels; i++ { + for range maxSymlinkLevels { fi, err := b.Lstat(filename) if err != nil { return nil, err @@ -305,8 +305,8 @@ func (b *Browser) Lstat(filename string) (fi os.FileInfo, err error) { return nil, errors.New("Empty repo") } - if strings.HasPrefix(filename, AutogitCommitPrefix) { - commit := strings.TrimPrefix(filename, AutogitCommitPrefix) + if after, ok := strings.CutPrefix(filename, AutogitCommitPrefix); ok { + commit := after hash := plumbing.NewHash(commit) f, err := b.getCommitFile(context.Background(), hash) if err != nil { @@ -366,7 +366,7 @@ func (b *Browser) Lstat(filename string) (fi os.FileInfo, err error) { // Stat implements the billy.Filesystem interface for Browser. func (b *Browser) Stat(filename string) (fi os.FileInfo, err error) { defer translateGitError(&err) - for i := 0; i < maxSymlinkLevels; i++ { + for range maxSymlinkLevels { fi, err := b.Lstat(filename) if err != nil { return nil, err diff --git a/go/kbfs/libgit/browser_file.go b/go/kbfs/libgit/browser_file.go index 8b18e0b1679e..7b03ea3a27bb 100644 --- a/go/kbfs/libgit/browser_file.go +++ b/go/kbfs/libgit/browser_file.go @@ -61,18 +61,12 @@ func (bf *browserFile) ReadAt(p []byte, off int64) (n int, err error) { }() dataToSkip := off - bufSize := dataToSkip - if bufSize > bf.maxBufSize { - bufSize = bf.maxBufSize - } + bufSize := min(dataToSkip, bf.maxBufSize) buf := make([]byte, bufSize) // Skip past the data we don't care about, one chunk at a time. for dataToSkip > 0 { - toRead := int64(len(buf)) - if dataToSkip < toRead { - toRead = dataToSkip - } + toRead := min(dataToSkip, int64(len(buf))) // Throwaway data. n, err := r.Read(buf[:toRead]) diff --git a/go/kbfs/libgit/browser_file_info.go b/go/kbfs/libgit/browser_file_info.go index 51a5a6d2fc93..3b81db7e7179 100644 --- a/go/kbfs/libgit/browser_file_info.go +++ b/go/kbfs/libgit/browser_file_info.go @@ -46,6 +46,6 @@ func (bfi *browserFileInfo) IsDir() bool { return !bfi.entry.Mode.IsFile() } -func (bfi *browserFileInfo) Sys() interface{} { +func (bfi *browserFileInfo) Sys() any { return nil } diff --git a/go/kbfs/libgit/diff_file_info.go b/go/kbfs/libgit/diff_file_info.go index 0e7375b68d62..dd07d935de8a 100644 --- a/go/kbfs/libgit/diff_file_info.go +++ b/go/kbfs/libgit/diff_file_info.go @@ -38,6 +38,6 @@ func (cfi *diffFileInfo) IsDir() bool { return false } -func (cfi *diffFileInfo) Sys() interface{} { +func (cfi *diffFileInfo) Sys() any { return nil } diff --git a/go/kbfs/libgit/lfs_file_info.go b/go/kbfs/libgit/lfs_file_info.go index 6f1b145e4f5e..768991cfcbf6 100644 --- a/go/kbfs/libgit/lfs_file_info.go +++ b/go/kbfs/libgit/lfs_file_info.go @@ -38,6 +38,6 @@ func (lfi *lfsFileInfo) IsDir() bool { return false } -func (lfi *lfsFileInfo) Sys() interface{} { +func (lfi *lfsFileInfo) Sys() any { return nil } diff --git a/go/kbfs/libgit/repo_test.go b/go/kbfs/libgit/repo_test.go index bafdeefd42c3..0ca6abac38a4 100644 --- a/go/kbfs/libgit/repo_test.go +++ b/go/kbfs/libgit/repo_test.go @@ -150,8 +150,7 @@ func TestCreateDuplicateRepo(t *testing.T) { defer libkbfs.CheckConfigAndShutdown(ctx, t, config) config2 := libkbfs.ConfigAsUser(config, "user2") - ctx2, cancel2 := context.WithCancel(context.Background()) - defer cancel2() + ctx2 := t.Context() tempdir, err := os.MkdirTemp(os.TempDir(), "journal_server") require.NoError(t, err) defer func() { _ = os.RemoveAll(tempdir) }() diff --git a/go/kbfs/libgit/submodule_file_info.go b/go/kbfs/libgit/submodule_file_info.go index ff85f7bf15b1..e5c9f52159cb 100644 --- a/go/kbfs/libgit/submodule_file_info.go +++ b/go/kbfs/libgit/submodule_file_info.go @@ -39,6 +39,6 @@ func (sfi *submoduleFileInfo) IsDir() bool { return false } -func (sfi *submoduleFileInfo) Sys() interface{} { +func (sfi *submoduleFileInfo) Sys() any { return nil } diff --git a/go/kbfs/libkbfs/backpressure_disk_limiter.go b/go/kbfs/libkbfs/backpressure_disk_limiter.go index 8c11dbe1ed05..dc92501498bb 100644 --- a/go/kbfs/libkbfs/backpressure_disk_limiter.go +++ b/go/kbfs/libkbfs/backpressure_disk_limiter.go @@ -1149,7 +1149,7 @@ type backpressureDiskLimiterStatus struct { func (bdl *backpressureDiskLimiter) getStatus( ctx context.Context, chargedTo keybase1.UserOrTeamID, -) interface{} { +) any { bdl.lock.Lock() defer bdl.lock.Unlock() diff --git a/go/kbfs/libkbfs/backpressure_disk_limiter_test.go b/go/kbfs/libkbfs/backpressure_disk_limiter_test.go index b9cd9ad355ad..acdcf13a5c67 100644 --- a/go/kbfs/libkbfs/backpressure_disk_limiter_test.go +++ b/go/kbfs/libkbfs/backpressure_disk_limiter_test.go @@ -770,7 +770,7 @@ func testBackpressureDiskLimiterLargeDiskDelay( // The first two puts shouldn't encounter any backpressure... - for i := 0; i < 2; i++ { + for i := range 2 { availBytes, availFiles, err := bdl.reserveWithBackpressure(ctx, journalLimitTrackerType, blockBytes, blockFiles, chargedTo) require.NoError(t, err) @@ -925,7 +925,7 @@ func TestBackpressureDiskLimiterJournalAndDiskCache(t *testing.T) { // The first two puts shouldn't encounter any backpressure... - for i := 0; i < 2; i++ { + for i := range 2 { // Ensure the disk block cache doesn't interfere with the journal // limits. availBytes, err := bdl.reserveBytes(ctx, workingSetCacheLimitTrackerType, blockBytes) @@ -1130,7 +1130,7 @@ func testBackpressureDiskLimiterSmallDiskDelay( // The first two puts shouldn't encounter any backpressure... - for i := 0; i < 2; i++ { + for i := range 2 { availBytes, availFiles, err := bdl.reserveWithBackpressure(ctx, journalLimitTrackerType, blockBytes, blockFiles, chargedTo) require.NoError(t, err) @@ -1254,7 +1254,7 @@ func TestBackpressureDiskLimiterNearQuota(t *testing.T) { // The first seven puts shouldn't encounter any backpressure... - for i := 0; i < 7; i++ { + for i := range 7 { _, _, err := bdl.reserveWithBackpressure(ctx, journalLimitTrackerType, blockBytes, blockFiles, chargedTo) require.NoError(t, err) diff --git a/go/kbfs/libkbfs/block_journal.go b/go/kbfs/libkbfs/block_journal.go index 0f1b80225133..6c1ae1e4d1fd 100644 --- a/go/kbfs/libkbfs/block_journal.go +++ b/go/kbfs/libkbfs/block_journal.go @@ -194,14 +194,14 @@ func makeBlockJournal( journalPath := blockJournalDir(dir) deferLog := log.CloneWithAddedDepth(1) j, err := makeDiskJournal( - codec, journalPath, reflect.TypeOf(blockJournalEntry{})) + codec, journalPath, reflect.TypeFor[blockJournalEntry]()) if err != nil { return nil, err } gcJournalPath := deferredGCBlockJournalDir(dir) gcj, err := makeDiskJournal( - codec, gcJournalPath, reflect.TypeOf(blockJournalEntry{})) + codec, gcJournalPath, reflect.TypeFor[blockJournalEntry]()) if err != nil { return nil, err } @@ -719,10 +719,7 @@ func (j *blockJournal) getNextEntriesToFlush( entries.adds = newBlockPutStateMemory(int(end - first)) //nolint:gosec // G115: Journal entry counts are bounded by config limits maxMDRevToFlush = kbfsmd.RevisionUninitialized - loopEnd := end - if first+journalOrdinal(maxToFlush) < end { //nolint:gosec // G115: maxToFlush is bounded by config limits - loopEnd = first + journalOrdinal(maxToFlush) //nolint:gosec // G115: maxToFlush is bounded by config limits - } + loopEnd := min(first+journalOrdinal(maxToFlush), end) //nolint:gosec // G115: maxToFlush is bounded by config limits for ordinal := first; ordinal < loopEnd; ordinal++ { entry, err := j.readJournalEntry(ordinal) diff --git a/go/kbfs/libkbfs/block_ops_test.go b/go/kbfs/libkbfs/block_ops_test.go index 4d6c5ec3aab7..0a8f8b0040fc 100644 --- a/go/kbfs/libkbfs/block_ops_test.go +++ b/go/kbfs/libkbfs/block_ops_test.go @@ -297,7 +297,7 @@ type badEncoder struct { kbfscodec.Codec } -func (c badEncoder) Encode(o interface{}) ([]byte, error) { +func (c badEncoder) Encode(o any) ([]byte, error) { return nil, errors.New("could not encode") } @@ -323,7 +323,7 @@ type tooSmallEncoder struct { kbfscodec.Codec } -func (c tooSmallEncoder) Encode(o interface{}) ([]byte, error) { +func (c tooSmallEncoder) Encode(o any) ([]byte, error) { return []byte{0x1}, nil } @@ -523,7 +523,7 @@ func (c *badDecoder) putError(buf []byte, err error) { c.errors[k] = err } -func (c *badDecoder) Decode(buf []byte, o interface{}) error { +func (c *badDecoder) Decode(buf []byte, o any) error { k := string(buf) err := func() error { c.errorsLock.RLock() diff --git a/go/kbfs/libkbfs/block_put_state_memory.go b/go/kbfs/libkbfs/block_put_state_memory.go index ef7447374021..449e192e30dc 100644 --- a/go/kbfs/libkbfs/block_put_state_memory.go +++ b/go/kbfs/libkbfs/block_put_state_memory.go @@ -6,6 +6,7 @@ package libkbfs import ( "context" + "maps" "github.com/keybase/client/go/kbfs/data" "github.com/pkg/errors" @@ -85,9 +86,7 @@ func (bps *blockPutStateMemory) mergeOtherBps( return errors.Errorf("Cannot remove other bps of type %T", other) } - for ptr, bs := range otherMem.blockStates { - bps.blockStates[ptr] = bs - } + maps.Copy(bps.blockStates, otherMem.blockStates) return nil } @@ -169,9 +168,7 @@ func (bps *blockPutStateMemory) deepCopy( ) (blockPutStateCopiable, error) { newBps := &blockPutStateMemory{} newBps.blockStates = make(map[data.BlockPointer]blockState, len(bps.blockStates)) - for ptr, bs := range bps.blockStates { - newBps.blockStates[ptr] = bs - } + maps.Copy(newBps.blockStates, bps.blockStates) return newBps, nil } @@ -180,10 +177,7 @@ func (bps *blockPutStateMemory) deepCopyWithBlacklist( blockPutStateCopiable, error, ) { newBps := &blockPutStateMemory{} - newLen := len(bps.blockStates) - len(blacklist) - if newLen < 0 { - newLen = 0 - } + newLen := max(len(bps.blockStates)-len(blacklist), 0) newBps.blockStates = make(map[data.BlockPointer]blockState, newLen) for ptr, bs := range bps.blockStates { // Only save the good pointers diff --git a/go/kbfs/libkbfs/block_ref_map.go b/go/kbfs/libkbfs/block_ref_map.go index da3b5d270c60..0943260b6349 100644 --- a/go/kbfs/libkbfs/block_ref_map.go +++ b/go/kbfs/libkbfs/block_ref_map.go @@ -6,6 +6,7 @@ package libkbfs import ( "fmt" + "maps" "github.com/keybase/client/go/kbfs/kbfsblock" "github.com/keybase/client/go/protocol/keybase1" @@ -154,8 +155,6 @@ func (refs blockRefMap) deepCopy() blockRefMap { return nil } refsCopy := make(blockRefMap) - for k, v := range refs { - refsCopy[k] = v - } + maps.Copy(refsCopy, refs) return refsCopy } diff --git a/go/kbfs/libkbfs/block_retrieval_heap.go b/go/kbfs/libkbfs/block_retrieval_heap.go index e7e8050e263f..b5f806013654 100644 --- a/go/kbfs/libkbfs/block_retrieval_heap.go +++ b/go/kbfs/libkbfs/block_retrieval_heap.go @@ -31,14 +31,14 @@ func (brh blockRetrievalHeap) Swap(i, j int) { brh[j].index = j } -func (brh *blockRetrievalHeap) Push(item interface{}) { +func (brh *blockRetrievalHeap) Push(item any) { n := len(*brh) retrieval := item.(*blockRetrieval) retrieval.index = n *brh = append(*brh, retrieval) } -func (brh *blockRetrievalHeap) Pop() interface{} { +func (brh *blockRetrievalHeap) Pop() any { old := *brh n := len(old) x := old[n-1] diff --git a/go/kbfs/libkbfs/block_retrieval_queue.go b/go/kbfs/libkbfs/block_retrieval_queue.go index 55b108fd7742..0f63caf7b4fd 100644 --- a/go/kbfs/libkbfs/block_retrieval_queue.go +++ b/go/kbfs/libkbfs/block_retrieval_queue.go @@ -189,11 +189,11 @@ func newBlockRetrievalQueue( numWorkers+numPrefetchWorkers), } q.prefetcher = newBlockPrefetcher(q, config, nil, nil, appStateUpdater) - for i := 0; i < numWorkers; i++ { + for range numWorkers { q.workers = append(q.workers, newBlockRetrievalWorker( config.blockGetter(), q, q.workerCh)) } - for i := 0; i < numPrefetchWorkers; i++ { + for range numPrefetchWorkers { q.workers = append(q.workers, newBlockRetrievalWorker( config.blockGetter(), q, q.prefetchWorkerCh)) } @@ -264,7 +264,7 @@ func (brq *blockRetrievalQueue) shutdownRetrievalLocked() bool { } // TODO: try to infer the block type from the requests in the retrieval? - bpLookup := blockPtrLookup{retrieval.blockPtr, reflect.TypeOf(nil)} + bpLookup := blockPtrLookup{retrieval.blockPtr, nil} delete(brq.ptrs, bpLookup) brq.finalizeRequestAfterPtrDeletion( retrieval, nil, DiskBlockAnyCache, io.EOF) diff --git a/go/kbfs/libkbfs/block_retrieval_worker_test.go b/go/kbfs/libkbfs/block_retrieval_worker_test.go index b417e50096a9..b5e063bf6b16 100644 --- a/go/kbfs/libkbfs/block_retrieval_worker_test.go +++ b/go/kbfs/libkbfs/block_retrieval_worker_test.go @@ -319,9 +319,7 @@ func TestBlockRetrievalWorkerShutdown(t *testing.T) { w.Shutdown() block := &data.FileBlock{} - ctx, cancel := context.WithCancel(context.Background()) - // Ensure the context loop is stopped so the test doesn't leak goroutines - defer cancel() + ctx := t.Context() ch := q.Request( ctx, 1, makeKMD(), ptr1, block, data.NoCacheEntry, BlockRequestSolo) shutdown := false diff --git a/go/kbfs/libkbfs/block_util.go b/go/kbfs/libkbfs/block_util.go index 59075dfe4333..078186208489 100644 --- a/go/kbfs/libkbfs/block_util.go +++ b/go/kbfs/libkbfs/block_util.go @@ -127,10 +127,7 @@ func doBlockPuts(ctx context.Context, bserv BlockServer, bcache data.BlockCache, blocks := make(chan data.BlockPointer, blockCount) - numWorkers := blockCount - if numWorkers > maxParallelBlockPuts { - numWorkers = maxParallelBlockPuts - } + numWorkers := min(blockCount, maxParallelBlockPuts) // A channel to list any blocks that have been archived or // deleted. Any of these will result in an error, so the maximum // we'll get is the same as the number of workers. diff --git a/go/kbfs/libkbfs/channels.go b/go/kbfs/libkbfs/channels.go index cc1d1f2d9a16..75c4f5a8ada9 100644 --- a/go/kbfs/libkbfs/channels.go +++ b/go/kbfs/libkbfs/channels.go @@ -18,7 +18,7 @@ const ( // infinite channel without fearing a panic when we Close() it. type InfiniteChannelWrapper struct { *channels.InfiniteChannel - input chan interface{} + input chan any shutdownOnce sync.Once shutdownCh chan struct{} } @@ -30,7 +30,7 @@ var _ channels.Channel = (*InfiniteChannelWrapper)(nil) func NewInfiniteChannelWrapper() *InfiniteChannelWrapper { ch := &InfiniteChannelWrapper{ InfiniteChannel: channels.NewInfiniteChannel(), - input: make(chan interface{}, defaultInfiniteBufferSize), + input: make(chan any, defaultInfiniteBufferSize), shutdownCh: make(chan struct{}), } go ch.run() @@ -50,7 +50,7 @@ func (ch *InfiniteChannelWrapper) run() { } // In returns the input channel for this infinite channel. -func (ch *InfiniteChannelWrapper) In() chan<- interface{} { +func (ch *InfiniteChannelWrapper) In() chan<- any { return ch.input } diff --git a/go/kbfs/libkbfs/chat_local.go b/go/kbfs/libkbfs/chat_local.go index 7ecb632569be..b439b485bbc8 100644 --- a/go/kbfs/libkbfs/chat_local.go +++ b/go/kbfs/libkbfs/chat_local.go @@ -293,10 +293,7 @@ func (c *chatLocal) GetGroupedInbox( selfHandles = append(selfHandles, h) } - numOver := len(results) + len(selfHandles) - maxChats - if numOver < 0 { - numOver = 0 - } + numOver := max(len(results)+len(selfHandles)-maxChats, 0) results = append(results[:len(results)-numOver], selfHandles...) return results, nil } diff --git a/go/kbfs/libkbfs/choosedefaultmount_nix.go b/go/kbfs/libkbfs/choosedefaultmount_nix.go index 7e7e71c4173e..95e7626786d0 100644 --- a/go/kbfs/libkbfs/choosedefaultmount_nix.go +++ b/go/kbfs/libkbfs/choosedefaultmount_nix.go @@ -3,7 +3,6 @@ // license that can be found in the LICENSE file. //go:build !windows -// +build !windows package libkbfs diff --git a/go/kbfs/libkbfs/choosedefaultmount_windows.go b/go/kbfs/libkbfs/choosedefaultmount_windows.go index 9cb81ae88e29..293c4940284d 100644 --- a/go/kbfs/libkbfs/choosedefaultmount_windows.go +++ b/go/kbfs/libkbfs/choosedefaultmount_windows.go @@ -3,7 +3,6 @@ // license that can be found in the LICENSE file. //go:build windows -// +build windows package libkbfs diff --git a/go/kbfs/libkbfs/coalescing_context_test.go b/go/kbfs/libkbfs/coalescing_context_test.go index 1a73be6f67d8..530d413fa089 100644 --- a/go/kbfs/libkbfs/coalescing_context_test.go +++ b/go/kbfs/libkbfs/coalescing_context_test.go @@ -48,8 +48,7 @@ func TestCoalescingContext(t *testing.T) { require.EqualError(t, cc.Err(), context.Canceled.Error()) - ctx3, cancel3 := context.WithCancel(context.Background()) - defer cancel3() + ctx3 := t.Context() err = cc.AddContext(ctx3) require.EqualError(t, err, context.Canceled.Error()) } diff --git a/go/kbfs/libkbfs/config_local.go b/go/kbfs/libkbfs/config_local.go index 70040c8fa75f..413329b0e4d3 100644 --- a/go/kbfs/libkbfs/config_local.go +++ b/go/kbfs/libkbfs/config_local.go @@ -224,10 +224,7 @@ func getDefaultCleanBlockCacheCapacity(mode InitMode) uint64 { capacity := uint64(data.MaxBlockSizeBytesDefault) * DefaultBlocksInMemCache vmstat, err := mem.VirtualMemory() if err == nil { - ramBased := vmstat.Total / 8 - if ramBased < minCapacity { - ramBased = minCapacity - } + ramBased := max(vmstat.Total/8, minCapacity) if ramBased < capacity { capacity = ramBased } diff --git a/go/kbfs/libkbfs/conflict_resolver.go b/go/kbfs/libkbfs/conflict_resolver.go index 6bfca9753e5c..e3e296fd70d2 100644 --- a/go/kbfs/libkbfs/conflict_resolver.go +++ b/go/kbfs/libkbfs/conflict_resolver.go @@ -8,6 +8,7 @@ import ( "context" "encoding/json" "fmt" + "maps" "os" sysPath "path" "runtime/debug" @@ -1968,7 +1969,8 @@ func (cr *ConflictResolver) fixRenameConflicts(ctx context.Context, "merged path for old parent %v", chain.mostRecent) } mergedPathNewParent := mergedNodeCache.PathFromNode(node) - symPath := "./" + var symPath strings.Builder + symPath.WriteString("./") newParentStart := 0 outer: for i := len(mergedPathOldParent.Path) - 1; i >= 0; i-- { @@ -1987,17 +1989,17 @@ func (cr *ConflictResolver) fixRenameConflicts(ctx context.Context, break outer } } - symPath += "../" + symPath.WriteString("../") } // Move up directories starting from beyond the common parent, // to right before the actual node. for i := newParentStart + 1; i < len(mergedPathNewParent.Path)-1; i++ { - symPath += mergedPathNewParent.Path[i].Name.Plaintext() + "/" + symPath.WriteString(mergedPathNewParent.Path[i].Name.Plaintext() + "/") } - symPath += mergedInfo.newName + symPath.WriteString(mergedInfo.newName) err = cr.convertCreateIntoSymlinkOrCopy(ctx, original, unmergedInfo, - chain, unmergedChains, mergedChains, symPath) + chain, unmergedChains, mergedChains, symPath.String()) if err != nil { return nil, err } @@ -3090,9 +3092,7 @@ func (cr *ConflictResolver) getOpsForLocalNotification(ctx context.Context, updates[original] = chain.mostRecent ptrs = append(ptrs, chain.mostRecent) } - for ptr, chain := range chainsToAdd { - mergedChains.byMostRecent[ptr] = chain - } + maps.Copy(mergedChains.byMostRecent, chainsToAdd) // If any nodes changed only in the unmerged branch, make sure we // update the pointers in the local ops (e.g., renameOp.Renamed) @@ -3391,7 +3391,7 @@ func (cr *ConflictResolver) recordStartResolve(ci conflictInput) error { // failure to the DB. func (cr *ConflictResolver) recordFinishResolve( ctx context.Context, ci conflictInput, - panicVar interface{}, receivedErr error, + panicVar any, receivedErr error, ) { db, key, _, wasStuck, err := cr.isStuckWithDbAndConflicts() if err != nil { diff --git a/go/kbfs/libkbfs/conflict_resolver_test.go b/go/kbfs/libkbfs/conflict_resolver_test.go index da7de5173430..7229c2361dc4 100644 --- a/go/kbfs/libkbfs/conflict_resolver_test.go +++ b/go/kbfs/libkbfs/conflict_resolver_test.go @@ -91,7 +91,7 @@ type failingCodec struct { kbfscodec.Codec } -func (fc failingCodec) Encode(interface{}) ([]byte, error) { +func (fc failingCodec) Encode(any) ([]byte, error) { return nil, errors.New("Stopping resolution process early") } @@ -389,7 +389,7 @@ func testCRCheckPathsAndActions(t *testing.T, cr *ConflictResolver, if !ok || (len(v) != len(v2)) { break } - for i := 0; i < len(v); i++ { + for i := range v { if x, ok := v[i].(*dropUnmergedAction); ok { y := v2[i].(*dropUnmergedAction) y.op.setWriterInfo(x.op.getWriterInfo()) diff --git a/go/kbfs/libkbfs/connection_status.go b/go/kbfs/libkbfs/connection_status.go index be1cbe66e88b..18ee4f13e7da 100644 --- a/go/kbfs/libkbfs/connection_status.go +++ b/go/kbfs/libkbfs/connection_status.go @@ -5,6 +5,7 @@ package libkbfs import ( + "maps" "sync" ) @@ -39,9 +40,7 @@ func (kcs *kbfsCurrentStatus) CurrentStatus() (map[string]error, chan StatusUpda defer kcs.lock.Unlock() res := map[string]error{} - for k, v := range kcs.failingServices { - res[k] = v - } + maps.Copy(res, kcs.failingServices) return res, kcs.invalidateChan } diff --git a/go/kbfs/libkbfs/cr_actions.go b/go/kbfs/libkbfs/cr_actions.go index b2decc0095ae..13846fb6a994 100644 --- a/go/kbfs/libkbfs/cr_actions.go +++ b/go/kbfs/libkbfs/cr_actions.go @@ -7,6 +7,7 @@ package libkbfs import ( "context" "fmt" + "slices" "github.com/keybase/client/go/kbfs/data" "github.com/keybase/client/go/kbfs/idutil" @@ -1100,13 +1101,7 @@ func (cal crActionList) collapse() crActionList { // Add attributes to the current top action, if not // already there. for _, a := range action.attr { - found := false - for _, topA := range topAction.attr { - if a == topA { - found = true - break - } - } + found := slices.Contains(topAction.attr, a) if !found { topAction.attr = append(topAction.attr, a) } diff --git a/go/kbfs/libkbfs/cr_chains.go b/go/kbfs/libkbfs/cr_chains.go index 658f955ec2cf..71bb77c0135d 100644 --- a/go/kbfs/libkbfs/cr_chains.go +++ b/go/kbfs/libkbfs/cr_chains.go @@ -7,6 +7,7 @@ package libkbfs import ( "context" "fmt" + "slices" "sort" "time" @@ -1223,18 +1224,16 @@ func (ccs *crChains) findPathForDeleted(mostRecent data.BlockPointer) data.Path if !ok { continue } - for _, unref := range ro.Unrefs() { - if unref == mostRecent { - // If the path isn't set yet, recurse. - p := ro.getFinalPath() - if !p.IsValid() { - p = ccs.findPathForDeleted(ptr) - ro.setFinalPath(p) - } - return p.ChildPath( - ro.obfuscatedOldName(), mostRecent, - ccs.makeObfuscator()) + if slices.Contains(ro.Unrefs(), mostRecent) { + // If the path isn't set yet, recurse. + p := ro.getFinalPath() + if !p.IsValid() { + p = ccs.findPathForDeleted(ptr) + ro.setFinalPath(p) } + return p.ChildPath( + ro.obfuscatedOldName(), mostRecent, + ccs.makeObfuscator()) } } } @@ -1272,18 +1271,16 @@ func (ccs *crChains) findPathForCreated(createdChain *crChain) data.Path { if !ok { continue } - for _, ref := range co.Refs() { - if ref == createdChain.original { - // If the path isn't set yet, recurse. - p := co.getFinalPath() - if !p.IsValid() { - p = ccs.findPathForCreated(chain) - co.setFinalPath(p) - } - return p.ChildPath( - co.obfuscatedNewName(), mostRecent, - ccs.makeObfuscator()) + if slices.Contains(co.Refs(), createdChain.original) { + // If the path isn't set yet, recurse. + p := co.getFinalPath() + if !p.IsValid() { + p = ccs.findPathForCreated(chain) + co.setFinalPath(p) } + return p.ChildPath( + co.obfuscatedNewName(), mostRecent, + ccs.makeObfuscator()) } } } diff --git a/go/kbfs/libkbfs/cr_chains_test.go b/go/kbfs/libkbfs/cr_chains_test.go index 2c528e1caa67..f25e3d44fade 100644 --- a/go/kbfs/libkbfs/cr_chains_test.go +++ b/go/kbfs/libkbfs/cr_chains_test.go @@ -76,7 +76,7 @@ func testCRInitPtrs(n int) (currPtr byte, ptrs []data.BlockPointer, ) { currPtr = byte(42) revPtrs = make(map[data.BlockPointer]data.BlockPointer) - for i := 0; i < n; i++ { + for range n { ptr := data.BlockPointer{ID: kbfsblock.FakeID(currPtr)} currPtr++ ptrs = append(ptrs, ptr) @@ -578,7 +578,7 @@ func TestCRChainsCollapsedSyncOps(t *testing.T) { var so1, so2 *syncOp var err error - for i := uint64(0); i < numWrites; i++ { + for range numWrites { so1, err = newSyncOp(expected[file1Unref]) require.NoError(t, err) so1.Writes = append(so1.Writes, WriteRange{Off: currOff, Len: writeLen}) diff --git a/go/kbfs/libkbfs/crypto_client_test.go b/go/kbfs/libkbfs/crypto_client_test.go index ae20c82a2fab..1aed982faa50 100644 --- a/go/kbfs/libkbfs/crypto_client_test.go +++ b/go/kbfs/libkbfs/crypto_client_test.go @@ -58,25 +58,25 @@ func (fc FakeCryptoClient) maybeWaitOnChannel(ctx context.Context) error { } } -func (fc FakeCryptoClient) Call(ctx context.Context, s string, args interface{}, - res interface{}, _ time.Duration, +func (fc FakeCryptoClient) Call(ctx context.Context, s string, args any, + res any, _ time.Duration, ) error { return fc.call(ctx, s, args, res) } -func (fc FakeCryptoClient) CallCompressed(ctx context.Context, s string, args interface{}, - res interface{}, _ rpc.CompressionType, _ time.Duration, +func (fc FakeCryptoClient) CallCompressed(ctx context.Context, s string, args any, + res any, _ rpc.CompressionType, _ time.Duration, ) error { return fc.call(ctx, s, args, res) } -func (fc FakeCryptoClient) call(ctx context.Context, s string, args interface{}, res interface{}) error { +func (fc FakeCryptoClient) call(ctx context.Context, s string, args any, res any) error { switch s { case "keybase.1.crypto.signED25519": if err := fc.maybeWaitOnChannel(ctx); err != nil { return err } - arg := args.([]interface{})[0].(keybase1.SignED25519Arg) + arg := args.([]any)[0].(keybase1.SignED25519Arg) sigInfo, err := fc.Local.Sign(ctx, arg.Msg) if err != nil { return err @@ -98,7 +98,7 @@ func (fc FakeCryptoClient) call(ctx context.Context, s string, args interface{}, if err := fc.maybeWaitOnChannel(ctx); err != nil { return err } - arg := args.([]interface{})[0].(keybase1.UnboxBytes32Arg) + arg := args.([]any)[0].(keybase1.UnboxBytes32Arg) publicKey := kbfscrypto.MakeTLFEphemeralPublicKey( arg.PeersPublicKey) encryptedClientHalf := kbfscrypto.MakeEncryptedTLFCryptKeyClientHalfForTest( @@ -117,7 +117,7 @@ func (fc FakeCryptoClient) call(ctx context.Context, s string, args interface{}, if err := fc.maybeWaitOnChannel(ctx); err != nil { return err } - arg := args.([]interface{})[0].(keybase1.UnboxBytes32AnyArg) + arg := args.([]any)[0].(keybase1.UnboxBytes32AnyArg) keys := make([]EncryptedTLFCryptKeyClientAndEphemeral, 0, len(arg.Bundles)) for _, k := range arg.Bundles { ePublicKey := kbfscrypto.MakeTLFEphemeralPublicKey( @@ -148,7 +148,7 @@ func (fc FakeCryptoClient) call(ctx context.Context, s string, args interface{}, } } -func (fc FakeCryptoClient) Notify(_ context.Context, s string, args interface{}, _ time.Duration) error { +func (fc FakeCryptoClient) Notify(_ context.Context, s string, args any, _ time.Duration) error { return errors.Errorf("Unknown notify: %s %v", s, args) } @@ -288,7 +288,7 @@ func TestCryptoClientDecryptEncryptedTLFCryptKeyClientHalfAny(t *testing.T) { keys := make([]EncryptedTLFCryptKeyClientAndEphemeral, 0, 4) clientHalves := make([]kbfscrypto.TLFCryptKeyClientHalf, 0, 4) - for i := 0; i < 4; i++ { + for range 4 { ephPublicKey, ephPrivateKey, err := c.MakeRandomTLFEphemeralKeys() require.NoError(t, err) diff --git a/go/kbfs/libkbfs/crypto_common_test.go b/go/kbfs/libkbfs/crypto_common_test.go index 56cd6ffefeb6..c6d0359c5431 100644 --- a/go/kbfs/libkbfs/crypto_common_test.go +++ b/go/kbfs/libkbfs/crypto_common_test.go @@ -300,13 +300,13 @@ func TestSecretboxEncryptedLen(t *testing.T) { cryptKeys := make([]kbfscrypto.TLFCryptKey, iterations) serverHalfs := make([]kbfscrypto.BlockCryptKeyServerHalf, iterations) - for j := 0; j < iterations; j++ { + for j := range iterations { cryptKeys[j], serverHalfs[j], _ = makeFakeBlockCryptKey(t) } for i := startSize; i < endSize; i += 1000 { var enclen int - for j := 0; j < iterations; j++ { + for j := range iterations { data := randomData[j : j+i] enc, err := kbfscrypto.EncryptPaddedEncodedBlock( data, cryptKeys[j], serverHalfs[j], @@ -403,7 +403,7 @@ func benchmarkEncryptBlock(b *testing.B, blockSize int) { // Fill in the block with varying data to make sure not to // trigger any encoding optimizations. buf := make([]byte, 512<<10) - for i := 0; i < len(buf); i++ { + for i := range buf { buf[i] = byte(i) } block := data.FileBlock{ @@ -428,7 +428,6 @@ func BenchmarkEncryptBlock(b *testing.B) { } for _, blockSize := range blockSizes { // Capture range variable. - blockSize := blockSize b.Run(fmt.Sprintf("blockSize=%d", blockSize), func(b *testing.B) { benchmarkEncryptBlock(b, blockSize) diff --git a/go/kbfs/libkbfs/default_blocks_in_mem_cache_386.go b/go/kbfs/libkbfs/default_blocks_in_mem_cache_386.go index c5073b12d018..64e80fffc9e0 100644 --- a/go/kbfs/libkbfs/default_blocks_in_mem_cache_386.go +++ b/go/kbfs/libkbfs/default_blocks_in_mem_cache_386.go @@ -3,7 +3,6 @@ // license that can be found in the LICENSE file. //go:build 386 -// +build 386 package libkbfs diff --git a/go/kbfs/libkbfs/default_blocks_in_mem_cache_64bit.go b/go/kbfs/libkbfs/default_blocks_in_mem_cache_64bit.go index fb19ddbde80f..fdac33748f7f 100644 --- a/go/kbfs/libkbfs/default_blocks_in_mem_cache_64bit.go +++ b/go/kbfs/libkbfs/default_blocks_in_mem_cache_64bit.go @@ -3,7 +3,6 @@ // license that can be found in the LICENSE file. //go:build !386 -// +build !386 package libkbfs diff --git a/go/kbfs/libkbfs/disk_block_cache.go b/go/kbfs/libkbfs/disk_block_cache.go index da52e26ac66d..cc7d5caba598 100644 --- a/go/kbfs/libkbfs/disk_block_cache.go +++ b/go/kbfs/libkbfs/disk_block_cache.go @@ -711,7 +711,7 @@ func (cache *DiskBlockCacheLocal) evictUntilBytesAvailableLocked( if !cache.useLimiter() { return true, nil } - for i := 0; i < maxEvictionsPerPut; i++ { + for range maxEvictionsPerPut { select { // Ensure we don't loop infinitely case <-ctx.Done(): @@ -1198,7 +1198,7 @@ func (cache *DiskBlockCacheLocal) evictFromTLFLocked(ctx context.Context, blockIDs := make(blockIDsByTime, 0, numElements) var brokenIDs []kbfsblock.ID - for i := 0; i < numElements; i++ { + for range numElements { if !iter.Next() { break } @@ -1323,7 +1323,7 @@ func (cache *DiskBlockCacheLocal) evictLocked(ctx context.Context, defer iter.Release() var brokenIDs []kbfsblock.ID - for i := 0; i < numElements; i++ { + for range numElements { if !iter.Next() { break } diff --git a/go/kbfs/libkbfs/disk_block_cache_test.go b/go/kbfs/libkbfs/disk_block_cache_test.go index cc132bae9a86..2e1f972ad497 100644 --- a/go/kbfs/libkbfs/disk_block_cache_test.go +++ b/go/kbfs/libkbfs/disk_block_cache_test.go @@ -302,7 +302,7 @@ func TestDiskBlockCacheEvictFromTLF(t *testing.T) { } tlf1NumBlocks := 100 t.Log("Put 100 blocks into the cache.") - for i := 0; i < tlf1NumBlocks; i++ { + for range tlf1NumBlocks { blockPtr, _, blockEncoded, serverHalf := setupBlockForDiskCache( t, config) err := standardCache.Put( @@ -381,7 +381,7 @@ func TestDiskBlockCacheEvictOverall(t *testing.T) { t.Log("Seed the cache with some other TLFs.") for i := byte(0); int(i) < numTlfs; i++ { currTlf := tlf.FakeID(i, tlf.Private) - for j := 0; j < numBlocksPerTlf; j++ { + for range numBlocksPerTlf { blockPtr, _, blockEncoded, serverHalf := setupBlockForDiskCache( t, config) err := standardCache.Put( @@ -458,7 +458,7 @@ func TestDiskBlockCacheStaticLimit(t *testing.T) { t.Log("Seed the cache with some blocks.") for i := byte(0); int(i) < numTlfs; i++ { currTlf := tlf.FakeID(i, tlf.Private) - for j := 0; j < numBlocksPerTlf; j++ { + for range numBlocksPerTlf { blockPtr, _, blockEncoded, serverHalf := setupBlockForDiskCache( t, config) err := standardCache.Put( @@ -502,7 +502,7 @@ func TestDiskBlockCacheDynamicLimit(t *testing.T) { t.Log("Seed the cache with some blocks.") for i := byte(0); int(i) < numTlfs; i++ { currTlf := tlf.FakeID(i, tlf.Private) - for j := 0; j < numBlocksPerTlf; j++ { + for range numBlocksPerTlf { blockPtr, _, blockEncoded, serverHalf := setupBlockForDiskCache( t, config) err := standardCache.Put( @@ -589,7 +589,7 @@ func seedDiskBlockCacheForTest(ctx context.Context, t *testing.T, clock := config.Clock().(*clocktest.TestClock) for i := byte(0); int(i) < numTlfs; i++ { currTlf := tlf.FakeID(i, tlf.Private) - for j := 0; j < numBlocksPerTlf; j++ { + for range numBlocksPerTlf { blockPtr, _, blockEncoded, serverHalf := setupBlockForDiskCache( t, config) err := cache.Put( @@ -802,7 +802,7 @@ func seedTlf(ctx context.Context, t *testing.T, cache *diskBlockCacheWrapped, config diskBlockCacheConfig, tlfID tlf.ID, numBlocksPerTlf int, ) { - for j := 0; j < numBlocksPerTlf; j++ { + for range numBlocksPerTlf { blockPtr, _, blockEncoded, serverHalf := setupBlockForDiskCache( t, config) err := cache.Put( @@ -932,7 +932,7 @@ func TestDiskBlockCacheMark(t *testing.T) { t.Log("Generate some blocks we can mark.") tlfID := tlf.FakeID(1, tlf.Private) ids := make([]kbfsblock.ID, numBlocksPerTlf) - for i := 0; i < numBlocksPerTlf; i++ { + for i := range numBlocksPerTlf { blockPtr, _, blockEncoded, serverHalf := setupBlockForDiskCache( t, config) err := cache.Put( diff --git a/go/kbfs/libkbfs/disk_block_cache_wrapped.go b/go/kbfs/libkbfs/disk_block_cache_wrapped.go index c712a8a180cd..24fdcf7327ca 100644 --- a/go/kbfs/libkbfs/disk_block_cache_wrapped.go +++ b/go/kbfs/libkbfs/disk_block_cache_wrapped.go @@ -6,6 +6,7 @@ package libkbfs import ( "context" + "maps" "path/filepath" "sync" @@ -461,16 +462,12 @@ func (cache *diskBlockCacheWrapped) Status( defer cache.mtx.RUnlock() statuses := make(map[string]DiskBlockCacheStatus, 2) if cache.workingSetCache != nil { - for name, status := range cache.workingSetCache.Status(ctx) { - statuses[name] = status - } + maps.Copy(statuses, cache.workingSetCache.Status(ctx)) } if cache.syncCache == nil { return statuses } - for name, status := range cache.syncCache.Status(ctx) { - statuses[name] = status - } + maps.Copy(statuses, cache.syncCache.Status(ctx)) return statuses } diff --git a/go/kbfs/libkbfs/disk_journal.go b/go/kbfs/libkbfs/disk_journal.go index 1e2ba4c62326..73f38e37e03e 100644 --- a/go/kbfs/libkbfs/disk_journal.go +++ b/go/kbfs/libkbfs/disk_journal.go @@ -260,7 +260,7 @@ func (j *diskJournal) removeEarliest() (empty bool, err error) { // The functions below are for reading and writing journal entries. -func (j diskJournal) readJournalEntry(o journalOrdinal) (interface{}, error) { +func (j diskJournal) readJournalEntry(o journalOrdinal) (any, error) { p := j.journalEntryPath(o) entry := reflect.New(j.entryType) err := kbfscodec.DeserializeFromFile(j.codec, p, entry) @@ -272,7 +272,7 @@ func (j diskJournal) readJournalEntry(o journalOrdinal) (interface{}, error) { } func (j *diskJournal) writeJournalEntry( - o journalOrdinal, entry interface{}, + o journalOrdinal, entry any, ) error { entryType := reflect.TypeOf(entry) if entryType != j.entryType { @@ -292,7 +292,7 @@ func (j *diskJournal) writeJournalEntry( // successful, appendJournalEntry returns the ordinal of the // just-appended entry. func (j *diskJournal) appendJournalEntry( - o *journalOrdinal, entry interface{}, + o *journalOrdinal, entry any, ) (journalOrdinal, error) { var next journalOrdinal if j.empty() { diff --git a/go/kbfs/libkbfs/disk_journal_test.go b/go/kbfs/libkbfs/disk_journal_test.go index 0e6e85fb6ead..d977f2428f3e 100644 --- a/go/kbfs/libkbfs/disk_journal_test.go +++ b/go/kbfs/libkbfs/disk_journal_test.go @@ -43,7 +43,7 @@ func TestDiskJournalOrdinals(t *testing.T) { codec := kbfscodec.NewMsgpack() j, err := makeDiskJournal( - codec, tempdir, reflect.TypeOf(testJournalEntry{})) + codec, tempdir, reflect.TypeFor[testJournalEntry]()) require.NoError(t, err) readEarliest := func() (journalOrdinal, error) { @@ -115,7 +115,7 @@ func TestDiskJournalClear(t *testing.T) { codec := kbfscodec.NewMsgpack() j, err := makeDiskJournal( - codec, tempdir, reflect.TypeOf(testJournalEntry{})) + codec, tempdir, reflect.TypeFor[testJournalEntry]()) require.NoError(t, err) o, err := j.appendJournalEntry(nil, testJournalEntry{1}) @@ -146,7 +146,7 @@ func TestDiskJournalMoveEmpty(t *testing.T) { codec := kbfscodec.NewMsgpack() j, err := makeDiskJournal( - codec, oldDir, reflect.TypeOf(testJournalEntry{})) + codec, oldDir, reflect.TypeFor[testJournalEntry]()) require.NoError(t, err) require.Equal(t, oldDir, j.dir) @@ -169,7 +169,7 @@ func TestDiskJournalMove(t *testing.T) { codec := kbfscodec.NewMsgpack() j, err := makeDiskJournal( - codec, oldDir, reflect.TypeOf(testJournalEntry{})) + codec, oldDir, reflect.TypeFor[testJournalEntry]()) require.NoError(t, err) require.Equal(t, oldDir, j.dir) diff --git a/go/kbfs/libkbfs/disk_limiter.go b/go/kbfs/libkbfs/disk_limiter.go index 9fa450d8537c..b33b8e38faf2 100644 --- a/go/kbfs/libkbfs/disk_limiter.go +++ b/go/kbfs/libkbfs/disk_limiter.go @@ -138,5 +138,5 @@ type DiskLimiter interface { // getStatus returns an object that's marshallable into JSON // for use in displaying status. - getStatus(ctx context.Context, chargedTo keybase1.UserOrTeamID) interface{} + getStatus(ctx context.Context, chargedTo keybase1.UserOrTeamID) any } diff --git a/go/kbfs/libkbfs/disk_limits_unix.go b/go/kbfs/libkbfs/disk_limits_unix.go index ff7516f16a3f..bd318f6430a3 100644 --- a/go/kbfs/libkbfs/disk_limits_unix.go +++ b/go/kbfs/libkbfs/disk_limits_unix.go @@ -3,7 +3,6 @@ // license that can be found in the LICENSE file. //go:build !windows -// +build !windows package libkbfs diff --git a/go/kbfs/libkbfs/fetch_decider.go b/go/kbfs/libkbfs/fetch_decider.go index 96257c5b3934..3b21bbd0d305 100644 --- a/go/kbfs/libkbfs/fetch_decider.go +++ b/go/kbfs/libkbfs/fetch_decider.go @@ -25,7 +25,7 @@ type fetchDecider struct { log logger.Logger vlog *libkb.VDebugLog fetcher func(ctx context.Context) error - tagKey interface{} + tagKey any tagName string blockingForTest chan<- struct{} @@ -37,7 +37,7 @@ type fetchDecider struct { func newFetchDecider( log logger.Logger, vlog *libkb.VDebugLog, - fetcher func(ctx context.Context) error, tagKey interface{}, tagName string, + fetcher func(ctx context.Context) error, tagKey any, tagName string, clock clockGetter, ) *fetchDecider { return &fetchDecider{ diff --git a/go/kbfs/libkbfs/flag_size.go b/go/kbfs/libkbfs/flag_size.go index ca3f7a545694..8522ca7ec087 100644 --- a/go/kbfs/libkbfs/flag_size.go +++ b/go/kbfs/libkbfs/flag_size.go @@ -16,7 +16,7 @@ type SizeFlag struct { } // Get for flag interface. -func (sf SizeFlag) Get() interface{} { return *sf.v } +func (sf SizeFlag) Get() any { return *sf.v } // String for flag interface. func (sf SizeFlag) String() string { diff --git a/go/kbfs/libkbfs/folder_block_manager.go b/go/kbfs/libkbfs/folder_block_manager.go index ee2aa403fc27..dca16a0088d9 100644 --- a/go/kbfs/libkbfs/folder_block_manager.go +++ b/go/kbfs/libkbfs/folder_block_manager.go @@ -464,10 +464,7 @@ func (fbm *folderBlockManager) doChunkedDowngrades(ctx context.Context, // Round up to find the number of chunks. numChunks := (len(ptrs) + numPointersToDowngradePerChunk - 1) / numPointersToDowngradePerChunk - numWorkers := numChunks - if numWorkers > maxParallelBlockPuts { - numWorkers = maxParallelBlockPuts - } + numWorkers := min(numChunks, maxParallelBlockPuts) chunks := make(chan []data.BlockPointer, numChunks) var wg sync.WaitGroup @@ -515,16 +512,13 @@ func (fbm *folderBlockManager) doChunkedDowngrades(ctx context.Context, } for start := 0; start < len(ptrs); start += numPointersToDowngradePerChunk { - end := start + numPointersToDowngradePerChunk - if end > len(ptrs) { - end = len(ptrs) - } + end := min(start+numPointersToDowngradePerChunk, len(ptrs)) chunks <- ptrs[start:end] } close(chunks) var zeroRefCounts []kbfsblock.ID - for i := 0; i < numChunks; i++ { + for range numChunks { result := <-chunkResults if result.err != nil { // deferred cancel will stop the other workers. @@ -897,10 +891,9 @@ func (fbm *folderBlockManager) getMostRecentGCRevision( // we need to walk backwards to find the latest gcOp. endRev := head.Revision() for { - startRev := endRev - maxMDsAtATime + 1 // (kbfsmd.Revision is signed) - if startRev < kbfsmd.RevisionInitial { - startRev = kbfsmd.RevisionInitial - } + startRev := max( + // (kbfsmd.Revision is signed) + endRev-maxMDsAtATime+1, kbfsmd.RevisionInitial) rmds, err := getMDRange( ctx, fbm.config, fbm.id, kbfsmd.NullBranchID, startRev, @@ -964,10 +957,7 @@ func (fbm *folderBlockManager) getUnreferencedBlocks( startRev := earliestRev + 1 outer: for { - endRev := startRev + maxMDsAtATime - if endRev > mostRecentRev { - endRev = mostRecentRev - } + endRev := min(startRev+maxMDsAtATime, mostRecentRev) rmds, err := getMDRange( ctx, fbm.config, fbm.id, kbfsmd.NullBranchID, startRev, @@ -1375,10 +1365,7 @@ func (fbm *folderBlockManager) doChunkedGetNonLiveBlocks( // Round up to find the number of chunks. numChunks := (len(ptrs) + numPointersToDowngradePerChunk - 1) / numPointersToDowngradePerChunk - numWorkers := numChunks - if numWorkers > maxParallelBlockPuts { - numWorkers = maxParallelBlockPuts - } + numWorkers := min(numChunks, maxParallelBlockPuts) chunks := make(chan []data.BlockPointer, numChunks) eg, groupCtx := errgroup.WithContext(ctx) @@ -1414,10 +1401,7 @@ func (fbm *folderBlockManager) doChunkedGetNonLiveBlocks( } for start := 0; start < len(ptrs); start += numPointersToDowngradePerChunk { - end := start + numPointersToDowngradePerChunk - if end > len(ptrs) { - end = len(ptrs) - } + end := min(start+numPointersToDowngradePerChunk, len(ptrs)) chunks <- ptrs[start:end] } close(chunks) diff --git a/go/kbfs/libkbfs/folder_block_manager_test.go b/go/kbfs/libkbfs/folder_block_manager_test.go index 6e818d5e3396..8806af6ee714 100644 --- a/go/kbfs/libkbfs/folder_block_manager_test.go +++ b/go/kbfs/libkbfs/folder_block_manager_test.go @@ -248,7 +248,7 @@ func TestQuotaReclamationIncrementalReclamation(t *testing.T) { // Do a bunch of operations. kbfsOps := config.KBFSOps() testPointersPerGCThreshold := 10 - for i := 0; i < testPointersPerGCThreshold; i++ { + for range testPointersPerGCThreshold { _, _, err := kbfsOps.CreateDir(ctx, rootNode, testPPS("a")) require.NoError(t, err, "Couldn't create dir: %+v", err) err = kbfsOps.SyncAll(ctx, rootNode.GetFolderBranch()) @@ -791,7 +791,7 @@ func TestQuotaReclamationGCOpsForGCOps(t *testing.T) { ops.fbm.numPointersPerGCThreshold = 1 numCycles := 4 - for i := 0; i < numCycles; i++ { + for range numCycles { _, _, err := kbfsOps.CreateDir(ctx, rootNode, testPPS("a")) require.NoError(t, err, "Couldn't create dir: %+v", err) err = kbfsOps.SyncAll(ctx, rootNode.GetFolderBranch()) diff --git a/go/kbfs/libkbfs/folder_block_ops.go b/go/kbfs/libkbfs/folder_block_ops.go index 9401977942d6..fdcd3f50d2bb 100644 --- a/go/kbfs/libkbfs/folder_block_ops.go +++ b/go/kbfs/libkbfs/folder_block_ops.go @@ -553,10 +553,7 @@ func (fbo *folderBlockOps) GetCleanEncodedBlocksSizeSum(ctx context.Context, numChunks := (len(ptrs) + numBlockSizesPerChunk - 1) / numBlockSizesPerChunk - numWorkers := numBlockSizeWorkersMax - if numChunks < numWorkers { - numWorkers = numChunks - } + numWorkers := min(numChunks, numBlockSizeWorkersMax) currChunk := make([]data.BlockPointer, 0, numBlockSizesPerChunk) for _, ptr := range ptrs { diff --git a/go/kbfs/libkbfs/folder_branch_ops.go b/go/kbfs/libkbfs/folder_branch_ops.go index 840e9a9e40d8..7e00ffd98650 100644 --- a/go/kbfs/libkbfs/folder_branch_ops.go +++ b/go/kbfs/libkbfs/folder_branch_ops.go @@ -875,7 +875,7 @@ func (fbo *folderBranchOps) forceStuckConflictForTesting( return err } - for i := 0; i < maxConflictResolutionAttempts+1; i++ { + for i := range maxConflictResolutionAttempts + 1 { filename := fmt.Sprintf("FILE_FOR_STUCK_CONFLICT_%02d", i) _, _, err := fbo.createEntryLocked( ctx, lState, rootNode, rootNode.ChildName(filename), data.File, @@ -1108,7 +1108,7 @@ func (fbo *folderBranchOps) syncOneNode( } func (fbo *folderBranchOps) startOp( - ctx context.Context, fs string, args ...interface{}) ( + ctx context.Context, fs string, args ...any) ( time.Time, *time.Timer, ) { now := fbo.config.Clock().Now() @@ -1120,7 +1120,7 @@ func (fbo *folderBranchOps) startOp( case <-ctx.Done(): return default: - newArgs := make([]interface{}, len(args)+1) + newArgs := make([]any, len(args)+1) newArgs[0] = now copy(newArgs[1:], args) fbo.deferLog.CDebugf( @@ -1132,11 +1132,11 @@ func (fbo *folderBranchOps) startOp( func (fbo *folderBranchOps) endOp( ctx context.Context, startTime time.Time, timer *time.Timer, fs string, - args ...interface{}, + args ...any, ) { timer.Stop() d := fbo.config.Clock().Now().Sub(startTime) - newArgs := make([]interface{}, len(args)+1) + newArgs := make([]any, len(args)+1) newArgs[0] = d copy(newArgs[1:], args) fbo.defer2Log.CDebugf(ctx, "[duration=%s] "+fs, newArgs...) @@ -3782,7 +3782,7 @@ func (fbo *folderBranchOps) statEntry(ctx context.Context, node Node) ( } func (fbo *folderBranchOps) deferLogIfErr( - ctx context.Context, err error, fs string, args ...interface{}, + ctx context.Context, err error, fs string, args ...any, ) { if err != nil { fbo.defer2Log.CDebugf(ctx, fs, args...) diff --git a/go/kbfs/libkbfs/folder_branch_status.go b/go/kbfs/libkbfs/folder_branch_status.go index 061a69480adc..10e4cd607cd1 100644 --- a/go/kbfs/libkbfs/folder_branch_status.go +++ b/go/kbfs/libkbfs/folder_branch_status.go @@ -73,8 +73,8 @@ type KBFSStatus struct { FailingServices map[string]error JournalManager *JournalManagerStatus `json:",omitempty"` DiskBlockCacheStatus map[string]DiskBlockCacheStatus `json:",omitempty"` - DiskMDCacheStatus DiskMDCacheStatus `json:",omitempty"` - DiskQuotaCacheStatus DiskQuotaCacheStatus `json:",omitempty"` + DiskMDCacheStatus DiskMDCacheStatus + DiskQuotaCacheStatus DiskQuotaCacheStatus } // StatusUpdate is a dummy type used to indicate status has been updated. diff --git a/go/kbfs/libkbfs/folder_branch_status_test.go b/go/kbfs/libkbfs/folder_branch_status_test.go index 9c5e7bf7d50c..0e4c197dc42d 100644 --- a/go/kbfs/libkbfs/folder_branch_status_test.go +++ b/go/kbfs/libkbfs/folder_branch_status_test.go @@ -90,7 +90,7 @@ type mockNodeMatcher struct { node *MockNode } -func (m mockNodeMatcher) Matches(x interface{}) bool { +func (m mockNodeMatcher) Matches(x any) bool { n, ok := x.(*MockNode) if !ok { return false diff --git a/go/kbfs/libkbfs/journal_manager.go b/go/kbfs/libkbfs/journal_manager.go index 673d2e24c512..c429725ec74b 100644 --- a/go/kbfs/libkbfs/journal_manager.go +++ b/go/kbfs/libkbfs/journal_manager.go @@ -7,6 +7,7 @@ package libkbfs import ( "context" "fmt" + "maps" "os" "path/filepath" "regexp" @@ -96,7 +97,7 @@ type JournalManagerStatus struct { UnflushedBytes int64 UnflushedPaths []string EndEstimate *time.Time - DiskLimiterStatus interface{} + DiskLimiterStatus any Conflicts []ConflictJournalRecord `json:",omitempty"` ClearedConflicts []ConflictJournalRecord `json:",omitempty"` } @@ -550,9 +551,7 @@ func (j *JournalManager) insertConflictJournalLocked( for _, k := range toDel { delete(j.clearedConflictTlfs, k) } - for k, v := range toAdd { - j.clearedConflictTlfs[k] = v - } + maps.Copy(j.clearedConflictTlfs, toAdd) j.clearedConflictTlfs[key] = val j.tlfJournals[fakeTlfID] = tj @@ -778,10 +777,7 @@ func (j *JournalManager) EnableExistingJournals( // Initialize many TLF journals at once to overlap disk latency as // much as possible. - numWorkers := 100 - if numWorkers > len(fileInfos) { - numWorkers = len(fileInfos) - } + numWorkers := min(100, len(fileInfos)) for i := 0; i < numWorkers; i++ { eg.Go(worker) } diff --git a/go/kbfs/libkbfs/journal_manager_test.go b/go/kbfs/libkbfs/journal_manager_test.go index f0877011a507..ea527f103d58 100644 --- a/go/kbfs/libkbfs/journal_manager_test.go +++ b/go/kbfs/libkbfs/journal_manager_test.go @@ -733,8 +733,7 @@ func TestJournalManagerMultiUser(t *testing.T) { } func TestJournalManagerEnableAuto(t *testing.T) { - delegateCtx, delegateCancel := context.WithCancel(context.Background()) - defer delegateCancel() + delegateCtx := t.Context() tempdir, ctx, cancel, config, _, jManager := setupJournalManagerTest(t) defer teardownJournalManagerTest(ctx, t, tempdir, cancel, config) diff --git a/go/kbfs/libkbfs/journal_manager_util.go b/go/kbfs/libkbfs/journal_manager_util.go index 832687d2ff65..03055ac3085e 100644 --- a/go/kbfs/libkbfs/journal_manager_util.go +++ b/go/kbfs/libkbfs/journal_manager_util.go @@ -99,10 +99,7 @@ func FillInJournalStatusUnflushedPaths(ctx context.Context, config Config, } // Do up to 10 statuses at a time. - numWorkers := len(tlfIDs) - if numWorkers > 10 { - numWorkers = 10 - } + numWorkers := min(len(tlfIDs), 10) for i := 0; i < numWorkers; i++ { eg.Go(statusFn) } diff --git a/go/kbfs/libkbfs/journal_md_ops_test.go b/go/kbfs/libkbfs/journal_md_ops_test.go index 161fcb459111..a3f57f71d90e 100644 --- a/go/kbfs/libkbfs/journal_md_ops_test.go +++ b/go/kbfs/libkbfs/journal_md_ops_test.go @@ -389,7 +389,7 @@ func TestJournalMDOpsLocalSquashBranch(t *testing.T) { rmd := initialRmd mdID := initialMdID // Put several MDs after a local squash - for i := 0; i < mdCount; i++ { + for range mdCount { rmd, err = rmd.MakeSuccessor(ctx, config.MetadataVersion(), config.Codec(), config.KeyManager(), config.KBPKI(), config.KBPKI(), config, mdID, true) diff --git a/go/kbfs/libkbfs/kbfs_cr_test.go b/go/kbfs/libkbfs/kbfs_cr_test.go index d0bd6262d0ee..f14cc7e4d48b 100644 --- a/go/kbfs/libkbfs/kbfs_cr_test.go +++ b/go/kbfs/libkbfs/kbfs_cr_test.go @@ -668,7 +668,7 @@ func TestCRFileConflictWithMoreUpdatesFromOneUser(t *testing.T) { require.NoError(t, err) // User 2 makes a few changes in the file - for i := byte(0); i < 4; i++ { + for i := range byte(4) { // This makes sure the unmerged head of user 2 is ahead of (has large // revision than) the merged master branch, so we can test that we properly // fetch updates when unmerged revision number is greater than merged @@ -688,7 +688,7 @@ func TestCRFileConflictWithMoreUpdatesFromOneUser(t *testing.T) { // check for at most 4 times. This should be sufficiently long for client get // latest merged revision and register with that - for i := 0; i < 4; i++ { + for range 4 { record := <-chForMdServer2 mergedRev, err := mdServ.getCurrentMergedHeadRevision( ctx, rootNode2.GetFolderBranch().Tlf) @@ -888,7 +888,7 @@ func TestBasicCRFailureAndFixing(t *testing.T) { fbo := ops.getOpsNoAdd(ctx, rootNode2.GetFolderBranch()) t.Log("Write a bunch more files as user 2, creating more conflicts.") - for i := 0; i < maxConflictResolutionAttempts; i++ { + for i := range maxConflictResolutionAttempts { fileName := fmt.Sprintf("file%d", i) newFile, _, err := kbfsOps2.CreateFile( ctx, dirA2, testPPS(fileName), false, NoExcl) @@ -1576,7 +1576,7 @@ func TestCRSyncParallelBlocksErrorCleanup(t *testing.T) { // Wait for the rest of the puts (this indicates that the first // two succeeded correctly and two more were sent to replace them) - for i := 0; i < maxParallelBlockPuts; i++ { + for range maxParallelBlockPuts { <-onSyncStalledCh } // Cancel so all other block puts fail @@ -2089,7 +2089,7 @@ func TestBasicCRFailureClearAndFastForward(t *testing.T) { t.Log("User 1 updates mod time on a/b.") mtime := time.Now() - for i := 0; i < fastForwardRevThresh+2; i++ { + for range fastForwardRevThresh + 2 { mtime = mtime.Add(1 * time.Minute) err = kbfsOps1.SetMtime(ctx, fileB1, &mtime) require.NoError(t, err) diff --git a/go/kbfs/libkbfs/kbfs_ops.go b/go/kbfs/libkbfs/kbfs_ops.go index 8b6f90a2abf7..0ad4d585cd4d 100644 --- a/go/kbfs/libkbfs/kbfs_ops.go +++ b/go/kbfs/libkbfs/kbfs_ops.go @@ -7,6 +7,7 @@ package libkbfs import ( "context" "fmt" + "maps" "sync" "time" @@ -1644,9 +1645,7 @@ func (fs *KBFSOpsStandard) findTeamByID( // Copy the ops list so we don't have to hold opsLock when calling // `getRootNode()` (which can lead to deadlocks). ops := make(map[data.FolderBranch]*folderBranchOps) - for fb, fbo := range fs.ops { - ops[fb] = fbo - } + maps.Copy(ops, fs.ops) fs.opsLock.Unlock() // We have to search for the tid since we don't know the old name diff --git a/go/kbfs/libkbfs/kbfs_ops_concur_test.go b/go/kbfs/libkbfs/kbfs_ops_concur_test.go index 040bcdeb78d4..bdd3b882e1dc 100644 --- a/go/kbfs/libkbfs/kbfs_ops_concur_test.go +++ b/go/kbfs/libkbfs/kbfs_ops_concur_test.go @@ -95,7 +95,7 @@ func TestKBFSOpsConcurDoubleMDGet(t *testing.T) { ops := getOps(config, rootNode.GetFolderBranch().Tlf) ops.mdWriterLock = kbfssync.MakeLeveledMutex( kbfssync.MutexLevel(fboMDWriter), cl) - for i := 0; i < n; i++ { + for range n { go func() { _, _, _, err := ops.getRootNode(ctxStallGetForTLF) c <- err @@ -114,7 +114,7 @@ func TestKBFSOpsConcurDoubleMDGet(t *testing.T) { // Now let the first one complete. The second one should find the // MD in the cache, and thus never call MDOps.Get(). close(getUnstallCh) - for i := 0; i < n; i++ { + for range n { err := <-c require.NoError(t, err, "Got an error doing concurrent MD gets: err=(%s)", err) } @@ -197,7 +197,7 @@ func testKBFSOpsConcurWritesDuringSync(t *testing.T, fileNodes := make([]Node, nFiles) kbfsOps := config.KBFSOps() - for i := 0; i < nFiles; i++ { + for i := range nFiles { name := fmt.Sprintf("file%d", i) fileNode, _, err := kbfsOps.CreateFile( ctx, rootNode, testPPS(name), false, NoExcl) @@ -208,7 +208,7 @@ func testKBFSOpsConcurWritesDuringSync(t *testing.T, expectedData := make([][]byte, len(fileNodes)) for i, fileNode := range fileNodes { data := make([]byte, initialWriteBytes) - for j := 0; j < initialWriteBytes; j++ { + for j := range initialWriteBytes { data[j] = byte(initialWriteBytes * (i + 1)) } err = kbfsOps.Write(ctx, fileNode, data, 0) @@ -231,7 +231,7 @@ func testKBFSOpsConcurWritesDuringSync(t *testing.T, } for i, fileNode := range fileNodes { - for j := 0; j < nOneByteWrites; j++ { + for j := range nOneByteWrites { // now make sure we can write the file and see the new // byte we wrote newData := []byte{byte(nOneByteWrites * (j + 2))} @@ -349,7 +349,7 @@ func TestKBFSOpsConcurDeferredDoubleWritesDuringSync(t *testing.T) { require.NoError(t, err, "Couldn't create file: %v", err) var data []byte // Write 2 blocks worth of data - for i := 0; i < 30; i++ { + for i := range 30 { data = append(data, byte(i)) } err = kbfsOps.Write(ctx, fileNode, data, 0) @@ -1184,7 +1184,7 @@ func TestKBFSOpsConcurWriteParallelBlocksCanceled(t *testing.T) { ctx2, cancel2 := context.WithCancel(ctx) go func() { // let the first initialBlocks blocks through. - for i := 0; i < initialBlocks; i++ { + for range initialBlocks { select { case <-readyChan: case <-ctx.Done(): @@ -1192,7 +1192,7 @@ func TestKBFSOpsConcurWriteParallelBlocksCanceled(t *testing.T) { } } - for i := 0; i < initialBlocks; i++ { + for range initialBlocks { select { case goChan <- struct{}{}: case <-ctx.Done(): @@ -1200,7 +1200,7 @@ func TestKBFSOpsConcurWriteParallelBlocksCanceled(t *testing.T) { } } - for i := 0; i < initialBlocks; i++ { + for range initialBlocks { select { case <-finishChan: case <-ctx.Done(): @@ -1214,7 +1214,7 @@ func TestKBFSOpsConcurWriteParallelBlocksCanceled(t *testing.T) { nowNBlocks = b.numBlocks() // Let each parallel block worker block on readyChan. - for i := 0; i < maxParallelBlockPuts; i++ { + for range maxParallelBlockPuts { select { case <-readyChan: case <-ctx.Done(): @@ -1402,7 +1402,7 @@ func testKBFSOpsMultiBlockWriteDuringRetriedSync(t *testing.T, nFiles int) { firstData := make([]byte, 30) // Write 2 blocks worth of data - for i := 0; i < 30; i++ { + for i := range 30 { firstData[i] = byte(i) } @@ -1435,7 +1435,7 @@ func testKBFSOpsMultiBlockWriteDuringRetriedSync(t *testing.T, nFiles int) { require.NoError(t, err, "Couldn't create file: %v", err) data := make([]byte, 30) // Write 2 blocks worth of data - for j := 0; j < 30; j++ { + for j := range 30 { data[j] = byte(j + 30*i) } err = kbfsOps.Write(ctx, fileNode, data, 0) @@ -1531,7 +1531,7 @@ func testKBFSOpsMultiBlockWriteWithRetryAndError(t *testing.T, nFiles int) { var data []byte t.Log("Write 2 blocks worth of data") - for i := 0; i < 30; i++ { + for i := range 30 { data = append(data, byte(i)) } err = kbfsOps.Write(ctx, fileNodes[0], data, 0) @@ -1589,7 +1589,7 @@ func testKBFSOpsMultiBlockWriteWithRetryAndError(t *testing.T, nFiles int) { require.NoError(t, err, "Couldn't create file: %v", err) data := make([]byte, 30) // Write 2 blocks worth of data - for j := 0; j < 30; j++ { + for j := range 30 { data[j] = byte(j + 30*i) } err = kbfsOps.Write(ctx, fileNode, data, 0) @@ -1859,7 +1859,7 @@ func TestKBFSOpsConcurCanceledSyncSucceeds(t *testing.T) { require.NoError(t, err, "Couldn't sync file: %v", err) data := make([]byte, 30) - for i := 0; i < 30; i++ { + for i := range 30 { data[i] = 1 } err = kbfsOps.Write(ctx, fileNode, data, 0) @@ -1946,7 +1946,7 @@ func TestKBFSOpsConcurCanceledSyncFailsAfterCanceledSyncSucceeds(t *testing.T) { require.NoError(t, err, "Couldn't sync file: %v", err) data := make([]byte, 30) - for i := 0; i < 30; i++ { + for i := range 30 { data[i] = 1 } err = kbfsOps.Write(ctx, fileNode, data, 0) @@ -2042,7 +2042,7 @@ func TestKBFSOpsTruncateWithDupBlockCanceled(t *testing.T) { var data []byte // Write some data - for i := 0; i < 30; i++ { + for i := range 30 { data = append(data, byte(i)) } err = kbfsOps.Write(ctx, fileNode2, data, 0) @@ -2372,7 +2372,7 @@ func TestKBFSOpsConcurMultiblockOverwriteWithCanceledSync(t *testing.T) { require.NoError(t, err, "Couldn't create file: %v", err) data := make([]byte, 30) - for i := 0; i < 30; i++ { + for i := range 30 { data[i] = 1 } err = kbfsOps.Write(ctx, fileNode, data, 0) @@ -2383,7 +2383,7 @@ func TestKBFSOpsConcurMultiblockOverwriteWithCanceledSync(t *testing.T) { // Over write the data to cause the leaf blocks to be unreferenced. data2 := make([]byte, 30) - for i := 0; i < 30; i++ { + for i := range 30 { data2[i] = byte(i + 30) } err = kbfsOps.Write(ctx, fileNode, data2, 0) @@ -2408,7 +2408,7 @@ func TestKBFSOpsConcurMultiblockOverwriteWithCanceledSync(t *testing.T) { } data3 := make([]byte, 30) - for i := 0; i < 30; i++ { + for i := range 30 { data3[i] = byte(i + 60) } err = kbfsOps.Write(ctx, fileNode, data3, 0) @@ -2434,7 +2434,7 @@ func TestKBFSOpsConcurMultiblockOverwriteWithCanceledSync(t *testing.T) { } data4 := make([]byte, 30) - for i := 0; i < 30; i++ { + for i := range 30 { data4[i] = byte(i + 90) } err = kbfsOps.Write(ctx, fileNode, data4, 0) diff --git a/go/kbfs/libkbfs/kbfs_ops_test.go b/go/kbfs/libkbfs/kbfs_ops_test.go index 775825f5c28c..9b5e6b60494c 100644 --- a/go/kbfs/libkbfs/kbfs_ops_test.go +++ b/go/kbfs/libkbfs/kbfs_ops_test.go @@ -601,7 +601,7 @@ type ptrMatcher struct { } // Matches implements the Matcher interface for ptrMatcher. -func (p ptrMatcher) Matches(x interface{}) bool { +func (p ptrMatcher) Matches(x any) bool { xPtr, ok := x.(data.BlockPointer) if !ok { return false @@ -3903,7 +3903,7 @@ func (fi *fakeFileInfo) IsDir() bool { return fi.et == data.Dir } -func (fi *fakeFileInfo) Sys() interface{} { +func (fi *fakeFileInfo) Sys() any { return nil } diff --git a/go/kbfs/libkbfs/kbfs_service.go b/go/kbfs/libkbfs/kbfs_service.go index a6f07e05fe70..d48568b20115 100644 --- a/go/kbfs/libkbfs/kbfs_service.go +++ b/go/kbfs/libkbfs/kbfs_service.go @@ -20,12 +20,12 @@ type KBFSErrorUnwrapper struct{} var _ rpc.ErrorUnwrapper = KBFSErrorUnwrapper{} // MakeArg implements rpc.ErrorUnwrapper. -func (eu KBFSErrorUnwrapper) MakeArg() interface{} { +func (eu KBFSErrorUnwrapper) MakeArg() any { return &keybase1.Status{} } // UnwrapError implements rpc.ErrorUnwrapper. -func (eu KBFSErrorUnwrapper) UnwrapError(arg interface{}) (appError error, +func (eu KBFSErrorUnwrapper) UnwrapError(arg any) (appError error, dispatchError error, ) { s, ok := arg.(*keybase1.Status) diff --git a/go/kbfs/libkbfs/keybase_daemon_local.go b/go/kbfs/libkbfs/keybase_daemon_local.go index e77ad973e20f..1ebc90a77f14 100644 --- a/go/kbfs/libkbfs/keybase_daemon_local.go +++ b/go/kbfs/libkbfs/keybase_daemon_local.go @@ -38,7 +38,7 @@ var _ favoriteStore = diskFavoriteClient{} func (c diskFavoriteClient) favkey( uid keybase1.UID, folder keybase1.FolderHandle, ) []byte { - return []byte(fmt.Sprintf("%s:%s", uid, folder.ToString())) + return fmt.Appendf(nil, "%s:%s", uid, folder.ToString()) } func (c diskFavoriteClient) FavoriteAdd( diff --git a/go/kbfs/libkbfs/keybase_daemon_rpc_test.go b/go/kbfs/libkbfs/keybase_daemon_rpc_test.go index 57d744cb2876..552e69a49e80 100644 --- a/go/kbfs/libkbfs/keybase_daemon_rpc_test.go +++ b/go/kbfs/libkbfs/keybase_daemon_rpc_test.go @@ -69,19 +69,19 @@ type fakeKeybaseClient struct { var _ rpc.GenericClient = (*fakeKeybaseClient)(nil) -func (c *fakeKeybaseClient) Call(ctx context.Context, s string, args interface{}, - res interface{}, _ time.Duration, +func (c *fakeKeybaseClient) Call(ctx context.Context, s string, args any, + res any, _ time.Duration, ) error { return c.call(ctx, s, args, res) } -func (c *fakeKeybaseClient) CallCompressed(ctx context.Context, s string, args interface{}, - res interface{}, _ rpc.CompressionType, _ time.Duration, +func (c *fakeKeybaseClient) CallCompressed(ctx context.Context, s string, args any, + res any, _ rpc.CompressionType, _ time.Duration, ) error { return c.call(ctx, s, args, res) } -func (c *fakeKeybaseClient) call(ctx context.Context, s string, args interface{}, res interface{}) error { +func (c *fakeKeybaseClient) call(ctx context.Context, s string, args any, res any) error { switch s { case "keybase.1.session.currentSession": *res.(*keybase1.Session) = keybase1.Session{ @@ -95,7 +95,7 @@ func (c *fakeKeybaseClient) call(ctx context.Context, s string, args interface{} return nil case "keybase.1.identify.identifyLite": - arg := args.([]interface{})[0].(keybase1.IdentifyLiteArg) + arg := args.([]any)[0].(keybase1.IdentifyLiteArg) uidStr := strings.TrimPrefix(arg.Assertion, "uid:") if len(uidStr) == len(arg.Assertion) { return fmt.Errorf("Non-uid assertion %s", arg.Assertion) @@ -118,7 +118,7 @@ func (c *fakeKeybaseClient) call(ctx context.Context, s string, args interface{} return nil case "keybase.1.user.loadUserPlusKeysV2": - arg := args.([]interface{})[0].(keybase1.LoadUserPlusKeysV2Arg) + arg := args.([]any)[0].(keybase1.LoadUserPlusKeysV2Arg) userInfo, ok := c.users[arg.Uid] if !ok { @@ -145,7 +145,7 @@ func (c *fakeKeybaseClient) call(ctx context.Context, s string, args interface{} return nil case "keybase.1.kbfs.FSEditList": - c.editResponse = args.([]interface{})[0].(keybase1.FSEditListArg) + c.editResponse = args.([]any)[0].(keybase1.FSEditListArg) return nil default: @@ -153,7 +153,7 @@ func (c *fakeKeybaseClient) call(ctx context.Context, s string, args interface{} } } -func (c *fakeKeybaseClient) Notify(_ context.Context, s string, args interface{}, timeout time.Duration) error { +func (c *fakeKeybaseClient) Notify(_ context.Context, s string, args any, timeout time.Duration) error { return fmt.Errorf("Unknown notify: %s %v", s, args) } diff --git a/go/kbfs/libkbfs/keybase_service_base.go b/go/kbfs/libkbfs/keybase_service_base.go index 4e245d9391aa..bf7c71dee74e 100644 --- a/go/kbfs/libkbfs/keybase_service_base.go +++ b/go/kbfs/libkbfs/keybase_service_base.go @@ -7,6 +7,7 @@ package libkbfs import ( "context" "fmt" + "maps" "strings" "sync" "time" @@ -816,9 +817,7 @@ func (k *KeybaseServiceBase) getLastWriterInfo( newLastWriters := make( map[kbfscrypto.VerifyingKey]keybase1.MerkleRootV2, len(teamInfo.LastWriters)+1) - for k, v := range teamInfo.LastWriters { - newLastWriters[k] = v - } + maps.Copy(newLastWriters, teamInfo.LastWriters) newLastWriters[verifyingKey] = *res.Res teamInfo.LastWriters = newLastWriters return teamInfo, nil @@ -1061,9 +1060,7 @@ func (k *KeybaseServiceBase) processUserPlusKeys( } if len(revokedKidNames) > 0 { - for k, v := range revokedKidNames { - kidNames[k] = v - } + maps.Copy(kidNames, revokedKidNames) } for _, incarnation := range upk.PastIncarnations { @@ -1075,17 +1072,11 @@ func (k *KeybaseServiceBase) processUserPlusKeys( } if len(revokedKidNames) > 0 { - for k, v := range revokedKidNames { - kidNames[k] = v - } + maps.Copy(kidNames, revokedKidNames) } - for k, v := range revokedVerifyingKeysPast { - revokedVerifyingKeys[k] = v - } - for k, v := range revokedCryptPublicKeysPast { - revokedCryptPublicKeys[k] = v - } + maps.Copy(revokedVerifyingKeys, revokedVerifyingKeysPast) + maps.Copy(revokedCryptPublicKeys, revokedCryptPublicKeysPast) } u := idutil.UserInfo{ diff --git a/go/kbfs/libkbfs/keycache_test.go b/go/kbfs/libkbfs/keycache_test.go index 43fe3b8103f3..96a53059f549 100644 --- a/go/kbfs/libkbfs/keycache_test.go +++ b/go/kbfs/libkbfs/keycache_test.go @@ -38,7 +38,7 @@ func TestKeyCacheBasic(t *testing.T) { if key != key2 { t.Fatal("keys are unequal") } - for i := 0; i < 11; i++ { + for i := range 11 { id = tlf.FakeID(byte(i), tlf.Public) key = kbfscrypto.MakeTLFCryptKey([32]byte{byte(i)}) err = cache.PutTLFCryptKey(id, keyGen, key) @@ -46,7 +46,7 @@ func TestKeyCacheBasic(t *testing.T) { t.Fatal(err) } } - for i := 0; i < 11; i++ { + for i := range 11 { id = tlf.FakeID(byte(i), tlf.Public) _, err = cache.GetTLFCryptKey(id, keyGen) if i > 0 && err != nil { diff --git a/go/kbfs/libkbfs/md_id_journal.go b/go/kbfs/libkbfs/md_id_journal.go index 0fcc1ebfacd8..ed2cb529cf80 100644 --- a/go/kbfs/libkbfs/md_id_journal.go +++ b/go/kbfs/libkbfs/md_id_journal.go @@ -53,7 +53,7 @@ type mdIDJournalEntry struct { } func makeMdIDJournal(codec kbfscodec.Codec, dir string) (mdIDJournal, error) { - j, err := makeDiskJournal(codec, dir, reflect.TypeOf(mdIDJournalEntry{})) + j, err := makeDiskJournal(codec, dir, reflect.TypeFor[mdIDJournalEntry]()) if err != nil { return mdIDJournal{}, err } diff --git a/go/kbfs/libkbfs/md_journal_test.go b/go/kbfs/libkbfs/md_journal_test.go index e41325299c5d..9330c23bd389 100644 --- a/go/kbfs/libkbfs/md_journal_test.go +++ b/go/kbfs/libkbfs/md_journal_test.go @@ -227,9 +227,9 @@ type noLogTB struct { testing.TB } -func (tb noLogTB) Log(args ...interface{}) {} +func (tb noLogTB) Log(args ...any) {} -func (tb noLogTB) Logf(format string, args ...interface{}) {} +func (tb noLogTB) Logf(format string, args ...any) {} func BenchmarkMDJournalBasic(b *testing.B) { runBenchmarkOverMetadataVers(b, benchmarkMDJournalBasic) @@ -253,7 +253,6 @@ func benchmarkMDJournalBasicBody(b *testing.B, ver kbfsmd.MetadataVer, mdCount i func benchmarkMDJournalBasic(b *testing.B, ver kbfsmd.MetadataVer) { for _, mdCount := range []int{1, 10, 100, 1000, 10000} { - mdCount := mdCount // capture range variable. name := fmt.Sprintf("mdCount=%d", mdCount) b.Run(name, func(b *testing.B) { b.StopTimer() @@ -301,7 +300,7 @@ func testMDJournalBasic(t *testing.T, ver kbfsmd.MetadataVer) { require.NoError(t, err) require.Equal(t, ibrmds[len(ibrmds)-1], head) - for i := 0; i < mdCount; i++ { + for i := range mdCount { require.Equal(t, mds[i].bareMd, ibrmds[i].RootMetadata, "i=%d", i) require.Equal(t, mds[i].extra, ibrmds[i].extra, "i=%d", i) } @@ -850,7 +849,7 @@ func testMDJournalBranchConversionPreservesUnknownFields(t *testing.T, ver kbfsm mdCount := 5 prevRoot := kbfsmd.FakeID(1) ctx := context.Background() - for i := 0; i < mdCount; i++ { + for i := range mdCount { revision := firstRevision + kbfsmd.Revision(i) md := makeMDForTest(t, ver, id, revision, j.uid, signer, prevRoot) mdID, _, err := j.put(ctx, signer, ekg, bsplit, md, false) diff --git a/go/kbfs/libkbfs/md_ops.go b/go/kbfs/libkbfs/md_ops.go index 0b1a5d50fca0..83f5af57cc55 100644 --- a/go/kbfs/libkbfs/md_ops.go +++ b/go/kbfs/libkbfs/md_ops.go @@ -1252,10 +1252,7 @@ func (md *MDOpsStandard) processRange(ctx context.Context, id tlf.ID, return nil } - numWorkers := len(rmdses) - if numWorkers > maxMDsAtATime { - numWorkers = maxMDsAtATime - } + numWorkers := min(len(rmdses), maxMDsAtATime) for i := 0; i < numWorkers; i++ { eg.Go(worker) } diff --git a/go/kbfs/libkbfs/md_ops_test.go b/go/kbfs/libkbfs/md_ops_test.go index 67f571eb47f7..85416455f9e2 100644 --- a/go/kbfs/libkbfs/md_ops_test.go +++ b/go/kbfs/libkbfs/md_ops_test.go @@ -164,7 +164,7 @@ type kmdMatcher struct { kmd libkey.KeyMetadata } -func (m kmdMatcher) Matches(x interface{}) bool { +func (m kmdMatcher) Matches(x any) bool { kmd, ok := x.(libkey.KeyMetadata) if !ok { return false @@ -594,7 +594,7 @@ func makeRMDSRange(t *testing.T, config Config, ) { id := tlf.FakeID(1, tlf.Private) h := parseTlfHandleOrBust(t, config, "alice,bob", tlf.Private, id) - for i := 0; i < count; i++ { + for i := range count { rmd, err := makeInitialRootMetadata(config.MetadataVersion(), id, h) if err != nil { t.Fatal(err) @@ -748,7 +748,7 @@ func testMDOpsGetRangeSuccessHelper( rmds, err := config.MDOps().GetRange(ctx, rmdses[0].MD.TlfID(), start, stop, nil) require.NoError(t, err) require.Equal(t, len(rmdses), len(rmds)) - for i := 0; i < len(rmdses); i++ { + for i := range rmdses { require.Equal(t, expectedMDs[i], rmds[i].bareMd) } } @@ -911,7 +911,7 @@ type failEncodeCodec struct { err error } -func (c failEncodeCodec) Encode(obj interface{}) ([]byte, error) { +func (c failEncodeCodec) Encode(obj any) ([]byte, error) { return nil, c.err } @@ -1144,7 +1144,7 @@ func testMDOpsDecryptMerkleLeafPrivate(t *testing.T, ver kbfsmd.MetadataVer) { session, err := config.KBPKI().GetCurrentSession(ctx) require.NoError(t, err) var extraDevice int - for i := 0; i < 4; i++ { + for range 4 { extraDevice = AddDeviceForLocalUserOrBust(t, config, session.UID) } diff --git a/go/kbfs/libkbfs/md_util.go b/go/kbfs/libkbfs/md_util.go index dba20ea86234..a657904bfa88 100644 --- a/go/kbfs/libkbfs/md_util.go +++ b/go/kbfs/libkbfs/md_util.go @@ -358,10 +358,9 @@ func getUnmergedMDUpdates(ctx context.Context, config Config, id tlf.ID, currHead = startRev for { // first look up all unmerged MD revisions older than my current head - startRev := currHead - maxMDsAtATime + 1 // (kbfsmd.Revision is signed) - if startRev < kbfsmd.RevisionInitial { - startRev = kbfsmd.RevisionInitial - } + startRev := max( + // (kbfsmd.Revision is signed) + currHead-maxMDsAtATime+1, kbfsmd.RevisionInitial) rmds, err := getMDRange(ctx, config, id, bid, startRev, currHead, kbfsmd.Unmerged, nil) diff --git a/go/kbfs/libkbfs/mdserver_memory.go b/go/kbfs/libkbfs/mdserver_memory.go index 4a020c152920..8bfd55f1a7c7 100644 --- a/go/kbfs/libkbfs/mdserver_memory.go +++ b/go/kbfs/libkbfs/mdserver_memory.go @@ -465,10 +465,7 @@ func (md *MDServerMemory) getRangeLocked(ctx context.Context, id tlf.ID, return nil, nil, nil } - startI := int(start - blockList.initialRevision) - if startI < 0 { - startI = 0 - } + startI := max(int(start-blockList.initialRevision), 0) endI := int(stop - blockList.initialRevision + 1) blocks := blockList.blocks if endI > len(blocks) { diff --git a/go/kbfs/libkbfs/ops.go b/go/kbfs/libkbfs/ops.go index 7077cc404d5e..82f5f8c873ed 100644 --- a/go/kbfs/libkbfs/ops.go +++ b/go/kbfs/libkbfs/ops.go @@ -295,18 +295,18 @@ func (oc *OpCommon) checkUpdatesValid() error { } func (oc *OpCommon) stringWithRefs(indent string) string { - res := "" + var res strings.Builder for i, update := range oc.Updates { - res += indent + fmt.Sprintf( - "Update[%d]: %v -> %v\n", i, update.Unref, update.Ref) + res.WriteString(indent + fmt.Sprintf( + "Update[%d]: %v -> %v\n", i, update.Unref, update.Ref)) } for i, ref := range oc.RefBlocks { - res += indent + fmt.Sprintf("Ref[%d]: %v\n", i, ref) + res.WriteString(indent + fmt.Sprintf("Ref[%d]: %v\n", i, ref)) } for i, unref := range oc.UnrefBlocks { - res += indent + fmt.Sprintf("Unref[%d]: %v\n", i, unref) + res.WriteString(indent + fmt.Sprintf("Unref[%d]: %v\n", i, unref)) } - return res + return res.String() } // ToEditNotification implements the op interface for OpCommon. @@ -1624,7 +1624,7 @@ func invertOpForLocalNotifications(oldOp op) (newOp op, err error) { // we need them to be pointers so they correctly satisfy the op // interface. So this function simply converts them into pointers as // needed. -func opPointerizer(iface interface{}) reflect.Value { +func opPointerizer(iface any) reflect.Value { switch op := iface.(type) { default: return reflect.ValueOf(iface) @@ -1649,15 +1649,15 @@ func opPointerizer(iface interface{}) reflect.Value { // RegisterOps registers all op types with the given codec. func RegisterOps(codec kbfscodec.Codec) { - codec.RegisterType(reflect.TypeOf(createOp{}), createOpCode) - codec.RegisterType(reflect.TypeOf(rmOp{}), rmOpCode) - codec.RegisterType(reflect.TypeOf(renameOp{}), renameOpCode) - codec.RegisterType(reflect.TypeOf(syncOp{}), syncOpCode) - codec.RegisterType(reflect.TypeOf(setAttrOp{}), setAttrOpCode) - codec.RegisterType(reflect.TypeOf(resolutionOp{}), resolutionOpCode) - codec.RegisterType(reflect.TypeOf(rekeyOp{}), rekeyOpCode) - codec.RegisterType(reflect.TypeOf(GCOp{}), gcOpCode) - codec.RegisterIfaceSliceType(reflect.TypeOf(opsList{}), opsListCode, + codec.RegisterType(reflect.TypeFor[createOp](), createOpCode) + codec.RegisterType(reflect.TypeFor[rmOp](), rmOpCode) + codec.RegisterType(reflect.TypeFor[renameOp](), renameOpCode) + codec.RegisterType(reflect.TypeFor[syncOp](), syncOpCode) + codec.RegisterType(reflect.TypeFor[setAttrOp](), setAttrOpCode) + codec.RegisterType(reflect.TypeFor[resolutionOp](), resolutionOpCode) + codec.RegisterType(reflect.TypeFor[rekeyOp](), rekeyOpCode) + codec.RegisterType(reflect.TypeFor[GCOp](), gcOpCode) + codec.RegisterIfaceSliceType(reflect.TypeFor[opsList](), opsListCode, opPointerizer) } diff --git a/go/kbfs/libkbfs/ops_test.go b/go/kbfs/libkbfs/ops_test.go index 4115de37d030..050fcbee6a1d 100644 --- a/go/kbfs/libkbfs/ops_test.go +++ b/go/kbfs/libkbfs/ops_test.go @@ -160,7 +160,7 @@ func TestWriteRangeUnknownFields(t *testing.T) { // of opPointerizer and RegisterOps. registerOpsFuture is used by // testStructUnknownFields. -func opPointerizerFuture(iface interface{}) reflect.Value { +func opPointerizerFuture(iface any) reflect.Value { switch op := iface.(type) { default: return reflect.ValueOf(iface) @@ -184,15 +184,15 @@ func opPointerizerFuture(iface interface{}) reflect.Value { } func registerOpsFuture(codec kbfscodec.Codec) { - codec.RegisterType(reflect.TypeOf(createOpFuture{}), createOpCode) - codec.RegisterType(reflect.TypeOf(rmOpFuture{}), rmOpCode) - codec.RegisterType(reflect.TypeOf(renameOpFuture{}), renameOpCode) - codec.RegisterType(reflect.TypeOf(syncOpFuture{}), syncOpCode) - codec.RegisterType(reflect.TypeOf(setAttrOpFuture{}), setAttrOpCode) - codec.RegisterType(reflect.TypeOf(resolutionOpFuture{}), resolutionOpCode) - codec.RegisterType(reflect.TypeOf(rekeyOpFuture{}), rekeyOpCode) - codec.RegisterType(reflect.TypeOf(gcOpFuture{}), gcOpCode) - codec.RegisterIfaceSliceType(reflect.TypeOf(opsList{}), opsListCode, + codec.RegisterType(reflect.TypeFor[createOpFuture](), createOpCode) + codec.RegisterType(reflect.TypeFor[rmOpFuture](), rmOpCode) + codec.RegisterType(reflect.TypeFor[renameOpFuture](), renameOpCode) + codec.RegisterType(reflect.TypeFor[syncOpFuture](), syncOpCode) + codec.RegisterType(reflect.TypeFor[setAttrOpFuture](), setAttrOpCode) + codec.RegisterType(reflect.TypeFor[resolutionOpFuture](), resolutionOpCode) + codec.RegisterType(reflect.TypeFor[rekeyOpFuture](), rekeyOpCode) + codec.RegisterType(reflect.TypeFor[gcOpFuture](), gcOpCode) + codec.RegisterIfaceSliceType(reflect.TypeFor[opsList](), opsListCode, opPointerizerFuture) } @@ -475,7 +475,7 @@ func TestGcOpUnknownFields(t *testing.T) { } type testOps struct { - Ops []interface{} + Ops []any } // Tests that ops can be serialized and deserialized as extensions. @@ -625,13 +625,13 @@ func TestOpsCollapseWriteRange(t *testing.T) { const fileSize = uint64(1000) const numWrites = 25 const maxWriteSize = uint64(50) - for i := 0; i < numAttempts; i++ { + for range numAttempts { // Make a "file" where dirty bytes are represented by trues. var file [fileSize]bool var lastByte uint64 var lastByteIsTruncate bool var syncOps []*syncOp - for j := 0; j < numWrites; j++ { + for range numWrites { // Start a new syncOp? if len(syncOps) == 0 || rand.Int()%5 == 0 { //nolint:gosec // G404: Test data generation, not security-sensitive syncOps = append(syncOps, &syncOp{}) @@ -643,10 +643,7 @@ func TestOpsCollapseWriteRange(t *testing.T) { var length uint64 if rand.Int()%5 > 0 { //nolint:gosec // G404: Test data generation, not security-sensitive // A write, not a truncate - maxLen := fileSize - off - if maxLen > maxWriteSize { - maxLen = maxWriteSize - } + maxLen := min(fileSize-off, maxWriteSize) maxLen-- if maxLen == 0 { maxLen = 1 diff --git a/go/kbfs/libkbfs/prefetcher.go b/go/kbfs/libkbfs/prefetcher.go index 249cfb95651b..7767dd88a9de 100644 --- a/go/kbfs/libkbfs/prefetcher.go +++ b/go/kbfs/libkbfs/prefetcher.go @@ -1485,7 +1485,7 @@ func (p *blockPrefetcher) run( p.inFlightFetches.Close() }() isShuttingDown := false - var shuttingDownCh <-chan interface{} + var shuttingDownCh <-chan any first := true appState := keybase1.MobileAppState_FOREGROUND netState := keybase1.MobileNetworkState_NONE diff --git a/go/kbfs/libkbfs/rekey_queue_test.go b/go/kbfs/libkbfs/rekey_queue_test.go index 00cc9caa32c2..7e6e19d598d3 100644 --- a/go/kbfs/libkbfs/rekey_queue_test.go +++ b/go/kbfs/libkbfs/rekey_queue_test.go @@ -44,7 +44,7 @@ func TestRekeyQueueBasic(t *testing.T) { var names []string // Create a few shared folders - for i := 0; i < 3; i++ { + for i := range 3 { writers := []string{u1.String(), u2.String()} if i > 0 { writers = append(writers, u3.String()) diff --git a/go/kbfs/libkbfs/root_metadata_test.go b/go/kbfs/libkbfs/root_metadata_test.go index 753cb4262664..454787c5cd44 100644 --- a/go/kbfs/libkbfs/root_metadata_test.go +++ b/go/kbfs/libkbfs/root_metadata_test.go @@ -49,7 +49,6 @@ func runTestOverMetadataVers( t *testing.T, f func(t *testing.T, ver kbfsmd.MetadataVer), ) { for _, ver := range testMetadataVers { - ver := ver // capture range variable. t.Run(ver.String(), func(t *testing.T) { f(t, ver) }) @@ -74,7 +73,6 @@ func runTestsOverMetadataVers(t *testing.T, prefix string, fs []func(t *testing.T, ver kbfsmd.MetadataVer), ) { for _, f := range fs { - f := f // capture range variable. name := runtime.FuncForPC(reflect.ValueOf(f).Pointer()).Name() i := strings.LastIndex(name, prefix) if i >= 0 { @@ -105,7 +103,6 @@ func runBenchmarkOverMetadataVers( b *testing.B, f func(b *testing.B, ver kbfsmd.MetadataVer), ) { for _, ver := range testMetadataVers { - ver := ver // capture range variable. b.Run(ver.String(), func(b *testing.B) { f(b, ver) }) diff --git a/go/kbfs/libkbfs/safe_test_reporter_test.go b/go/kbfs/libkbfs/safe_test_reporter_test.go index ceae377d842c..906a456c27d2 100644 --- a/go/kbfs/libkbfs/safe_test_reporter_test.go +++ b/go/kbfs/libkbfs/safe_test_reporter_test.go @@ -47,12 +47,12 @@ func (ctr *SafeTestReporter) error(s string) { ctr.t.Errorf("\r%s: %s", makePrefix(), s) } -func (ctr *SafeTestReporter) Errorf(format string, args ...interface{}) { +func (ctr *SafeTestReporter) Errorf(format string, args ...any) { ctr.error(fmt.Sprintf(format, args...)) } // Fatalf errors and then panics. -func (ctr *SafeTestReporter) Fatalf(format string, args ...interface{}) { +func (ctr *SafeTestReporter) Fatalf(format string, args ...any) { s := fmt.Sprintf(format, args...) ctr.error(s) // panic here, since a Goexit() might leave the main thread diff --git a/go/kbfs/libkbfs/semaphore_disk_limiter.go b/go/kbfs/libkbfs/semaphore_disk_limiter.go index f857f5d151e5..0da43b329713 100644 --- a/go/kbfs/libkbfs/semaphore_disk_limiter.go +++ b/go/kbfs/libkbfs/semaphore_disk_limiter.go @@ -238,7 +238,7 @@ type semaphoreDiskLimiterStatus struct { func (sdl semaphoreDiskLimiter) getStatus( _ context.Context, _ keybase1.UserOrTeamID, -) interface{} { +) any { byteFree := sdl.byteSemaphore.Count() fileFree := sdl.fileSemaphore.Count() usedQuotaBytes, quotaBytes := sdl.quotaTracker.getQuotaInfo() diff --git a/go/kbfs/libkbfs/sigpwr_supported.go b/go/kbfs/libkbfs/sigpwr_supported.go index d9abe408a148..524a8bd7847a 100644 --- a/go/kbfs/libkbfs/sigpwr_supported.go +++ b/go/kbfs/libkbfs/sigpwr_supported.go @@ -3,7 +3,6 @@ // license that can be found in the LICENSE file. // //go:build linux || netbsd -// +build linux netbsd // see files in https://golang.org/src/syscall/ starting with "zerrors_" for support diff --git a/go/kbfs/libkbfs/sigpwr_unsupported.go b/go/kbfs/libkbfs/sigpwr_unsupported.go index 87cedae1c736..64543aafb025 100644 --- a/go/kbfs/libkbfs/sigpwr_unsupported.go +++ b/go/kbfs/libkbfs/sigpwr_unsupported.go @@ -3,7 +3,6 @@ // license that can be found in the LICENSE file. // //go:build !linux && !netbsd -// +build !linux,!netbsd // see files in https://golang.org/src/syscall/ starting with "zerrors_" for support diff --git a/go/kbfs/libkbfs/subscription_manager_test.go b/go/kbfs/libkbfs/subscription_manager_test.go index b6644b9b6ff5..6dab26fe927e 100644 --- a/go/kbfs/libkbfs/subscription_manager_test.go +++ b/go/kbfs/libkbfs/subscription_manager_test.go @@ -21,7 +21,7 @@ import ( ) func waitForCall(t *testing.T, timeout time.Duration) ( - waiter func(), done func(args ...interface{}), + waiter func(), done func(args ...any), ) { ch := make(chan struct{}) return func() { @@ -30,7 +30,7 @@ func waitForCall(t *testing.T, timeout time.Duration) ( t.Fatalf("waiting on lastMockDone timeout") case <-ch: } - }, func(args ...interface{}) { + }, func(args ...any) { ch <- struct{}{} } } @@ -54,10 +54,10 @@ func initSubscriptionManagerTest(t *testing.T) (config Config, } type sliceMatcherNoOrder struct { - x interface{} + x any } -func (e sliceMatcherNoOrder) Matches(x interface{}) bool { +func (e sliceMatcherNoOrder) Matches(x any) bool { vExpected := reflect.ValueOf(e.x) vGot := reflect.ValueOf(x) if vExpected.Kind() != reflect.Slice || vGot.Kind() != reflect.Slice { @@ -86,8 +86,7 @@ func TestSubscriptionManagerSubscribePath(t *testing.T) { config, sm, notifier, finish := initSubscriptionManagerTest(t) defer finish() - ctx, cancelFn := context.WithCancel(context.Background()) - defer cancelFn() + ctx := t.Context() ctx, err := libcontext.NewContextWithCancellationDelayer( libcontext.NewContextReplayable( ctx, func(c context.Context) context.Context { @@ -233,8 +232,7 @@ func TestSubscriptionManagerSubscribePathNoFolderBranch(t *testing.T) { config, sm, notifier, finish := initSubscriptionManagerTest(t) defer finish() - ctx, cancelFn := context.WithCancel(context.Background()) - defer cancelFn() + ctx := t.Context() ctx, err := libcontext.NewContextWithCancellationDelayer( libcontext.NewContextReplayable( ctx, func(c context.Context) context.Context { diff --git a/go/kbfs/libkbfs/test_common.go b/go/kbfs/libkbfs/test_common.go index 380f27caa30f..b1c3e17778e0 100644 --- a/go/kbfs/libkbfs/test_common.go +++ b/go/kbfs/libkbfs/test_common.go @@ -111,23 +111,23 @@ func MakeTestBlockServerOrBust(t logger.TestLogBackend, c *ConfigLocal, // in rpc and use that instead. type testLogger interface { - Logf(format string, args ...interface{}) + Logf(format string, args ...any) } type testLogOutput struct { t testLogger } -func (t testLogOutput) log(ch string, fmts string, args []interface{}) { +func (t testLogOutput) log(ch string, fmts string, args []any) { fmts = fmt.Sprintf("[%s] %s", ch, fmts) t.t.Logf(fmts, args...) } -func (t testLogOutput) Info(fmt string, args ...interface{}) { t.log("I", fmt, args) } -func (t testLogOutput) Error(fmt string, args ...interface{}) { t.log("E", fmt, args) } -func (t testLogOutput) Debug(fmt string, args ...interface{}) { t.log("D", fmt, args) } -func (t testLogOutput) Warning(fmt string, args ...interface{}) { t.log("W", fmt, args) } -func (t testLogOutput) Profile(fmt string, args ...interface{}) { t.log("P", fmt, args) } +func (t testLogOutput) Info(fmt string, args ...any) { t.log("I", fmt, args) } +func (t testLogOutput) Error(fmt string, args ...any) { t.log("E", fmt, args) } +func (t testLogOutput) Debug(fmt string, args ...any) { t.log("D", fmt, args) } +func (t testLogOutput) Warning(fmt string, args ...any) { t.log("W", fmt, args) } +func (t testLogOutput) Profile(fmt string, args ...any) { t.log("P", fmt, args) } func newTestRPCLogFactory(t testLogger) rpc.LogFactory { return rpc.NewSimpleLogFactory(testLogOutput{t}, nil) diff --git a/go/kbfs/libkbfs/tlf_journal_test.go b/go/kbfs/libkbfs/tlf_journal_test.go index cc7e538cf0c5..9b714c4e4a2e 100644 --- a/go/kbfs/libkbfs/tlf_journal_test.go +++ b/go/kbfs/libkbfs/tlf_journal_test.go @@ -964,7 +964,7 @@ func testTLFJournalFlushMDBasic(t *testing.T, ver kbfsmd.MetadataVer) { mdCount := 10 prevRoot := firstPrevRoot - for i := 0; i < mdCount; i++ { + for i := range mdCount { revision := firstRevision + kbfsmd.Revision(i) md := config.makeMD(revision, prevRoot) irmd, err := tlfJournal.putMD(ctx, md, tlfJournal.key, nil) @@ -979,7 +979,7 @@ func testTLFJournalFlushMDBasic(t *testing.T, ver kbfsmd.MetadataVer) { _, mdEnd, _, err := tlfJournal.getJournalEnds(ctx) require.NoError(t, err) - for i := 0; i < mdCount; i++ { + for range mdCount { flushed, err := tlfJournal.flushOneMDOp(ctx, mdEnd, defaultFlushContext()) require.NoError(t, err) require.True(t, flushed) @@ -1059,7 +1059,7 @@ func testTLFJournalFlushMDConflict(t *testing.T, ver kbfsmd.MetadataVer) { type orderedBlockServer struct { BlockServer lock *sync.Mutex - puts *[]interface{} + puts *[]any onceOnPut func() } @@ -1084,7 +1084,7 @@ func (s *orderedBlockServer) Shutdown(context.Context) {} type orderedMDServer struct { MDServer lock *sync.Mutex - puts *[]interface{} + puts *[]any onceOnPut func() error } @@ -1144,7 +1144,7 @@ func testTLFJournalFlushOrdering(t *testing.T, ver kbfsmd.MetadataVer) { md1 := config.makeMD(kbfsmd.Revision(10), kbfsmd.FakeID(1)) var lock sync.Mutex - var puts []interface{} + var puts []any bserver := orderedBlockServer{ lock: &lock, @@ -1200,12 +1200,12 @@ func testTLFJournalFlushOrdering(t *testing.T, ver kbfsmd.MetadataVer) { // but there are other possible orderings which respect the // above is-put-before constraints and also respect the // kbfsmd.Revision ordering. - expectedPuts1 := []interface{}{ + expectedPuts1 := []any{ bid1, kbfsmd.Revision(10), bid2, bid3, kbfsmd.Revision(11), kbfsmd.Revision(12), } // This is possible since block puts are done in parallel. - expectedPuts2 := []interface{}{ + expectedPuts2 := []any{ bid1, kbfsmd.Revision(10), bid3, bid2, kbfsmd.Revision(11), kbfsmd.Revision(12), } @@ -1231,7 +1231,7 @@ func testTLFJournalFlushOrderingAfterSquashAndCR( md1 := config.makeMD(firstRev, firstPrevRoot) var lock sync.Mutex - var puts []interface{} + var puts []any bserver := orderedBlockServer{ lock: &lock, @@ -1363,7 +1363,7 @@ func testTLFJournalFlushInterleaving(t *testing.T, ver kbfsmd.MetadataVer) { ctx, tempdir, config, cancel, tlfJournal, delegate) var lock sync.Mutex - var puts []interface{} + var puts []any bserver := orderedBlockServer{ lock: &lock, @@ -1385,7 +1385,7 @@ func testTLFJournalFlushInterleaving(t *testing.T, ver kbfsmd.MetadataVer) { // Revision 1 var bids []kbfsblock.ID rev1BlockEnd := maxJournalBlockFlushBatchSize * 2 - for i := 0; i < rev1BlockEnd; i++ { + for i := range rev1BlockEnd { data := []byte{byte(i)} bid, bCtx, serverHalf := config.makeBlock(data) bids = append(bids, bid) @@ -1434,7 +1434,7 @@ func testTLFJournalFlushInterleaving(t *testing.T, ver kbfsmd.MetadataVer) { require.True(t, ok) if mdID == md1.Revision() { md1Slot = i - for j := 0; j < rev1BlockEnd; j++ { + for j := range rev1BlockEnd { t.Logf("Checking bid %s at %d", bids[j], i) require.True(t, bidsSeen[bids[j]]) } @@ -1467,7 +1467,7 @@ func testTLFJournalPauseBlocksAndConvertBranch(ctx context.Context, tlfJournal.onBranchChange = testBranchChangeListener{branchCh} var lock sync.Mutex - var puts []interface{} + var puts []any unpauseBlockPutCh := make(chan struct{}) noticeBlockPutCh := make(chan struct{}) @@ -1485,7 +1485,7 @@ func testTLFJournalPauseBlocksAndConvertBranch(ctx context.Context, // Revision 1 rev1BlockEnd := maxJournalBlockFlushBatchSize * 2 - for i := 0; i < rev1BlockEnd; i++ { + for i := range rev1BlockEnd { data := []byte{byte(i)} bid, bCtx, serverHalf := config.makeBlock(data) err := tlfJournal.putBlockData(ctx, bid, bCtx, data, serverHalf) @@ -1512,7 +1512,7 @@ func testTLFJournalPauseBlocksAndConvertBranch(ctx context.Context, <-noticeBlockPutCh markers := uint64(1) - for i := 0; i < ForcedBranchSquashRevThreshold+1; i++ { + for range ForcedBranchSquashRevThreshold + 1 { rev++ md := config.makeMD(rev, prevRoot) irmd, err := tlfJournal.putMD(ctx, md, tlfJournal.key, nil) @@ -1629,7 +1629,7 @@ func testTLFJournalFlushRetry(t *testing.T, ver kbfsmd.MetadataVer) { mdCount := 10 prevRoot := firstPrevRoot - for i := 0; i < mdCount; i++ { + for i := range mdCount { revision := firstRevision + kbfsmd.Revision(i) md := config.makeMD(revision, prevRoot) irmd, err := tlfJournal.putMD(ctx, md, tlfJournal.key, nil) @@ -1660,7 +1660,7 @@ func testTLFJournalResolveBranch(t *testing.T, ver kbfsmd.MetadataVer) { ctx, tempdir, config, cancel, tlfJournal, delegate) var bids []kbfsblock.ID - for i := 0; i < 3; i++ { + for i := range 3 { data := []byte{byte(i)} bid, bCtx, serverHalf := config.makeBlock(data) bids = append(bids, bid) @@ -1673,7 +1673,7 @@ func testTLFJournalResolveBranch(t *testing.T, ver kbfsmd.MetadataVer) { mdCount := 3 prevRoot := firstPrevRoot - for i := 0; i < mdCount; i++ { + for i := range mdCount { revision := firstRevision + kbfsmd.Revision(i) md := config.makeMD(revision, prevRoot) irmd, err := tlfJournal.putMD(ctx, md, tlfJournal.key, nil) @@ -1751,7 +1751,7 @@ func testTLFJournalSquashByBytes(t *testing.T, ver kbfsmd.MetadataVer) { mdCount := 3 prevRoot := firstPrevRoot - for i := 0; i < mdCount; i++ { + for i := range mdCount { revision := firstRevision + kbfsmd.Revision(i) md := config.makeMD(revision, prevRoot) irmd, err := tlfJournal.putMD(ctx, md, tlfJournal.key, nil) @@ -1783,7 +1783,7 @@ func testTLFJournalFirstRevNoSquash(t *testing.T, ver kbfsmd.MetadataVer) { mdCount := 4 var firstMdID, prevRoot kbfsmd.ID - for i := 0; i < mdCount; i++ { + for i := range mdCount { revision := firstRevision + kbfsmd.Revision(i) md := config.makeMD(revision, prevRoot) irmd, err := tlfJournal.putMD(ctx, md, tlfJournal.key, nil) diff --git a/go/kbfs/libkbfs/trace_logger.go b/go/kbfs/libkbfs/trace_logger.go index 912ac72b4c15..b3023bc183a2 100644 --- a/go/kbfs/libkbfs/trace_logger.go +++ b/go/kbfs/libkbfs/trace_logger.go @@ -19,7 +19,7 @@ type traceLogger struct { // the right options are turned on. func (tl traceLogger) LazyTrace( - ctx context.Context, format string, args ...interface{}, + ctx context.Context, format string, args ...any, ) { if tr, ok := trace.FromContext(ctx); ok { tr.LazyPrintf(format, args...) diff --git a/go/kbfs/libkbfs/unflushed_path_cache.go b/go/kbfs/libkbfs/unflushed_path_cache.go index 430e89ecca09..934771d2916a 100644 --- a/go/kbfs/libkbfs/unflushed_path_cache.go +++ b/go/kbfs/libkbfs/unflushed_path_cache.go @@ -7,6 +7,7 @@ package libkbfs import ( "context" "fmt" + "maps" "sync" "time" @@ -78,9 +79,7 @@ func (upc *unflushedPathCache) getUnflushedPaths() unflushedPathsMap { // Only need to deep-copy the outer level of the map; the inner // level (per-revision) shouldn't be modified us once it's set, // and the caller isn't supposed to modify it. - for k, v := range upc.unflushedPaths { - cache[k] = v - } + maps.Copy(cache, upc.unflushedPaths) return cache } @@ -395,13 +394,11 @@ func (upc *unflushedPathCache) initialize(ctx context.Context, // Only need to deep-copy the outer level of the map; the inner // level (per-revision) shouldn't be modified us once it's set, // and the caller isn't supposed to modify it. - for k, v := range unflushedPaths { - initialUnflushedPaths[k] = v - } + maps.Copy(initialUnflushedPaths, unflushedPaths) // Try to drain the queue a few times. We may be unable to if we // are continuously racing with MD puts. - for i := 0; i < 10; i++ { + for range 10 { queue := upc.setCacheIfPossible(unflushedPaths, cpp) if len(queue) == 0 { // Return the paths corresponding only to the original set diff --git a/go/kbfs/libkbfs/util.go b/go/kbfs/libkbfs/util.go index 487ac9c2e09c..70dd7d5f006d 100644 --- a/go/kbfs/libkbfs/util.go +++ b/go/kbfs/libkbfs/util.go @@ -92,12 +92,12 @@ const ( // Warninger is an interface that only waprs the Warning method. type Warninger interface { - Warning(format string, args ...interface{}) + Warning(format string, args ...any) } // CtxWithRandomIDReplayable returns a replayable context with a // random id associated with the given log key. -func CtxWithRandomIDReplayable(ctx context.Context, tagKey interface{}, +func CtxWithRandomIDReplayable(ctx context.Context, tagKey any, tagName string, log Warninger, ) context.Context { ctx = logger.ConvertRPCTagsToLogTags(ctx) diff --git a/go/kbfs/libkbfs/verify_local_block_id_devel.go b/go/kbfs/libkbfs/verify_local_block_id_devel.go index 7e49a9d9a670..c3f62bfb50cc 100644 --- a/go/kbfs/libkbfs/verify_local_block_id_devel.go +++ b/go/kbfs/libkbfs/verify_local_block_id_devel.go @@ -3,7 +3,6 @@ // license that can be found in the LICENSE file. //go:build !production -// +build !production package libkbfs diff --git a/go/kbfs/libkbfs/verify_local_block_id_production.go b/go/kbfs/libkbfs/verify_local_block_id_production.go index e6bc3fa706f6..643dae3bb372 100644 --- a/go/kbfs/libkbfs/verify_local_block_id_production.go +++ b/go/kbfs/libkbfs/verify_local_block_id_production.go @@ -3,7 +3,6 @@ // license that can be found in the LICENSE file. //go:build production -// +build production package libkbfs diff --git a/go/kbfs/libpages/config/per_path_configs_v1.go b/go/kbfs/libpages/config/per_path_configs_v1.go index 226811444b33..bbc3943b7c24 100644 --- a/go/kbfs/libpages/config/per_path_configs_v1.go +++ b/go/kbfs/libpages/config/per_path_configs_v1.go @@ -54,7 +54,7 @@ func parsePermissionsV1(permsStr string) (permissionsV1, error) { if len(permsStr) == 0 { return perms, nil } - for _, p := range strings.Split(permsStr, ",") { + for p := range strings.SplitSeq(permsStr, ",") { switch p { case PermRead: perms.read = true diff --git a/go/kbfs/libpages/server.go b/go/kbfs/libpages/server.go index ef422e9910ae..312d71ab4fbd 100644 --- a/go/kbfs/libpages/server.go +++ b/go/kbfs/libpages/server.go @@ -153,7 +153,7 @@ func (s *Server) getSite(ctx context.Context, root Root) (st *site, err error) { return st, nil } -func (s *Server) siteCacheEvict(_ interface{}, value interface{}) { +func (s *Server) siteCacheEvict(_ any, value any) { if s, ok := value.(*site); ok { // It's possible to have a race here where a site gets evicted by the // LRU cache while the server is still using it to serve a request. But @@ -207,7 +207,7 @@ type adaptedLogger struct { logger *zap.Logger } -func (a adaptedLogger) Warning(format string, args ...interface{}) { +func (a adaptedLogger) Warning(format string, args ...any) { a.logger.Warn(a.msg, zap.String("desc", fmt.Sprintf(format, args...))) } diff --git a/go/kbfs/libpages/stats_mysql_test.go b/go/kbfs/libpages/stats_mysql_test.go index d4c972e1f06f..cfbe582a5666 100644 --- a/go/kbfs/libpages/stats_mysql_test.go +++ b/go/kbfs/libpages/stats_mysql_test.go @@ -3,7 +3,6 @@ // license that can be found in the LICENSE file. //go:build integration -// +build integration package libpages diff --git a/go/kbfs/libpages/stats_test.go b/go/kbfs/libpages/stats_test.go index 2ac67b1553bf..da17ca5086b8 100644 --- a/go/kbfs/libpages/stats_test.go +++ b/go/kbfs/libpages/stats_test.go @@ -15,7 +15,7 @@ func (f fileInfoForActivesGetterTest) Size() int64 { return 0 } func (f fileInfoForActivesGetterTest) Mode() os.FileMode { return 0 } func (f fileInfoForActivesGetterTest) ModTime() time.Time { return time.Time(f) } func (f fileInfoForActivesGetterTest) IsDir() bool { return false } -func (f fileInfoForActivesGetterTest) Sys() interface{} { return nil } +func (f fileInfoForActivesGetterTest) Sys() any { return nil } func makeFileInfoActivesGetterForTest( tlfModTimes, hostModTimes []time.Time, diff --git a/go/kbfs/metricsutil/registry_to_map.go b/go/kbfs/metricsutil/registry_to_map.go index 3b81c09f7617..25837cad1914 100644 --- a/go/kbfs/metricsutil/registry_to_map.go +++ b/go/kbfs/metricsutil/registry_to_map.go @@ -12,10 +12,10 @@ import "github.com/rcrowley/go-metrics" // registryToMap returns a map representation of all the metrics in // the Registry. -func registryToMap(r metrics.Registry) map[string]map[string]interface{} { - data := make(map[string]map[string]interface{}) - r.Each(func(name string, i interface{}) { - values := make(map[string]interface{}) +func registryToMap(r metrics.Registry) map[string]map[string]any { + data := make(map[string]map[string]any) + r.Each(func(name string, i any) { + values := make(map[string]any) switch metric := i.(type) { case metrics.Counter: values["count"] = metric.Count() @@ -74,9 +74,9 @@ func registryToMap(r metrics.Registry) map[string]map[string]interface{} { // RegistryToInterfaceMap returns a map representation of all the // metrics in the Registry, but with the value type being interface{}. -func RegistryToInterfaceMap(r metrics.Registry) map[string]interface{} { +func RegistryToInterfaceMap(r metrics.Registry) map[string]any { metricsMap := registryToMap(r) - interfaceMap := make(map[string]interface{}) + interfaceMap := make(map[string]any) for k, v := range metricsMap { interfaceMap[k] = v } diff --git a/go/kbfs/metricsutil/write_metrics.go b/go/kbfs/metricsutil/write_metrics.go index af86731d145c..9030d3dcc19e 100644 --- a/go/kbfs/metricsutil/write_metrics.go +++ b/go/kbfs/metricsutil/write_metrics.go @@ -21,7 +21,7 @@ import ( // io.Writer. func WriteMetrics(r metrics.Registry, w io.Writer) { var namedMetrics namedMetricSlice - r.Each(func(name string, i interface{}) { + r.Each(func(name string, i any) { namedMetrics = append(namedMetrics, namedMetric{name, i}) }) @@ -82,7 +82,7 @@ func WriteMetrics(r metrics.Registry, w io.Writer) { type namedMetric struct { name string - m interface{} + m any } // namedMetricSlice is a slice of namedMetrics that implements sort.Interface. diff --git a/go/kbfs/redirector/disable_dumpable.go b/go/kbfs/redirector/disable_dumpable.go index 72bf767d7f27..76124fbe0440 100644 --- a/go/kbfs/redirector/disable_dumpable.go +++ b/go/kbfs/redirector/disable_dumpable.go @@ -3,7 +3,6 @@ // license that can be found in the LICENSE file. // //go:build !linux && !windows -// +build !linux,!windows package main diff --git a/go/kbfs/redirector/disable_dumpable_linux.go b/go/kbfs/redirector/disable_dumpable_linux.go index c1817f72bd7c..ea14bf0a3cea 100644 --- a/go/kbfs/redirector/disable_dumpable_linux.go +++ b/go/kbfs/redirector/disable_dumpable_linux.go @@ -3,7 +3,6 @@ // license that can be found in the LICENSE file. // //go:build linux -// +build linux package main diff --git a/go/kbfs/redirector/main.go b/go/kbfs/redirector/main.go index 69c41690fcad..00bc16ce1c28 100644 --- a/go/kbfs/redirector/main.go +++ b/go/kbfs/redirector/main.go @@ -3,7 +3,6 @@ // license that can be found in the LICENSE file. // //go:build !windows -// +build !windows package main diff --git a/go/kbfs/search/doc_types.go b/go/kbfs/search/doc_types.go index 6c7056790c10..c85ec5e8cec2 100644 --- a/go/kbfs/search/doc_types.go +++ b/go/kbfs/search/doc_types.go @@ -66,10 +66,7 @@ func getContentType( return contentType, nil } - bufLen := sniffLen - if ei.Size < bufLen { - bufLen = ei.Size - } + bufLen := min(ei.Size, sniffLen) buf := make([]byte, bufLen) nBytes, err := config.KBFSOps().Read(ctx, n, buf, 0) @@ -87,10 +84,7 @@ func getTextToIndex( ctx context.Context, config libkbfs.Config, n libkbfs.Node, ei data.EntryInfo, ) (data string, err error) { - bufLen := ei.Size - if bufLen > maxTextToIndex { - bufLen = maxTextToIndex - } + bufLen := min(ei.Size, maxTextToIndex) buf := make([]byte, bufLen) nBytes, err := config.KBFSOps().Read(ctx, n, buf, 0) if err != nil { @@ -124,7 +118,7 @@ func removePunct(r rune) rune { func makeNameDocWithBase( n libkbfs.Node, base indexedBase, -) (nameDoc interface{}) { +) (nameDoc any) { // Turn all punctuation into spaces to allow for matching // individual words within the filename. fullName := n.GetBasename().Plaintext() @@ -138,7 +132,7 @@ func makeNameDocWithBase( func makeNameDoc( n libkbfs.Node, revision kbfsmd.Revision, mtime time.Time) ( - nameDoc interface{}, + nameDoc any, ) { base := indexedBase{ TlfID: n.GetFolderBranch().Tlf, @@ -151,7 +145,7 @@ func makeNameDoc( func makeDoc( ctx context.Context, config libkbfs.Config, n libkbfs.Node, ei data.EntryInfo, revision kbfsmd.Revision, mtime time.Time) ( - doc, nameDoc interface{}, err error, + doc, nameDoc any, err error, ) { base := indexedBase{ TlfID: n.GetFolderBranch().Tlf, diff --git a/go/kbfs/search/indexed_block_db.go b/go/kbfs/search/indexed_block_db.go index ce1ad8a17b2d..2bdf36802db8 100644 --- a/go/kbfs/search/indexed_block_db.go +++ b/go/kbfs/search/indexed_block_db.go @@ -206,7 +206,7 @@ func (db *IndexedBlockDb) GetNextDocIDs(n int) ([]string, error) { defer db.docIDLock.Unlock() res := make([]string, n) - for i := 0; i < n; i++ { + for i := range n { res[i] = strconv.FormatInt(db.maxDocID+int64(i+1), 16) } diff --git a/go/kbfs/search/indexer.go b/go/kbfs/search/indexer.go index b4e7955f96f7..6adbc80f1aa6 100644 --- a/go/kbfs/search/indexer.go +++ b/go/kbfs/search/indexer.go @@ -265,7 +265,7 @@ func (i *Indexer) loadIndex(ctx context.Context) (err error) { i.fs = fs i.once.Do(func() { kvstoreConstructor := func( - mo store.MergeOperator, _ map[string]interface{}) ( + mo store.MergeOperator, _ map[string]any) ( s store.KVStore, err error, ) { return newBleveLevelDBStore(i.fs, false, mo) diff --git a/go/kbfs/search/mapping.go b/go/kbfs/search/mapping.go index 1aa4bd1d9536..f8c6a8333cd7 100644 --- a/go/kbfs/search/mapping.go +++ b/go/kbfs/search/mapping.go @@ -20,7 +20,7 @@ const ( ) func htmlAnalyzerConstructor( - config map[string]interface{}, cache *registry.Cache) ( + config map[string]any, cache *registry.Cache) ( *analysis.Analyzer, error, ) { tokenizer, err := cache.TokenizerNamed(web.Name) diff --git a/go/kbfs/simplefs/archive.go b/go/kbfs/simplefs/archive.go index b170e8ec63fb..f80ab2ac7739 100644 --- a/go/kbfs/simplefs/archive.go +++ b/go/kbfs/simplefs/archive.go @@ -15,6 +15,7 @@ import ( "hash" "io" "io/fs" + "maps" "os" "path" "path/filepath" @@ -221,9 +222,7 @@ func (m *archiveManager) getCurrentStateLocked(ctx context.Context) ( state keybase1.SimpleFSArchiveState, errorStates map[string]errorState, ) { errorStates = make(map[string]errorState) - for jobID, errState := range m.errors { - errorStates[jobID] = errState - } + maps.Copy(errorStates, m.errors) return m.state.DeepCopy(), errorStates } diff --git a/go/kbfs/simplefs/platform.go b/go/kbfs/simplefs/platform.go index 1da36c6162a8..a08b3d497a67 100644 --- a/go/kbfs/simplefs/platform.go +++ b/go/kbfs/simplefs/platform.go @@ -1,5 +1,4 @@ //go:build (!darwin && !windows) || ios -// +build !darwin,!windows ios package simplefs diff --git a/go/kbfs/simplefs/platform_windows.go b/go/kbfs/simplefs/platform_windows.go index cb0a16278eed..9d5387dba2e6 100644 --- a/go/kbfs/simplefs/platform_windows.go +++ b/go/kbfs/simplefs/platform_windows.go @@ -1,5 +1,4 @@ //go:build windows -// +build windows package simplefs diff --git a/go/kbfs/simplefs/simplefs.go b/go/kbfs/simplefs/simplefs.go index 31494ac1106e..5206c0d94908 100644 --- a/go/kbfs/simplefs/simplefs.go +++ b/go/kbfs/simplefs/simplefs.go @@ -242,7 +242,7 @@ type inprogress struct { type handle struct { file billy.File - async interface{} + async any path keybase1.Path cancel context.CancelFunc } @@ -713,7 +713,7 @@ func (k *SimpleFS) setStat( return nil } -func (k *SimpleFS) setResult(opid keybase1.OpID, val interface{}) { +func (k *SimpleFS) setResult(opid keybase1.OpID, val any) { k.lock.Lock() k.handles[opid] = &handle{async: val} k.lock.Unlock() @@ -1256,7 +1256,7 @@ func (k *SimpleFS) SimpleFSListRecursive( func (k *SimpleFS) SimpleFSReadList(_ context.Context, opid keybase1.OpID) (keybase1.SimpleFSListResult, error) { k.lock.Lock() res := k.handles[opid] - var x interface{} + var x any if res != nil { x = res.async res.async = nil @@ -1752,7 +1752,7 @@ func (k *SimpleFS) SimpleFSMove( } func (k *SimpleFS) startSyncOp( - ctx context.Context, name string, logarg interface{}, + ctx context.Context, name string, logarg any, path1ForIdentifyBehavior *keybase1.Path, path2ForIdentifyBehavior *keybase1.Path, ) (context.Context, error) { @@ -2313,7 +2313,6 @@ func (k *SimpleFS) doGetRevisions( return nil } for i := range revPaths { - i := i eg.Go(func() error { return doStat(i) }) } err = eg.Wait() @@ -2363,7 +2362,7 @@ func (k *SimpleFS) SimpleFSReadRevisions( ) { k.lock.Lock() res := k.handles[opid] - var x interface{} + var x any if res != nil { x = res.async res.async = nil diff --git a/go/kbfs/simplefs/simplefs_test.go b/go/kbfs/simplefs/simplefs_test.go index e22b6852d868..c7d354aaeb14 100644 --- a/go/kbfs/simplefs/simplefs_test.go +++ b/go/kbfs/simplefs/simplefs_test.go @@ -1412,14 +1412,11 @@ func TestGetRevisions(t *testing.T) { } t.Log("Write 6 revisions of a single file, spaced out a minute each") - for i := 0; i < 6; i++ { + for i := range 6 { clock.Add(1 * time.Minute) writeRemoteFile(ctx, t, sfs, filePath, []byte{byte(i)}) syncFS(ctx, t, sfs, "/private/jdoe") - numExpected := i + 1 - if numExpected > 5 { - numExpected = 5 - } + numExpected := min(i+1, 5) checkRevisions(numExpected, i+2, keybase1.RevisionSpanType_DEFAULT) checkRevisions(numExpected, i+2, keybase1.RevisionSpanType_LAST_FIVE) } diff --git a/go/kbfs/simplefs/upload_manager.go b/go/kbfs/simplefs/upload_manager.go index 86c7b84634ff..79ecd5f29d9a 100644 --- a/go/kbfs/simplefs/upload_manager.go +++ b/go/kbfs/simplefs/upload_manager.go @@ -142,7 +142,7 @@ func (m *uploadManager) doStart(ctx context.Context, basename := filepath.Base(sourceLocalPath) renameLoop: - for i := 0; i < uploadSuffixMax; i++ { + for i := range uploadSuffixMax { name := basename if i > 0 { name = fmt.Sprintf("%s (%d)", basename, i) diff --git a/go/kbfs/stderrutils/dup_stderr_nix.go b/go/kbfs/stderrutils/dup_stderr_nix.go index d59b2c0ab886..d30b0c414fe0 100644 --- a/go/kbfs/stderrutils/dup_stderr_nix.go +++ b/go/kbfs/stderrutils/dup_stderr_nix.go @@ -2,7 +2,6 @@ // this source code is governed by the included BSD license. //go:build linux || android || darwin || freebsd || openbsd -// +build linux android darwin freebsd openbsd package stderrutils diff --git a/go/kbfs/sysutils/pid_path_others.go b/go/kbfs/sysutils/pid_path_others.go index 676cf29e25c9..703c4b226303 100644 --- a/go/kbfs/sysutils/pid_path_others.go +++ b/go/kbfs/sysutils/pid_path_others.go @@ -3,7 +3,6 @@ // license that can be found in the LICENSE file. //go:build !darwin && !linux -// +build !darwin,!linux package sysutils diff --git a/go/kbfs/test/benchmark_test.go b/go/kbfs/test/benchmark_test.go index f68ee3fe8bf4..a79e5cbc3376 100644 --- a/go/kbfs/test/benchmark_test.go +++ b/go/kbfs/test/benchmark_test.go @@ -167,7 +167,7 @@ func benchmarkDoBenchWrites(b *testing.B, cb func(fileOp) error, if err != nil { return err } - for j := 0; j < numWritesPerFile; j++ { + for j := range numWritesPerFile { // make each block unique for k := 0; k < 1+len(buf)/data.MaxBlockSizeBytesDefault; k++ { buf[k] = byte(i) @@ -269,7 +269,7 @@ func BenchmarkWriteMixedFilesNormalBandwidth(b *testing.B) { // * A bunch of 2 MB files // * Another 100 MB to make sure the buffer is still sized right fileSizes := []int64{100 << 20} - for i := 0; i < 50; i++ { + for range 50 { fileSizes = append(fileSizes, 2<<20) } fileSizes = append(fileSizes, 100<<20) diff --git a/go/kbfs/test/dsl_test.go b/go/kbfs/test/dsl_test.go index 7bff8ffb052e..810e51632b45 100644 --- a/go/kbfs/test/dsl_test.go +++ b/go/kbfs/test/dsl_test.go @@ -77,7 +77,6 @@ func runTestOverMetadataVers( t *testing.T, f func(t *testing.T, ver kbfsmd.MetadataVer), ) { for _, ver := range testMetadataVers { - ver := ver // capture range variable. t.Run(ver.String(), func(t *testing.T) { // Don't do t.Parallel() for now, as FUSE DSL // tests might not like it. @@ -92,7 +91,6 @@ func runBenchmarkOverMetadataVers( b *testing.B, f func(b *testing.B, ver kbfsmd.MetadataVer), ) { for _, ver := range testMetadataVers { - ver := ver // capture range variable. b.Run(ver.String(), func(b *testing.B) { f(b, ver) }) @@ -199,7 +197,7 @@ func (o *opt) makeStallers() ( func ntimesString(n int, s string) string { var bs bytes.Buffer - for i := 0; i < n; i++ { + for range n { bs.WriteString(s) } return bs.String() @@ -277,11 +275,11 @@ func team(teamName kbname.NormalizedUsername, writers string, o.teams = make(teamMap) } var writerNames, readerNames []kbname.NormalizedUsername - for _, w := range strings.Split(writers, ",") { + for w := range strings.SplitSeq(writers, ",") { writerNames = append(writerNames, kbname.NormalizedUsername(w)) } if readers != "" { - for _, r := range strings.Split(readers, ",") { + for r := range strings.SplitSeq(readers, ",") { readerNames = append(readerNames, kbname.NormalizedUsername(r)) } } @@ -299,12 +297,12 @@ func implicitTeam(writers string, readers string) optionOp { } var writerNames, readerNames []kbname.NormalizedUsername - for _, w := range strings.Split(writers, ",") { + for w := range strings.SplitSeq(writers, ",") { writerNames = append(writerNames, kbname.NormalizedUsername(w)) } isPublic := false if readers != "" { - for _, r := range strings.Split(readers, ",") { + for r := range strings.SplitSeq(readers, ",") { readerNames = append(readerNames, kbname.NormalizedUsername(r)) } isPublic = len(readerNames) == 1 && readers == "public" @@ -1358,5 +1356,5 @@ func crnameEsc(path string, user username) string { type silentBenchmark struct{ *testing.B } -func (silentBenchmark) Log(args ...interface{}) {} -func (silentBenchmark) Logf(format string, args ...interface{}) {} +func (silentBenchmark) Log(args ...any) {} +func (silentBenchmark) Logf(format string, args ...any) {} diff --git a/go/kbfs/test/engine.go b/go/kbfs/test/engine.go index 49744240d725..1caadd3ab801 100644 --- a/go/kbfs/test/engine.go +++ b/go/kbfs/test/engine.go @@ -16,10 +16,10 @@ import ( ) // User is an implementation-defined object which acts as a handle to a particular user. -type User interface{} +type User any // Node is an implementation-defined object which acts as a handle to a particular filesystem node. -type Node interface{} +type Node any type username string diff --git a/go/kbfs/test/engine_libkbfs.go b/go/kbfs/test/engine_libkbfs.go index 464ccb5fb0a4..0ea99cb527fa 100644 --- a/go/kbfs/test/engine_libkbfs.go +++ b/go/kbfs/test/engine_libkbfs.go @@ -218,7 +218,7 @@ func parseTlfHandle( ) { // Limit to one non-canonical name for now. outer: - for i := 0; i < 2; i++ { + for range 2 { h, err = tlfhandle.ParseHandle(ctx, kbpki, mdOps, osg, tlfName, t) switch err := errors.Cause(err).(type) { case nil: diff --git a/go/kbfs/test/fast_forward_test.go b/go/kbfs/test/fast_forward_test.go index 6101d7925c73..45bdce35e9cb 100644 --- a/go/kbfs/test/fast_forward_test.go +++ b/go/kbfs/test/fast_forward_test.go @@ -16,7 +16,7 @@ import ( func TestFastForwardBasic(t *testing.T) { var busyWork []fileOp iters := 100 - for i := 0; i < iters; i++ { + for i := range iters { name := fmt.Sprintf("a%d", i) busyWork = append(busyWork, mkfile(name, "hello"), rm(name)) } diff --git a/go/kbfs/test/journal_test.go b/go/kbfs/test/journal_test.go index 88cf12c8a8bd..0c9422c443e6 100644 --- a/go/kbfs/test/journal_test.go +++ b/go/kbfs/test/journal_test.go @@ -119,7 +119,7 @@ func TestJournalCrSimple(t *testing.T) { func makeBusyWork(filename string, iters int) (busyWork []fileOp) { busyWork = append(busyWork, mkfile(filename, "hello")) - for i := 0; i < iters; i++ { + for i := range iters { content := fmt.Sprintf("a%d", i) busyWork = append(busyWork, write(filename, content)) } @@ -395,7 +395,7 @@ func TestJournalCoalescingBasicCreates(t *testing.T) { listing := m{"^a$": "DIR"} iters := libkbfs.ForcedBranchSquashRevThreshold + 1 unflushedPaths := []string{"/keybase/private/alice,bob"} - for i := 0; i < iters; i++ { + for i := range iters { name := fmt.Sprintf("a%d", i) contents := fmt.Sprintf("hello%d", i) busyWork = append(busyWork, mkfile(name, contents)) @@ -444,7 +444,7 @@ func TestJournalCoalescingCreatesPlusCR(t *testing.T) { listing := m{"^a$": "DIR", "^b$": "DIR"} iters := libkbfs.ForcedBranchSquashRevThreshold + 1 unflushedPaths := []string{"/keybase/private/alice,bob"} - for i := 0; i < iters; i++ { + for i := range iters { name := fmt.Sprintf("a%d", i) contents := fmt.Sprintf("hello%d", i) busyWork = append(busyWork, mkfile(name, contents)) @@ -454,7 +454,7 @@ func TestJournalCoalescingCreatesPlusCR(t *testing.T) { } busyWork2 := []fileOp{} - for i := 0; i < iters; i++ { + for i := range iters { name := fmt.Sprintf("a%d", i) contents := fmt.Sprintf("hello%d", i+iters) busyWork2 = append(busyWork2, write(name, contents)) @@ -516,7 +516,7 @@ func TestJournalCoalescingCreatesPlusMultiCR(t *testing.T) { listing := m{} iters := libkbfs.ForcedBranchSquashRevThreshold + 1 targetMtime := time.Now().Add(1 * time.Minute) - for i := 0; i < iters; i++ { + for i := range iters { name := fmt.Sprintf("%d", i) contents := fmt.Sprintf("hello%d", i) busyWork = append(busyWork, mkfile("a/"+name+".tmp", contents)) @@ -605,7 +605,7 @@ func TestJournalCoalescingWrites(t *testing.T) { var busyWork []fileOp iters := libkbfs.ForcedBranchSquashRevThreshold + 1 var contents string - for i := 0; i < iters; i++ { + for i := range iters { contents += fmt.Sprintf("hello%d", i) busyWork = append(busyWork, write("a/b", contents)) } @@ -818,7 +818,7 @@ func testJournalCoalescingConflictingCreates(t *testing.T, bSize int64) { var busyWork []fileOp iters := libkbfs.ForcedBranchSquashRevThreshold + 1 listing := m{} - for i := 0; i < iters; i++ { + for i := range iters { filename := fmt.Sprintf("%d", i) fullname := fmt.Sprintf("a/b/c/d/%s", filename) contents := fmt.Sprintf("hello%d", i) diff --git a/go/kbfs/test/qr_test.go b/go/kbfs/test/qr_test.go index 5b55907a1ddb..1e16a1f3d5f6 100644 --- a/go/kbfs/test/qr_test.go +++ b/go/kbfs/test/qr_test.go @@ -30,7 +30,7 @@ func TestQRSimple(t *testing.T) { func TestQRLargePointerSet(t *testing.T) { var busyWork []fileOp iters := 100 - for i := 0; i < iters; i++ { + for i := range iters { name := fmt.Sprintf("a%d", i) busyWork = append(busyWork, mkfile(name, "hello"), rm(name)) } diff --git a/go/kbfs/test/run_dokan_test.go b/go/kbfs/test/run_dokan_test.go index 3ac35939571b..52ad5fbdd283 100644 --- a/go/kbfs/test/run_dokan_test.go +++ b/go/kbfs/test/run_dokan_test.go @@ -3,7 +3,6 @@ // license that can be found in the LICENSE file. //go:build dokan -// +build dokan package test diff --git a/go/kbfs/test/run_fuse_test.go b/go/kbfs/test/run_fuse_test.go index b79ab9589e6d..190822e55601 100644 --- a/go/kbfs/test/run_fuse_test.go +++ b/go/kbfs/test/run_fuse_test.go @@ -3,7 +3,6 @@ // license that can be found in the LICENSE file. //go:build fuse -// +build fuse package test diff --git a/go/kbfs/test/run_kbfs_test.go b/go/kbfs/test/run_kbfs_test.go index 64e535f4c290..9410aeddf577 100644 --- a/go/kbfs/test/run_kbfs_test.go +++ b/go/kbfs/test/run_kbfs_test.go @@ -3,7 +3,6 @@ // license that can be found in the LICENSE file. //go:build !dokan && !fuse -// +build !dokan,!fuse package test diff --git a/go/kbfs/test/simple_nonfuse_test.go b/go/kbfs/test/simple_nonfuse_test.go index e78150234b03..d9c558f6cd44 100644 --- a/go/kbfs/test/simple_nonfuse_test.go +++ b/go/kbfs/test/simple_nonfuse_test.go @@ -3,7 +3,6 @@ // license that can be found in the LICENSE file. //go:build !fuse -// +build !fuse package test diff --git a/go/kbfs/test/truncate_test.go b/go/kbfs/test/truncate_test.go index ebe14eb32ffa..6e8e2cdbd9d9 100644 --- a/go/kbfs/test/truncate_test.go +++ b/go/kbfs/test/truncate_test.go @@ -63,7 +63,7 @@ func TestSimpleTruncate(t *testing.T) { func testTruncateLargeThenWriteToSmallerOffset(t *testing.T, dataLen int) { data := make([]byte, dataLen) - for i := 0; i < len(data); i++ { + for i := range data { if i < 12 || (i >= 64 && i < 68) || (i >= dataLen-12) { data[i] = byte(i) } diff --git a/go/kbfs/tlf/handle.go b/go/kbfs/tlf/handle.go index 4e43f081ff35..847e00f2de6d 100644 --- a/go/kbfs/tlf/handle.go +++ b/go/kbfs/tlf/handle.go @@ -6,6 +6,7 @@ package tlf import ( "reflect" + "slices" "sort" "github.com/keybase/client/go/protocol/keybase1" @@ -210,12 +211,7 @@ func (h Handle) TypeForKeying() KeyingType { func (h Handle) findUserInList(user keybase1.UserOrTeamID, users []keybase1.UserOrTeamID, ) bool { - for _, u := range users { - if u == user { - return true - } - } - return false + return slices.Contains(users, user) } // IsWriter returns whether or not the given user is a writer for the diff --git a/go/kbfs/tlf/handle_extension.go b/go/kbfs/tlf/handle_extension.go index f769f372fac9..ea9b2a6ffe9f 100644 --- a/go/kbfs/tlf/handle_extension.go +++ b/go/kbfs/tlf/handle_extension.go @@ -254,12 +254,12 @@ func ParseHandleExtensionSuffix(s string) ([]HandleExtension, error) { func newHandleExtensionSuffix( extensions []HandleExtension, isBackedByTeam bool, ) string { - var suffix string + var suffix strings.Builder for _, extension := range extensions { - suffix += HandleExtensionSep - suffix += extension.string(isBackedByTeam) + suffix.WriteString(HandleExtensionSep) + suffix.WriteString(extension.string(isBackedByTeam)) } - return suffix + return suffix.String() } // HandleExtensionList allows us to sort extensions by type. diff --git a/go/kbfs/tlfhandle/handle.go b/go/kbfs/tlfhandle/handle.go index 25aa94234b14..5ed4b7ffb469 100644 --- a/go/kbfs/tlfhandle/handle.go +++ b/go/kbfs/tlfhandle/handle.go @@ -9,6 +9,7 @@ package tlfhandle import ( "context" "fmt" + "maps" "reflect" "sort" "strings" @@ -128,12 +129,8 @@ func (h Handle) IsReader(user keybase1.UID) bool { func (h Handle) ResolvedUsersMap() map[keybase1.UserOrTeamID]kbname.NormalizedUsername { m := make(map[keybase1.UserOrTeamID]kbname.NormalizedUsername, len(h.resolvedReaders)+len(h.resolvedWriters)) - for k, v := range h.resolvedReaders { - m[k] = v - } - for k, v := range h.resolvedWriters { - m[k] = v - } + maps.Copy(m, h.resolvedReaders) + maps.Copy(m, h.resolvedWriters) return m } @@ -426,14 +423,10 @@ func (h Handle) DeepCopy() *Handle { } hCopy.resolvedWriters = make(map[keybase1.UserOrTeamID]kbname.NormalizedUsername, len(h.resolvedWriters)) - for k, v := range h.resolvedWriters { - hCopy.resolvedWriters[k] = v - } + maps.Copy(hCopy.resolvedWriters, h.resolvedWriters) hCopy.resolvedReaders = make(map[keybase1.UserOrTeamID]kbname.NormalizedUsername, len(h.resolvedReaders)) - for k, v := range h.resolvedReaders { - hCopy.resolvedReaders[k] = v - } + maps.Copy(hCopy.resolvedReaders, h.resolvedReaders) return &hCopy } diff --git a/go/kbfs/tlfhandle/identify_util.go b/go/kbfs/tlfhandle/identify_util.go index 0ceb13ce7d01..77db5c70ae05 100644 --- a/go/kbfs/tlfhandle/identify_util.go +++ b/go/kbfs/tlfhandle/identify_util.go @@ -106,7 +106,7 @@ func (ei *ExtendedIdentify) makeTlfBreaksIfNeeded( defer ei.lock.Unlock() b := &keybase1.TLFBreak{} - for i := 0; i < numUserInTlf; i++ { + for range numUserInTlf { select { case ub, ok := <-ei.userBreaks: if !ok { @@ -308,7 +308,6 @@ func identifyUsers( // TODO: implement a version of errgroup with limited concurrency. for id, name := range names { // Capture range variables. - id, name := id, name eg.Go(func() error { return identifyUser(ctx, nug, identifier, name, id, t, offline) }) @@ -328,8 +327,6 @@ func IdentifyUserList(ctx context.Context, nug idutil.NormalizedUsernameGetter, // TODO: limit the number of concurrent identifies? // TODO: implement concurrency limited version of errgroup. for _, id := range ids { - // Capture range variable. - id := id eg.Go(func() error { return identifyUID( ctx, nug, identifier, id, t, offline) diff --git a/go/kbhttp/manager/manager.go b/go/kbhttp/manager/manager.go index 98fcf787fbfe..403fc881b06e 100644 --- a/go/kbhttp/manager/manager.go +++ b/go/kbhttp/manager/manager.go @@ -49,7 +49,7 @@ func NewSrv(g *libkb.GlobalContext) *Srv { return h } -func (r *Srv) debug(ctx context.Context, msg string, args ...interface{}) { +func (r *Srv) debug(ctx context.Context, msg string, args ...any) { r.G().Log.CDebugf(ctx, "Srv: %s", fmt.Sprintf(msg, args...)) } @@ -65,7 +65,7 @@ func (r *Srv) startHTTPSrv() { token, _ := libkb.RandHexString("", 32) maxTries := 2 success := false - for i := 0; i < maxTries; i++ { + for range maxTries { if err := r.httpSrv.Start(); err != nil { if err == kbhttp.ErrPinnedPortInUse { // If we hit this, just try again and get a different port. diff --git a/go/kbhttp/srv.go b/go/kbhttp/srv.go index 3e8baf806fac..5e4b61236e1b 100644 --- a/go/kbhttp/srv.go +++ b/go/kbhttp/srv.go @@ -113,7 +113,7 @@ func (p *RandomPortRangeListenerSource) GetListener() (listener net.Listener, ad p.Lock() defer p.Unlock() localhost := "127.0.0.1" - for i := 0; i < maxRandomTries; i++ { + for range maxRandomTries { if p.pinnedPort > 0 { address = fmt.Sprintf("%s:%d", localhost, p.pinnedPort) if listener, err = net.Listen("tcp", address); err != nil { diff --git a/go/kbnm/findbin_nix.go b/go/kbnm/findbin_nix.go index 08f152064951..f172534dec42 100644 --- a/go/kbnm/findbin_nix.go +++ b/go/kbnm/findbin_nix.go @@ -1,5 +1,4 @@ //go:build !windows -// +build !windows package main diff --git a/go/kbnm/findbin_windows.go b/go/kbnm/findbin_windows.go index 281cb39bd713..8bcecc15176f 100644 --- a/go/kbnm/findbin_windows.go +++ b/go/kbnm/findbin_windows.go @@ -1,5 +1,4 @@ //go:build windows -// +build windows package main diff --git a/go/kbnm/handler.go b/go/kbnm/handler.go index 947120b10ded..a03fab7a70c6 100644 --- a/go/kbnm/handler.go +++ b/go/kbnm/handler.go @@ -72,7 +72,7 @@ type handler struct { } // Handle accepts a request, handles it, and returns an optional result if there was no error -func (h *handler) Handle(req *Request) (interface{}, error) { +func (h *handler) Handle(req *Request) (any, error) { switch req.Method { case "chat": return nil, h.handleChat(req) diff --git a/go/kbnm/hostmanifest/whitelist_darwin.go b/go/kbnm/hostmanifest/whitelist_darwin.go index 1530d0f14589..a57abd698ffc 100644 --- a/go/kbnm/hostmanifest/whitelist_darwin.go +++ b/go/kbnm/hostmanifest/whitelist_darwin.go @@ -1,5 +1,4 @@ //go:build darwin -// +build darwin package hostmanifest diff --git a/go/kbnm/hostmanifest/whitelist_nix.go b/go/kbnm/hostmanifest/whitelist_nix.go index 2a34974eacc3..d29ee5e64117 100644 --- a/go/kbnm/hostmanifest/whitelist_nix.go +++ b/go/kbnm/hostmanifest/whitelist_nix.go @@ -1,5 +1,4 @@ //go:build !darwin -// +build !darwin package hostmanifest diff --git a/go/kbnm/main.go b/go/kbnm/main.go index db3c72b954ad..8a7f36f43d36 100644 --- a/go/kbnm/main.go +++ b/go/kbnm/main.go @@ -20,10 +20,10 @@ var Version = "dev" // Response from the kbnm service type Response struct { - Client int `json:"client"` - Status string `json:"status"` - Message string `json:"message"` - Result interface{} `json:"result,omitempty"` + Client int `json:"client"` + Status string `json:"status"` + Message string `json:"message"` + Result any `json:"result,omitempty"` } // Request to the kbnm service @@ -77,7 +77,7 @@ func process(h *handler, in nativemessaging.JSONDecoder, out nativemessaging.JSO return abortErr } -func exit(code int, msg string, a ...interface{}) { +func exit(code int, msg string, a ...any) { fmt.Fprintf(os.Stderr, msg+"\n", a...) os.Exit(code) } diff --git a/go/kbtest/chat.go b/go/kbtest/chat.go index be3502a707b3..7d867018776a 100644 --- a/go/kbtest/chat.go +++ b/go/kbtest/chat.go @@ -117,7 +117,7 @@ func NewChatMockWorld(t *testing.T, name string, numUsers int) (world *ChatMockW tlfKeys: make(map[keybase1.CanonicalTlfName][]keybase1.CryptKey), Msgs: make(map[chat1.ConvIDStr][]*chat1.MessageBoxed), } - for i := 0; i < numUsers; i++ { + for range numUsers { kbTc := externalstest.SetupTest(t, "chat_"+name, 0) tc := ChatTestContext{ TestContext: kbTc, @@ -201,8 +201,8 @@ func CanonicalTlfNameForTest(tlfName string) keybase1.CanonicalTlfName { // TODO: implement rest when we need it var names []string nameMap := make(map[string]bool) - rawNames := strings.Split(tlfName, ",") - for _, rn := range rawNames { + rawNames := strings.SplitSeq(tlfName, ",") + for rn := range rawNames { if nameMap[rn] { continue } @@ -227,7 +227,7 @@ func (m *TlfMock) getTlfID(cname keybase1.CanonicalTlfName) (keybase1.TLFID, err defer m.Unlock() tlfID, ok := m.world.tlfs[cname] if !ok { - for _, n := range strings.Split(string(cname), ",") { + for n := range strings.SplitSeq(string(cname), ",") { if m.world.Users[n] == nil { return "", fmt.Errorf("user %s not found", n) } diff --git a/go/kbtime/humanize_test.go b/go/kbtime/humanize_test.go index 1aeaede2e88b..533a116c3884 100644 --- a/go/kbtime/humanize_test.go +++ b/go/kbtime/humanize_test.go @@ -53,7 +53,6 @@ func TestRelTime(t *testing.T) { {now, mustAddLongDuration(t, now, "1000000000Y"), "1000000000 years"}, } for _, tt := range tests { - tt := tt t.Run(tt.out, func(t *testing.T) { actual := RelTime(tt.a, tt.b, "", "") require.Equal(t, tt.out, actual) diff --git a/go/kex2/base.go b/go/kex2/base.go index f0106469912c..b7363dafdd04 100644 --- a/go/kex2/base.go +++ b/go/kex2/base.go @@ -14,7 +14,7 @@ import ( ) type LogContext interface { - Debug(format string, args ...interface{}) + Debug(format string, args ...any) } type baseDevice struct { diff --git a/go/kex2/provisionee.go b/go/kex2/provisionee.go index 43f0173812ae..082da8b17670 100644 --- a/go/kex2/provisionee.go +++ b/go/kex2/provisionee.go @@ -141,7 +141,7 @@ func (p *provisionee) run() (err error) { return <-p.done } -func (p *provisionee) debug(fmtString string, args ...interface{}) { +func (p *provisionee) debug(fmtString string, args ...any) { if p.arg.LogCtx != nil { p.arg.LogCtx.Debug(fmtString, args...) } diff --git a/go/kex2/provisioner.go b/go/kex2/provisioner.go index fd52687194c7..7d7bac122570 100644 --- a/go/kex2/provisioner.go +++ b/go/kex2/provisioner.go @@ -51,7 +51,7 @@ func newProvisioner(arg ProvisionerArg) *provisioner { return ret } -func (p *provisioner) debug(fmtString string, args ...interface{}) { +func (p *provisioner) debug(fmtString string, args ...any) { if p.arg.LogCtx != nil { p.arg.LogCtx.Debug(fmtString, args...) } diff --git a/go/kex2/rpc_test.go b/go/kex2/rpc_test.go index f33379035b3f..722fde296149 100644 --- a/go/kex2/rpc_test.go +++ b/go/kex2/rpc_test.go @@ -42,11 +42,11 @@ func newMockProvisioner(t *testing.T) *mockProvisioner { type nullLogOutput struct{} -func (n *nullLogOutput) Error(_ string, _ ...interface{}) {} -func (n *nullLogOutput) Warning(_ string, _ ...interface{}) {} -func (n *nullLogOutput) Info(_ string, _ ...interface{}) {} -func (n *nullLogOutput) Debug(_ string, _ ...interface{}) {} -func (n *nullLogOutput) Profile(_ string, _ ...interface{}) {} +func (n *nullLogOutput) Error(_ string, _ ...any) {} +func (n *nullLogOutput) Warning(_ string, _ ...any) {} +func (n *nullLogOutput) Info(_ string, _ ...any) {} +func (n *nullLogOutput) Debug(_ string, _ ...any) {} +func (n *nullLogOutput) Profile(_ string, _ ...any) {} var _ rpc.LogOutput = (*nullLogOutput)(nil) @@ -213,7 +213,7 @@ func testProtocolXWithBehavior(t *testing.T, provisioneeBehavior int) (results [ secretCh <- s2 - for i := 0; i < 2; i++ { + for i := range 2 { if e, eof := <-ch; !eof { t.Fatalf("got unexpected channel close (try %d)", i) } else if e != nil { @@ -332,7 +332,7 @@ func TestFullProtocolY(t *testing.T) { secretCh <- s1 - for i := 0; i < 2; i++ { + for i := range 2 { if e, eof := <-ch; !eof { t.Fatalf("got unexpected channel close (try %d)", i) } else if e != nil { diff --git a/go/kex2/transport_test.go b/go/kex2/transport_test.go index 070f1534cce7..7745c24d36f6 100644 --- a/go/kex2/transport_test.go +++ b/go/kex2/transport_test.go @@ -47,7 +47,7 @@ type session struct { func newSession(i SessionID) *session { sess := &session{id: i} - for j := 0; j < 2; j++ { + for j := range 2 { sess.simplexSessions[j] = newSimplexSession() } return sess @@ -221,7 +221,7 @@ func newTestLogCtx(t *testing.T) (ret *testLogCtx, closer func()) { return ret, closer } -func (t *testLogCtx) Debug(format string, args ...interface{}) { +func (t *testLogCtx) Debug(format string, args ...any) { t.Lock() if t.t != nil { t.t.Logf(format, args...) @@ -490,7 +490,7 @@ func TestClose(t *testing.T) { } // Assert we get an EOF now and forever... - for i := 0; i < 3; i++ { + for range 3 { if n, err := c2.Read(buf); err != io.EOF { t.Fatalf("expected EOF, but got err = %v", err) } else if n != 0 { diff --git a/go/keybase/generate_windows.go b/go/keybase/generate_windows.go index 048884a46653..4ddfb48488cc 100644 --- a/go/keybase/generate_windows.go +++ b/go/keybase/generate_windows.go @@ -1,5 +1,4 @@ //go:build windows -// +build windows package main diff --git a/go/launchd/launchd.go b/go/launchd/launchd.go index 58fe4ed85da7..fb977c250f7d 100644 --- a/go/launchd/launchd.go +++ b/go/launchd/launchd.go @@ -2,7 +2,6 @@ // this source code is governed by the included BSD license. //go:build darwin -// +build darwin package launchd @@ -680,16 +679,16 @@ func (p Plist) plistXML() string { // Log is the logging interface for this package type Log interface { - Debug(s string, args ...interface{}) - Info(s string, args ...interface{}) - Errorf(s string, args ...interface{}) + Debug(s string, args ...any) + Info(s string, args ...any) + Errorf(s string, args ...any) } type emptyLog struct{} -func (l emptyLog) Debug(s string, args ...interface{}) {} -func (l emptyLog) Info(s string, args ...interface{}) {} -func (l emptyLog) Errorf(s string, args ...interface{}) {} +func (l emptyLog) Debug(s string, args ...any) {} +func (l emptyLog) Info(s string, args ...any) {} +func (l emptyLog) Errorf(s string, args ...any) {} func writable(path string) bool { return unix.Access(path, unix.W_OK) == nil diff --git a/go/launchd/launchd_test.go b/go/launchd/launchd_test.go index 54c2571113a7..a168f8d10cbe 100644 --- a/go/launchd/launchd_test.go +++ b/go/launchd/launchd_test.go @@ -2,7 +2,6 @@ // this source code is governed by the included BSD license. //go:build darwin -// +build darwin package launchd @@ -35,7 +34,7 @@ func TestPlist(t *testing.T) { data := plist.plistXML() t.Logf("Plist: %s\n", data) - var i interface{} + var i any // This tests valid XML but not actual values err = xml.Unmarshal([]byte(data), &i) if err != nil { diff --git a/go/libcmdline/fork_nix.go b/go/libcmdline/fork_nix.go index 3eac00ee11e6..4b8488637ec0 100644 --- a/go/libcmdline/fork_nix.go +++ b/go/libcmdline/fork_nix.go @@ -2,7 +2,6 @@ // this source code is governed by the included BSD license. //go:build darwin || dragonfly || freebsd || linux || netbsd || openbsd || solaris -// +build darwin dragonfly freebsd linux netbsd openbsd solaris package libcmdline diff --git a/go/libcmdline/fork_windows.go b/go/libcmdline/fork_windows.go index 357ed10535e1..82f2ea905a74 100644 --- a/go/libcmdline/fork_windows.go +++ b/go/libcmdline/fork_windows.go @@ -2,7 +2,6 @@ // this source code is governed by the included BSD license. //go:build windows -// +build windows package libcmdline diff --git a/go/libkb/api.go b/go/libkb/api.go index e237b07260c4..7164b358281c 100644 --- a/go/libkb/api.go +++ b/go/libkb/api.go @@ -14,6 +14,7 @@ import ( "net/http" "net/url" "runtime" + "slices" "strings" "sync" "time" @@ -346,7 +347,7 @@ func doRequestShared(m MetaContext, api Requester, arg APIArg, req *http.Request reader := newCountingReader(&buf) decoder := json.NewDecoder(reader) - var obj interface{} + var obj any decoder.UseNumber() err = decoder.Decode(&obj) jsonBytes = reader.numRead() @@ -394,10 +395,7 @@ func doRetry(m MetaContext, arg APIArg, cli *Client, req *http.Request) (res *ht timeout = arg.InitialTimeout } - retries := 1 - if arg.RetryCount > 1 { - retries = arg.RetryCount - } + retries := max(arg.RetryCount, 1) multiplier := 1.0 if arg.RetryMultiplier != 0.0 { @@ -405,7 +403,7 @@ func doRetry(m MetaContext, arg APIArg, cli *Client, req *http.Request) (res *ht } var lastErr error - for i := 0; i < retries; i++ { + for i := range retries { if i > 0 { m.Debug("retry attempt %d of %d for %s", i, retries, arg.Endpoint) } @@ -459,10 +457,8 @@ func checkHTTPStatus(arg APIArg, resp *http.Response) error { } else { set = arg.HTTPStatus } - for _, status := range set { - if resp.StatusCode == status { - return nil - } + if slices.Contains(set, resp.StatusCode) { + return nil } return NewAPIErrorFromHTTPResponse(resp) } @@ -686,10 +682,8 @@ func (a *InternalAPIEngine) checkAppStatus(arg APIArg, ast *AppStatus) error { set = []int{SCOk} } - for _, status := range set { - if ast.Code == status { - return nil - } + if slices.Contains(set, ast.Code) { + return nil } return appStatusToTypedError(ast) diff --git a/go/libkb/api_stub.go b/go/libkb/api_stub.go index 401202d92b1d..cdc70d77ebfa 100644 --- a/go/libkb/api_stub.go +++ b/go/libkb/api_stub.go @@ -2,7 +2,6 @@ // this source code is governed by the included BSD license. //go:build !production -// +build !production package libkb diff --git a/go/libkb/api_stub_html.go b/go/libkb/api_stub_html.go index f3b8c3be0c26..33756af1a645 100644 --- a/go/libkb/api_stub_html.go +++ b/go/libkb/api_stub_html.go @@ -2,7 +2,6 @@ // this source code is governed by the included BSD license. //go:build !production -// +build !production package libkb diff --git a/go/libkb/assertion.go b/go/libkb/assertion.go index 1a1046bdf81f..80a8c2d1aa7c 100644 --- a/go/libkb/assertion.go +++ b/go/libkb/assertion.go @@ -7,6 +7,7 @@ import ( "encoding/hex" "fmt" "regexp" + "slices" "sort" "strconv" "strings" @@ -178,12 +179,7 @@ func (b AssertionURLBase) GetValue() string { func (b AssertionURLBase) matchSet(v AssertionURL, ps ProofSet) bool { proofs := ps.Get(v.Keys()) - for _, proof := range proofs { - if v.MatchProof(proof) { - return true - } - } - return false + return slices.ContainsFunc(proofs, v.MatchProof) } func (b AssertionURLBase) NeedsParens() bool { return false } @@ -502,9 +498,9 @@ func parseToKVPair(s string) (key string, value string, err error) { } } - if colIndex := strings.Index(s, ":"); colIndex != -1 { - service := s[:colIndex] - name := s[colIndex+1:] + if before, after, ok := strings.Cut(s, ":"); ok { + service := before + name := after // "dns://keybase.io" syntax. name = strings.TrimPrefix(name, "//") @@ -892,7 +888,7 @@ func ParseImplicitTeamDisplayNameSuffix(suffix string) (ret *keybase1.ImplicitTe } func parseImplicitTeamUserSet(ctx AssertionContext, s string, seen map[string]bool) (ret keybase1.ImplicitTeamUserSet, err error) { - for _, part := range strings.Split(s, ",") { + for part := range strings.SplitSeq(s, ",") { typ, name, err := parseImplicitTeamPart(ctx, part) if err != nil { return keybase1.ImplicitTeamUserSet{}, err diff --git a/go/libkb/basex.go b/go/libkb/basex.go index 3c59770af808..0b35a02a7d13 100644 --- a/go/libkb/basex.go +++ b/go/libkb/basex.go @@ -45,7 +45,7 @@ func NewBaseX(alphabet string) *BaseXEncoder { func reverseBuf(buf []byte) { tot := len(buf) mid := tot / 2 - for i := 0; i < mid; i++ { + for i := range mid { buf[i], buf[tot-i-1] = buf[tot-i-1], buf[i] } } diff --git a/go/libkb/bgticker_test.go b/go/libkb/bgticker_test.go index 29ee0f766945..d2cc44ce6af1 100644 --- a/go/libkb/bgticker_test.go +++ b/go/libkb/bgticker_test.go @@ -16,7 +16,7 @@ func TestBgTicker(t *testing.T) { ticker := NewBgTickerWithWait(duration, wait) // Test tick - for i := 0; i < 5; i++ { + for i := range 5 { select { case <-ticker.C: if i == 0 { diff --git a/go/libkb/burst_cache.go b/go/libkb/burst_cache.go index cbe5e2068c71..bff6266ce744 100644 --- a/go/libkb/burst_cache.go +++ b/go/libkb/burst_cache.go @@ -45,7 +45,7 @@ func NewBurstCache(g *GlobalContext, cacheSize int, cacheLife time.Duration, cac } type burstCacheObj struct { - obj interface{} + obj any cachedAt time.Time } @@ -54,11 +54,11 @@ type burstCacheObj struct { // to an object as an interface{}. The caller to Load() should wrap into the // closure all parameters needed to actually fetch the object. They called // Load(), so they likely have them handy. -type BurstCacheLoader func() (obj interface{}, err error) +type BurstCacheLoader func() (obj any, err error) // Load item key from the burst cache. On a cache miss, load with the given loader function. // Return the object as an interface{}, so the caller needs to cast out of this burst cache. -func (b *BurstCache) Load(ctx context.Context, key BurstCacheKey, loader BurstCacheLoader) (ret interface{}, err error) { +func (b *BurstCache) Load(ctx context.Context, key BurstCacheKey, loader BurstCacheLoader) (ret any, err error) { ctx = WithLogTag(ctx, "BC") defer b.G().CVTrace(ctx, VLog0, fmt.Sprintf("BurstCache(%s)#Load(%s)", b.cacheName, key.String()), &err)() diff --git a/go/libkb/chain_link_v2.go b/go/libkb/chain_link_v2.go index 94b75eda0029..ed5eeb135a6d 100644 --- a/go/libkb/chain_link_v2.go +++ b/go/libkb/chain_link_v2.go @@ -615,7 +615,7 @@ func SigchainV2TypeFromV1TypeTeams(s string) (ret SigchainV2Type, err error) { return ret, err } -func mismatchError(format string, arg ...interface{}) error { +func mismatchError(format string, arg ...any) error { return SigchainV2MismatchedFieldError{fmt.Sprintf(format, arg...)} } diff --git a/go/libkb/chain_link_v2_test.go b/go/libkb/chain_link_v2_test.go index 6031415a476b..4ac82c86cc0e 100644 --- a/go/libkb/chain_link_v2_test.go +++ b/go/libkb/chain_link_v2_test.go @@ -80,7 +80,7 @@ func TestOuterLinkV2WithMetadataContainerEncode(t *testing.T) { } func TestOuterLinkV2WithMetadataContainerDecode(t *testing.T) { - bytes, err := msgpack.Encode(map[string]interface{}{ + bytes, err := msgpack.Encode(map[string]any{ "O": []byte{0x01, 0x02}, }) require.NoError(t, err) @@ -103,7 +103,7 @@ func TestOuterLinkV2WithMetadataPointerContainerEncode(t *testing.T) { } func TestOuterLinkV2WithMetadataPointerContainerDecode(t *testing.T) { - bytes, err := msgpack.Encode(map[string]interface{}{ + bytes, err := msgpack.Encode(map[string]any{ "O": []byte{0x01, 0x02}, }) require.NoError(t, err) diff --git a/go/libkb/client.go b/go/libkb/client.go index 540a6692e02b..f60b11c66f0a 100644 --- a/go/libkb/client.go +++ b/go/libkb/client.go @@ -142,9 +142,9 @@ func genClientConfigForScrapers(e *Env) (*ClientConfig, error) { } func NewClient(g *GlobalContext, config *ClientConfig, needCookie bool) (*Client, error) { - extraLog := func(ctx context.Context, msg string, args ...interface{}) {} + extraLog := func(ctx context.Context, msg string, args ...any) {} if g.Env.GetExtraNetLogging() { - extraLog = func(ctx context.Context, msg string, args ...interface{}) { + extraLog = func(ctx context.Context, msg string, args ...any) { if ctx == nil { g.Log.Debug(msg, args...) } else { @@ -337,7 +337,7 @@ func NewInstrumentedRoundTripper(g *GlobalContext, tagger func(*http.Request) st RoundTripper: xprt, tagger: tagger, gzipPool: sync.Pool{ - New: func() interface{} { + New: func() any { return gzip.NewWriter(io.Discard) }, }, diff --git a/go/libkb/config.go b/go/libkb/config.go index 01f024bace94..bca146d6275a 100644 --- a/go/libkb/config.go +++ b/go/libkb/config.go @@ -520,7 +520,7 @@ func (f *JSONConfigFile) GetGpgOptions() []string { // noop } else { ret = make([]string, 0, l) - for i := 0; i < l; i++ { + for i := range l { if s, e := v.AtIndex(i).GetString(); e == nil { ret = append(ret, s) } @@ -653,7 +653,7 @@ func (f *JSONConfigFile) GetRememberPassphrase(username NormalizedUsername) (boo if username.IsNil() { return f.GetTopLevelBool(legacyRememberPassphraseKey) } - if m, ok := f.jw.AtKey("remember_passphrase_map").GetDataOrNil().(map[string]interface{}); ok { + if m, ok := f.jw.AtKey("remember_passphrase_map").GetDataOrNil().(map[string]any); ok { if ret, mOk := m[username.String()]; mOk { if boolRet, boolOk := ret.(bool); boolOk { return boolRet, true @@ -788,7 +788,7 @@ func (f *JSONConfigFile) getStringArray(v *jsonw.Wrapper) []string { } ret := make([]string, n) - for i := 0; i < n; i++ { + for i := range n { s, err := v.AtIndex(i).GetString() if err != nil { return nil @@ -852,7 +852,7 @@ func (f *JSONConfigFile) GetProxyCACerts() (ret []string, err error) { defer f.setMutex.RUnlock() jw := f.jw.AtKey("proxy_ca_certs") if l, e := jw.Len(); e == nil { - for i := 0; i < l; i++ { + for i := range l { s, e2 := jw.AtIndex(i).GetString() if e2 != nil { err = ConfigError{ diff --git a/go/libkb/constants_brew.go b/go/libkb/constants_brew.go index 7c0e244698c2..1c86739922c5 100644 --- a/go/libkb/constants_brew.go +++ b/go/libkb/constants_brew.go @@ -2,7 +2,6 @@ // this source code is governed by the included BSD license. //go:build brew -// +build brew package libkb diff --git a/go/libkb/constants_devel.go b/go/libkb/constants_devel.go index e18ac14f2769..57d1b01b4e95 100644 --- a/go/libkb/constants_devel.go +++ b/go/libkb/constants_devel.go @@ -2,7 +2,6 @@ // this source code is governed by the included BSD license. //go:build !production && !staging -// +build !production,!staging package libkb diff --git a/go/libkb/constants_nonbrew.go b/go/libkb/constants_nonbrew.go index aca7a91483f5..d07bdf2b5774 100644 --- a/go/libkb/constants_nonbrew.go +++ b/go/libkb/constants_nonbrew.go @@ -2,7 +2,6 @@ // this source code is governed by the included BSD license. //go:build !brew -// +build !brew package libkb diff --git a/go/libkb/constants_nonproduction.go b/go/libkb/constants_nonproduction.go index 4daaa2a17310..92227ab085c3 100644 --- a/go/libkb/constants_nonproduction.go +++ b/go/libkb/constants_nonproduction.go @@ -2,7 +2,6 @@ // this source code is governed by the included BSD license. //go:build !production -// +build !production package libkb diff --git a/go/libkb/constants_production.go b/go/libkb/constants_production.go index 6405d86ecbcb..f9430f1ee884 100644 --- a/go/libkb/constants_production.go +++ b/go/libkb/constants_production.go @@ -2,7 +2,6 @@ // this source code is governed by the included BSD license. //go:build production -// +build production package libkb diff --git a/go/libkb/constants_staging.go b/go/libkb/constants_staging.go index 04539f2fb69f..2fc25ad69e31 100644 --- a/go/libkb/constants_staging.go +++ b/go/libkb/constants_staging.go @@ -2,7 +2,6 @@ // this source code is governed by the included BSD license. //go:build staging -// +build staging package libkb diff --git a/go/libkb/context.go b/go/libkb/context.go index c4414ed9be89..2e9fb26a1a12 100644 --- a/go/libkb/context.go +++ b/go/libkb/context.go @@ -69,7 +69,7 @@ func (m MetaContext) LoginContext() LoginContext { return m.loginContext } -func (m MetaContext) VLogf(lev VDebugLevel, msg string, args ...interface{}) { +func (m MetaContext) VLogf(lev VDebugLevel, msg string, args ...any) { m.g.VDL.CLogfWithAddedDepth(m.ctx, lev, 1, msg, args...) } @@ -95,23 +95,23 @@ func (m MetaContext) TimeTracer(label string, enabled bool) profiling.TimeTracer return m.G().CTimeTracer(m.Ctx(), label, enabled) } -func (m MetaContext) Debug(f string, args ...interface{}) { +func (m MetaContext) Debug(f string, args ...any) { m.g.Log.CloneWithAddedDepth(1).CDebugf(m.ctx, f, args...) } -func (m MetaContext) PerfDebug(f string, args ...interface{}) { +func (m MetaContext) PerfDebug(f string, args ...any) { m.g.PerfLog.CloneWithAddedDepth(1).CDebugf(m.ctx, f, args...) } -func (m MetaContext) Warning(f string, args ...interface{}) { +func (m MetaContext) Warning(f string, args ...any) { m.g.Log.CloneWithAddedDepth(1).CWarningf(m.ctx, f, args...) } -func (m MetaContext) Error(f string, args ...interface{}) { +func (m MetaContext) Error(f string, args ...any) { m.g.Log.CloneWithAddedDepth(1).CErrorf(m.ctx, f, args...) } -func (m MetaContext) Info(f string, args ...interface{}) { +func (m MetaContext) Info(f string, args ...any) { m.g.Log.CloneWithAddedDepth(1).CInfof(m.ctx, f, args...) } diff --git a/go/libkb/db.go b/go/libkb/db.go index 5a5453ba9c10..332a72f791f1 100644 --- a/go/libkb/db.go +++ b/go/libkb/db.go @@ -157,7 +157,7 @@ type DbKey struct { // tablePrefix builds a key prefix for the given table for use in `util.Range` // or `util.BytesPrefix` func tablePrefix(table string) []byte { - return []byte(fmt.Sprintf("%s:", table)) + return fmt.Appendf(nil, "%s:", table) } func prefixStringWithTable(table string, typ ObjType) string { @@ -176,7 +176,7 @@ func (t ObjType) table() string { } func (k DbKey) toBytes(prefixString string) []byte { - return []byte(fmt.Sprintf("%s:%s", prefixString, k.Key)) + return fmt.Appendf(nil, "%s:%s", prefixString, k.Key) } func (k DbKey) ToBytes() []byte { @@ -227,7 +227,7 @@ func jsonLocalDbGet(ops LocalDbOps, id DbKey) (*jsonw.Wrapper, error) { return ret, err } -func jsonLocalDbGetInto(ops LocalDbOps, obj interface{}, id DbKey) (found bool, err error) { +func jsonLocalDbGetInto(ops LocalDbOps, obj any, id DbKey) (found bool, err error) { var buf []byte buf, found, err = ops.Get(id) if err == nil && found { @@ -240,7 +240,7 @@ func jsonLocalDbGetInto(ops LocalDbOps, obj interface{}, id DbKey) (found bool, return found, err } -func jsonLocalDbPutObj(ops LocalDbOps, id DbKey, aliases []DbKey, obj interface{}) (err error) { +func jsonLocalDbPutObj(ops LocalDbOps, id DbKey, aliases []DbKey, obj any) (err error) { var bytes []byte bytes, err = json.Marshal(obj) if err == nil { @@ -258,7 +258,7 @@ func jsonLocalDbLookup(ops LocalDbOps, id DbKey) (*jsonw.Wrapper, error) { return ret, err } -func jsonLocalDbLookupIntoMsgpack(ops LocalDbOps, obj interface{}, alias DbKey) (found bool, err error) { +func jsonLocalDbLookupIntoMsgpack(ops LocalDbOps, obj any, alias DbKey) (found bool, err error) { var buf []byte buf, found, err = ops.Lookup(alias) if err != nil || !found { @@ -268,7 +268,7 @@ func jsonLocalDbLookupIntoMsgpack(ops LocalDbOps, obj interface{}, alias DbKey) return true, err } -func jsonLocalDbGetIntoMsgpack(ops LocalDbOps, obj interface{}, id DbKey) (found bool, err error) { +func jsonLocalDbGetIntoMsgpack(ops LocalDbOps, obj any, id DbKey) (found bool, err error) { var buf []byte buf, found, err = ops.Get(id) if err != nil || !found { @@ -278,7 +278,7 @@ func jsonLocalDbGetIntoMsgpack(ops LocalDbOps, obj interface{}, id DbKey) (found return true, err } -func jsonLocalDbPutObjMsgpack(ops LocalDbOps, id DbKey, aliases []DbKey, obj interface{}) error { +func jsonLocalDbPutObjMsgpack(ops LocalDbOps, id DbKey, aliases []DbKey, obj any) error { bytes, err := msgpack.Encode(obj) if err != nil { return err @@ -317,11 +317,11 @@ func (j *JSONLocalDb) Get(id DbKey) (*jsonw.Wrapper, error) { return jsonLocalDbGet(j.engine, id) } -func (j *JSONLocalDb) GetInto(obj interface{}, id DbKey) (found bool, err error) { +func (j *JSONLocalDb) GetInto(obj any, id DbKey) (found bool, err error) { return jsonLocalDbGetInto(j.engine, obj, id) } -func (j *JSONLocalDb) PutObj(id DbKey, aliases []DbKey, obj interface{}) (err error) { +func (j *JSONLocalDb) PutObj(id DbKey, aliases []DbKey, obj any) (err error) { return jsonLocalDbPutObj(j.engine, id, aliases, obj) } @@ -329,15 +329,15 @@ func (j *JSONLocalDb) Lookup(id DbKey) (*jsonw.Wrapper, error) { return jsonLocalDbLookup(j.engine, id) } -func (j *JSONLocalDb) LookupIntoMsgpack(obj interface{}, alias DbKey) (found bool, err error) { +func (j *JSONLocalDb) LookupIntoMsgpack(obj any, alias DbKey) (found bool, err error) { return jsonLocalDbLookupIntoMsgpack(j.engine, obj, alias) } -func (j *JSONLocalDb) GetIntoMsgpack(obj interface{}, id DbKey) (found bool, err error) { +func (j *JSONLocalDb) GetIntoMsgpack(obj any, id DbKey) (found bool, err error) { return jsonLocalDbGetIntoMsgpack(j.engine, obj, id) } -func (j *JSONLocalDb) PutObjMsgpack(id DbKey, aliases []DbKey, obj interface{}) (err error) { +func (j *JSONLocalDb) PutObjMsgpack(id DbKey, aliases []DbKey, obj any) (err error) { return jsonLocalDbPutObjMsgpack(j.engine, id, aliases, obj) } @@ -372,11 +372,11 @@ func (j JSONLocalDbTransaction) Get(id DbKey) (*jsonw.Wrapper, error) { return jsonLocalDbGet(j.tr, id) } -func (j JSONLocalDbTransaction) GetInto(obj interface{}, id DbKey) (found bool, err error) { +func (j JSONLocalDbTransaction) GetInto(obj any, id DbKey) (found bool, err error) { return jsonLocalDbGetInto(j.tr, obj, id) } -func (j JSONLocalDbTransaction) PutObj(id DbKey, aliases []DbKey, obj interface{}) (err error) { +func (j JSONLocalDbTransaction) PutObj(id DbKey, aliases []DbKey, obj any) (err error) { return jsonLocalDbPutObj(j.tr, id, aliases, obj) } diff --git a/go/libkb/deprovision.go b/go/libkb/deprovision.go index 2e57eb12137e..d1be93f79b13 100644 --- a/go/libkb/deprovision.go +++ b/go/libkb/deprovision.go @@ -11,7 +11,7 @@ func ClearSecretsOnDeprovision(mctx MetaContext, username NormalizedUsername) er epick := FirstErrorPicker{} - var logger func(string, ...interface{}) + var logger func(string, ...any) if mctx.UIs().LogUI == nil { logger = mctx.Info } else { diff --git a/go/libkb/disable_backup_darwin.go b/go/libkb/disable_backup_darwin.go index 493784dda452..267e12d8e008 100644 --- a/go/libkb/disable_backup_darwin.go +++ b/go/libkb/disable_backup_darwin.go @@ -1,5 +1,4 @@ //go:build darwin -// +build darwin package libkb diff --git a/go/libkb/disable_backup_darwin_test.go b/go/libkb/disable_backup_darwin_test.go index 450d19225ec7..3b0d812020bf 100644 --- a/go/libkb/disable_backup_darwin_test.go +++ b/go/libkb/disable_backup_darwin_test.go @@ -1,5 +1,4 @@ //go:build darwin -// +build darwin package libkb diff --git a/go/libkb/disable_backup_default.go b/go/libkb/disable_backup_default.go index 72df05b0952b..492e95cdbbfa 100644 --- a/go/libkb/disable_backup_default.go +++ b/go/libkb/disable_backup_default.go @@ -1,5 +1,4 @@ //go:build !darwin -// +build !darwin package libkb diff --git a/go/libkb/env.go b/go/libkb/env.go index bf9ce81010a9..b4983bf1dc47 100644 --- a/go/libkb/env.go +++ b/go/libkb/env.go @@ -182,7 +182,7 @@ func (n NullConfiguration) GetStringAtPath(string) (string, bool) { return "", false } -func (n NullConfiguration) GetInterfaceAtPath(string) (interface{}, error) { +func (n NullConfiguration) GetInterfaceAtPath(string) (any, error) { return nil, nil } diff --git a/go/libkb/env_default.go b/go/libkb/env_default.go index 086c06b0b061..a8dfd428226b 100644 --- a/go/libkb/env_default.go +++ b/go/libkb/env_default.go @@ -2,7 +2,6 @@ // this source code is governed by the included BSD license. //go:build !ios -// +build !ios package libkb diff --git a/go/libkb/env_ios.go b/go/libkb/env_ios.go index 14a333ab015e..bbcb7919480a 100644 --- a/go/libkb/env_ios.go +++ b/go/libkb/env_ios.go @@ -2,7 +2,6 @@ // this source code is governed by the included BSD license. //go:build ios -// +build ios package libkb diff --git a/go/libkb/env_windows_test.go b/go/libkb/env_windows_test.go index ccf5fd4729f9..9515fb41fecf 100644 --- a/go/libkb/env_windows_test.go +++ b/go/libkb/env_windows_test.go @@ -2,7 +2,6 @@ // this source code is governed by the included BSD license. //go:build windows -// +build windows package libkb diff --git a/go/libkb/erasable_kv_store.go b/go/libkb/erasable_kv_store.go index bb5e126b8a71..fb44fa617309 100644 --- a/go/libkb/erasable_kv_store.go +++ b/go/libkb/erasable_kv_store.go @@ -63,8 +63,8 @@ func getStorageDir(mctx MetaContext, subDir string) string { } type ErasableKVStore interface { - Put(mctx MetaContext, key string, val interface{}) error - Get(mctx MetaContext, key string, val interface{}) error + Put(mctx MetaContext, key string, val any) error + Get(mctx MetaContext, key string, val any) error Erase(mctx MetaContext, key string) error AllKeys(mctx MetaContext, keySuffix string) ([]string, error) } @@ -110,7 +110,7 @@ func (s *FileErasableKVStore) noiseKey(key string) string { return fmt.Sprintf("%s%s", url.QueryEscape(key), noiseSuffix) } -func (s *FileErasableKVStore) unbox(mctx MetaContext, data []byte, noiseBytes NoiseBytes, val interface{}) (err error) { +func (s *FileErasableKVStore) unbox(mctx MetaContext, data []byte, noiseBytes NoiseBytes, val any) (err error) { defer mctx.Trace("FileErasableKVStore#unbox", &err)() // Decode encrypted box var boxed boxedData @@ -144,7 +144,7 @@ func (s *FileErasableKVStore) unbox(mctx MetaContext, data []byte, noiseBytes No return nil } -func (s *FileErasableKVStore) box(mctx MetaContext, val interface{}, +func (s *FileErasableKVStore) box(mctx MetaContext, val any, noiseBytes NoiseBytes, ) (data []byte, err error) { defer mctx.Trace("FileErasableKVStore#box", &err)() @@ -176,7 +176,7 @@ func (s *FileErasableKVStore) box(mctx MetaContext, val interface{}, return MPackEncode(boxed) } -func (s *FileErasableKVStore) Put(mctx MetaContext, key string, val interface{}) (err error) { +func (s *FileErasableKVStore) Put(mctx MetaContext, key string, val any) (err error) { defer mctx.Trace(fmt.Sprintf("FileErasableKVStore#Put: %v", key), &err)() s.Lock() defer s.Unlock() @@ -254,14 +254,14 @@ func (s *FileErasableKVStore) write(mctx MetaContext, key string, data []byte) ( return nil } -func (s *FileErasableKVStore) Get(mctx MetaContext, key string, val interface{}) (err error) { +func (s *FileErasableKVStore) Get(mctx MetaContext, key string, val any) (err error) { defer mctx.Trace(fmt.Sprintf("FileErasableKVStore#Get: %v", key), &err)() s.Lock() defer s.Unlock() return s.get(mctx, key, val) } -func (s *FileErasableKVStore) get(mctx MetaContext, key string, val interface{}) (err error) { +func (s *FileErasableKVStore) get(mctx MetaContext, key string, val any) (err error) { noiseKey := s.noiseKey(key) noise, err := s.read(mctx, noiseKey) if err != nil { diff --git a/go/libkb/erasable_kv_store_test.go b/go/libkb/erasable_kv_store_test.go index b1c94b5afcf3..f4881771ede4 100644 --- a/go/libkb/erasable_kv_store_test.go +++ b/go/libkb/erasable_kv_store_test.go @@ -33,7 +33,7 @@ func TestErasableKVStore(t *testing.T) { // `AllKeys` tmp, err := os.CreateTemp(s.storageDir, key) require.NoError(t, err) - for i := 0; i < 5; i++ { + for range 5 { keys, err := s.AllKeys(mctx, ".key") require.NoError(t, err) require.Equal(t, []string{key}, keys) diff --git a/go/libkb/errors.go b/go/libkb/errors.go index 7ebc7fc82966..fe765df12e42 100644 --- a/go/libkb/errors.go +++ b/go/libkb/errors.go @@ -68,7 +68,7 @@ type ProofErrorImpl struct { Desc string } -func NewProofError(s keybase1.ProofStatus, d string, a ...interface{}) *ProofErrorImpl { +func NewProofError(s keybase1.ProofStatus, d string, a ...any) *ProofErrorImpl { // Don't do string interpolation if there are no substitution arguments. // Fixes double-interpolation when deserializing an object. if len(a) == 0 { @@ -118,7 +118,7 @@ func (t TorSessionRequiredError) Error() string { return "We can't send out PII in Tor-Strict mode; but it's needed for this operation" } -func NewProofAPIError(s keybase1.ProofStatus, u string, d string, a ...interface{}) *ProofAPIError { +func NewProofAPIError(s keybase1.ProofStatus, u string, d string, a ...any) *ProofAPIError { base := NewProofError(s, d, a...) return &ProofAPIError{*base, u} } @@ -185,14 +185,14 @@ func (e AssertionParseError) Error() string { return e.err } -func NewAssertionParseError(s string, a ...interface{}) AssertionParseError { +func NewAssertionParseError(s string, a ...any) AssertionParseError { return AssertionParseError{ reason: AssertionParseErrorReasonGeneric, err: fmt.Sprintf(s, a...), } } -func NewAssertionParseErrorWithReason(reason AssertionParseErrorReason, s string, a ...interface{}) AssertionParseError { +func NewAssertionParseErrorWithReason(reason AssertionParseErrorReason, s string, a ...any) AssertionParseError { return AssertionParseError{ reason: reason, err: fmt.Sprintf(s, a...), @@ -214,7 +214,7 @@ func (e AssertionCheckError) Error() string { return e.err } -func NewAssertionCheckError(s string, a ...interface{}) AssertionCheckError { +func NewAssertionCheckError(s string, a ...any) AssertionCheckError { return AssertionCheckError{ err: fmt.Sprintf(s, a...), } @@ -230,7 +230,7 @@ func (e NeedInputError) Error() string { return e.err } -func NewNeedInputError(s string, a ...interface{}) AssertionParseError { +func NewNeedInputError(s string, a ...any) AssertionParseError { return AssertionParseError{ err: fmt.Sprintf(s, a...), } @@ -692,7 +692,7 @@ func (e ServerChainError) Error() string { return e.msg } -func NewServerChainError(d string, a ...interface{}) ServerChainError { +func NewServerChainError(d string, a ...any) ServerChainError { return ServerChainError{fmt.Sprintf(d, a...)} } @@ -1234,7 +1234,7 @@ func (r ReverseSigError) Error() string { return fmt.Sprintf("Error in reverse signature: %s", r.msg) } -func NewReverseSigError(msgf string, a ...interface{}) ReverseSigError { +func NewReverseSigError(msgf string, a ...any) ReverseSigError { return ReverseSigError{msg: fmt.Sprintf(msgf, a...)} } @@ -1447,7 +1447,7 @@ func (e UntrackError) Error() string { return fmt.Sprintf("Unfollow error: %s", e.err) } -func NewUntrackError(d string, a ...interface{}) UntrackError { +func NewUntrackError(d string, a ...any) UntrackError { return UntrackError{ err: fmt.Sprintf(d, a...), } @@ -2342,7 +2342,7 @@ func (e PerUserKeyImportError) Error() string { return fmt.Sprintf("per-user-key import error: %s", e.msg) } -func NewPerUserKeyImportError(format string, args ...interface{}) PerUserKeyImportError { +func NewPerUserKeyImportError(format string, args ...any) PerUserKeyImportError { return PerUserKeyImportError{ msg: fmt.Sprintf(format, args...), } @@ -2450,7 +2450,7 @@ func (e ImplicitTeamDisplayNameError) Error() string { return fmt.Sprintf("Error parsing implicit team name: %s", e.msg) } -func NewImplicitTeamDisplayNameError(format string, args ...interface{}) ImplicitTeamDisplayNameError { +func NewImplicitTeamDisplayNameError(format string, args ...any) ImplicitTeamDisplayNameError { return ImplicitTeamDisplayNameError{fmt.Sprintf(format, args...)} } @@ -2913,7 +2913,7 @@ func (e HiddenChainDataMissingError) Error() string { return fmt.Sprintf("hidden chain data missing error: %s", e.note) } -func NewHiddenChainDataMissingError(format string, args ...interface{}) HiddenChainDataMissingError { +func NewHiddenChainDataMissingError(format string, args ...any) HiddenChainDataMissingError { return HiddenChainDataMissingError{fmt.Sprintf(format, args...)} } @@ -2941,7 +2941,7 @@ type HiddenMerkleError struct { t HiddenMerkleErrorType } -func NewHiddenMerkleError(t HiddenMerkleErrorType, format string, args ...interface{}) HiddenMerkleError { +func NewHiddenMerkleError(t HiddenMerkleErrorType, format string, args ...any) HiddenMerkleError { return HiddenMerkleError{ t: t, m: fmt.Sprintf(format, args...), diff --git a/go/libkb/features.go b/go/libkb/features.go index c1dc37329424..85a981b21e96 100644 --- a/go/libkb/features.go +++ b/go/libkb/features.go @@ -1,6 +1,7 @@ package libkb import ( + "slices" "strings" "sync" "time" @@ -24,8 +25,8 @@ func StringToFeatureFlags(s string) (ret FeatureFlags) { if len(s) == 0 { return ret } - v := strings.Split(s, ",") - for _, f := range v { + v := strings.SplitSeq(s, ",") + for f := range v { ret = append(ret, Feature(strings.TrimSpace(f))) } return ret @@ -34,21 +35,14 @@ func StringToFeatureFlags(s string) (ret FeatureFlags) { // Admin returns true if the admin feature set is on or the user is a keybase // admin. func (set FeatureFlags) Admin(uid keybase1.UID) bool { - for _, f := range set { - if f == Feature("admin") { - return true - } + if slices.Contains(set, Feature("admin")) { + return true } return IsKeybaseAdmin(uid) } func (set FeatureFlags) HasFeature(feature Feature) bool { - for _, f := range set { - if f == feature { - return true - } - } - return false + return slices.Contains(set, feature) } func (set FeatureFlags) Empty() bool { diff --git a/go/libkb/file_test.go b/go/libkb/file_test.go index a1e0979b5bdf..e772689ec00c 100644 --- a/go/libkb/file_test.go +++ b/go/libkb/file_test.go @@ -34,7 +34,7 @@ func TestFileSaveConcurrent(t *testing.T) { log := logger.NewTestLogger(t) var wg sync.WaitGroup - for i := 0; i < 20; i++ { + for range 20 { wg.Add(1) go func() { file := NewFile(filename, []byte("test data"), 0o644) @@ -50,7 +50,7 @@ func TestFileSaveConcurrent(t *testing.T) { var wg2 sync.WaitGroup file := NewFile(filename, []byte("test data"), 0o644) - for i := 0; i < 20; i++ { + for range 20 { wg2.Add(1) go func() { err := file.Save(log) diff --git a/go/libkb/flock_nix.go b/go/libkb/flock_nix.go index 023e26719341..cff179e7c3a1 100644 --- a/go/libkb/flock_nix.go +++ b/go/libkb/flock_nix.go @@ -2,7 +2,6 @@ // this source code is governed by the included BSD license. //go:build !windows -// +build !windows package libkb diff --git a/go/libkb/flock_windows.go b/go/libkb/flock_windows.go index 3284dc6768b2..2fa1db19fe9d 100644 --- a/go/libkb/flock_windows.go +++ b/go/libkb/flock_windows.go @@ -2,7 +2,6 @@ // this source code is governed by the included BSD license. //go:build windows -// +build windows package libkb diff --git a/go/libkb/flock_windows_test.go b/go/libkb/flock_windows_test.go index 7b04bffd2510..420809cbd657 100644 --- a/go/libkb/flock_windows_test.go +++ b/go/libkb/flock_windows_test.go @@ -2,7 +2,6 @@ // this source code is governed by the included BSD license. //go:build windows -// +build windows package libkb diff --git a/go/libkb/generickey.go b/go/libkb/generickey.go index 91e74b796917..af5faabff00e 100644 --- a/go/libkb/generickey.go +++ b/go/libkb/generickey.go @@ -11,7 +11,7 @@ import ( ) type VerifyContext interface { - Debug(format string, args ...interface{}) + Debug(format string, args ...any) } type ( diff --git a/go/libkb/globals.go b/go/libkb/globals.go index 95ce1f45a9a5..8fb1f0814343 100644 --- a/go/libkb/globals.go +++ b/go/libkb/globals.go @@ -468,7 +468,7 @@ func migrateGUIConfig(serviceConfig ConfigReader, guiConfig *JSONFile) error { errs = append(errs, err) } } else { - syncSettings, ok := syncSettings.(map[string]interface{}) + syncSettings, ok := syncSettings.(map[string]any) if !ok { errs = append(errs, fmt.Errorf("Failed to coerce ui.importContacts in migration")) } else { @@ -1122,12 +1122,12 @@ func (g *GlobalContext) GetMyClientDetails() keybase1.ClientDetails { } type UnforwardedLoggerWithLegacyInterface interface { - Debug(s string, args ...interface{}) - Error(s string, args ...interface{}) - Errorf(s string, args ...interface{}) - Warning(s string, args ...interface{}) - Info(s string, args ...interface{}) - Profile(s string, args ...interface{}) + Debug(s string, args ...any) + Error(s string, args ...any) + Errorf(s string, args ...any) + Warning(s string, args ...any) + Info(s string, args ...any) + Profile(s string, args ...any) } func (g *GlobalContext) GetUnforwardedLogger() (log UnforwardedLoggerWithLegacyInterface) { diff --git a/go/libkb/gpg_cli_test.go b/go/libkb/gpg_cli_test.go index 965d6e489054..ef8d15029eb6 100644 --- a/go/libkb/gpg_cli_test.go +++ b/go/libkb/gpg_cli_test.go @@ -84,7 +84,7 @@ func TestGPGSign(t *testing.T) { } fp := fps[0] - for i := 0; i < 1000; i++ { + for range 1000 { _, err = cli.Sign(tc.MetaContext(), fp, []byte("hello")) if err != nil { t.Fatal(err) diff --git a/go/libkb/home_nix_test.go b/go/libkb/home_nix_test.go index abe5493fadbc..df590f2290a4 100644 --- a/go/libkb/home_nix_test.go +++ b/go/libkb/home_nix_test.go @@ -2,7 +2,6 @@ // this source code is governed by the included BSD license. //go:build !windows -// +build !windows package libkb diff --git a/go/libkb/home_windows_test.go b/go/libkb/home_windows_test.go index 5c96fcf9068f..8932c51d7c4b 100644 --- a/go/libkb/home_windows_test.go +++ b/go/libkb/home_windows_test.go @@ -2,7 +2,6 @@ // this source code is governed by the included BSD license. //go:build windows -// +build windows package libkb diff --git a/go/libkb/id_table.go b/go/libkb/id_table.go index 930b1b1906cc..6fa557890ad5 100644 --- a/go/libkb/id_table.go +++ b/go/libkb/id_table.go @@ -182,8 +182,8 @@ func ParseWotReact(base GenericChainLink) (ret *WotReactChainLink, err error) { } type sigExpansion struct { - Key string `json:"key"` - Obj interface{} `json:"obj"` + Key string `json:"key"` + Obj any `json:"obj"` } // ExtractExpansionObj extracts the `obj` field from a sig expansion and verifies the @@ -629,7 +629,7 @@ func (l *TrackChainLink) GetTrackedKeys() ([]TrackedKey, error) { if err != nil { return nil, err } - for i := 0; i < n; i++ { + for i := range n { keyJSON := pgpKeysJSON.AtIndex(i) tracked, err := trackedKeyFromJSON(keyJSON) if err != nil { @@ -682,7 +682,7 @@ func (l *TrackChainLink) ToServiceBlocks() (ret []*ServiceBlock) { if err != nil { return nil } - for index := 0; index < ln; index++ { + for index := range ln { proof := w.AtIndex(index).AtKey("remote_key_proof") sb := convertTrackedProofToServiceBlock(l.G(), proof, index) if sb != nil { @@ -1050,7 +1050,7 @@ type WalletStellarChainLink struct { func ParseWalletStellarChainLink(b GenericChainLink) (ret *WalletStellarChainLink, err error) { ret = &WalletStellarChainLink{GenericChainLink: b} - mkErr := func(format string, args ...interface{}) error { + mkErr := func(format string, args ...any) error { return ChainLinkError{fmt.Sprintf(format, args...) + fmt.Sprintf(" @%s", b.ToDebugString())} } bodyW := b.UnmarshalPayloadJSON() diff --git a/go/libkb/interfaces.go b/go/libkb/interfaces.go index fd21a5e2b052..ecbe91623203 100644 --- a/go/libkb/interfaces.go +++ b/go/libkb/interfaces.go @@ -132,7 +132,7 @@ type CommandLine interface { GetBool(string, bool) (bool, bool) } -type Server interface{} +type Server any type DBKeySet map[DbKey]struct{} @@ -163,15 +163,15 @@ type LocalDb interface { } type KVStorer interface { - GetInto(obj interface{}, id DbKey) (found bool, err error) - PutObj(id DbKey, aliases []DbKey, obj interface{}) (err error) + GetInto(obj any, id DbKey) (found bool, err error) + PutObj(id DbKey, aliases []DbKey, obj any) (err error) Delete(id DbKey) error KeysWithPrefixes(prefixes ...[]byte) (DBKeySet, error) } type JSONReader interface { GetStringAtPath(string) (string, bool) - GetInterfaceAtPath(string) (interface{}, error) + GetInterfaceAtPath(string) (any, error) GetBoolAtPath(string) (bool, bool) GetIntAtPath(string) (int, bool) GetFloatAtPath(string) (float64, bool) @@ -273,7 +273,7 @@ type Command interface { GetUsage() Usage } -type JSONPayload map[string]interface{} +type JSONPayload map[string]any type APIRes struct { Status *jsonw.Wrapper @@ -393,15 +393,15 @@ type SaltpackUI interface { } type LogUI interface { - Debug(format string, args ...interface{}) - Info(format string, args ...interface{}) - Warning(format string, args ...interface{}) - Notice(format string, args ...interface{}) - Errorf(format string, args ...interface{}) - Critical(format string, args ...interface{}) + Debug(format string, args ...any) + Info(format string, args ...any) + Warning(format string, args ...any) + Notice(format string, args ...any) + Errorf(format string, args ...any) + Critical(format string, args ...any) } -type LogFunc func(format string, args ...interface{}) +type LogFunc func(format string, args ...any) type GPGUI interface { keybase1.GpgUiInterface @@ -473,8 +473,8 @@ type TerminalUI interface { OutputDesc(OutputDescriptor, string) error OutputWriter() io.Writer UnescapedOutputWriter() io.Writer - Printf(fmt string, args ...interface{}) (int, error) - PrintfUnescaped(fmt string, args ...interface{}) (int, error) + Printf(fmt string, args ...any) (int, error) + PrintfUnescaped(fmt string, args ...any) (int, error) // Prompt strings are not escaped: they should not be used to show unescaped user-originated data. Prompt(PromptDescriptor, string) (string, error) PromptForConfirmation(prompt string) error @@ -485,9 +485,9 @@ type TerminalUI interface { } type DumbOutputUI interface { - Printf(fmt string, args ...interface{}) (int, error) - PrintfStderr(fmt string, args ...interface{}) (int, error) - PrintfUnescaped(fmt string, args ...interface{}) (int, error) + Printf(fmt string, args ...any) (int, error) + PrintfStderr(fmt string, args ...any) (int, error) + PrintfUnescaped(fmt string, args ...any) (int, error) } type UI interface { @@ -949,15 +949,15 @@ type LRUKeyer interface { } type LRUer interface { - Get(context.Context, LRUContext, LRUKeyer) (interface{}, error) - Put(context.Context, LRUContext, LRUKeyer, interface{}) error + Get(context.Context, LRUContext, LRUKeyer) (any, error) + Put(context.Context, LRUContext, LRUKeyer, any) error OnLogout(mctx MetaContext) error OnDbNuke(mctx MetaContext) error } type MemLRUer interface { - Get(key interface{}) (interface{}, bool) - Put(key, value interface{}) bool + Get(key any) (any, bool) + Put(key, value any) bool OnLogout(mctx MetaContext) error OnDbNuke(mctx MetaContext) error } @@ -980,9 +980,9 @@ type UsernamePackage struct { type SkinnyLogger interface { // Error logs a message at error level, with formatting args - Errorf(format string, args ...interface{}) + Errorf(format string, args ...any) // Debug logs a message at debug level, with formatting args. - Debug(format string, args ...interface{}) + Debug(format string, args ...any) } type UIDMapper interface { diff --git a/go/libkb/json.go b/go/libkb/json.go index 4b2936820b56..bd57fa8ba98e 100644 --- a/go/libkb/json.go +++ b/go/libkb/json.go @@ -95,7 +95,7 @@ func (f *JSONFile) LoadCheckFound() (found bool, err error) { } decoder := json.NewDecoder(&buf) - obj := make(map[string]interface{}) + obj := make(map[string]any) // Treat empty files like an empty dictionary if err = decoder.Decode(&obj); err != nil && err != io.EOF { f.G().Log.Errorf("Error decoding %s file %s", f.which, f.filename) @@ -225,11 +225,11 @@ func (f *JSONFile) save() (err error) { return err } - var dat interface{} + var dat any if f.jw == nil { // Make a default Dictionary if none already exists - dat = make(map[string]interface{}) + dat = make(map[string]any) f.G().Log.Warning("No value for %s file; assuming empty value (i.e., {})", f.which) } else { @@ -313,7 +313,7 @@ func (f *JSONFile) save() (err error) { defer fc.Close() decoder := json.NewDecoder(fc) - obj := make(map[string]interface{}) + obj := make(map[string]any) if err := decoder.Decode(&obj); err != nil { f.G().Log.Debug("error decoding %s: %s", filename, err) } else { @@ -377,9 +377,9 @@ func (f *jsonFileTransaction) Commit() (err error) { return f.f.setTx(nil) } -type valueGetter func(*jsonw.Wrapper) (interface{}, error) +type valueGetter func(*jsonw.Wrapper) (any, error) -func (f *JSONFile) getValueAtPath(p string, getter valueGetter) (ret interface{}, isSet bool) { +func (f *JSONFile) getValueAtPath(p string, getter valueGetter) (ret any, isSet bool) { var err error ret, err = getter(f.jw.AtPath(p)) if err == nil { @@ -388,19 +388,19 @@ func (f *JSONFile) getValueAtPath(p string, getter valueGetter) (ret interface{} return ret, isSet } -func getString(w *jsonw.Wrapper) (interface{}, error) { +func getString(w *jsonw.Wrapper) (any, error) { return w.GetString() } -func getBool(w *jsonw.Wrapper) (interface{}, error) { +func getBool(w *jsonw.Wrapper) (any, error) { return w.GetBool() } -func getInt(w *jsonw.Wrapper) (interface{}, error) { +func getInt(w *jsonw.Wrapper) (any, error) { return w.GetInt() } -func getFloat(w *jsonw.Wrapper) (interface{}, error) { +func getFloat(w *jsonw.Wrapper) (any, error) { return w.GetFloat() } @@ -408,7 +408,7 @@ func (f *JSONFile) GetFilename() string { return f.filename } -func (f *JSONFile) GetInterfaceAtPath(p string) (i interface{}, err error) { +func (f *JSONFile) GetInterfaceAtPath(p string) (i any, err error) { f.setMutex.RLock() defer f.setMutex.RUnlock() return f.jw.AtPath(p).GetInterface() @@ -462,7 +462,7 @@ func (f *JSONFile) GetNullAtPath(p string) (isSet bool) { return isSet } -func (f *JSONFile) setValueAtPath(p string, getter valueGetter, v interface{}) error { +func (f *JSONFile) setValueAtPath(p string, getter valueGetter, v any) error { existing, err := getter(f.jw.AtPath(p)) if err != nil || existing != v { diff --git a/go/libkb/json_test.go b/go/libkb/json_test.go index b9aeb4e33e67..8351d8128c48 100644 --- a/go/libkb/json_test.go +++ b/go/libkb/json_test.go @@ -25,7 +25,7 @@ func TestJsonTransaction(t *testing.T) { defer tc.Cleanup() var wg sync.WaitGroup - for i := 0; i < 20; i++ { + for range 20 { wg.Add(1) go func() { tx, err := tc.G.Env.GetConfigWriter().BeginTransaction() @@ -35,7 +35,7 @@ func TestJsonTransaction(t *testing.T) { wg.Done() }() } - for i := 0; i < 20; i++ { + for range 20 { wg.Add(1) go func() { tx, err := tc.G.Env.GetConfigWriter().BeginTransaction() diff --git a/go/libkb/keyfamily.go b/go/libkb/keyfamily.go index 392b2690cb56..74be0c9b9327 100644 --- a/go/libkb/keyfamily.go +++ b/go/libkb/keyfamily.go @@ -9,6 +9,7 @@ package libkb import ( "errors" "fmt" + "maps" "runtime/debug" "sort" "time" @@ -250,25 +251,15 @@ func (cki ComputedKeyInfos) ShallowCopy() *ComputedKeyInfos { KIDToDeviceID: make(map[keybase1.KID]keybase1.DeviceID, len(cki.KIDToDeviceID)), PerUserKeys: make(map[keybase1.PerUserKeyGeneration]keybase1.PerUserKey), } - for k, v := range cki.Infos { - ret.Infos[k] = v - } + maps.Copy(ret.Infos, cki.Infos) - for k, v := range cki.Sigs { - ret.Sigs[k] = v - } + maps.Copy(ret.Sigs, cki.Sigs) - for k, v := range cki.Devices { - ret.Devices[k] = v - } + maps.Copy(ret.Devices, cki.Devices) - for k, v := range cki.KIDToDeviceID { - ret.KIDToDeviceID[k] = v - } + maps.Copy(ret.KIDToDeviceID, cki.KIDToDeviceID) - for k, v := range cki.PerUserKeys { - ret.PerUserKeys[k] = v - } + maps.Copy(ret.PerUserKeys, cki.PerUserKeys) return ret } @@ -283,25 +274,15 @@ func (kf KeyFamily) ShallowCopy() *KeyFamily { SingleKeys: make(map[keybase1.KID]GenericKey), } - for k, v := range kf.pgp2kid { - ret.pgp2kid[k] = v - } + maps.Copy(ret.pgp2kid, kf.pgp2kid) - for k, v := range kf.kid2pgp { - ret.kid2pgp[k] = v - } + maps.Copy(ret.kid2pgp, kf.kid2pgp) - for k, v := range kf.AllKIDs { - ret.AllKIDs[k] = v - } + maps.Copy(ret.AllKIDs, kf.AllKIDs) - for k, v := range kf.PGPKeySets { - ret.PGPKeySets[k] = v - } + maps.Copy(ret.PGPKeySets, kf.PGPKeySets) - for k, v := range kf.SingleKeys { - ret.SingleKeys[k] = v - } + maps.Copy(ret.SingleKeys, kf.SingleKeys) return ret } diff --git a/go/libkb/leveldb_cleaner.go b/go/libkb/leveldb_cleaner.go index a363ac224ded..145ce3b50625 100644 --- a/go/libkb/leveldb_cleaner.go +++ b/go/libkb/leveldb_cleaner.go @@ -153,7 +153,7 @@ func (c *levelDbCleaner) monitorAppState(stopCh chan struct{}) { } } -func (c *levelDbCleaner) log(format string, args ...interface{}) { +func (c *levelDbCleaner) log(format string, args ...any) { c.M().Debug(fmt.Sprintf("levelDbCleaner(%s): %s", c.dbName, format), args...) } @@ -239,7 +239,7 @@ func (c *levelDbCleaner) clean(force bool) (err error) { } var totalNumPurged, numPurged int - for i := 0; i < 100; i++ { + for i := range 100 { select { case <-cancelCh: c.log("aborting clean, %d runs, canceled", i) diff --git a/go/libkb/link_cache.go b/go/libkb/link_cache.go index 2799fa6ca415..1e66c79c8204 100644 --- a/go/libkb/link_cache.go +++ b/go/libkb/link_cache.go @@ -121,7 +121,7 @@ func (c *LinkCache) Clean() { c.Lock() defer c.Unlock() delta := len(c.cache) - c.maxSize - for i := 0; i < delta; i++ { + for range delta { // get the least recently used element oldest := c.accessOrder.Front() diff --git a/go/libkb/link_cache_test.go b/go/libkb/link_cache_test.go index 478aadad2775..3125c57c3dc5 100644 --- a/go/libkb/link_cache_test.go +++ b/go/libkb/link_cache_test.go @@ -39,7 +39,7 @@ func TestLinkCacheBasics(t *testing.T) { t.Errorf("Get failed after Put") } - for i := 0; i < 50; i++ { + for range 50 { nlink := randChainLink() c.Put(m, nlink.id, nlink) } @@ -80,7 +80,7 @@ func TestLinkCacheAtime(t *testing.T) { t.Errorf("Get failed after Put") } - for i := 0; i < 50; i++ { + for range 50 { nlink := randChainLink() c.Put(m, nlink.id, nlink) } @@ -117,10 +117,10 @@ func TestLinkCacheConcurrent(t *testing.T) { var m MetaContext var wg sync.WaitGroup - for i := 0; i < 10; i++ { + for range 10 { wg.Add(1) go func() { - for x := 0; x < 100; x++ { + for range 100 { link := randChainLink() c.Put(m, link.id, link) _, ok := c.Get(link.id) diff --git a/go/libkb/lksec.go b/go/libkb/lksec.go index 5479825dd2e5..93f7155166b6 100644 --- a/go/libkb/lksec.go +++ b/go/libkb/lksec.go @@ -162,7 +162,7 @@ type LKSec struct { func xorBytes(x *[LKSecLen]byte, y *[LKSecLen]byte) *[LKSecLen]byte { var ret [LKSecLen]byte - for i := 0; i < LKSecLen; i++ { + for i := range LKSecLen { ret[i] = x[i] ^ y[i] } return &ret diff --git a/go/libkb/loaduser_test.go b/go/libkb/loaduser_test.go index ee81a9a84440..676d9c230a76 100644 --- a/go/libkb/loaduser_test.go +++ b/go/libkb/loaduser_test.go @@ -16,7 +16,7 @@ func TestLoadUserPlusKeys(t *testing.T) { m := NewMetaContextForTest(tc) // this is kind of pointless as there is no cache anymore - for i := 0; i < 10; i++ { + for range 10 { u, err := LoadUserPlusKeys(m.Ctx(), tc.G, "295a7eea607af32040647123732bc819", "") if err != nil { t.Fatal(err) diff --git a/go/libkb/login_session_test.go b/go/libkb/login_session_test.go index bce598974e59..93a2e652976b 100644 --- a/go/libkb/login_session_test.go +++ b/go/libkb/login_session_test.go @@ -32,7 +32,7 @@ type FakeAPI struct{} func (a *FakeAPI) Get(mctx MetaContext, arg APIArg) (*APIRes, error) { decoder := json.NewDecoder(bytes.NewBufferString(fakeResponse)) - var obj interface{} + var obj any decoder.UseNumber() err := decoder.Decode(&obj) if err != nil { diff --git a/go/libkb/loopback.go b/go/libkb/loopback.go index 00368cc18590..fc0d095f0d3b 100644 --- a/go/libkb/loopback.go +++ b/go/libkb/loopback.go @@ -126,8 +126,13 @@ func (lc *LoopbackConn) Read(b []byte) (n int, err error) { if !ok { return 0, io.EOF } - lc.buf.Write(msg) - return lc.buf.Read(b) + // Copy directly from message to caller's buffer, only buffering leftovers. + // Most messages fit in the read buffer, so this saves one full copy. + n = copy(b, msg) + if n < len(msg) { + lc.buf.Write(msg[n:]) + } + return n, nil } // Write writes data to the connection. diff --git a/go/libkb/markup.go b/go/libkb/markup.go index 1a4d3d21e3c6..2f78d51f5e5d 100644 --- a/go/libkb/markup.go +++ b/go/libkb/markup.go @@ -26,7 +26,7 @@ func NewMarkup(s string) *Markup { return &Markup{markupFrame(s)} } -func FmtMarkup(f string, args ...interface{}) *Markup { +func FmtMarkup(f string, args ...any) *Markup { return &Markup{data: markupFrame(fmt.Sprintf(f, args...))} } diff --git a/go/libkb/merkle_client.go b/go/libkb/merkle_client.go index eff5783fed83..b910bcb69544 100644 --- a/go/libkb/merkle_client.go +++ b/go/libkb/merkle_client.go @@ -816,7 +816,7 @@ func (mc *MerkleClient) lookupLeafAndPath(m MetaContext, q HTTPArgs, root *Merkl func (mc *MerkleClient) lookupLeafAndPathHelper(m MetaContext, q HTTPArgs, sigHints *SigHints, root *MerkleRoot, opts MerkleOpts) (apiRes *APIRes, newRoot *MerkleRoot, err error) { defer m.VTrace(VLog1, "MerkleClient#lookupLeafAndPathHelper", &err)() - for i := 0; i < 5; i++ { + for range 5 { apiRes, rootRefreshNeeded, err := mc.lookupLeafAndPathHelperOnce(m, q, sigHints, root, opts) if err != nil { return nil, nil, err diff --git a/go/libkb/merkle_reset_chain.go b/go/libkb/merkle_reset_chain.go index f4ce169616ac..e48bc4db739e 100644 --- a/go/libkb/merkle_reset_chain.go +++ b/go/libkb/merkle_reset_chain.go @@ -41,7 +41,7 @@ func importResetChainFromServer(m MetaContext, jw *jsonw.Wrapper) (urc unverifie if err != nil { return nil, err } - for i := 0; i < chainLen; i++ { + for i := range chainLen { s, err := jw.AtIndex(i).GetString() if err != nil { return nil, err @@ -98,7 +98,7 @@ func (mr *MerkleResets) verifyAndLoad(m MetaContext, urc unverifiedResetChain) ( defer m.VTrace(VLog1, "MerkleResets#verifyAndLoad", &err)() - mkerr := func(f string, a ...interface{}) error { + mkerr := func(f string, a ...any) error { return MerkleClientError{m: fmt.Sprintf(f, a...), t: merkleErrorBadResetChain} } diff --git a/go/libkb/net_context.go b/go/libkb/net_context.go index 1cfb8605804d..9d5dea32e86b 100644 --- a/go/libkb/net_context.go +++ b/go/libkb/net_context.go @@ -60,7 +60,7 @@ func LogTagsToString(ctx context.Context) string { func LogTagsFromString(tags string) map[string]string { tagMap := make(map[string]string) - for _, tag := range strings.Split(tags, ",") { + for tag := range strings.SplitSeq(tags, ",") { parsedTag := strings.Split(tag, "=") if len(parsedTag) != 2 { continue diff --git a/go/libkb/osv_darwin.go b/go/libkb/osv_darwin.go index 96682805739c..967b097f9b03 100644 --- a/go/libkb/osv_darwin.go +++ b/go/libkb/osv_darwin.go @@ -1,5 +1,4 @@ //go:build darwin -// +build darwin package libkb diff --git a/go/libkb/osv_fallback.go b/go/libkb/osv_fallback.go index 69ba251ed580..aaedb38298d7 100644 --- a/go/libkb/osv_fallback.go +++ b/go/libkb/osv_fallback.go @@ -1,5 +1,4 @@ //go:build !darwin && !windows && !dragonfly && !freebsd && !linux && !netbsd && !openbsd && !solaris -// +build !darwin,!windows,!dragonfly,!freebsd,!linux,!netbsd,!openbsd,!solaris package libkb diff --git a/go/libkb/osv_nix.go b/go/libkb/osv_nix.go index 76cfacaba788..57fc1ab59428 100644 --- a/go/libkb/osv_nix.go +++ b/go/libkb/osv_nix.go @@ -1,5 +1,4 @@ //go:build dragonfly || freebsd || linux || netbsd || openbsd || solaris -// +build dragonfly freebsd linux netbsd openbsd solaris package libkb diff --git a/go/libkb/osv_windows.go b/go/libkb/osv_windows.go index 02ca5d00f28f..bac052bef2b0 100644 --- a/go/libkb/osv_windows.go +++ b/go/libkb/osv_windows.go @@ -1,5 +1,4 @@ //go:build windows -// +build windows package libkb diff --git a/go/libkb/paperkey_phrase.go b/go/libkb/paperkey_phrase.go index c3254aa2a630..c550071e8241 100644 --- a/go/libkb/paperkey_phrase.go +++ b/go/libkb/paperkey_phrase.go @@ -19,7 +19,7 @@ type PaperKeyPhrase string // the given version. func MakePaperKeyPhrase(version uint8) (PaperKeyPhrase, error) { nbits := PaperKeySecretEntropy + PaperKeyIDBits + PaperKeyVersionBits - for i := 0; i < 1000; i++ { + for range 1000 { words, err := SecWordList(nbits) if err != nil { return "", err diff --git a/go/libkb/passphrase_helper.go b/go/libkb/passphrase_helper.go index f5e82a92091e..fe9fbf1baaac 100644 --- a/go/libkb/passphrase_helper.go +++ b/go/libkb/passphrase_helper.go @@ -98,7 +98,7 @@ func GetPaperKeyForCryptoPassphrase(m MetaContext, ui SecretUI, reason string, d func GetNewKeybasePassphrase(mctx MetaContext, ui SecretUI, arg keybase1.GUIEntryArg, confirm string) (keybase1.GetPassphraseRes, error) { initialPrompt := arg.Prompt - for i := 0; i < 10; i++ { + for range 10 { res, err := GetPassphraseUntilCheckWithChecker(mctx, arg, newUIPrompter(ui), &CheckPassphraseNew) if err != nil { @@ -153,7 +153,7 @@ func GetPassphraseUntilCheckWithChecker(m MetaContext, arg keybase1.GUIEntryArg, } func GetPassphraseUntilCheck(m MetaContext, arg keybase1.GUIEntryArg, prompter PassphrasePrompter, checker PassphraseChecker) (keybase1.GetPassphraseRes, error) { - for i := 0; i < 10; i++ { + for range 10 { res, err := prompter.Prompt(arg) if err != nil { return keybase1.GetPassphraseRes{}, err diff --git a/go/libkb/passphrase_login.go b/go/libkb/passphrase_login.go index 1351a0da62ac..4bf4630d132a 100644 --- a/go/libkb/passphrase_login.go +++ b/go/libkb/passphrase_login.go @@ -108,7 +108,7 @@ func pplGotPassphrase(m MetaContext, usernameOrEmail string, passphrase string, func pplPromptLoop(m MetaContext, maxAttempts int, ls *LoginSession, arg keybase1.GUIEntryArg) (err error) { defer m.Trace("pplPromptLoop", &err)() - for i := 0; i < maxAttempts; i++ { + for range maxAttempts { if err = pplPromptOnce(m, ls, arg); err == nil { return nil } diff --git a/go/libkb/per_user_key.go b/go/libkb/per_user_key.go index 0dc622294079..dbd1f339f0b3 100644 --- a/go/libkb/per_user_key.go +++ b/go/libkb/per_user_key.go @@ -5,6 +5,7 @@ import ( "encoding/base64" "errors" "fmt" + "maps" "sort" "strings" "sync" @@ -97,7 +98,7 @@ func newPerUserKeyPrev(contents PerUserKeySeed, symmetricKey NaclSecretBoxKey) ( // secretbox sealed := secretbox.Seal(nil, contents[:], &nonce, (*[NaclSecretBoxKeySize]byte)(&symmetricKey)) - parts := []interface{}{version, nonce, sealed} + parts := []any{version, nonce, sealed} // msgpack mh := codec.MsgpackHandle{WriteExt: true} @@ -519,9 +520,7 @@ func (s *PerUserKeyring) getUPAK(m MetaContext, upak *keybase1.UserPlusAllKeys, } func (s *PerUserKeyring) mergeLocked(m perUserKeyMap, seqgen perUserKeySeqGenMap) (err error) { - for k, v := range m { - s.generations[k] = v - } + maps.Copy(s.generations, m) s.seqgen = seqgen return nil } diff --git a/go/libkb/pgp_key_test.go b/go/libkb/pgp_key_test.go index b4eaf67f8d47..ee425b8d48c4 100644 --- a/go/libkb/pgp_key_test.go +++ b/go/libkb/pgp_key_test.go @@ -44,7 +44,7 @@ HKfiyXs8709e067vsE5FCTMvZCq4vt/lkEJ59xn58QBfEILMwQDNLqVGyA54MPwh -----END PGP PUBLIC KEY BLOCK----- ` expected := "Primary Primary " - for i := 0; i < 100; i++ { + for range 100 { key, _, err := ReadOneKeyFromString(armored) if err != nil { t.Error(err) diff --git a/go/libkb/pipeowner_windows.go b/go/libkb/pipeowner_windows.go index 77380bce38cd..1d4b73441abb 100644 --- a/go/libkb/pipeowner_windows.go +++ b/go/libkb/pipeowner_windows.go @@ -2,7 +2,6 @@ // this source code is governed by the included BSD license. //go:build windows -// +build windows package libkb diff --git a/go/libkb/ptrace_osx.go b/go/libkb/ptrace_osx.go index 6adccc71f05d..c820c9e17a62 100644 --- a/go/libkb/ptrace_osx.go +++ b/go/libkb/ptrace_osx.go @@ -2,7 +2,6 @@ // this source code is governed by the included BSD license. //go:build darwin -// +build darwin package libkb diff --git a/go/libkb/ptrace_other.go b/go/libkb/ptrace_other.go index cb362596ce11..1f8ca52d5953 100644 --- a/go/libkb/ptrace_other.go +++ b/go/libkb/ptrace_other.go @@ -2,7 +2,6 @@ // this source code is governed by the included BSD license. //go:build !darwin -// +build !darwin package libkb diff --git a/go/libkb/remote_proof_links.go b/go/libkb/remote_proof_links.go index ccc7d21dbf65..90c89ef7e9ea 100644 --- a/go/libkb/remote_proof_links.go +++ b/go/libkb/remote_proof_links.go @@ -4,6 +4,8 @@ package libkb import ( + "slices" + keybase1 "github.com/keybase/client/go/protocol/keybase1" jsonw "github.com/keybase/go-jsonw" ) @@ -106,12 +108,7 @@ func (r *RemoteProofLinks) AddProofsToSet(existing *ProofSet, okStates []keybase okStates = []keybase1.ProofState{keybase1.ProofState_OK} } isOkState := func(s1 keybase1.ProofState) bool { - for _, s2 := range okStates { - if s1 == s2 { - return true - } - } - return false + return slices.Contains(okStates, s1) } for _, a := range r.active() { if !isOkState(a.state) { diff --git a/go/libkb/rpc_exim.go b/go/libkb/rpc_exim.go index 9e5e3e252c2f..b86b1c0374f3 100644 --- a/go/libkb/rpc_exim.go +++ b/go/libkb/rpc_exim.go @@ -193,13 +193,13 @@ func ExportErrorAsStatus(g *GlobalContext, e error) (ret *keybase1.Status) { // ============================================================================= -func MakeWrapError(g *GlobalContext) func(e error) interface{} { - return func(e error) interface{} { +func MakeWrapError(g *GlobalContext) func(e error) any { + return func(e error) any { return ExportErrorAsStatus(g, e) } } -func WrapError(e error) interface{} { +func WrapError(e error) any { return ExportErrorAsStatus(nil, e) } @@ -213,11 +213,11 @@ func NewContextifiedErrorUnwrapper(g *GlobalContext) ErrorUnwrapper { return ErrorUnwrapper{NewContextified(g)} } -func (c ErrorUnwrapper) MakeArg() interface{} { +func (c ErrorUnwrapper) MakeArg() any { return &keybase1.Status{} } -func (c ErrorUnwrapper) UnwrapError(arg interface{}) (appError error, dispatchError error) { +func (c ErrorUnwrapper) UnwrapError(arg any) (appError error, dispatchError error) { targ, ok := arg.(*keybase1.Status) if !ok { dispatchError = errors.New("Error converting status to keybase1.Status object") diff --git a/go/libkb/saferdllloading_dummy.go b/go/libkb/saferdllloading_dummy.go index ab8b2123f3f8..3275d1f6a040 100644 --- a/go/libkb/saferdllloading_dummy.go +++ b/go/libkb/saferdllloading_dummy.go @@ -1,5 +1,4 @@ //go:build !windows -// +build !windows // Copyright 2016 Keybase, Inc. All rights reserved. Use of // this source code is governed by the included BSD license. diff --git a/go/libkb/saltpack_test.go b/go/libkb/saltpack_test.go index 0d4be6b8a848..4920a2313013 100644 --- a/go/libkb/saltpack_test.go +++ b/go/libkb/saltpack_test.go @@ -43,7 +43,7 @@ func TestSaltpackEncDec(t *testing.T) { var receiverKPs []NaclDHKeyPair var receiverPKs []NaclDHKeyPublic - for i := 0; i < 12; i++ { + for range 12 { kp, err := GenerateNaclDHKeyPair() if err != nil { t.Fatal(err) diff --git a/go/libkb/secret_store.go b/go/libkb/secret_store.go index 8427edc54ca5..4eb7645138a6 100644 --- a/go/libkb/secret_store.go +++ b/go/libkb/secret_store.go @@ -117,19 +117,22 @@ func GetConfiguredAccountsFromProvisionedUsernames(m MetaContext, s SecretStoreA allUsernames = append(allUsernames, currentUsername) } + // Build UIDs first so we can attach them to each account + uids := make([]keybase1.UID, len(allUsernames)) + for idx, username := range allUsernames { + uids[idx] = GetUIDByNormalizedUsername(m.G(), username) + } + accounts := make(map[NormalizedUsername]keybase1.ConfiguredAccount) - for _, username := range allUsernames { + for idx, username := range allUsernames { accounts[username] = keybase1.ConfiguredAccount{ Username: username.String(), IsCurrent: username.Eq(currentUsername), + Uid: uids[idx], } } // Get the full names - uids := make([]keybase1.UID, len(allUsernames)) - for idx, username := range allUsernames { - uids[idx] = GetUIDByNormalizedUsername(m.G(), username) - } usernamePackages, err := m.G().UIDMapper.MapUIDsToUsernamePackages(m.Ctx(), m.G(), uids, time.Hour*24, time.Second*10, false) if err != nil { diff --git a/go/libkb/secret_store_android.go b/go/libkb/secret_store_android.go index 609df99f4084..52c4846185a9 100644 --- a/go/libkb/secret_store_android.go +++ b/go/libkb/secret_store_android.go @@ -2,7 +2,6 @@ // this source code is governed by the included BSD license. //go:build android -// +build android package libkb diff --git a/go/libkb/secret_store_common.go b/go/libkb/secret_store_common.go index 246c8f7d0189..f7a15d3aeac5 100644 --- a/go/libkb/secret_store_common.go +++ b/go/libkb/secret_store_common.go @@ -2,7 +2,6 @@ // this source code is governed by the included BSD license. //go:build linux || (!darwin && !android && !linux) -// +build linux !darwin,!android,!linux package libkb diff --git a/go/libkb/secret_store_darwin.go b/go/libkb/secret_store_darwin.go index e0b09aaa2703..03c6bfedfce1 100644 --- a/go/libkb/secret_store_darwin.go +++ b/go/libkb/secret_store_darwin.go @@ -2,7 +2,6 @@ // this source code is governed by the included BSD license. //go:build darwin -// +build darwin package libkb @@ -71,7 +70,7 @@ func (k KeychainSecretStore) StoreSecret(mctx MetaContext, accountName Normalize // Try until we successfully write the secret in the store and we are the // last entry. - for i := 0; i < maxKeychainItemSlots; i++ { + for i := range maxKeychainItemSlots { account := newKeychainSlottedAccount(accountName, i) if err = k.storeSecret(mctx, account, encodedSecret); err != nil { mctx.Debug("KeychainSecretStore.StoreSecret(%s): unable to store secret %v, attempt %d, retrying", accountName, err, i) @@ -128,7 +127,7 @@ func (k KeychainSecretStore) RetrieveSecret(mctx MetaContext, accountName Normal // find the last valid item we have stored in the keychain var previousSecret LKSecFullSecret - for i := 0; i < maxKeychainItemSlots; i++ { + for i := range maxKeychainItemSlots { account := newKeychainSlottedAccount(accountName, i) secret, err = k.retrieveSecret(mctx, account) if err == nil { @@ -182,7 +181,7 @@ func (k KeychainSecretStore) ClearSecret(mctx MetaContext, accountName Normalize // Try all slots to fully clear any secrets for this user epick := FirstErrorPicker{} - for i := 0; i < maxKeychainItemSlots; i++ { + for i := range maxKeychainItemSlots { account := newKeychainSlottedAccount(accountName, i) err = k.clearSecret(mctx, account) switch err { diff --git a/go/libkb/secret_store_darwin_devel.go b/go/libkb/secret_store_darwin_devel.go index 81d9e2196903..24c44310c645 100644 --- a/go/libkb/secret_store_darwin_devel.go +++ b/go/libkb/secret_store_darwin_devel.go @@ -1,5 +1,4 @@ //go:build !production && darwin -// +build !production,darwin package libkb diff --git a/go/libkb/secret_store_darwin_production.go b/go/libkb/secret_store_darwin_production.go index 1152dc63bd0e..1e25a3e64e3b 100644 --- a/go/libkb/secret_store_darwin_production.go +++ b/go/libkb/secret_store_darwin_production.go @@ -1,5 +1,4 @@ //go:build production && darwin -// +build production,darwin package libkb diff --git a/go/libkb/secret_store_darwin_test.go b/go/libkb/secret_store_darwin_test.go index 323b50d5a4d1..54d9f40fa060 100644 --- a/go/libkb/secret_store_darwin_test.go +++ b/go/libkb/secret_store_darwin_test.go @@ -1,5 +1,4 @@ //go:build darwin -// +build darwin package libkb @@ -64,7 +63,7 @@ func TestSecretStoreDarwin(t *testing.T) { require.Equal(t, string(expectedSecret1), string(secret.Bytes())) // verify our keychain state - for i := 0; i < 2; i++ { + for i := range 2 { account := newKeychainSlottedAccount(nu, i) query := keychain.NewItem() query.SetSecClass(keychain.SecClassGenericPassword) @@ -94,7 +93,7 @@ func TestSecretStoreDarwin(t *testing.T) { err = secretStore.ClearSecret(mctx, nu) require.NoError(t, err) - for i := 0; i < 2; i++ { + for i := range 2 { account := newKeychainSlottedAccount(nu, i) query := keychain.NewItem() query.SetSecClass(keychain.SecClassGenericPassword) diff --git a/go/libkb/secret_store_external.go b/go/libkb/secret_store_external.go index f210d7497030..70566254e464 100644 --- a/go/libkb/secret_store_external.go +++ b/go/libkb/secret_store_external.go @@ -2,7 +2,6 @@ // this source code is governed by the included BSD license. //go:build android -// +build android package libkb diff --git a/go/libkb/secret_store_ios.go b/go/libkb/secret_store_ios.go index 32a700f114c1..96703a2c13cd 100644 --- a/go/libkb/secret_store_ios.go +++ b/go/libkb/secret_store_ios.go @@ -2,7 +2,6 @@ // this source code is governed by the included BSD license. //go:build darwin && ios -// +build darwin,ios package libkb diff --git a/go/libkb/secret_store_linux.go b/go/libkb/secret_store_linux.go index a229dfefccd4..c2b365372d41 100644 --- a/go/libkb/secret_store_linux.go +++ b/go/libkb/secret_store_linux.go @@ -2,7 +2,6 @@ // this source code is governed by the included BSD license. //go:build linux && !android -// +build linux,!android package libkb diff --git a/go/libkb/secret_store_osx.go b/go/libkb/secret_store_osx.go index 3dcf41db605e..abd712fa4637 100644 --- a/go/libkb/secret_store_osx.go +++ b/go/libkb/secret_store_osx.go @@ -2,7 +2,6 @@ // this source code is governed by the included BSD license. //go:build darwin && !ios -// +build darwin,!ios package libkb diff --git a/go/libkb/secret_store_other.go b/go/libkb/secret_store_other.go index 84fb297cb418..305aecaa0bee 100644 --- a/go/libkb/secret_store_other.go +++ b/go/libkb/secret_store_other.go @@ -2,7 +2,6 @@ // this source code is governed by the included BSD license. //go:build !darwin && !android && !linux -// +build !darwin,!android,!linux package libkb diff --git a/go/libkb/secret_store_secretservice.go b/go/libkb/secret_store_secretservice.go index 0e92f047db9c..dc15471777a7 100644 --- a/go/libkb/secret_store_secretservice.go +++ b/go/libkb/secret_store_secretservice.go @@ -2,7 +2,6 @@ // this source code is governed by the included BSD license. //go:build linux -// +build linux package libkb diff --git a/go/libkb/secret_store_secretservice_test.go b/go/libkb/secret_store_secretservice_test.go index ee6a53299bd1..38e040e18eaa 100644 --- a/go/libkb/secret_store_secretservice_test.go +++ b/go/libkb/secret_store_secretservice_test.go @@ -2,7 +2,6 @@ // this source code is governed by the included BSD license. //go:build linux && !skipkeyringtests -// +build linux,!skipkeyringtests // nolint:unused package libkb diff --git a/go/libkb/secret_store_test.go b/go/libkb/secret_store_test.go index cfda2d6b8523..16f43607e0f4 100644 --- a/go/libkb/secret_store_test.go +++ b/go/libkb/secret_store_test.go @@ -95,7 +95,7 @@ func TestGetUsersWithStoredSecrets(t *testing.T) { } expectedUsernames := make([]string, 10) - for i := 0; i < len(expectedUsernames); i++ { + for i := range expectedUsernames { expectedUsernames[i] = fmt.Sprintf("account with unicode テスト %d", i) if err := tc.G.SecretStore().StoreSecret(m, NewNormalizedUsername(expectedUsernames[i]), fs); err != nil { @@ -121,7 +121,7 @@ func TestGetUsersWithStoredSecrets(t *testing.T) { } } - for i := 0; i < len(expectedUsernames); i++ { + for i := range expectedUsernames { err = tc.G.SecretStore().ClearSecret(m, NewNormalizedUsername(expectedUsernames[i])) if err != nil { t.Error(err) diff --git a/go/libkb/secret_store_upgradeable_test.go b/go/libkb/secret_store_upgradeable_test.go index 343101d5b497..4d8edce3ad28 100644 --- a/go/libkb/secret_store_upgradeable_test.go +++ b/go/libkb/secret_store_upgradeable_test.go @@ -57,7 +57,7 @@ func TestUSSUpgradeOnStore(t *testing.T) { nu := NewNormalizedUsername("tusername") secret := makeRandomSecretForTest(t) - for i := 0; i < 2; i++ { + for i := range 2 { t.Logf("Doing Store/Retrieve, attempt %d", i) err := ss.StoreSecret(m, nu, secret) require.NoError(t, err) @@ -80,7 +80,7 @@ func TestUSSUpgradeOnStore(t *testing.T) { // Change fallback behavior, primary secret store can be used again. testStore.shouldFallback = SecretStoreFallbackBehaviorOnError - for i := 0; i < 2; i++ { + for i := range 2 { // Not doing fallback anymore, store B should be cleared for NU and // secret should be exclusively in store A. t.Logf("shouldFallback = false, trying again, attempt %d", i) @@ -233,7 +233,7 @@ func TestUSSFallback(t *testing.T) { t.Logf("Changing behavior to SecretStoreFallbackBehaviorNever") behavior = SecretStoreFallbackBehaviorNever - for i := 0; i < 2; i++ { + for i := range 2 { t.Logf("Attempt %d", i) // We should still be able to retrieve our secret. diff --git a/go/libkb/secwords.go b/go/libkb/secwords.go index 6e0cd01d63ce..f29d2b2ca14e 100644 --- a/go/libkb/secwords.go +++ b/go/libkb/secwords.go @@ -25,7 +25,7 @@ func secWordCount(entropy int) int { func secWordListN(n int) ([]string, error) { var res []string maxI := big.NewInt(int64(len(secwords))) - for i := 0; i < n; i++ { + for range n { x, err := rand.Int(rand.Reader, maxI) if err != nil { return []string{}, err diff --git a/go/libkb/service_info.go b/go/libkb/service_info.go index b22d1408e07a..54d56c4ecc71 100644 --- a/go/libkb/service_info.go +++ b/go/libkb/service_info.go @@ -54,7 +54,7 @@ func (s ServiceInfo) WriteFile(path string, log logger.Logger) error { // serviceLog is the log interface for ServiceInfo type serviceLog interface { - Debug(s string, args ...interface{}) + Debug(s string, args ...any) } func LoadServiceInfo(path string) (*ServiceInfo, error) { diff --git a/go/libkb/sig_chain_test.go b/go/libkb/sig_chain_test.go index 2559f86c3eab..02fa3687abb8 100644 --- a/go/libkb/sig_chain_test.go +++ b/go/libkb/sig_chain_test.go @@ -24,70 +24,70 @@ import ( func getErrorTypesMap() map[string]map[reflect.Type]bool { return map[string]map[reflect.Type]bool{ "CTIME_MISMATCH": { - reflect.TypeOf(CtimeMismatchError{}): true, + reflect.TypeFor[CtimeMismatchError](): true, }, "EXPIRED_SIBKEY": { - reflect.TypeOf(KeyExpiredError{}): true, + reflect.TypeFor[KeyExpiredError](): true, }, "FINGERPRINT_MISMATCH": { - reflect.TypeOf(ChainLinkFingerprintMismatchError{}): true, + reflect.TypeFor[ChainLinkFingerprintMismatchError](): true, }, "INVALID_SIBKEY": { - reflect.TypeOf(KeyRevokedError{}): true, + reflect.TypeFor[KeyRevokedError](): true, }, "NO_KEY_WITH_THIS_HASH": { - reflect.TypeOf(NoKeyError{}): true, + reflect.TypeFor[NoKeyError](): true, }, "KEY_OWNERSHIP": { - reflect.TypeOf(KeyFamilyError{}): true, + reflect.TypeFor[KeyFamilyError](): true, }, "KID_MISMATCH": { - reflect.TypeOf(ChainLinkKIDMismatchError{}): true, + reflect.TypeFor[ChainLinkKIDMismatchError](): true, }, "NONEXISTENT_KID": { - reflect.TypeOf(KeyFamilyError{}): true, + reflect.TypeFor[KeyFamilyError](): true, }, "NOT_LATEST_SUBCHAIN": { - reflect.TypeOf(NotLatestSubchainError{}): true, + reflect.TypeFor[NotLatestSubchainError](): true, }, "REVERSE_SIG_VERIFY_FAILED": { - reflect.TypeOf(ReverseSigError{}): true, + reflect.TypeFor[ReverseSigError](): true, }, "VERIFY_FAILED": { - reflect.TypeOf(BadSigError{}): true, + reflect.TypeFor[BadSigError](): true, }, "WRONG_UID": { - reflect.TypeOf(UIDMismatchError{}): true, + reflect.TypeFor[UIDMismatchError](): true, }, "WRONG_USERNAME": { - reflect.TypeOf(BadUsernameError{}): true, + reflect.TypeFor[BadUsernameError](): true, }, "WRONG_SEQNO": { - reflect.TypeOf(ChainLinkWrongSeqnoError{}): true, + reflect.TypeFor[ChainLinkWrongSeqnoError](): true, }, "WRONG_PREV": { - reflect.TypeOf(ChainLinkPrevHashMismatchError{}): true, + reflect.TypeFor[ChainLinkPrevHashMismatchError](): true, }, "BAD_CHAIN_LINK": { - reflect.TypeOf(ChainLinkError{}): true, + reflect.TypeFor[ChainLinkError](): true, }, "CHAIN_LINK_STUBBED_UNSUPPORTED": { - reflect.TypeOf(ChainLinkStubbedUnsupportedError{}): true, + reflect.TypeFor[ChainLinkStubbedUnsupportedError](): true, }, "SIGCHAIN_V2_STUBBED_SIGNATURE_NEEDED": { - reflect.TypeOf(SigchainV2StubbedSignatureNeededError{}): true, + reflect.TypeFor[SigchainV2StubbedSignatureNeededError](): true, }, "SIGCHAIN_V2_STUBBED_FIRST_LINK": { - reflect.TypeOf(SigchainV2StubbedFirstLinkError{}): true, + reflect.TypeFor[SigchainV2StubbedFirstLinkError](): true, }, "SIGCHAIN_V2_MISMATCHED_FIELD": { - reflect.TypeOf(SigchainV2MismatchedFieldError{}): true, + reflect.TypeFor[SigchainV2MismatchedFieldError](): true, }, "SIGCHAIN_V2_MISMATCHED_HASH": { - reflect.TypeOf(SigchainV2MismatchedHashError{}): true, + reflect.TypeFor[SigchainV2MismatchedHashError](): true, }, "WRONG_PER_USER_KEY_REVERSE_SIG": { - reflect.TypeOf(ReverseSigError{}): true, + reflect.TypeFor[ReverseSigError](): true, }, } } @@ -206,7 +206,7 @@ func doChainTest(t *testing.T, tc TestContext, testCase TestCase) { loadedFromLinkOne: true, Contextified: NewContextified(tc.G), } - for i := 0; i < chainLen; i++ { + for i := range chainLen { linkBlob := inputBlob.AtKey("chain").AtIndex(i) rawLinkBlob, err := linkBlob.Marshal() if err != nil { diff --git a/go/libkb/socket_nix.go b/go/libkb/socket_nix.go index 284bd16c5aa0..af67242c9090 100644 --- a/go/libkb/socket_nix.go +++ b/go/libkb/socket_nix.go @@ -2,7 +2,6 @@ // this source code is governed by the included BSD license. //go:build !windows -// +build !windows // socket_nix.go diff --git a/go/libkb/socket_windows.go b/go/libkb/socket_windows.go index 47ef7bc8d640..e1fd90c0a3c0 100644 --- a/go/libkb/socket_windows.go +++ b/go/libkb/socket_windows.go @@ -2,7 +2,6 @@ // this source code is governed by the included BSD license. //go:build windows -// +build windows package libkb diff --git a/go/libkb/socket_windows_test.go b/go/libkb/socket_windows_test.go index a080b3adf558..f57101f519b7 100644 --- a/go/libkb/socket_windows_test.go +++ b/go/libkb/socket_windows_test.go @@ -2,7 +2,6 @@ // this source code is governed by the included BSD license. //go:build windows -// +build windows package libkb diff --git a/go/libkb/test_common.go b/go/libkb/test_common.go index 0af4ccac0f9d..ec064ff36267 100644 --- a/go/libkb/test_common.go +++ b/go/libkb/test_common.go @@ -2,7 +2,6 @@ // this source code is governed by the included BSD license. //go:build !production -// +build !production package libkb @@ -39,19 +38,19 @@ func (c *TestConfig) GetConfigFileName() string { return c.configFileName } // this in order to avoid pulling in the "testing" package in exported // code. type TestingTB interface { - Error(args ...interface{}) - Errorf(format string, args ...interface{}) + Error(args ...any) + Errorf(format string, args ...any) Fail() FailNow() Failed() bool - Fatal(args ...interface{}) - Fatalf(format string, args ...interface{}) - Log(args ...interface{}) - Logf(format string, args ...interface{}) + Fatal(args ...any) + Fatalf(format string, args ...any) + Log(args ...any) + Logf(format string, args ...any) Name() string - Skip(args ...interface{}) + Skip(args ...any) SkipNow() - Skipf(format string, args ...interface{}) + Skipf(format string, args ...any) Skipped() bool Helper() } @@ -389,15 +388,15 @@ type nullui struct { gctx *GlobalContext } -func (n *nullui) Printf(f string, args ...interface{}) (int, error) { +func (n *nullui) Printf(f string, args ...any) (int, error) { return fmt.Printf(f, args...) } -func (n *nullui) PrintfStderr(f string, args ...interface{}) (int, error) { +func (n *nullui) PrintfStderr(f string, args ...any) (int, error) { return fmt.Fprintf(os.Stderr, f, args...) } -func (n *nullui) PrintfUnescaped(f string, args ...interface{}) (int, error) { +func (n *nullui) PrintfUnescaped(f string, args ...any) (int, error) { return fmt.Printf(f, args...) } diff --git a/go/libkb/upak_loader_test.go b/go/libkb/upak_loader_test.go index bce8d43dc5bb..39b795cf3e3a 100644 --- a/go/libkb/upak_loader_test.go +++ b/go/libkb/upak_loader_test.go @@ -160,7 +160,7 @@ func TestLookupUsernameAndDevice(t *testing.T) { require.Equal(t, typ, keybase1.DeviceTypeV2_DESKTOP, "right type") } - for i := 0; i < 2; i++ { + for range 2 { test() test() fakeClock.Advance(10 * time.Hour) @@ -185,7 +185,7 @@ func TestLookupUID(t *testing.T) { require.Equal(t, uid, uid2) } - for i := 0; i < 2; i++ { + for range 2 { test() test() fakeClock.Advance(10 * time.Hour) diff --git a/go/libkb/util.go b/go/libkb/util.go index 2fadc3196ae8..3c00085512fc 100644 --- a/go/libkb/util.go +++ b/go/libkb/util.go @@ -24,6 +24,7 @@ import ( "path/filepath" "regexp" "runtime" + "slices" "strconv" "strings" "sync" @@ -200,8 +201,8 @@ type SafeWriter interface { } type SafeWriteLogger interface { - Debug(format string, args ...interface{}) - Errorf(format string, args ...interface{}) + Debug(format string, args ...any) + Errorf(format string, args ...any) } // SafeWriteToFile to safely write to a file. Use mode=0 for default permissions. @@ -386,11 +387,8 @@ func RandBytesWithSuffix(length int, suffix byte) ([]byte, error) { } func XORBytes(dst, a, b []byte) int { - n := len(a) - if len(b) < n { - n = len(b) - } - for i := 0; i < n; i++ { + n := min(len(b), len(a)) + for i := range n { dst[i] = a[i] ^ b[i] } return n @@ -583,12 +581,7 @@ func (g *GlobalContext) CTimeBuckets(ctx context.Context) (context.Context, *pro // SplitByRunes splits string by runes func SplitByRunes(s string, separators []rune) []string { f := func(r rune) bool { - for _, s := range separators { - if r == s { - return true - } - } - return false + return slices.Contains(separators, r) } return strings.FieldsFunc(s, f) } @@ -637,14 +630,14 @@ func Digest(r io.Reader) (string, error) { // TimeLog calls out with the time since start. Use like this: // // defer TimeLog("MyFunc", time.Now(), e.G().Log.Warning) -func TimeLog(name string, start time.Time, out func(string, ...interface{})) { +func TimeLog(name string, start time.Time, out func(string, ...any)) { out("time> %s: %s", name, time.Since(start)) } // CTimeLog calls out with the time since start. Use like this: // // defer CTimeLog(ctx, "MyFunc", time.Now(), e.G().Log.Warning) -func CTimeLog(ctx context.Context, name string, start time.Time, out func(context.Context, string, ...interface{})) { +func CTimeLog(ctx context.Context, name string, start time.Time, out func(context.Context, string, ...any)) { out(ctx, "time> %s: %s", name, time.Since(start)) } @@ -675,9 +668,9 @@ func JoinPredicate(arr []string, delimeter string, f func(s string) bool) string // LogTagsFromContext is a wrapper around logger.LogTagsFromContext // that simply casts the result to the type expected by // rpc.Connection. -func LogTagsFromContext(ctx context.Context) (map[interface{}]string, bool) { +func LogTagsFromContext(ctx context.Context) (map[any]string, bool) { tags, ok := logger.LogTagsFromContext(ctx) - return map[interface{}]string(tags), ok + return map[any]string(tags), ok } func MakeByte24(a []byte) [24]byte { @@ -841,7 +834,7 @@ func ShredFile(filename string) error { defer os.Remove(filename) - for i := 0; i < 3; i++ { + for range 3 { noise, err := RandBytes(size) if err != nil { return err @@ -854,7 +847,7 @@ func ShredFile(filename string) error { return os.Remove(filename) } -func MPackEncode(input interface{}) ([]byte, error) { +func MPackEncode(input any) ([]byte, error) { mh := codec.MsgpackHandle{WriteExt: true} var data []byte enc := codec.NewEncoderBytes(&data, &mh) @@ -864,7 +857,7 @@ func MPackEncode(input interface{}) ([]byte, error) { return data, nil } -func MPackDecode(data []byte, res interface{}) error { +func MPackDecode(data []byte, res any) error { mh := codec.MsgpackHandle{WriteExt: true} dec := codec.NewDecoderBytes(data, &mh) err := dec.Decode(res) @@ -889,7 +882,7 @@ func NoiseXOR(secret [32]byte, noise NoiseBytes) ([]byte, error) { } xor := make([]byte, len(sum)) - for i := 0; i < len(sum); i++ { + for i := range len(sum) { xor[i] = sum[i] ^ secret[i] } @@ -1082,7 +1075,7 @@ func getKBFSDeeplinkPath(afterKeybase string) string { return "" } var segments []string - for _, segment := range strings.Split(afterKeybase, "/") { + for segment := range strings.SplitSeq(afterKeybase, "/") { segments = append(segments, url.PathEscape(segment)) } return "keybase:/" + strings.Join(segments, "/") @@ -1161,24 +1154,24 @@ var throttleBatchClock = clockwork.NewRealClock() type throttleBatchEmpty struct{} -func isEmptyThrottleData(arg interface{}) bool { +func isEmptyThrottleData(arg any) bool { _, ok := arg.(throttleBatchEmpty) return ok } -func ThrottleBatch(f func(interface{}), batcher func(interface{}, interface{}) interface{}, - reset func() interface{}, delay time.Duration, leadingFire bool, -) (func(interface{}), func()) { +func ThrottleBatch(f func(any), batcher func(any, any) any, + reset func() any, delay time.Duration, leadingFire bool, +) (func(any), func()) { var lock sync.Mutex var closeLock sync.Mutex var lastCalled time.Time - var creation func(interface{}) + var creation func(any) hasStored := false scheduled := false stored := reset() cancelCh := make(chan struct{}) closed := false - creation = func(arg interface{}) { + creation = func(arg any) { lock.Lock() defer lock.Unlock() elapsed := throttleBatchClock.Since(lastCalled) diff --git a/go/libkb/util_nix.go b/go/libkb/util_nix.go index b7fb487e5c77..865d56c31752 100644 --- a/go/libkb/util_nix.go +++ b/go/libkb/util_nix.go @@ -2,7 +2,6 @@ // this source code is governed by the included BSD license. //go:build darwin || dragonfly || freebsd || linux || nacl || netbsd || openbsd || solaris -// +build darwin dragonfly freebsd linux nacl netbsd openbsd solaris package libkb diff --git a/go/libkb/util_test.go b/go/libkb/util_test.go index 2f003bd58254..74b7562e362f 100644 --- a/go/libkb/util_test.go +++ b/go/libkb/util_test.go @@ -221,7 +221,7 @@ func TestSecureRandomRndRange(t *testing.T) { } for _, test := range tests { - for i := 0; i < 10; i++ { + for range 10 { r, err := s.RndRange(test.lo, test.hi) if test.shouldErr { require.Error(t, err) @@ -247,7 +247,7 @@ func TestThrottleBatch(t *testing.T) { clock := clockwork.NewFakeClock() throttleBatchClock = clock ch := make(chan int, 100) - handler := func(arg interface{}) { + handler := func(arg any) { v, ok := arg.(int) require.True(t, ok) ch <- v @@ -268,14 +268,14 @@ func TestThrottleBatch(t *testing.T) { default: } } - batcher := func(batchedInt interface{}, singleInt interface{}) interface{} { + batcher := func(batchedInt any, singleInt any) any { batched, ok := batchedInt.(int) require.True(t, ok) single, ok := singleInt.(int) require.True(t, ok) return batched + single } - reset := func() interface{} { + reset := func() any { return 0 } diff --git a/go/libkb/util_windows.go b/go/libkb/util_windows.go index 2573f6773400..242c444ab064 100644 --- a/go/libkb/util_windows.go +++ b/go/libkb/util_windows.go @@ -2,7 +2,6 @@ // this source code is governed by the included BSD license. //go:build windows -// +build windows package libkb diff --git a/go/libkb/vdebug.go b/go/libkb/vdebug.go index 2f59cc1555a6..59663d986e65 100644 --- a/go/libkb/vdebug.go +++ b/go/libkb/vdebug.go @@ -68,7 +68,7 @@ func (v *VDebugLog) getLev() VDebugLevel { return v.lev } -func (v *VDebugLog) Log(lev VDebugLevel, fs string, args ...interface{}) { +func (v *VDebugLog) Log(lev VDebugLevel, fs string, args ...any) { if lev <= v.getLev() { prfx := fmt.Sprintf("{VDL:%d} ", int(lev)) fs = prfx + fs @@ -76,7 +76,7 @@ func (v *VDebugLog) Log(lev VDebugLevel, fs string, args ...interface{}) { } } -func (v *VDebugLog) CLogf(ctx context.Context, lev VDebugLevel, fs string, args ...interface{}) { +func (v *VDebugLog) CLogf(ctx context.Context, lev VDebugLevel, fs string, args ...any) { if lev <= v.getLev() { prfx := fmt.Sprintf("{VDL:%d} ", int(lev)) fs = prfx + fs @@ -84,7 +84,7 @@ func (v *VDebugLog) CLogf(ctx context.Context, lev VDebugLevel, fs string, args } } -func (v *VDebugLog) CLogfWithAddedDepth(ctx context.Context, lev VDebugLevel, d int, fs string, args ...interface{}) { +func (v *VDebugLog) CLogfWithAddedDepth(ctx context.Context, lev VDebugLevel, d int, fs string, args ...any) { if lev <= v.getLev() { prfx := fmt.Sprintf("{VDL:%d} ", int(lev)) fs = prfx + fs @@ -109,8 +109,8 @@ func (v *VDebugLog) Configure(s string) { return } v.log.Debug("Setting Vdebug to %q", s) - parts := strings.Split(s, ",") - for _, s := range parts { + parts := strings.SplitSeq(s, ",") + for s := range parts { switch s { case VLogNoneString: v.lev = VLogNone diff --git a/go/libkb/version.go b/go/libkb/version.go index 4740e6d87f04..e9c38269738b 100644 --- a/go/libkb/version.go +++ b/go/libkb/version.go @@ -4,4 +4,4 @@ package libkb // Version is the current version (should be MAJOR.MINOR.PATCH) -const Version = "6.6.2" +const Version = "6.7.0" diff --git a/go/libkb/vlock.go b/go/libkb/vlock.go index 1b9c0b4e1760..ad6a8b084dae 100644 --- a/go/libkb/vlock.go +++ b/go/libkb/vlock.go @@ -20,7 +20,7 @@ func NewVerboseLock(level VDebugLevel, name string) *VerboseLock { } } -func (l *VerboseLock) Acquire(mctx MetaContext, reasonFormat string, args ...interface{}) (release VerboseLockRelease) { +func (l *VerboseLock) Acquire(mctx MetaContext, reasonFormat string, args ...any) (release VerboseLockRelease) { reason := fmt.Sprintf(reasonFormat, args...) log := func(symbol string, word string) { mctx.VLogf(l.level, "%v VerboseLock [%v] %v: %v", symbol, l.name, word, reason) diff --git a/go/libkb/warning.go b/go/libkb/warning.go index 0b3d0bfd433e..20ebfa2dc430 100644 --- a/go/libkb/warning.go +++ b/go/libkb/warning.go @@ -18,7 +18,7 @@ func (s StringWarning) Warning() string { return string(s) } -func Warningf(format string, a ...interface{}) Warning { +func Warningf(format string, a ...any) Warning { return StringWarning(fmt.Sprintf(format, a...)) } diff --git a/go/libkb/wot.go b/go/libkb/wot.go index 280e88721f34..85cd2496e05e 100644 --- a/go/libkb/wot.go +++ b/go/libkb/wot.go @@ -3,6 +3,7 @@ package libkb import ( "encoding/json" "fmt" + "slices" "strings" "github.com/keybase/client/go/kbun" @@ -260,12 +261,7 @@ type _wotMsg struct { } func hasWotMsg(testable string) bool { - for _, match := range []string{"wot.new_vouch", "wot.accepted", "wot.rejected"} { - if match == testable { - return true - } - } - return false + return slices.Contains([]string{"wot.new_vouch", "wot.accepted", "wot.rejected"}, testable) } func isDismissable(mctx MetaContext, category string, msg _wotMsg, voucher, vouchee kbun.NormalizedUsername) bool { diff --git a/go/logger/adapter.go b/go/logger/adapter.go index a8606de0e9b2..93df43e81cdc 100644 --- a/go/logger/adapter.go +++ b/go/logger/adapter.go @@ -5,17 +5,17 @@ package logger // Loggerf is a minimal log interface (using proper formatter style methods) type Loggerf interface { - Debugf(s string, args ...interface{}) - Infof(s string, args ...interface{}) - Warningf(s string, args ...interface{}) - Errorf(s string, args ...interface{}) + Debugf(s string, args ...any) + Infof(s string, args ...any) + Warningf(s string, args ...any) + Errorf(s string, args ...any) } type loggerInternal interface { - Debug(s string, args ...interface{}) - Info(s string, args ...interface{}) - Warning(s string, args ...interface{}) - Errorf(s string, args ...interface{}) + Debug(s string, args ...any) + Info(s string, args ...any) + Warning(s string, args ...any) + Errorf(s string, args ...any) } type logf struct { @@ -28,21 +28,21 @@ func NewLoggerf(log loggerInternal) Loggerf { } // Debugf forwards to Logger.Debug -func (l logf) Debugf(s string, args ...interface{}) { +func (l logf) Debugf(s string, args ...any) { l.log.Debug(s, args...) } // Infof forwards to Logger.Info -func (l logf) Infof(s string, args ...interface{}) { +func (l logf) Infof(s string, args ...any) { l.log.Info(s, args...) } // Warningf forwards to Logger.Warning -func (l logf) Warningf(s string, args ...interface{}) { +func (l logf) Warningf(s string, args ...any) { l.log.Warning(s, args...) } // Errorf forwards to Logger.Errorf -func (l logf) Errorf(s string, args ...interface{}) { +func (l logf) Errorf(s string, args ...any) { l.log.Errorf(s, args...) } diff --git a/go/logger/context_with_logging.go b/go/logger/context_with_logging.go index 2f86d590b757..b1ce9321c9fc 100644 --- a/go/logger/context_with_logging.go +++ b/go/logger/context_with_logging.go @@ -23,30 +23,30 @@ func (c Context) UpdateContextToLoggerContext(ctx context.Context) ContextInterf return NewContext(ctx, c.Logger) } -func (c Context) Debug(format string, arg ...interface{}) { +func (c Context) Debug(format string, arg ...any) { c.Logger.CloneWithAddedDepth(1).CDebugf(c.ctx, format, arg...) } -func (c Context) Info(format string, arg ...interface{}) { +func (c Context) Info(format string, arg ...any) { c.Logger.CloneWithAddedDepth(1).CInfof(c.ctx, format, arg...) } -func (c Context) Notice(format string, arg ...interface{}) { +func (c Context) Notice(format string, arg ...any) { c.Logger.CloneWithAddedDepth(1).CNoticef(c.ctx, format, arg...) } -func (c Context) Warning(format string, arg ...interface{}) { +func (c Context) Warning(format string, arg ...any) { c.Logger.CloneWithAddedDepth(1).CWarningf(c.ctx, format, arg...) } -func (c Context) Error(format string, arg ...interface{}) { +func (c Context) Error(format string, arg ...any) { c.Logger.CloneWithAddedDepth(1).CErrorf(c.ctx, format, arg...) } -func (c Context) Critical(format string, arg ...interface{}) { +func (c Context) Critical(format string, arg ...any) { c.Logger.CloneWithAddedDepth(1).CCriticalf(c.ctx, format, arg...) } -func (c Context) Fatal(format string, arg ...interface{}) { +func (c Context) Fatal(format string, arg ...any) { c.Logger.CloneWithAddedDepth(1).CFatalf(c.ctx, format, arg...) } diff --git a/go/logger/file.go b/go/logger/file.go index 4ec2f4af44fe..e0d509ec64ac 100644 --- a/go/logger/file.go +++ b/go/logger/file.go @@ -204,7 +204,7 @@ func deleteOldLogFilesIfNeededWorker(config LogFileConfig) error { } // Try to remove all old log files that we want to remove, and // don't stop on the first error. - for i := 0; i < removeN; i++ { + for i := range removeN { err2 := os.Remove(entries[i]) if err == nil { err = err2 diff --git a/go/logger/formats_nix.go b/go/logger/formats_nix.go index bb4470e0fbce..147cb95e6299 100644 --- a/go/logger/formats_nix.go +++ b/go/logger/formats_nix.go @@ -2,7 +2,6 @@ // this source code is governed by the included BSD license. //go:build !windows -// +build !windows package logger diff --git a/go/logger/formats_windows.go b/go/logger/formats_windows.go index 61c814e5ea24..a89c6e8769f0 100644 --- a/go/logger/formats_windows.go +++ b/go/logger/formats_windows.go @@ -2,7 +2,6 @@ // this source code is governed by the included BSD license. //go:build windows -// +build windows package logger diff --git a/go/logger/logger.go b/go/logger/logger.go index 89bb64d51192..26567162b95f 100644 --- a/go/logger/logger.go +++ b/go/logger/logger.go @@ -11,14 +11,14 @@ import ( ) type ExternalHandler interface { - Log(level keybase1.LogLevel, format string, args []interface{}) + Log(level keybase1.LogLevel, format string, args []any) } type BaseLogger interface { - Debug(format string, args ...interface{}) - Info(format string, args ...interface{}) - Warning(format string, args ...interface{}) - Error(format string, args ...interface{}) + Debug(format string, args ...any) + Info(format string, args ...any) + Warning(format string, args ...any) + Error(format string, args ...any) } type ContextInterface interface { @@ -31,32 +31,32 @@ type Logger interface { BaseLogger // CDebugf logs a message at debug level, with a context and // formatting args. - CDebugf(ctx context.Context, format string, args ...interface{}) + CDebugf(ctx context.Context, format string, args ...any) // CInfo logs a message at info level, with a context and formatting args. - CInfof(ctx context.Context, format string, args ...interface{}) + CInfof(ctx context.Context, format string, args ...any) // Notice logs a message at notice level, with formatting args. - Notice(format string, args ...interface{}) + Notice(format string, args ...any) // CNoticef logs a message at notice level, with a context and // formatting args. - CNoticef(ctx context.Context, format string, args ...interface{}) + CNoticef(ctx context.Context, format string, args ...any) // Warning logs a message at warning level, with formatting args. - CWarningf(ctx context.Context, format string, args ...interface{}) + CWarningf(ctx context.Context, format string, args ...any) // Error logs a message at error level, with formatting args - Errorf(format string, args ...interface{}) + Errorf(format string, args ...any) // CErrorf logs a message at error level, with a context and // formatting args. - CErrorf(ctx context.Context, format string, args ...interface{}) + CErrorf(ctx context.Context, format string, args ...any) // Critical logs a message at critical level, with formatting args. - Critical(format string, args ...interface{}) + Critical(format string, args ...any) // CCriticalf logs a message at critical level, with a context and // formatting args. - CCriticalf(ctx context.Context, format string, args ...interface{}) + CCriticalf(ctx context.Context, format string, args ...any) // Fatalf logs a message at fatal level, with formatting args. - Fatalf(format string, args ...interface{}) + Fatalf(format string, args ...any) // Fatalf logs a message at fatal level, with a context and formatting args. - CFatalf(ctx context.Context, format string, args ...interface{}) + CFatalf(ctx context.Context, format string, args ...any) // Profile logs a profile message, with formatting args. - Profile(fmts string, arg ...interface{}) + Profile(fmts string, arg ...any) // Returns a logger that is like the current one, except with // more logging depth added on. @@ -80,81 +80,81 @@ func NewInternalLogger(log *log.Logger) *InternalLogger { } } -func (l *InternalLogger) Debug(fmt string, arg ...interface{}) { +func (l *InternalLogger) Debug(fmt string, arg ...any) { l.log.Printf(fmt, arg...) } func (l *InternalLogger) CDebugf(ctx context.Context, fmt string, - arg ...interface{}, + arg ...any, ) { l.log.Printf(prepareString(ctx, fmt), arg...) } -func (l *InternalLogger) Info(fmt string, arg ...interface{}) { +func (l *InternalLogger) Info(fmt string, arg ...any) { l.log.Printf(keybase1.LogLevel_INFO.String()+fmt, arg...) } func (l *InternalLogger) CInfof(ctx context.Context, fmt string, - arg ...interface{}, + arg ...any, ) { l.log.Printf(keybase1.LogLevel_INFO.String()+prepareString(ctx, fmt), arg...) } -func (l *InternalLogger) Notice(fmt string, arg ...interface{}) { +func (l *InternalLogger) Notice(fmt string, arg ...any) { l.log.Printf(keybase1.LogLevel_NOTICE.String()+fmt, arg...) } func (l *InternalLogger) CNoticef(ctx context.Context, fmt string, - arg ...interface{}, + arg ...any, ) { l.log.Printf(keybase1.LogLevel_NOTICE.String()+prepareString(ctx, fmt), arg...) } -func (l *InternalLogger) Warning(fmt string, arg ...interface{}) { +func (l *InternalLogger) Warning(fmt string, arg ...any) { l.log.Printf(keybase1.LogLevel_WARN.String()+fmt, arg...) } func (l *InternalLogger) CWarningf(ctx context.Context, fmt string, - arg ...interface{}, + arg ...any, ) { l.log.Printf(keybase1.LogLevel_WARN.String()+prepareString(ctx, fmt), arg...) } -func (l *InternalLogger) Error(fmt string, arg ...interface{}) { +func (l *InternalLogger) Error(fmt string, arg ...any) { l.log.Printf(keybase1.LogLevel_ERROR.String()+fmt, arg...) } -func (l *InternalLogger) Errorf(fmt string, arg ...interface{}) { +func (l *InternalLogger) Errorf(fmt string, arg ...any) { l.log.Printf(keybase1.LogLevel_ERROR.String()+fmt, arg...) } func (l *InternalLogger) CErrorf(ctx context.Context, fmt string, - arg ...interface{}, + arg ...any, ) { l.log.Printf(keybase1.LogLevel_ERROR.String()+prepareString(ctx, fmt), arg...) } -func (l *InternalLogger) Critical(fmt string, arg ...interface{}) { +func (l *InternalLogger) Critical(fmt string, arg ...any) { l.log.Printf(keybase1.LogLevel_CRITICAL.String()+fmt, arg...) } func (l *InternalLogger) CCriticalf(ctx context.Context, fmt string, - arg ...interface{}, + arg ...any, ) { l.log.Printf(keybase1.LogLevel_CRITICAL.String()+prepareString(ctx, fmt), arg...) } -func (l *InternalLogger) Fatalf(fmt string, arg ...interface{}) { +func (l *InternalLogger) Fatalf(fmt string, arg ...any) { l.log.Fatalf(fmt, arg...) } func (l *InternalLogger) CFatalf(ctx context.Context, fmt string, - arg ...interface{}, + arg ...any, ) { l.log.Fatalf(prepareString(ctx, fmt), arg...) } -func (l *InternalLogger) Profile(fmts string, arg ...interface{}) { +func (l *InternalLogger) Profile(fmts string, arg ...any) { l.log.Printf(keybase1.LogLevel_DEBUG.String()+fmts, arg...) } func (l *InternalLogger) Configure(_ string, _ bool, _ string) {} diff --git a/go/logger/null.go b/go/logger/null.go index 821f314604e0..e40bcafe0cc8 100644 --- a/go/logger/null.go +++ b/go/logger/null.go @@ -14,23 +14,23 @@ func NewNull() *Null { // Verify Null fully implements the Logger interface. var _ Logger = (*Null)(nil) -func (l *Null) Debug(_ string, _ ...interface{}) {} -func (l *Null) Info(_ string, _ ...interface{}) {} -func (l *Null) Warning(_ string, _ ...interface{}) {} -func (l *Null) Notice(_ string, _ ...interface{}) {} -func (l *Null) Errorf(_ string, _ ...interface{}) {} -func (l *Null) Critical(_ string, _ ...interface{}) {} -func (l *Null) CCriticalf(_ context.Context, _ string, _ ...interface{}) {} -func (l *Null) Fatalf(_ string, _ ...interface{}) {} -func (l *Null) CFatalf(_ context.Context, _ string, _ ...interface{}) {} -func (l *Null) Profile(_ string, _ ...interface{}) {} -func (l *Null) CDebugf(_ context.Context, _ string, _ ...interface{}) {} -func (l *Null) CInfof(_ context.Context, _ string, _ ...interface{}) {} -func (l *Null) CNoticef(_ context.Context, _ string, _ ...interface{}) {} -func (l *Null) CWarningf(_ context.Context, _ string, _ ...interface{}) {} -func (l *Null) CErrorf(_ context.Context, _ string, _ ...interface{}) {} -func (l *Null) Error(_ string, _ ...interface{}) {} -func (l *Null) Configure(_ string, _ bool, _ string) {} +func (l *Null) Debug(_ string, _ ...any) {} +func (l *Null) Info(_ string, _ ...any) {} +func (l *Null) Warning(_ string, _ ...any) {} +func (l *Null) Notice(_ string, _ ...any) {} +func (l *Null) Errorf(_ string, _ ...any) {} +func (l *Null) Critical(_ string, _ ...any) {} +func (l *Null) CCriticalf(_ context.Context, _ string, _ ...any) {} +func (l *Null) Fatalf(_ string, _ ...any) {} +func (l *Null) CFatalf(_ context.Context, _ string, _ ...any) {} +func (l *Null) Profile(_ string, _ ...any) {} +func (l *Null) CDebugf(_ context.Context, _ string, _ ...any) {} +func (l *Null) CInfof(_ context.Context, _ string, _ ...any) {} +func (l *Null) CNoticef(_ context.Context, _ string, _ ...any) {} +func (l *Null) CWarningf(_ context.Context, _ string, _ ...any) {} +func (l *Null) CErrorf(_ context.Context, _ string, _ ...any) {} +func (l *Null) Error(_ string, _ ...any) {} +func (l *Null) Configure(_ string, _ bool, _ string) {} func (l *Null) CloneWithAddedDepth(_ int) Logger { return l } diff --git a/go/logger/output_nix.go b/go/logger/output_nix.go index e6ba763e4a95..7cfdc7c5b699 100644 --- a/go/logger/output_nix.go +++ b/go/logger/output_nix.go @@ -2,7 +2,6 @@ // this source code is governed by the included BSD license. //go:build !windows -// +build !windows package logger diff --git a/go/logger/output_windows.go b/go/logger/output_windows.go index 619d7b6cea57..1afda1e03d4a 100644 --- a/go/logger/output_windows.go +++ b/go/logger/output_windows.go @@ -2,7 +2,6 @@ // this source code is governed by the included BSD license. //go:build windows -// +build windows // Windows 10 has a new terminal that can do ANSI codes by itself, so all this // other stuff is legacy - EXCEPT that the colors are not right! If they ever diff --git a/go/logger/redirect_stderr_dummy.go b/go/logger/redirect_stderr_dummy.go index 35bbdb8423c6..bcfeb7a6d0b3 100644 --- a/go/logger/redirect_stderr_dummy.go +++ b/go/logger/redirect_stderr_dummy.go @@ -2,7 +2,6 @@ // this source code is governed by the included BSD license. //go:build android -// +build android package logger diff --git a/go/logger/redirect_stderr_linux.go b/go/logger/redirect_stderr_linux.go index 1b8ca4ae1a19..f3017624597d 100644 --- a/go/logger/redirect_stderr_linux.go +++ b/go/logger/redirect_stderr_linux.go @@ -2,7 +2,6 @@ // this source code is governed by the included BSD license. //go:build linux && !android -// +build linux,!android package logger diff --git a/go/logger/redirect_stderr_nix.go b/go/logger/redirect_stderr_nix.go index 08a660d8021c..1d4d3c18135e 100644 --- a/go/logger/redirect_stderr_nix.go +++ b/go/logger/redirect_stderr_nix.go @@ -2,7 +2,6 @@ // this source code is governed by the included BSD license. //go:build darwin || freebsd || netbsd || openbsd -// +build darwin freebsd netbsd openbsd package logger diff --git a/go/logger/rpc_adapter.go b/go/logger/rpc_adapter.go index fdf89f5c601f..c98ced64c716 100644 --- a/go/logger/rpc_adapter.go +++ b/go/logger/rpc_adapter.go @@ -21,67 +21,67 @@ func NewRPCLoggerAdapter(log rpc.LogOutput) Logger { } } -func (l RPCLoggerAdapter) Debug(format string, args ...interface{}) { +func (l RPCLoggerAdapter) Debug(format string, args ...any) { l.log.Debug(format, args) } -func (l RPCLoggerAdapter) CDebugf(_ context.Context, format string, args ...interface{}) { +func (l RPCLoggerAdapter) CDebugf(_ context.Context, format string, args ...any) { l.log.Debug(format, args) } -func (l RPCLoggerAdapter) Info(format string, args ...interface{}) { +func (l RPCLoggerAdapter) Info(format string, args ...any) { l.log.Info(format, args) } -func (l RPCLoggerAdapter) CInfof(_ context.Context, format string, args ...interface{}) { +func (l RPCLoggerAdapter) CInfof(_ context.Context, format string, args ...any) { l.log.Info(format, args) } -func (l RPCLoggerAdapter) Notice(format string, args ...interface{}) { +func (l RPCLoggerAdapter) Notice(format string, args ...any) { l.log.Warning(format, args) } -func (l RPCLoggerAdapter) CNoticef(_ context.Context, format string, args ...interface{}) { +func (l RPCLoggerAdapter) CNoticef(_ context.Context, format string, args ...any) { l.log.Warning(format, args) } -func (l RPCLoggerAdapter) Warning(format string, args ...interface{}) { +func (l RPCLoggerAdapter) Warning(format string, args ...any) { l.log.Warning(format, args) } -func (l RPCLoggerAdapter) CWarningf(_ context.Context, format string, args ...interface{}) { +func (l RPCLoggerAdapter) CWarningf(_ context.Context, format string, args ...any) { l.log.Warning(format, args) } -func (l RPCLoggerAdapter) Error(format string, args ...interface{}) { +func (l RPCLoggerAdapter) Error(format string, args ...any) { l.log.Error(format, args) } -func (l RPCLoggerAdapter) Errorf(format string, args ...interface{}) { +func (l RPCLoggerAdapter) Errorf(format string, args ...any) { l.log.Error(format, args) } -func (l RPCLoggerAdapter) CErrorf(_ context.Context, format string, args ...interface{}) { +func (l RPCLoggerAdapter) CErrorf(_ context.Context, format string, args ...any) { l.log.Error(format, args) } -func (l RPCLoggerAdapter) Critical(format string, args ...interface{}) { +func (l RPCLoggerAdapter) Critical(format string, args ...any) { l.log.Error(format, args) } -func (l RPCLoggerAdapter) CCriticalf(_ context.Context, format string, args ...interface{}) { +func (l RPCLoggerAdapter) CCriticalf(_ context.Context, format string, args ...any) { l.log.Error(format, args) } -func (l RPCLoggerAdapter) Fatalf(format string, args ...interface{}) { +func (l RPCLoggerAdapter) Fatalf(format string, args ...any) { l.log.Error(format, args) } -func (l RPCLoggerAdapter) CFatalf(_ context.Context, format string, args ...interface{}) { +func (l RPCLoggerAdapter) CFatalf(_ context.Context, format string, args ...any) { l.log.Error(format, args) } -func (l RPCLoggerAdapter) Profile(format string, args ...interface{}) { +func (l RPCLoggerAdapter) Profile(format string, args ...any) { l.log.Profile(format, args) } diff --git a/go/logger/single_context_logger.go b/go/logger/single_context_logger.go index 3e1a355a6dfb..8a9cc718b6f9 100644 --- a/go/logger/single_context_logger.go +++ b/go/logger/single_context_logger.go @@ -17,67 +17,67 @@ func NewSingleContextLogger(ctx context.Context, l Logger) *SingleContextLogger var _ Logger = (*SingleContextLogger)(nil) -func (s *SingleContextLogger) Debug(format string, args ...interface{}) { +func (s *SingleContextLogger) Debug(format string, args ...any) { s.logger.CloneWithAddedDepth(1).CDebugf(s.ctx, format, args...) } -func (s *SingleContextLogger) CDebugf(ctx context.Context, format string, args ...interface{}) { +func (s *SingleContextLogger) CDebugf(ctx context.Context, format string, args ...any) { s.logger.CloneWithAddedDepth(1).CDebugf(ctx, format, args...) } -func (s *SingleContextLogger) Info(format string, args ...interface{}) { +func (s *SingleContextLogger) Info(format string, args ...any) { s.logger.CloneWithAddedDepth(1).CInfof(s.ctx, format, args...) } -func (s *SingleContextLogger) CInfof(ctx context.Context, format string, args ...interface{}) { +func (s *SingleContextLogger) CInfof(ctx context.Context, format string, args ...any) { s.logger.CloneWithAddedDepth(1).CInfof(ctx, format, args...) } -func (s *SingleContextLogger) Notice(format string, args ...interface{}) { +func (s *SingleContextLogger) Notice(format string, args ...any) { s.logger.CloneWithAddedDepth(1).CNoticef(s.ctx, format, args...) } -func (s *SingleContextLogger) CNoticef(ctx context.Context, format string, args ...interface{}) { +func (s *SingleContextLogger) CNoticef(ctx context.Context, format string, args ...any) { s.logger.CloneWithAddedDepth(1).CNoticef(ctx, format, args...) } -func (s *SingleContextLogger) Warning(format string, args ...interface{}) { +func (s *SingleContextLogger) Warning(format string, args ...any) { s.logger.CloneWithAddedDepth(1).CWarningf(s.ctx, format, args...) } -func (s *SingleContextLogger) CWarningf(ctx context.Context, format string, args ...interface{}) { +func (s *SingleContextLogger) CWarningf(ctx context.Context, format string, args ...any) { s.logger.CloneWithAddedDepth(1).CWarningf(ctx, format, args...) } -func (s *SingleContextLogger) Error(format string, args ...interface{}) { +func (s *SingleContextLogger) Error(format string, args ...any) { s.logger.CloneWithAddedDepth(1).CErrorf(s.ctx, format, args...) } -func (s *SingleContextLogger) Errorf(format string, args ...interface{}) { +func (s *SingleContextLogger) Errorf(format string, args ...any) { s.logger.CloneWithAddedDepth(1).CErrorf(s.ctx, format, args...) } -func (s *SingleContextLogger) CErrorf(ctx context.Context, format string, args ...interface{}) { +func (s *SingleContextLogger) CErrorf(ctx context.Context, format string, args ...any) { s.logger.CloneWithAddedDepth(1).CErrorf(ctx, format, args...) } -func (s *SingleContextLogger) Critical(format string, args ...interface{}) { +func (s *SingleContextLogger) Critical(format string, args ...any) { s.logger.CloneWithAddedDepth(1).CCriticalf(s.ctx, format, args...) } -func (s *SingleContextLogger) CCriticalf(ctx context.Context, format string, args ...interface{}) { +func (s *SingleContextLogger) CCriticalf(ctx context.Context, format string, args ...any) { s.logger.CloneWithAddedDepth(1).CCriticalf(ctx, format, args...) } -func (s *SingleContextLogger) Fatalf(format string, args ...interface{}) { +func (s *SingleContextLogger) Fatalf(format string, args ...any) { s.logger.CloneWithAddedDepth(1).CFatalf(s.ctx, format, args...) } -func (s *SingleContextLogger) CFatalf(ctx context.Context, format string, args ...interface{}) { +func (s *SingleContextLogger) CFatalf(ctx context.Context, format string, args ...any) { s.logger.CloneWithAddedDepth(1).CFatalf(ctx, format, args...) } -func (s *SingleContextLogger) Profile(fmts string, arg ...interface{}) { +func (s *SingleContextLogger) Profile(fmts string, arg ...any) { s.logger.CloneWithAddedDepth(1).Profile(fmts, arg...) } diff --git a/go/logger/standard.go b/go/logger/standard.go index 042231f63346..1306e5ad8312 100644 --- a/go/logger/standard.go +++ b/go/logger/standard.go @@ -6,6 +6,7 @@ package logger import ( "context" "fmt" + "maps" "os" "path/filepath" "strings" @@ -39,7 +40,7 @@ const ( CtxLogTagsKey CtxStandardLoggerKey = iota ) -type CtxLogTags map[interface{}]string +type CtxLogTags map[any]string // NewContext returns a new Context that carries adds the given log // tag mappings (context key -> display string). @@ -49,12 +50,8 @@ func NewContextWithLogTags( currTags, _ := LogTagsFromContext(ctx) newTags := make(CtxLogTags) // Make a copy to avoid races - for key, tag := range currTags { - newTags[key] = tag - } - for key, tag := range logTagsToAdd { - newTags[key] = tag - } + maps.Copy(newTags, currTags) + maps.Copy(newTags, logTagsToAdd) return context.WithValue(ctx, CtxLogTagsKey, newTags) } @@ -68,9 +65,9 @@ func LogTagsFromContext(ctx context.Context) (CtxLogTags, bool) { // LogTagsFromContextRPC is a wrapper around LogTagsFromContext // that simply casts the result to the type expected by // rpc.Connection. -func LogTagsFromContextRPC(ctx context.Context) (map[interface{}]string, bool) { +func LogTagsFromContextRPC(ctx context.Context) (map[any]string, bool) { tags, ok := LogTagsFromContext(ctx) - return map[interface{}]string(tags), ok + return map[any]string(tags), ok } type rpcTagKey string @@ -97,7 +94,7 @@ func ConvertRPCTagsToLogTags(ctx context.Context) context.Context { } type ExternalLogger interface { - Log(level keybase1.LogLevel, format string, args []interface{}) + Log(level keybase1.LogLevel, format string, args []any) } type Standard struct { @@ -161,7 +158,7 @@ func prepareString( return fmts + " [tags:" + strings.Join(tags, ",") + "]" } -func (log *Standard) Debug(fmt string, arg ...interface{}) { +func (log *Standard) Debug(fmt string, arg ...any) { log.internal.Debugf(fmt, arg...) if log.externalHandler != nil { log.externalHandler.Log(keybase1.LogLevel_DEBUG, fmt, arg) @@ -169,14 +166,14 @@ func (log *Standard) Debug(fmt string, arg ...interface{}) { } func (log *Standard) CDebugf(ctx context.Context, fmt string, - arg ...interface{}, + arg ...any, ) { if log.internal.IsEnabledFor(logging.DEBUG) { log.CloneWithAddedDepth(1).Debug(prepareString(ctx, fmt), arg...) } } -func (log *Standard) Info(fmt string, arg ...interface{}) { +func (log *Standard) Info(fmt string, arg ...any) { log.internal.Infof(fmt, arg...) if log.externalHandler != nil { log.externalHandler.Log(keybase1.LogLevel_INFO, fmt, arg) @@ -184,14 +181,14 @@ func (log *Standard) Info(fmt string, arg ...interface{}) { } func (log *Standard) CInfof(ctx context.Context, fmt string, - arg ...interface{}, + arg ...any, ) { if log.internal.IsEnabledFor(logging.INFO) { log.CloneWithAddedDepth(1).Info(prepareString(ctx, fmt), arg...) } } -func (log *Standard) Notice(fmt string, arg ...interface{}) { +func (log *Standard) Notice(fmt string, arg ...any) { log.internal.Noticef(fmt, arg...) if log.externalHandler != nil { log.externalHandler.Log(keybase1.LogLevel_NOTICE, fmt, arg) @@ -199,14 +196,14 @@ func (log *Standard) Notice(fmt string, arg ...interface{}) { } func (log *Standard) CNoticef(ctx context.Context, fmt string, - arg ...interface{}, + arg ...any, ) { if log.internal.IsEnabledFor(logging.NOTICE) { log.CloneWithAddedDepth(1).Notice(prepareString(ctx, fmt), arg...) } } -func (log *Standard) Warning(fmt string, arg ...interface{}) { +func (log *Standard) Warning(fmt string, arg ...any) { log.internal.Warningf(fmt, arg...) if log.externalHandler != nil { log.externalHandler.Log(keybase1.LogLevel_WARN, fmt, arg) @@ -214,33 +211,33 @@ func (log *Standard) Warning(fmt string, arg ...interface{}) { } func (log *Standard) CWarningf(ctx context.Context, fmt string, - arg ...interface{}, + arg ...any, ) { if log.internal.IsEnabledFor(logging.WARNING) { log.CloneWithAddedDepth(1).Warning(prepareString(ctx, fmt), arg...) } } -func (log *Standard) Error(fmt string, arg ...interface{}) { +func (log *Standard) Error(fmt string, arg ...any) { log.internal.Errorf(fmt, arg...) if log.externalHandler != nil { log.externalHandler.Log(keybase1.LogLevel_ERROR, fmt, arg) } } -func (log *Standard) Errorf(fmt string, arg ...interface{}) { +func (log *Standard) Errorf(fmt string, arg ...any) { log.CloneWithAddedDepth(1).Error(fmt, arg...) } func (log *Standard) CErrorf(ctx context.Context, fmt string, - arg ...interface{}, + arg ...any, ) { if log.internal.IsEnabledFor(logging.ERROR) { log.CloneWithAddedDepth(1).Error(prepareString(ctx, fmt), arg...) } } -func (log *Standard) Critical(fmt string, arg ...interface{}) { +func (log *Standard) Critical(fmt string, arg ...any) { log.internal.Criticalf(fmt, arg...) if log.externalHandler != nil { log.externalHandler.Log(keybase1.LogLevel_CRITICAL, fmt, arg) @@ -248,14 +245,14 @@ func (log *Standard) Critical(fmt string, arg ...interface{}) { } func (log *Standard) CCriticalf(ctx context.Context, fmt string, - arg ...interface{}, + arg ...any, ) { if log.internal.IsEnabledFor(logging.CRITICAL) { log.CloneWithAddedDepth(1).Critical(prepareString(ctx, fmt), arg...) } } -func (log *Standard) Fatalf(fmt string, arg ...interface{}) { +func (log *Standard) Fatalf(fmt string, arg ...any) { log.internal.Fatalf(fmt, arg...) if log.externalHandler != nil { log.externalHandler.Log(keybase1.LogLevel_FATAL, fmt, arg) @@ -263,12 +260,12 @@ func (log *Standard) Fatalf(fmt string, arg ...interface{}) { } func (log *Standard) CFatalf(ctx context.Context, fmt string, - arg ...interface{}, + arg ...any, ) { log.CloneWithAddedDepth(1).Fatalf(prepareString(ctx, fmt), arg...) } -func (log *Standard) Profile(fmts string, arg ...interface{}) { +func (log *Standard) Profile(fmts string, arg ...any) { log.CloneWithAddedDepth(1).Debug(fmts, arg...) } @@ -384,26 +381,26 @@ func (log *Standard) GetUnforwardedLogger() *UnforwardedLogger { return (*UnforwardedLogger)(log) } -func (log *UnforwardedLogger) Debug(s string, args ...interface{}) { +func (log *UnforwardedLogger) Debug(s string, args ...any) { log.internal.Debugf(s, args...) } -func (log *UnforwardedLogger) Error(s string, args ...interface{}) { +func (log *UnforwardedLogger) Error(s string, args ...any) { log.internal.Errorf(s, args...) } -func (log *UnforwardedLogger) Errorf(s string, args ...interface{}) { +func (log *UnforwardedLogger) Errorf(s string, args ...any) { log.internal.Errorf(s, args...) } -func (log *UnforwardedLogger) Warning(s string, args ...interface{}) { +func (log *UnforwardedLogger) Warning(s string, args ...any) { log.internal.Warningf(s, args...) } -func (log *UnforwardedLogger) Info(s string, args ...interface{}) { +func (log *UnforwardedLogger) Info(s string, args ...any) { log.internal.Infof(s, args...) } -func (log *UnforwardedLogger) Profile(s string, args ...interface{}) { +func (log *UnforwardedLogger) Profile(s string, args ...any) { log.internal.Debugf(s, args...) } diff --git a/go/logger/test_logger.go b/go/logger/test_logger.go index e253177c8055..909ca739eb99 100644 --- a/go/logger/test_logger.go +++ b/go/logger/test_logger.go @@ -8,6 +8,7 @@ import ( "fmt" "os" "runtime" + "slices" "strings" "sync" "time" @@ -19,12 +20,12 @@ import ( // a *testing.T). We define this in order to avoid pulling in the // "testing" package in exported code. type TestLogBackend interface { - Error(args ...interface{}) - Errorf(format string, args ...interface{}) - Fatal(args ...interface{}) - Fatalf(format string, args ...interface{}) - Log(args ...interface{}) - Logf(format string, args ...interface{}) + Error(args ...any) + Errorf(format string, args ...any) + Fatal(args ...any) + Fatalf(format string, args ...any) + Log(args ...any) + Logf(format string, args ...any) Failed() bool Name() string } @@ -57,7 +58,7 @@ var ( ) // ctx can be `nil` -func (log *TestLogger) common(ctx context.Context, lvl logging.Level, useFatal bool, fmts string, arg ...interface{}) { +func (log *TestLogger) common(ctx context.Context, lvl logging.Level, useFatal bool, fmts string, arg ...any) { if log.log.Failed() { globalFailReportedLock.Lock() name := log.log.Name() @@ -109,81 +110,81 @@ func (log *TestLogger) prefixCaller(extraDepth int, lvl logging.Level, fmts stri failed, fileLine, lvl, fmts) } -func (log *TestLogger) Debug(fmts string, arg ...interface{}) { +func (log *TestLogger) Debug(fmts string, arg ...any) { log.common(context.TODO(), logging.DEBUG, false, fmts, arg...) } func (log *TestLogger) CDebugf(ctx context.Context, fmts string, - arg ...interface{}, + arg ...any, ) { log.common(ctx, logging.DEBUG, false, fmts, arg...) } -func (log *TestLogger) Info(fmts string, arg ...interface{}) { +func (log *TestLogger) Info(fmts string, arg ...any) { log.common(context.TODO(), logging.INFO, false, fmts, arg...) } func (log *TestLogger) CInfof(ctx context.Context, fmts string, - arg ...interface{}, + arg ...any, ) { log.common(ctx, logging.INFO, false, fmts, arg...) } -func (log *TestLogger) Notice(fmts string, arg ...interface{}) { +func (log *TestLogger) Notice(fmts string, arg ...any) { log.common(context.TODO(), logging.NOTICE, false, fmts, arg...) } func (log *TestLogger) CNoticef(ctx context.Context, fmts string, - arg ...interface{}, + arg ...any, ) { log.common(ctx, logging.NOTICE, false, fmts, arg...) } -func (log *TestLogger) Warning(fmts string, arg ...interface{}) { +func (log *TestLogger) Warning(fmts string, arg ...any) { log.common(context.TODO(), logging.WARNING, false, fmts, arg...) } func (log *TestLogger) CWarningf(ctx context.Context, fmts string, - arg ...interface{}, + arg ...any, ) { log.common(ctx, logging.WARNING, false, fmts, arg...) } -func (log *TestLogger) Error(fmts string, arg ...interface{}) { +func (log *TestLogger) Error(fmts string, arg ...any) { log.common(context.TODO(), logging.ERROR, false, fmts, arg...) } -func (log *TestLogger) Errorf(fmts string, arg ...interface{}) { +func (log *TestLogger) Errorf(fmts string, arg ...any) { log.common(context.TODO(), logging.ERROR, false, fmts, arg...) } func (log *TestLogger) CErrorf(ctx context.Context, fmts string, - arg ...interface{}, + arg ...any, ) { log.common(ctx, logging.ERROR, false, fmts, arg...) } -func (log *TestLogger) Critical(fmts string, arg ...interface{}) { +func (log *TestLogger) Critical(fmts string, arg ...any) { log.common(context.TODO(), logging.CRITICAL, false, fmts, arg...) } func (log *TestLogger) CCriticalf(ctx context.Context, fmts string, - arg ...interface{}, + arg ...any, ) { log.common(ctx, logging.CRITICAL, false, fmts, arg...) } -func (log *TestLogger) Fatalf(fmts string, arg ...interface{}) { +func (log *TestLogger) Fatalf(fmts string, arg ...any) { log.common(context.TODO(), logging.CRITICAL, true, fmts, arg...) } func (log *TestLogger) CFatalf(ctx context.Context, fmts string, - arg ...interface{}, + arg ...any, ) { log.common(ctx, logging.CRITICAL, true, fmts, arg...) } -func (log *TestLogger) Profile(fmts string, arg ...interface{}) { +func (log *TestLogger) Profile(fmts string, arg ...any) { log.common(context.TODO(), logging.CRITICAL, false, fmts, arg...) } @@ -204,10 +205,5 @@ func (log *TestLogger) CloneWithAddedDepth(depth int) Logger { func (log *TestLogger) SetExternalHandler(_ ExternalHandler) {} func stringListContains(s string, a []string) bool { - for _, t := range a { - if s == t { - return true - } - } - return false + return slices.Contains(a, s) } diff --git a/go/lru/disk_lru.go b/go/lru/disk_lru.go index 9e059324ac0d..ff4508d58f91 100644 --- a/go/lru/disk_lru.go +++ b/go/lru/disk_lru.go @@ -20,7 +20,7 @@ type Pathable struct { type DiskLRUEntry struct { Key string - Value interface{} + Value any Ctime time.Time LastAccessed time.Time } @@ -160,7 +160,7 @@ func (d *DiskLRU) MaxSize() int { return d.maxSize } -func (d *DiskLRU) debug(ctx context.Context, lctx libkb.LRUContext, msg string, args ...interface{}) { +func (d *DiskLRU) debug(ctx context.Context, lctx libkb.LRUContext, msg string, args ...any) { lctx.GetLog().CDebugf(ctx, fmt.Sprintf("DiskLRU: %s(%d): ", d.name, d.version)+msg, args...) } @@ -286,7 +286,7 @@ func (d *DiskLRU) removeEntry(ctx context.Context, lctx libkb.LRUContext, index } func (d *DiskLRU) addEntry(ctx context.Context, lctx libkb.LRUContext, index *diskLRUIndex, key string, - value interface{}, + value any, ) (evicted *DiskLRUEntry, err error) { // Add the new item index.Put(key) @@ -326,7 +326,7 @@ func (d *DiskLRU) addEntry(ctx context.Context, lctx libkb.LRUContext, index *di return evicted, nil } -func (d *DiskLRU) Put(ctx context.Context, lctx libkb.LRUContext, key string, value interface{}) (evicted *DiskLRUEntry, err error) { +func (d *DiskLRU) Put(ctx context.Context, lctx libkb.LRUContext, key string, value any) (evicted *DiskLRUEntry, err error) { d.Lock() defer d.Unlock() @@ -444,7 +444,7 @@ func (d *DiskLRU) getPath(entry DiskLRUEntry) (res string, ok bool) { if res, ok = entry.Value.(string); ok { return res, ok } - if _, ok = entry.Value.(map[string]interface{}); ok { + if _, ok = entry.Value.(map[string]any); ok { var pathable Pathable jstr, _ := json.Marshal(entry.Value) _ = json.Unmarshal(jstr, &pathable) diff --git a/go/lru/lru.go b/go/lru/lru.go index 9ca8d3546ed5..36f4ee098c14 100644 --- a/go/lru/lru.go +++ b/go/lru/lru.go @@ -27,7 +27,7 @@ type stats struct { miss int } -func NewLRU(ctx libkb.LRUContext, sz int, version int, exampleObj interface{}) *Cache { +func NewLRU(ctx libkb.LRUContext, sz int, version int, exampleObj any) *Cache { cache, err := lru.New(sz) if err != nil { ctx.GetLog().Fatalf("Bad LRU constructor: %s", err.Error()) @@ -49,7 +49,7 @@ func (c *Cache) ClearMemory() { c.mem.Purge() } -func (c *Cache) Get(ctx context.Context, lctx libkb.LRUContext, k libkb.LRUKeyer) (interface{}, error) { +func (c *Cache) Get(ctx context.Context, lctx libkb.LRUContext, k libkb.LRUKeyer) (any, error) { c.Lock() defer c.Unlock() val, ok := c.mem.Get(k.MemKey()) @@ -73,7 +73,7 @@ func (c *Cache) Get(ctx context.Context, lctx libkb.LRUContext, k libkb.LRUKeyer lctx.GetVDebugLog().CLogf(ctx, libkb.VLog0, "lru(%v), old version: %d < %d", k.DbKey(), w.Version, c.version) return nil, nil } - var ret interface{} + var ret any if len(w.Data) > 0 { tmp := reflect.New(c.typ) ret = tmp.Interface() @@ -92,7 +92,7 @@ func (c *Cache) Get(ctx context.Context, lctx libkb.LRUContext, k libkb.LRUKeyer return ret, nil } -func (c *Cache) Put(_ context.Context, lctx libkb.LRUContext, k libkb.LRUKeyer, v interface{}) error { +func (c *Cache) Put(_ context.Context, lctx libkb.LRUContext, k libkb.LRUKeyer, v any) error { c.Lock() defer c.Unlock() var data string diff --git a/go/lru/lru_test.go b/go/lru/lru_test.go index befcbf0c6eb2..f6349889c64c 100644 --- a/go/lru/lru_test.go +++ b/go/lru/lru_test.go @@ -29,7 +29,7 @@ func TestLRU(t *testing.T) { var objs []obj N := 10 - for i := 0; i < N; i++ { + for i := range N { objs = append(objs, obj{i, fmt.Sprintf("%d", i)}) } @@ -82,10 +82,10 @@ func TestLRU(t *testing.T) { testStats() // All of the following should be disk hits - for i := 0; i < N; i++ { + for i := range N { testPut(i) } - for i := 0; i < N; i++ { + for i := range N { testGet(i, false) } testStats() diff --git a/go/merkle/types.go b/go/merkle/types.go index 9d9ecbaa6d16..810ad6835aa5 100644 --- a/go/merkle/types.go +++ b/go/merkle/types.go @@ -31,7 +31,7 @@ type EncodedLeaf []byte var _ merkletree.ValueConstructor = (*EncodedLeaf)(nil) -func (l EncodedLeaf) Construct() interface{} { +func (l EncodedLeaf) Construct() any { return &[]byte{} } diff --git a/go/merkle/util_test.go b/go/merkle/util_test.go index 66771d1f8bf1..166ff462c872 100644 --- a/go/merkle/util_test.go +++ b/go/merkle/util_test.go @@ -34,7 +34,6 @@ func TestComputeSkipPointers(t *testing.T) { }}, } for _, tt := range tests { - tt := tt t.Run(fmt.Sprintf("%+v", tt.in), func(t *testing.T) { actual := ComputeSkipPointers(tt.in) if !reflect.DeepEqual(actual, tt.out) { diff --git a/go/merklestore/store.go b/go/merklestore/store.go index 0a9ced1a8187..727d239da2c4 100644 --- a/go/merklestore/store.go +++ b/go/merklestore/store.go @@ -25,7 +25,7 @@ func (e MerkleStoreError) Error() string { return fmt.Sprintf("MerkleStore: %s", e.msg) } -func NewMerkleStoreError(msgf string, a ...interface{}) MerkleStoreError { +func NewMerkleStoreError(msgf string, a ...any) MerkleStoreError { return MerkleStoreError{msg: fmt.Sprintf(msgf, a...)} } diff --git a/go/merkletree2/config.go b/go/merkletree2/config.go index c8c228d10bed..7a2b60bee218 100644 --- a/go/merkletree2/config.go +++ b/go/merkletree2/config.go @@ -38,7 +38,7 @@ type Config struct { // ConstructValueContainer constructs a new empty value for the value in a KeyValuePair, so that the // decoding routine has the correct type template. - ConstructValueContainer func() interface{} + ConstructValueContainer func() any } // NewConfig makes a new config object. It takes a a Hasher, logChildrenPerNode @@ -47,7 +47,7 @@ type Config struct { // split into multiple nodes (at a lower level in the tree), keyByteLength the // length of the Keys which the tree will store, and a ConstructValueContainer function (so that // typed values can be pulled out of the Merkle Tree). -func NewConfig(e Encoder, useBlindedValueHashes bool, logChildrenPerNode uint8, maxValuesPerLeaf int, keysByteLength int, constructValueFunc func() interface{}) (Config, error) { +func NewConfig(e Encoder, useBlindedValueHashes bool, logChildrenPerNode uint8, maxValuesPerLeaf int, keysByteLength int, constructValueFunc func() any) (Config, error) { childrenPerNode := 1 << logChildrenPerNode if (keysByteLength*8)%int(logChildrenPerNode) != 0 { return Config{}, NewInvalidConfigError("The key bit length does not divide logChildrenPerNode") @@ -76,14 +76,14 @@ type KeySpecificSecret []byte // Encoder is an interface for cryptographically hashing MerkleTree data // structures. It also manages blinding secrets. type Encoder interface { - Decode(dest interface{}, src []byte) error - Encode(src interface{}) (dst []byte, err error) + Decode(dest any, src []byte) error + Encode(src any) (dst []byte, err error) // takes as input a []byte pointer dst to avoid creating new objects - EncodeTo(o interface{}, dst *[]byte) (err error) + EncodeTo(o any, dst *[]byte) (err error) - EncodeAndHashGeneric(interface{}) (encoded []byte, hash Hash, err error) + EncodeAndHashGeneric(any) (encoded []byte, hash Hash, err error) // takes as input an hash pointer ret to avoid creating new objects - HashGeneric(o interface{}, ret *Hash) error + HashGeneric(o any, ret *Hash) error GenerateMasterSecret(Seqno) (MasterSecret, error) ComputeKeySpecificSecret(MasterSecret, Key) KeySpecificSecret diff --git a/go/merkletree2/encoders.go b/go/merkletree2/encoders.go index 4357c2560fe4..277e8e328693 100644 --- a/go/merkletree2/encoders.go +++ b/go/merkletree2/encoders.go @@ -65,21 +65,21 @@ func NewUnsafeBlindedSHA512_256v1Encoder() *UnsafeBlindedSHA512_256v1Encoder { return &UnsafeBlindedSHA512_256v1Encoder{enc: codec.NewEncoderBytes(nil, &mh), dec: codec.NewDecoderBytes(nil, &mh), sha: sha512.New512_256()} } -func (e *UnsafeBlindedSHA512_256v1Encoder) EncodeTo(o interface{}, out *[]byte) (err error) { +func (e *UnsafeBlindedSHA512_256v1Encoder) EncodeTo(o any, out *[]byte) (err error) { e.enc.ResetBytes(out) return e.enc.Encode(o) } -func (e *UnsafeBlindedSHA512_256v1Encoder) Encode(o interface{}) (out []byte, err error) { +func (e *UnsafeBlindedSHA512_256v1Encoder) Encode(o any) (out []byte, err error) { return out, e.EncodeTo(o, &out) } -func (e *UnsafeBlindedSHA512_256v1Encoder) Decode(dest interface{}, src []byte) error { +func (e *UnsafeBlindedSHA512_256v1Encoder) Decode(dest any, src []byte) error { e.dec.ResetBytes(src) return e.dec.Decode(dest) } -func (e *UnsafeBlindedSHA512_256v1Encoder) HashGeneric(o interface{}, ret *Hash) error { +func (e *UnsafeBlindedSHA512_256v1Encoder) HashGeneric(o any, ret *Hash) error { err := e.EncodeTo(o, &e.encBuf) if err != nil { return err @@ -90,7 +90,7 @@ func (e *UnsafeBlindedSHA512_256v1Encoder) HashGeneric(o interface{}, ret *Hash) return nil } -func (e *UnsafeBlindedSHA512_256v1Encoder) EncodeAndHashGeneric(o interface{}) ([]byte, Hash, error) { +func (e *UnsafeBlindedSHA512_256v1Encoder) EncodeAndHashGeneric(o any) ([]byte, Hash, error) { enc, err := e.Encode(o) if err != nil { return nil, nil, err @@ -124,19 +124,19 @@ func NewBlindedSHA512_256v1Encoder() *BlindedSHA512_256v1Encoder { return &BlindedSHA512_256v1Encoder{mh: mh} } -func (e *BlindedSHA512_256v1Encoder) EncodeTo(o interface{}, out *[]byte) (err error) { +func (e *BlindedSHA512_256v1Encoder) EncodeTo(o any, out *[]byte) (err error) { return codec.NewEncoderBytes(out, &e.mh).Encode(o) } -func (e *BlindedSHA512_256v1Encoder) Encode(o interface{}) (out []byte, err error) { +func (e *BlindedSHA512_256v1Encoder) Encode(o any) (out []byte, err error) { return out, e.EncodeTo(o, &out) } -func (e *BlindedSHA512_256v1Encoder) Decode(dest interface{}, src []byte) error { +func (e *BlindedSHA512_256v1Encoder) Decode(dest any, src []byte) error { return codec.NewDecoderBytes(src, &e.mh).Decode(dest) } -func (e *BlindedSHA512_256v1Encoder) EncodeAndHashGeneric(o interface{}) ([]byte, Hash, error) { +func (e *BlindedSHA512_256v1Encoder) EncodeAndHashGeneric(o any) ([]byte, Hash, error) { enc, err := e.Encode(o) if err != nil { return nil, nil, err @@ -147,7 +147,7 @@ func (e *BlindedSHA512_256v1Encoder) EncodeAndHashGeneric(o interface{}) ([]byte return enc, hasher.Sum(nil), nil } -func (e *BlindedSHA512_256v1Encoder) HashGeneric(o interface{}, ret *Hash) error { +func (e *BlindedSHA512_256v1Encoder) HashGeneric(o any, ret *Hash) error { enc, err := e.Encode(o) if err != nil { return err diff --git a/go/merkletree2/interfaces.go b/go/merkletree2/interfaces.go index 80ce79d839d2..260f570aa32e 100644 --- a/go/merkletree2/interfaces.go +++ b/go/merkletree2/interfaces.go @@ -79,7 +79,7 @@ type StorageEngineWithBlinding interface { } // Transaction references a DB transaction. -type Transaction interface{} +type Transaction any type GetValueWithProofResponse struct { _struct struct{} `codec:",toarray"` //nolint diff --git a/go/merkletree2/tree.go b/go/merkletree2/tree.go index 0c0b71a0dab3..9d40b98b9b18 100644 --- a/go/merkletree2/tree.go +++ b/go/merkletree2/tree.go @@ -99,9 +99,9 @@ type ChildIndex int // be of the same type returned by ValueConstructor in the TreeConfig, otherwise // the behavior is undefined. type KeyValuePair struct { - _struct struct{} `codec:",toarray"` //nolint - Key Key `codec:"k"` - Value interface{} `codec:"v"` + _struct struct{} `codec:",toarray"` //nolint + Key Key `codec:"k"` + Value any `codec:"v"` } type EncodedValue []byte diff --git a/go/merkletree2/tree_test.go b/go/merkletree2/tree_test.go index 6a337bb92e3f..8497dbc7d45c 100644 --- a/go/merkletree2/tree_test.go +++ b/go/merkletree2/tree_test.go @@ -942,7 +942,7 @@ func TestInclusionExtensionProofsPass(t *testing.T) { verifier := NewMerkleProofVerifier(cfg) numTests := 50 - for j := 0; j < numTests; j++ { + for range numTests { startSeqno := Seqno(randSrc.Intn(int(maxSeqno)-1) + 1) endSeqno := Seqno(randSrc.Intn(int(maxSeqno)-1) + 1) if startSeqno > endSeqno { diff --git a/go/merkletree2/util_for_test.go b/go/merkletree2/util_for_test.go index 00c92d104b5a..584110b41786 100644 --- a/go/merkletree2/util_for_test.go +++ b/go/merkletree2/util_for_test.go @@ -110,11 +110,11 @@ type IdentityHasher struct{} var _ Encoder = IdentityHasher{} -func (i IdentityHasher) Encode(o interface{}) (dst []byte, err error) { +func (i IdentityHasher) Encode(o any) (dst []byte, err error) { return dst, i.EncodeTo(o, &dst) } -func (i IdentityHasher) EncodeTo(o interface{}, out *[]byte) (err error) { +func (i IdentityHasher) EncodeTo(o any, out *[]byte) (err error) { enc, err := msgpack.EncodeCanonical(o) if err != nil { return err @@ -127,7 +127,7 @@ func (i IdentityHasher) GetEncodingType() EncodingType { return EncodingTypeForTesting } -func (i IdentityHasher) Decode(dest interface{}, src []byte) error { +func (i IdentityHasher) Decode(dest any, src []byte) error { return msgpack.Decode(dest, src) } @@ -140,7 +140,7 @@ func (i IdentityHasher) HashKeyEncodedValuePairWithKeySpecificSecretTo(kevp KeyE return err } -func (i IdentityHasher) EncodeAndHashGeneric(o interface{}) ([]byte, Hash, error) { +func (i IdentityHasher) EncodeAndHashGeneric(o any) ([]byte, Hash, error) { enc, err := i.Encode(o) if err != nil { return nil, nil, fmt.Errorf("Encoding error in IdentityHasher for %v: %v", o, err) @@ -148,7 +148,7 @@ func (i IdentityHasher) EncodeAndHashGeneric(o interface{}) ([]byte, Hash, error return enc, Hash(enc), nil } -func (i IdentityHasher) HashGeneric(o interface{}, h *Hash) (err error) { +func (i IdentityHasher) HashGeneric(o any, h *Hash) (err error) { _, *h, err = i.EncodeAndHashGeneric(o) return err } @@ -181,7 +181,7 @@ func (i IdentityHasherBlinded) GetEncodingType() EncodingType { return EncodingTypeForTesting } -func (i IdentityHasherBlinded) EncodeAndHashGeneric(o interface{}) ([]byte, Hash, error) { +func (i IdentityHasherBlinded) EncodeAndHashGeneric(o any) ([]byte, Hash, error) { enc, err := msgpack.EncodeCanonical(o) if err != nil { return nil, nil, fmt.Errorf("Msgpack error in IdentityHasher for %v: %v", o, err) @@ -189,16 +189,16 @@ func (i IdentityHasherBlinded) EncodeAndHashGeneric(o interface{}) ([]byte, Hash return enc, Hash(enc), nil } -func (i IdentityHasherBlinded) HashGeneric(o interface{}, h *Hash) (err error) { +func (i IdentityHasherBlinded) HashGeneric(o any, h *Hash) (err error) { _, *h, err = i.EncodeAndHashGeneric(o) return err } -func (i IdentityHasherBlinded) Encode(o interface{}) (dst []byte, err error) { +func (i IdentityHasherBlinded) Encode(o any) (dst []byte, err error) { return dst, i.EncodeTo(o, &dst) } -func (i IdentityHasherBlinded) EncodeTo(o interface{}, out *[]byte) (err error) { +func (i IdentityHasherBlinded) EncodeTo(o any, out *[]byte) (err error) { enc, err := msgpack.EncodeCanonical(o) if err != nil { return err @@ -207,7 +207,7 @@ func (i IdentityHasherBlinded) EncodeTo(o interface{}, out *[]byte) (err error) return nil } -func (i IdentityHasherBlinded) Decode(dest interface{}, src []byte) error { +func (i IdentityHasherBlinded) Decode(dest any, src []byte) error { return msgpack.Decode(dest, src) } @@ -324,7 +324,7 @@ func makeRandomKVPFromKeysForTesting(keys []Key, randSrc *rand.Rand) ([]KeyValue return kvps, nil } -func ConstructStringValueContainer() interface{} { +func ConstructStringValueContainer() any { return "" } @@ -336,11 +336,11 @@ func (e SHA512_256Encoder) GetEncodingType() EncodingType { return EncodingTypeForTesting } -func (e SHA512_256Encoder) Encode(o interface{}) (dst []byte, err error) { +func (e SHA512_256Encoder) Encode(o any) (dst []byte, err error) { return dst, e.EncodeTo(o, &dst) } -func (e SHA512_256Encoder) EncodeTo(o interface{}, out *[]byte) (err error) { +func (e SHA512_256Encoder) EncodeTo(o any, out *[]byte) (err error) { enc, err := msgpack.EncodeCanonical(o) if err != nil { return err @@ -349,11 +349,11 @@ func (e SHA512_256Encoder) EncodeTo(o interface{}, out *[]byte) (err error) { return nil } -func (e SHA512_256Encoder) Decode(dest interface{}, src []byte) error { +func (e SHA512_256Encoder) Decode(dest any, src []byte) error { return msgpack.Decode(dest, src) } -func (e SHA512_256Encoder) EncodeAndHashGeneric(o interface{}) ([]byte, Hash, error) { +func (e SHA512_256Encoder) EncodeAndHashGeneric(o any) ([]byte, Hash, error) { enc, err := e.Encode(o) if err != nil { return nil, nil, err @@ -366,7 +366,7 @@ func (e SHA512_256Encoder) EncodeAndHashGeneric(o interface{}) ([]byte, Hash, er return enc, hasher.Sum(nil), nil } -func (e SHA512_256Encoder) HashGeneric(o interface{}, h *Hash) (err error) { +func (e SHA512_256Encoder) HashGeneric(o any, h *Hash) (err error) { _, *h, err = e.EncodeAndHashGeneric(o) return err } diff --git a/go/minterm/minterm_nix.go b/go/minterm/minterm_nix.go index eac319be88ee..2ee6b132f30f 100644 --- a/go/minterm/minterm_nix.go +++ b/go/minterm/minterm_nix.go @@ -2,7 +2,6 @@ // this source code is governed by the included BSD license. //go:build !windows -// +build !windows package minterm diff --git a/go/minterm/minterm_windows.go b/go/minterm/minterm_windows.go index daa991efc055..361ab0516b65 100644 --- a/go/minterm/minterm_windows.go +++ b/go/minterm/minterm_windows.go @@ -2,7 +2,6 @@ // this source code is governed by the included BSD license. //go:build windows -// +build windows package minterm diff --git a/go/mounter/mounter.go b/go/mounter/mounter.go index 5819d8faf078..9dcaf827a53c 100644 --- a/go/mounter/mounter.go +++ b/go/mounter/mounter.go @@ -5,7 +5,7 @@ package mounter // Log is the logging interface for this package type Log interface { - Debug(s string, args ...interface{}) - Info(s string, args ...interface{}) - Errorf(s string, args ...interface{}) + Debug(s string, args ...any) + Info(s string, args ...any) + Errorf(s string, args ...any) } diff --git a/go/mounter/mounter_nix.go b/go/mounter/mounter_nix.go index 523fd6354719..20221b81ab78 100644 --- a/go/mounter/mounter_nix.go +++ b/go/mounter/mounter_nix.go @@ -2,7 +2,6 @@ // this source code is governed by the included BSD license. //go:build !windows -// +build !windows package mounter diff --git a/go/mounter/mounter_non_osx.go b/go/mounter/mounter_non_osx.go index c3d2510c2d22..197f3e56e8d6 100644 --- a/go/mounter/mounter_non_osx.go +++ b/go/mounter/mounter_non_osx.go @@ -2,7 +2,6 @@ // this source code is governed by the included BSD license. //go:build !darwin -// +build !darwin package mounter diff --git a/go/mounter/mounter_osx.go b/go/mounter/mounter_osx.go index 6e83ac739d7f..2985f701a44d 100644 --- a/go/mounter/mounter_osx.go +++ b/go/mounter/mounter_osx.go @@ -2,7 +2,6 @@ // this source code is governed by the included BSD license. //go:build darwin -// +build darwin package mounter diff --git a/go/mounter/mounter_windows.go b/go/mounter/mounter_windows.go index 9650cb18e2a1..39d23d0a19ab 100644 --- a/go/mounter/mounter_windows.go +++ b/go/mounter/mounter_windows.go @@ -2,7 +2,6 @@ // this source code is governed by the included BSD license. //go:build windows -// +build windows package mounter diff --git a/go/msgpack/msgpack.go b/go/msgpack/msgpack.go index 8f80fd3ab29f..f2aedc8bb5d3 100644 --- a/go/msgpack/msgpack.go +++ b/go/msgpack/msgpack.go @@ -10,19 +10,19 @@ import ( "github.com/keybase/go-codec/codec" ) -func EncodeCanonical(src interface{}) (dst []byte, err error) { +func EncodeCanonical(src any) (dst []byte, err error) { ch := kbcrypto.CodecHandle() ch.Canonical = true err = codec.NewEncoderBytes(&dst, ch).Encode(src) return dst, err } -func Decode(dst interface{}, src []byte) (err error) { +func Decode(dst any, src []byte) (err error) { ch := kbcrypto.CodecHandle() return codec.NewDecoderBytes(src, ch).Decode(dst) } -func Encode(src interface{}) (dst []byte, err error) { +func Encode(src any) (dst []byte, err error) { ch := kbcrypto.CodecHandle() err = codec.NewEncoderBytes(&dst, ch).Encode(src) return dst, err @@ -30,7 +30,7 @@ func Encode(src interface{}) (dst []byte, err error) { // Decode data into out, but make sure that all bytes in data are // used. -func DecodeAll(data []byte, handle *codec.MsgpackHandle, out interface{}) error { +func DecodeAll(data []byte, handle *codec.MsgpackHandle, out any) error { decoder := codec.NewDecoderBytes(data, handle) err := decoder.Decode(out) if err != nil { diff --git a/go/offline/rpc_cache.go b/go/offline/rpc_cache.go index 6146a8d5e875..7b2917b31468 100644 --- a/go/offline/rpc_cache.go +++ b/go/offline/rpc_cache.go @@ -47,10 +47,10 @@ func NewRPCCache(g *libkb.GlobalContext) *RPCCache { type hashStruct struct { UID keybase1.UID RPCName string - Arg interface{} + Arg any } -func hash(rpcName string, uid keybase1.UID, arg interface{}) ([]byte, error) { +func hash(rpcName string, uid keybase1.UID, arg any) ([]byte, error) { h := sha256.New() raw, err := msgpack.Encode(hashStruct{uid, rpcName, arg}) if err != nil { @@ -63,7 +63,7 @@ func hash(rpcName string, uid keybase1.UID, arg interface{}) ([]byte, error) { return h.Sum(nil), nil } -func dbKey(rpcName string, uid keybase1.UID, arg interface{}) (libkb.DbKey, +func dbKey(rpcName string, uid keybase1.UID, arg any) (libkb.DbKey, error, ) { raw, err := hash(rpcName, uid, arg) @@ -83,7 +83,7 @@ type Value struct { Data []byte } -func (c *RPCCache) get(mctx libkb.MetaContext, version Version, rpcName string, encrypted bool, arg interface{}, res interface{}) (found bool, err error) { +func (c *RPCCache) get(mctx libkb.MetaContext, version Version, rpcName string, encrypted bool, arg any, res any) (found bool, err error) { defer mctx.Trace(fmt.Sprintf("RPCCache#get(%d, %s, %v, %+v)", version, rpcName, encrypted, arg), &err)() c.Lock() defer c.Unlock() @@ -116,7 +116,7 @@ func (c *RPCCache) get(mctx libkb.MetaContext, version Version, rpcName string, return true, nil } -func (c *RPCCache) put(mctx libkb.MetaContext, version Version, rpcName string, encrypted bool, arg interface{}, res interface{}) (err error) { +func (c *RPCCache) put(mctx libkb.MetaContext, version Version, rpcName string, encrypted bool, arg any, res any) (err error) { defer mctx.Trace(fmt.Sprintf("RPCCache#put(%d, %s, %v, %+v)", version, rpcName, encrypted, arg), &err)() c.Lock() defer c.Unlock() @@ -156,9 +156,9 @@ func (c *RPCCache) put(mctx libkb.MetaContext, version Version, rpcName string, // If this function doesn't return an error, and the returned `res` is // nil, then `resPtr` will have been filled in already by the cache. // Otherwise, `res` should be used by the caller as the response. -func (c *RPCCache) Serve(mctx libkb.MetaContext, oa keybase1.OfflineAvailability, version Version, rpcName string, encrypted bool, arg interface{}, resPtr interface{}, - handler func(mctx libkb.MetaContext) (interface{}, error), -) (res interface{}, err error) { +func (c *RPCCache) Serve(mctx libkb.MetaContext, oa keybase1.OfflineAvailability, version Version, rpcName string, encrypted bool, arg any, resPtr any, + handler func(mctx libkb.MetaContext) (any, error), +) (res any, err error) { if oa != keybase1.OfflineAvailability_BEST_EFFORT { return handler(mctx) } @@ -181,7 +181,7 @@ func (c *RPCCache) Serve(mctx libkb.MetaContext, oa keybase1.OfflineAvailability } type handlerRes struct { - res interface{} + res any err error } resCh := make(chan handlerRes, 1) diff --git a/go/offline/rpc_cache_test.go b/go/offline/rpc_cache_test.go index ae1241479879..ee5b4a4bffbc 100644 --- a/go/offline/rpc_cache_test.go +++ b/go/offline/rpc_cache_test.go @@ -22,8 +22,8 @@ func TestRPCCacheBestEffort(t *testing.T) { rpcCache := NewRPCCache(tc.G) inHandlerCh := make(chan struct{}, 1) - handlerCh := make(chan interface{}, 1) - handler := func(mctx libkb.MetaContext) (interface{}, error) { + handlerCh := make(chan any, 1) + handler := func(mctx libkb.MetaContext) (any, error) { inHandlerCh <- struct{}{} return <-handlerCh, nil } @@ -60,7 +60,7 @@ func TestRPCCacheBestEffort(t *testing.T) { t.Log("Read via the cache, when connected but the handler is slow") var res3 int resp3 := &res3 - var servedRes3 interface{} + var servedRes3 any errCh := make(chan error) go func() { var err error diff --git a/go/pinentry/pinentry_nix.go b/go/pinentry/pinentry_nix.go index e07b4db8d388..40b11ec26e1d 100644 --- a/go/pinentry/pinentry_nix.go +++ b/go/pinentry/pinentry_nix.go @@ -2,7 +2,6 @@ // this source code is governed by the included BSD license. //go:build darwin || dragonfly || freebsd || linux || nacl || netbsd || openbsd || solaris -// +build darwin dragonfly freebsd linux nacl netbsd openbsd solaris package pinentry diff --git a/go/pinentry/pinentry_osx.go b/go/pinentry/pinentry_osx.go index b3223568b149..06eece51c811 100644 --- a/go/pinentry/pinentry_osx.go +++ b/go/pinentry/pinentry_osx.go @@ -2,7 +2,6 @@ // this source code is governed by the included BSD license. //go:build darwin -// +build darwin package pinentry diff --git a/go/pinentry/pinentry_windows.go b/go/pinentry/pinentry_windows.go index 4bd81acf0652..f21aee50a2b0 100644 --- a/go/pinentry/pinentry_windows.go +++ b/go/pinentry/pinentry_windows.go @@ -2,7 +2,6 @@ // this source code is governed by the included BSD license. //go:build windows -// +build windows package pinentry diff --git a/go/pinentry/pinentry_x11.go b/go/pinentry/pinentry_x11.go index dc054fa83458..76e55e5cd80b 100644 --- a/go/pinentry/pinentry_x11.go +++ b/go/pinentry/pinentry_x11.go @@ -2,7 +2,6 @@ // this source code is governed by the included BSD license. //go:build dragonfly || freebsd || linux || nacl || netbsd || openbsd || solaris -// +build dragonfly freebsd linux nacl netbsd openbsd solaris package pinentry diff --git a/go/profiling/timetracer.go b/go/profiling/timetracer.go index fdb176f45d51..c32702c58c00 100644 --- a/go/profiling/timetracer.go +++ b/go/profiling/timetracer.go @@ -11,7 +11,7 @@ import ( ) type TimeTracer interface { - Stage(format string, args ...interface{}) + Stage(format string, args ...any) Finish() } @@ -46,7 +46,7 @@ func (t *TimeTracerImpl) finishStage() { t.log.CDebugf(t.ctx, "| %s:%s [time=%s]", t.label, t.stage, t.clock.Since(t.prev)) } -func (t *TimeTracerImpl) Stage(format string, args ...interface{}) { +func (t *TimeTracerImpl) Stage(format string, args ...any) { t.Lock() defer t.Unlock() t.finishStage() @@ -70,6 +70,6 @@ func NewSilentTimeTracer() *SilentTimeTracer { return &SilentTimeTracer{} } -func (t *SilentTimeTracer) Stage(format string, args ...interface{}) {} +func (t *SilentTimeTracer) Stage(format string, args ...any) {} func (t *SilentTimeTracer) Finish() {} diff --git a/go/protocol/chat1/api.go b/go/protocol/chat1/api.go index b86e92929b8d..918d6ae376d1 100644 --- a/go/protocol/chat1/api.go +++ b/go/protocol/chat1/api.go @@ -1,4 +1,4 @@ -// Auto-generated to Go types and interfaces using avdl-compiler v1.4.10 (https://github.com/keybase/node-avdl-compiler) +// Code generated to Go types and interfaces using avdl-compiler v1.4.10 (https://github.com/keybase/node-avdl-compiler). DO NOT EDIT. // Input file: avdl/chat1/api.avdl package chat1 @@ -1059,7 +1059,8 @@ func (o GetDeviceInfoRes) DeepCopy() GetDeviceInfoRes { } } -type ApiInterface interface{} +type ApiInterface interface { +} func ApiProtocol(i ApiInterface) rpc.Protocol { return rpc.Protocol{ diff --git a/go/protocol/chat1/blocking.go b/go/protocol/chat1/blocking.go index 033ca772dab7..aa9e8ef94e8b 100644 --- a/go/protocol/chat1/blocking.go +++ b/go/protocol/chat1/blocking.go @@ -1,4 +1,4 @@ -// Auto-generated to Go types and interfaces using avdl-compiler v1.4.10 (https://github.com/keybase/node-avdl-compiler) +// Code generated to Go types and interfaces using avdl-compiler v1.4.10 (https://github.com/keybase/node-avdl-compiler). DO NOT EDIT. // Input file: avdl/chat1/blocking.avdl package chat1 @@ -26,11 +26,11 @@ func BlockingProtocol(i BlockingInterface) rpc.Protocol { Name: "chat.1.blocking", Methods: map[string]rpc.ServeHandlerDescription{ "blockConversations": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]BlockConversationsArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]BlockConversationsArg) if !ok { err = rpc.NewTypeError((*[1]BlockConversationsArg)(nil), args) @@ -49,6 +49,6 @@ type BlockingClient struct { } func (c BlockingClient) BlockConversations(ctx context.Context, __arg BlockConversationsArg) (err error) { - err = c.Cli.Call(ctx, "chat.1.blocking.blockConversations", []interface{}{__arg}, nil, 0*time.Millisecond) + err = c.Cli.Call(ctx, "chat.1.blocking.blockConversations", []any{__arg}, nil, 0*time.Millisecond) return } diff --git a/go/protocol/chat1/chat_ui.go b/go/protocol/chat1/chat_ui.go index 227fd20c273c..067a28ac69a3 100644 --- a/go/protocol/chat1/chat_ui.go +++ b/go/protocol/chat1/chat_ui.go @@ -1,4 +1,4 @@ -// Auto-generated to Go types and interfaces using avdl-compiler v1.4.10 (https://github.com/keybase/node-avdl-compiler) +// Code generated to Go types and interfaces using avdl-compiler v1.4.10 (https://github.com/keybase/node-avdl-compiler). DO NOT EDIT. // Input file: avdl/chat1/chat_ui.avdl package chat1 @@ -3220,11 +3220,11 @@ func ChatUiProtocol(i ChatUiInterface) rpc.Protocol { Name: "chat.1.chatUi", Methods: map[string]rpc.ServeHandlerDescription{ "chatInboxLayout": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]ChatInboxLayoutArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]ChatInboxLayoutArg) if !ok { err = rpc.NewTypeError((*[1]ChatInboxLayoutArg)(nil), args) @@ -3235,11 +3235,11 @@ func ChatUiProtocol(i ChatUiInterface) rpc.Protocol { }, }, "chatInboxUnverified": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]ChatInboxUnverifiedArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]ChatInboxUnverifiedArg) if !ok { err = rpc.NewTypeError((*[1]ChatInboxUnverifiedArg)(nil), args) @@ -3250,11 +3250,11 @@ func ChatUiProtocol(i ChatUiInterface) rpc.Protocol { }, }, "chatInboxConversation": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]ChatInboxConversationArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]ChatInboxConversationArg) if !ok { err = rpc.NewTypeError((*[1]ChatInboxConversationArg)(nil), args) @@ -3265,11 +3265,11 @@ func ChatUiProtocol(i ChatUiInterface) rpc.Protocol { }, }, "chatInboxFailed": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]ChatInboxFailedArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]ChatInboxFailedArg) if !ok { err = rpc.NewTypeError((*[1]ChatInboxFailedArg)(nil), args) @@ -3280,11 +3280,11 @@ func ChatUiProtocol(i ChatUiInterface) rpc.Protocol { }, }, "chatThreadCached": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]ChatThreadCachedArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]ChatThreadCachedArg) if !ok { err = rpc.NewTypeError((*[1]ChatThreadCachedArg)(nil), args) @@ -3295,11 +3295,11 @@ func ChatUiProtocol(i ChatUiInterface) rpc.Protocol { }, }, "chatThreadFull": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]ChatThreadFullArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]ChatThreadFullArg) if !ok { err = rpc.NewTypeError((*[1]ChatThreadFullArg)(nil), args) @@ -3310,11 +3310,11 @@ func ChatUiProtocol(i ChatUiInterface) rpc.Protocol { }, }, "chatThreadStatus": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]ChatThreadStatusArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]ChatThreadStatusArg) if !ok { err = rpc.NewTypeError((*[1]ChatThreadStatusArg)(nil), args) @@ -3325,11 +3325,11 @@ func ChatUiProtocol(i ChatUiInterface) rpc.Protocol { }, }, "chatSearchHit": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]ChatSearchHitArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]ChatSearchHitArg) if !ok { err = rpc.NewTypeError((*[1]ChatSearchHitArg)(nil), args) @@ -3340,11 +3340,11 @@ func ChatUiProtocol(i ChatUiInterface) rpc.Protocol { }, }, "chatSearchDone": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]ChatSearchDoneArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]ChatSearchDoneArg) if !ok { err = rpc.NewTypeError((*[1]ChatSearchDoneArg)(nil), args) @@ -3355,11 +3355,11 @@ func ChatUiProtocol(i ChatUiInterface) rpc.Protocol { }, }, "chatSearchInboxStart": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]ChatSearchInboxStartArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]ChatSearchInboxStartArg) if !ok { err = rpc.NewTypeError((*[1]ChatSearchInboxStartArg)(nil), args) @@ -3370,11 +3370,11 @@ func ChatUiProtocol(i ChatUiInterface) rpc.Protocol { }, }, "chatSearchInboxHit": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]ChatSearchInboxHitArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]ChatSearchInboxHitArg) if !ok { err = rpc.NewTypeError((*[1]ChatSearchInboxHitArg)(nil), args) @@ -3385,11 +3385,11 @@ func ChatUiProtocol(i ChatUiInterface) rpc.Protocol { }, }, "chatSearchInboxDone": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]ChatSearchInboxDoneArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]ChatSearchInboxDoneArg) if !ok { err = rpc.NewTypeError((*[1]ChatSearchInboxDoneArg)(nil), args) @@ -3400,11 +3400,11 @@ func ChatUiProtocol(i ChatUiInterface) rpc.Protocol { }, }, "chatSearchIndexStatus": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]ChatSearchIndexStatusArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]ChatSearchIndexStatusArg) if !ok { err = rpc.NewTypeError((*[1]ChatSearchIndexStatusArg)(nil), args) @@ -3415,11 +3415,11 @@ func ChatUiProtocol(i ChatUiInterface) rpc.Protocol { }, }, "chatSearchConvHits": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]ChatSearchConvHitsArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]ChatSearchConvHitsArg) if !ok { err = rpc.NewTypeError((*[1]ChatSearchConvHitsArg)(nil), args) @@ -3430,11 +3430,11 @@ func ChatUiProtocol(i ChatUiInterface) rpc.Protocol { }, }, "chatSearchTeamHits": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]ChatSearchTeamHitsArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]ChatSearchTeamHitsArg) if !ok { err = rpc.NewTypeError((*[1]ChatSearchTeamHitsArg)(nil), args) @@ -3445,11 +3445,11 @@ func ChatUiProtocol(i ChatUiInterface) rpc.Protocol { }, }, "chatSearchBotHits": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]ChatSearchBotHitsArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]ChatSearchBotHitsArg) if !ok { err = rpc.NewTypeError((*[1]ChatSearchBotHitsArg)(nil), args) @@ -3460,11 +3460,11 @@ func ChatUiProtocol(i ChatUiInterface) rpc.Protocol { }, }, "chatConfirmChannelDelete": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]ChatConfirmChannelDeleteArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]ChatConfirmChannelDeleteArg) if !ok { err = rpc.NewTypeError((*[1]ChatConfirmChannelDeleteArg)(nil), args) @@ -3475,11 +3475,11 @@ func ChatUiProtocol(i ChatUiInterface) rpc.Protocol { }, }, "chatStellarShowConfirm": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]ChatStellarShowConfirmArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]ChatStellarShowConfirmArg) if !ok { err = rpc.NewTypeError((*[1]ChatStellarShowConfirmArg)(nil), args) @@ -3490,11 +3490,11 @@ func ChatUiProtocol(i ChatUiInterface) rpc.Protocol { }, }, "chatStellarDataConfirm": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]ChatStellarDataConfirmArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]ChatStellarDataConfirmArg) if !ok { err = rpc.NewTypeError((*[1]ChatStellarDataConfirmArg)(nil), args) @@ -3505,11 +3505,11 @@ func ChatUiProtocol(i ChatUiInterface) rpc.Protocol { }, }, "chatStellarDataError": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]ChatStellarDataErrorArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]ChatStellarDataErrorArg) if !ok { err = rpc.NewTypeError((*[1]ChatStellarDataErrorArg)(nil), args) @@ -3520,11 +3520,11 @@ func ChatUiProtocol(i ChatUiInterface) rpc.Protocol { }, }, "chatStellarDone": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]ChatStellarDoneArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]ChatStellarDoneArg) if !ok { err = rpc.NewTypeError((*[1]ChatStellarDoneArg)(nil), args) @@ -3535,11 +3535,11 @@ func ChatUiProtocol(i ChatUiInterface) rpc.Protocol { }, }, "chatGiphySearchResults": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]ChatGiphySearchResultsArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]ChatGiphySearchResultsArg) if !ok { err = rpc.NewTypeError((*[1]ChatGiphySearchResultsArg)(nil), args) @@ -3550,11 +3550,11 @@ func ChatUiProtocol(i ChatUiInterface) rpc.Protocol { }, }, "chatGiphyToggleResultWindow": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]ChatGiphyToggleResultWindowArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]ChatGiphyToggleResultWindowArg) if !ok { err = rpc.NewTypeError((*[1]ChatGiphyToggleResultWindowArg)(nil), args) @@ -3565,11 +3565,11 @@ func ChatUiProtocol(i ChatUiInterface) rpc.Protocol { }, }, "chatShowManageChannels": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]ChatShowManageChannelsArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]ChatShowManageChannelsArg) if !ok { err = rpc.NewTypeError((*[1]ChatShowManageChannelsArg)(nil), args) @@ -3580,11 +3580,11 @@ func ChatUiProtocol(i ChatUiInterface) rpc.Protocol { }, }, "chatCoinFlipStatus": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]ChatCoinFlipStatusArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]ChatCoinFlipStatusArg) if !ok { err = rpc.NewTypeError((*[1]ChatCoinFlipStatusArg)(nil), args) @@ -3595,11 +3595,11 @@ func ChatUiProtocol(i ChatUiInterface) rpc.Protocol { }, }, "chatCommandMarkdown": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]ChatCommandMarkdownArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]ChatCommandMarkdownArg) if !ok { err = rpc.NewTypeError((*[1]ChatCommandMarkdownArg)(nil), args) @@ -3610,11 +3610,11 @@ func ChatUiProtocol(i ChatUiInterface) rpc.Protocol { }, }, "chatMaybeMentionUpdate": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]ChatMaybeMentionUpdateArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]ChatMaybeMentionUpdateArg) if !ok { err = rpc.NewTypeError((*[1]ChatMaybeMentionUpdateArg)(nil), args) @@ -3625,11 +3625,11 @@ func ChatUiProtocol(i ChatUiInterface) rpc.Protocol { }, }, "chatLoadGalleryHit": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]ChatLoadGalleryHitArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]ChatLoadGalleryHitArg) if !ok { err = rpc.NewTypeError((*[1]ChatLoadGalleryHitArg)(nil), args) @@ -3640,11 +3640,11 @@ func ChatUiProtocol(i ChatUiInterface) rpc.Protocol { }, }, "chatWatchPosition": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]ChatWatchPositionArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]ChatWatchPositionArg) if !ok { err = rpc.NewTypeError((*[1]ChatWatchPositionArg)(nil), args) @@ -3655,11 +3655,11 @@ func ChatUiProtocol(i ChatUiInterface) rpc.Protocol { }, }, "chatClearWatch": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]ChatClearWatchArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]ChatClearWatchArg) if !ok { err = rpc.NewTypeError((*[1]ChatClearWatchArg)(nil), args) @@ -3670,11 +3670,11 @@ func ChatUiProtocol(i ChatUiInterface) rpc.Protocol { }, }, "chatCommandStatus": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]ChatCommandStatusArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]ChatCommandStatusArg) if !ok { err = rpc.NewTypeError((*[1]ChatCommandStatusArg)(nil), args) @@ -3685,11 +3685,11 @@ func ChatUiProtocol(i ChatUiInterface) rpc.Protocol { }, }, "chatBotCommandsUpdateStatus": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]ChatBotCommandsUpdateStatusArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]ChatBotCommandsUpdateStatusArg) if !ok { err = rpc.NewTypeError((*[1]ChatBotCommandsUpdateStatusArg)(nil), args) @@ -3700,11 +3700,11 @@ func ChatUiProtocol(i ChatUiInterface) rpc.Protocol { }, }, "triggerContactSync": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]TriggerContactSyncArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]TriggerContactSyncArg) if !ok { err = rpc.NewTypeError((*[1]TriggerContactSyncArg)(nil), args) @@ -3723,169 +3723,169 @@ type ChatUiClient struct { } func (c ChatUiClient) ChatInboxLayout(ctx context.Context, __arg ChatInboxLayoutArg) (err error) { - err = c.Cli.Call(ctx, "chat.1.chatUi.chatInboxLayout", []interface{}{__arg}, nil, 0*time.Millisecond) + err = c.Cli.Call(ctx, "chat.1.chatUi.chatInboxLayout", []any{__arg}, nil, 0*time.Millisecond) return } func (c ChatUiClient) ChatInboxUnverified(ctx context.Context, __arg ChatInboxUnverifiedArg) (err error) { - err = c.Cli.Call(ctx, "chat.1.chatUi.chatInboxUnverified", []interface{}{__arg}, nil, 0*time.Millisecond) + err = c.Cli.Call(ctx, "chat.1.chatUi.chatInboxUnverified", []any{__arg}, nil, 0*time.Millisecond) return } func (c ChatUiClient) ChatInboxConversation(ctx context.Context, __arg ChatInboxConversationArg) (err error) { - err = c.Cli.Call(ctx, "chat.1.chatUi.chatInboxConversation", []interface{}{__arg}, nil, 0*time.Millisecond) + err = c.Cli.Call(ctx, "chat.1.chatUi.chatInboxConversation", []any{__arg}, nil, 0*time.Millisecond) return } func (c ChatUiClient) ChatInboxFailed(ctx context.Context, __arg ChatInboxFailedArg) (err error) { - err = c.Cli.Call(ctx, "chat.1.chatUi.chatInboxFailed", []interface{}{__arg}, nil, 0*time.Millisecond) + err = c.Cli.Call(ctx, "chat.1.chatUi.chatInboxFailed", []any{__arg}, nil, 0*time.Millisecond) return } func (c ChatUiClient) ChatThreadCached(ctx context.Context, __arg ChatThreadCachedArg) (err error) { - err = c.Cli.Call(ctx, "chat.1.chatUi.chatThreadCached", []interface{}{__arg}, nil, 0*time.Millisecond) + err = c.Cli.Call(ctx, "chat.1.chatUi.chatThreadCached", []any{__arg}, nil, 0*time.Millisecond) return } func (c ChatUiClient) ChatThreadFull(ctx context.Context, __arg ChatThreadFullArg) (err error) { - err = c.Cli.Call(ctx, "chat.1.chatUi.chatThreadFull", []interface{}{__arg}, nil, 0*time.Millisecond) + err = c.Cli.Call(ctx, "chat.1.chatUi.chatThreadFull", []any{__arg}, nil, 0*time.Millisecond) return } func (c ChatUiClient) ChatThreadStatus(ctx context.Context, __arg ChatThreadStatusArg) (err error) { - err = c.Cli.Call(ctx, "chat.1.chatUi.chatThreadStatus", []interface{}{__arg}, nil, 0*time.Millisecond) + err = c.Cli.Call(ctx, "chat.1.chatUi.chatThreadStatus", []any{__arg}, nil, 0*time.Millisecond) return } func (c ChatUiClient) ChatSearchHit(ctx context.Context, __arg ChatSearchHitArg) (err error) { - err = c.Cli.Call(ctx, "chat.1.chatUi.chatSearchHit", []interface{}{__arg}, nil, 0*time.Millisecond) + err = c.Cli.Call(ctx, "chat.1.chatUi.chatSearchHit", []any{__arg}, nil, 0*time.Millisecond) return } func (c ChatUiClient) ChatSearchDone(ctx context.Context, __arg ChatSearchDoneArg) (err error) { - err = c.Cli.Call(ctx, "chat.1.chatUi.chatSearchDone", []interface{}{__arg}, nil, 0*time.Millisecond) + err = c.Cli.Call(ctx, "chat.1.chatUi.chatSearchDone", []any{__arg}, nil, 0*time.Millisecond) return } func (c ChatUiClient) ChatSearchInboxStart(ctx context.Context, sessionID int) (err error) { __arg := ChatSearchInboxStartArg{SessionID: sessionID} - err = c.Cli.Call(ctx, "chat.1.chatUi.chatSearchInboxStart", []interface{}{__arg}, nil, 0*time.Millisecond) + err = c.Cli.Call(ctx, "chat.1.chatUi.chatSearchInboxStart", []any{__arg}, nil, 0*time.Millisecond) return } func (c ChatUiClient) ChatSearchInboxHit(ctx context.Context, __arg ChatSearchInboxHitArg) (err error) { - err = c.Cli.Call(ctx, "chat.1.chatUi.chatSearchInboxHit", []interface{}{__arg}, nil, 0*time.Millisecond) + err = c.Cli.Call(ctx, "chat.1.chatUi.chatSearchInboxHit", []any{__arg}, nil, 0*time.Millisecond) return } func (c ChatUiClient) ChatSearchInboxDone(ctx context.Context, __arg ChatSearchInboxDoneArg) (err error) { - err = c.Cli.Call(ctx, "chat.1.chatUi.chatSearchInboxDone", []interface{}{__arg}, nil, 0*time.Millisecond) + err = c.Cli.Call(ctx, "chat.1.chatUi.chatSearchInboxDone", []any{__arg}, nil, 0*time.Millisecond) return } func (c ChatUiClient) ChatSearchIndexStatus(ctx context.Context, __arg ChatSearchIndexStatusArg) (err error) { - err = c.Cli.Call(ctx, "chat.1.chatUi.chatSearchIndexStatus", []interface{}{__arg}, nil, 0*time.Millisecond) + err = c.Cli.Call(ctx, "chat.1.chatUi.chatSearchIndexStatus", []any{__arg}, nil, 0*time.Millisecond) return } func (c ChatUiClient) ChatSearchConvHits(ctx context.Context, __arg ChatSearchConvHitsArg) (err error) { - err = c.Cli.Call(ctx, "chat.1.chatUi.chatSearchConvHits", []interface{}{__arg}, nil, 0*time.Millisecond) + err = c.Cli.Call(ctx, "chat.1.chatUi.chatSearchConvHits", []any{__arg}, nil, 0*time.Millisecond) return } func (c ChatUiClient) ChatSearchTeamHits(ctx context.Context, __arg ChatSearchTeamHitsArg) (err error) { - err = c.Cli.Call(ctx, "chat.1.chatUi.chatSearchTeamHits", []interface{}{__arg}, nil, 0*time.Millisecond) + err = c.Cli.Call(ctx, "chat.1.chatUi.chatSearchTeamHits", []any{__arg}, nil, 0*time.Millisecond) return } func (c ChatUiClient) ChatSearchBotHits(ctx context.Context, __arg ChatSearchBotHitsArg) (err error) { - err = c.Cli.Call(ctx, "chat.1.chatUi.chatSearchBotHits", []interface{}{__arg}, nil, 0*time.Millisecond) + err = c.Cli.Call(ctx, "chat.1.chatUi.chatSearchBotHits", []any{__arg}, nil, 0*time.Millisecond) return } func (c ChatUiClient) ChatConfirmChannelDelete(ctx context.Context, __arg ChatConfirmChannelDeleteArg) (res bool, err error) { - err = c.Cli.Call(ctx, "chat.1.chatUi.chatConfirmChannelDelete", []interface{}{__arg}, &res, 0*time.Millisecond) + err = c.Cli.Call(ctx, "chat.1.chatUi.chatConfirmChannelDelete", []any{__arg}, &res, 0*time.Millisecond) return } func (c ChatUiClient) ChatStellarShowConfirm(ctx context.Context, sessionID int) (err error) { __arg := ChatStellarShowConfirmArg{SessionID: sessionID} - err = c.Cli.Call(ctx, "chat.1.chatUi.chatStellarShowConfirm", []interface{}{__arg}, nil, 0*time.Millisecond) + err = c.Cli.Call(ctx, "chat.1.chatUi.chatStellarShowConfirm", []any{__arg}, nil, 0*time.Millisecond) return } func (c ChatUiClient) ChatStellarDataConfirm(ctx context.Context, __arg ChatStellarDataConfirmArg) (res bool, err error) { - err = c.Cli.Call(ctx, "chat.1.chatUi.chatStellarDataConfirm", []interface{}{__arg}, &res, 0*time.Millisecond) + err = c.Cli.Call(ctx, "chat.1.chatUi.chatStellarDataConfirm", []any{__arg}, &res, 0*time.Millisecond) return } func (c ChatUiClient) ChatStellarDataError(ctx context.Context, __arg ChatStellarDataErrorArg) (res bool, err error) { - err = c.Cli.Call(ctx, "chat.1.chatUi.chatStellarDataError", []interface{}{__arg}, &res, 0*time.Millisecond) + err = c.Cli.Call(ctx, "chat.1.chatUi.chatStellarDataError", []any{__arg}, &res, 0*time.Millisecond) return } func (c ChatUiClient) ChatStellarDone(ctx context.Context, __arg ChatStellarDoneArg) (err error) { - err = c.Cli.Call(ctx, "chat.1.chatUi.chatStellarDone", []interface{}{__arg}, nil, 0*time.Millisecond) + err = c.Cli.Call(ctx, "chat.1.chatUi.chatStellarDone", []any{__arg}, nil, 0*time.Millisecond) return } func (c ChatUiClient) ChatGiphySearchResults(ctx context.Context, __arg ChatGiphySearchResultsArg) (err error) { - err = c.Cli.Call(ctx, "chat.1.chatUi.chatGiphySearchResults", []interface{}{__arg}, nil, 0*time.Millisecond) + err = c.Cli.Call(ctx, "chat.1.chatUi.chatGiphySearchResults", []any{__arg}, nil, 0*time.Millisecond) return } func (c ChatUiClient) ChatGiphyToggleResultWindow(ctx context.Context, __arg ChatGiphyToggleResultWindowArg) (err error) { - err = c.Cli.Call(ctx, "chat.1.chatUi.chatGiphyToggleResultWindow", []interface{}{__arg}, nil, 0*time.Millisecond) + err = c.Cli.Call(ctx, "chat.1.chatUi.chatGiphyToggleResultWindow", []any{__arg}, nil, 0*time.Millisecond) return } func (c ChatUiClient) ChatShowManageChannels(ctx context.Context, __arg ChatShowManageChannelsArg) (err error) { - err = c.Cli.Call(ctx, "chat.1.chatUi.chatShowManageChannels", []interface{}{__arg}, nil, 0*time.Millisecond) + err = c.Cli.Call(ctx, "chat.1.chatUi.chatShowManageChannels", []any{__arg}, nil, 0*time.Millisecond) return } func (c ChatUiClient) ChatCoinFlipStatus(ctx context.Context, __arg ChatCoinFlipStatusArg) (err error) { - err = c.Cli.Call(ctx, "chat.1.chatUi.chatCoinFlipStatus", []interface{}{__arg}, nil, 0*time.Millisecond) + err = c.Cli.Call(ctx, "chat.1.chatUi.chatCoinFlipStatus", []any{__arg}, nil, 0*time.Millisecond) return } func (c ChatUiClient) ChatCommandMarkdown(ctx context.Context, __arg ChatCommandMarkdownArg) (err error) { - err = c.Cli.Call(ctx, "chat.1.chatUi.chatCommandMarkdown", []interface{}{__arg}, nil, 0*time.Millisecond) + err = c.Cli.Call(ctx, "chat.1.chatUi.chatCommandMarkdown", []any{__arg}, nil, 0*time.Millisecond) return } func (c ChatUiClient) ChatMaybeMentionUpdate(ctx context.Context, __arg ChatMaybeMentionUpdateArg) (err error) { - err = c.Cli.Call(ctx, "chat.1.chatUi.chatMaybeMentionUpdate", []interface{}{__arg}, nil, 0*time.Millisecond) + err = c.Cli.Call(ctx, "chat.1.chatUi.chatMaybeMentionUpdate", []any{__arg}, nil, 0*time.Millisecond) return } func (c ChatUiClient) ChatLoadGalleryHit(ctx context.Context, __arg ChatLoadGalleryHitArg) (err error) { - err = c.Cli.Call(ctx, "chat.1.chatUi.chatLoadGalleryHit", []interface{}{__arg}, nil, 0*time.Millisecond) + err = c.Cli.Call(ctx, "chat.1.chatUi.chatLoadGalleryHit", []any{__arg}, nil, 0*time.Millisecond) return } func (c ChatUiClient) ChatWatchPosition(ctx context.Context, __arg ChatWatchPositionArg) (res LocationWatchID, err error) { - err = c.Cli.Call(ctx, "chat.1.chatUi.chatWatchPosition", []interface{}{__arg}, &res, 0*time.Millisecond) + err = c.Cli.Call(ctx, "chat.1.chatUi.chatWatchPosition", []any{__arg}, &res, 0*time.Millisecond) return } func (c ChatUiClient) ChatClearWatch(ctx context.Context, __arg ChatClearWatchArg) (err error) { - err = c.Cli.Call(ctx, "chat.1.chatUi.chatClearWatch", []interface{}{__arg}, nil, 0*time.Millisecond) + err = c.Cli.Call(ctx, "chat.1.chatUi.chatClearWatch", []any{__arg}, nil, 0*time.Millisecond) return } func (c ChatUiClient) ChatCommandStatus(ctx context.Context, __arg ChatCommandStatusArg) (err error) { - err = c.Cli.Call(ctx, "chat.1.chatUi.chatCommandStatus", []interface{}{__arg}, nil, 0*time.Millisecond) + err = c.Cli.Call(ctx, "chat.1.chatUi.chatCommandStatus", []any{__arg}, nil, 0*time.Millisecond) return } func (c ChatUiClient) ChatBotCommandsUpdateStatus(ctx context.Context, __arg ChatBotCommandsUpdateStatusArg) (err error) { - err = c.Cli.Call(ctx, "chat.1.chatUi.chatBotCommandsUpdateStatus", []interface{}{__arg}, nil, 0*time.Millisecond) + err = c.Cli.Call(ctx, "chat.1.chatUi.chatBotCommandsUpdateStatus", []any{__arg}, nil, 0*time.Millisecond) return } func (c ChatUiClient) TriggerContactSync(ctx context.Context, sessionID int) (err error) { __arg := TriggerContactSyncArg{SessionID: sessionID} - err = c.Cli.Call(ctx, "chat.1.chatUi.triggerContactSync", []interface{}{__arg}, nil, 0*time.Millisecond) + err = c.Cli.Call(ctx, "chat.1.chatUi.triggerContactSync", []any{__arg}, nil, 0*time.Millisecond) return } diff --git a/go/protocol/chat1/commands.go b/go/protocol/chat1/commands.go index ec9f0caee256..31f26b835ef7 100644 --- a/go/protocol/chat1/commands.go +++ b/go/protocol/chat1/commands.go @@ -1,4 +1,4 @@ -// Auto-generated to Go types and interfaces using avdl-compiler v1.4.10 (https://github.com/keybase/node-avdl-compiler) +// Code generated to Go types and interfaces using avdl-compiler v1.4.10 (https://github.com/keybase/node-avdl-compiler). DO NOT EDIT. // Input file: avdl/chat1/commands.avdl package chat1 @@ -200,7 +200,8 @@ func (o ConversationCommandGroups) DeepCopy() ConversationCommandGroups { } } -type CommandsInterface interface{} +type CommandsInterface interface { +} func CommandsProtocol(i CommandsInterface) rpc.Protocol { return rpc.Protocol{ diff --git a/go/protocol/chat1/common.go b/go/protocol/chat1/common.go index ad5c5b44e960..54a11c6a00c5 100644 --- a/go/protocol/chat1/common.go +++ b/go/protocol/chat1/common.go @@ -1,4 +1,4 @@ -// Auto-generated to Go types and interfaces using avdl-compiler v1.4.10 (https://github.com/keybase/node-avdl-compiler) +// Code generated to Go types and interfaces using avdl-compiler v1.4.10 (https://github.com/keybase/node-avdl-compiler). DO NOT EDIT. // Input file: avdl/chat1/common.avdl package chat1 @@ -1966,7 +1966,8 @@ func (o RetentionPolicy) DeepCopy() RetentionPolicy { } } -type RpRetain struct{} +type RpRetain struct { +} func (o RpRetain) DeepCopy() RpRetain { return RpRetain{} @@ -1982,7 +1983,8 @@ func (o RpExpire) DeepCopy() RpExpire { } } -type RpInherit struct{} +type RpInherit struct { +} func (o RpInherit) DeepCopy() RpInherit { return RpInherit{} @@ -2150,7 +2152,8 @@ func (o SearchOpts) DeepCopy() SearchOpts { } } -type EmptyStruct struct{} +type EmptyStruct struct { +} func (o EmptyStruct) DeepCopy() EmptyStruct { return EmptyStruct{} @@ -2670,7 +2673,8 @@ func (o ChatMembersDetails) DeepCopy() ChatMembersDetails { } } -type CommonInterface interface{} +type CommonInterface interface { +} func CommonProtocol(i CommonInterface) rpc.Protocol { return rpc.Protocol{ diff --git a/go/protocol/chat1/decorate.go b/go/protocol/chat1/decorate.go index 1c333026d9c6..bce897023d53 100644 --- a/go/protocol/chat1/decorate.go +++ b/go/protocol/chat1/decorate.go @@ -18,7 +18,7 @@ func (o DecorationPayment) DeepCopy() DecorationPayment { } } -type DecorateInterface interface{} +type DecorateInterface any func DecorateProtocol(i DecorateInterface) rpc.Protocol { return rpc.Protocol{ diff --git a/go/protocol/chat1/emoji.go b/go/protocol/chat1/emoji.go index bded9ec0da2a..3119464a3f26 100644 --- a/go/protocol/chat1/emoji.go +++ b/go/protocol/chat1/emoji.go @@ -1,4 +1,4 @@ -// Auto-generated to Go types and interfaces using avdl-compiler v1.4.10 (https://github.com/keybase/node-avdl-compiler) +// Code generated to Go types and interfaces using avdl-compiler v1.4.10 (https://github.com/keybase/node-avdl-compiler). DO NOT EDIT. // Input file: avdl/chat1/emoji.avdl package chat1 @@ -374,7 +374,8 @@ func (o EmojiStorage) DeepCopy() EmojiStorage { } } -type EmojiInterface interface{} +type EmojiInterface interface { +} func EmojiProtocol(i EmojiInterface) rpc.Protocol { return rpc.Protocol{ diff --git a/go/protocol/chat1/extras.go b/go/protocol/chat1/extras.go index 8c2c50eae2d1..63300c3e194d 100644 --- a/go/protocol/chat1/extras.go +++ b/go/protocol/chat1/extras.go @@ -13,6 +13,7 @@ import ( "math" "path/filepath" "regexp" + "slices" "sort" "strconv" "strings" @@ -128,10 +129,7 @@ const DbShortFormLen = 10 // DbShortForm should only be used when interacting with the database, and should // never leave Gregor func (cid ConversationID) DbShortForm() ConvIDShort { - end := DbShortFormLen - if end > len(cid) { - end = len(cid) - } + end := min(DbShortFormLen, len(cid)) return cid[:end] } @@ -337,28 +335,16 @@ func DeletableMessageTypesByDeleteHistory() (res []MessageType) { res = append(res, mt) } } - sort.Slice(res, func(i, j int) bool { - return res[i] < res[j] - }) + slices.Sort(res) return res } func IsDeletableByDelete(typ MessageType) bool { - for _, typ2 := range deletableMessageTypesByDelete { - if typ == typ2 { - return true - } - } - return false + return slices.Contains(deletableMessageTypesByDelete, typ) } func IsDeletableByDeleteHistory(typ MessageType) bool { - for _, typ2 := range nonDeletableMessageTypesByDeleteHistory { - if typ == typ2 { - return false - } - } - return true + return !slices.Contains(nonDeletableMessageTypesByDeleteHistory, typ) } // EphemeralAllowed flags if the given topic type is allowed to send ephemeral @@ -635,12 +621,7 @@ func (m MessageUnboxed) IsValidDeleted() bool { func (m MessageUnboxed) IsVisible() bool { typ := m.GetMessageType() - for _, visType := range VisibleChatMessageTypes() { - if typ == visType { - return true - } - } - return false + return slices.Contains(VisibleChatMessageTypes(), typ) } func (m MessageUnboxed) HasReactions() bool { @@ -898,12 +879,7 @@ func (m MessagePlaintext) MessageType() MessageType { func (m MessagePlaintext) IsVisible() bool { typ := m.MessageType() - for _, visType := range VisibleChatMessageTypes() { - if typ == visType { - return true - } - } - return false + return slices.Contains(VisibleChatMessageTypes(), typ) } func (m MessagePlaintext) IsBadgableType() bool { @@ -961,12 +937,10 @@ func (m MessageUnboxedValid) ExplodedBy() *string { func Etime(lifetime gregor1.DurationSec, ctime, rtime, now gregor1.Time) gregor1.Time { originalLifetime := lifetime.ToDuration() elapsedLifetime := now.Time().Sub(ctime.Time()) - remainingLifetime := originalLifetime - elapsedLifetime - // If the server's view doesn't make sense, just use the signed lifetime - // from the message. - if remainingLifetime > originalLifetime { - remainingLifetime = originalLifetime - } + remainingLifetime := min( + // If the server's view doesn't make sense, just use the signed lifetime + // from the message. + originalLifetime-elapsedLifetime, originalLifetime) etime := rtime.Time().Add(remainingLifetime) return gregor1.ToTime(etime) } @@ -1285,7 +1259,7 @@ var ConversationStatusGregorRevMap = map[string]ConversationStatus{ } var sha256Pool = sync.Pool{ - New: func() interface{} { + New: func() any { return sha256.New() }, } @@ -1671,12 +1645,7 @@ func (c Conversation) GetMaxMessage(typ MessageType) (MessageSummary, error) { } func (c Conversation) Includes(uid gregor1.UID) bool { - for _, auid := range c.Metadata.ActiveList { - if uid.Eq(auid) { - return true - } - } - return false + return slices.ContainsFunc(c.Metadata.ActiveList, uid.Eq) } func (c Conversation) GetMaxDeletedUpTo() MessageID { @@ -2812,12 +2781,7 @@ func (o SearchOpts) Matches(msg MessageUnboxed) bool { return true } } - for _, username := range msg.AtMentionUsernames() { - if o.SentTo == username { - return true - } - } - return false + return slices.Contains(msg.AtMentionUsernames(), o.SentTo) } return true } @@ -2931,9 +2895,7 @@ func GlobalAppNotificationSettingsSorted() (res []GlobalAppNotificationSetting) res = append(res, setting) } } - sort.Slice(res, func(i, j int) bool { - return res[i] < res[j] - }) + slices.Sort(res) return res } diff --git a/go/protocol/chat1/gregor.go b/go/protocol/chat1/gregor.go index 06c094fea220..89f05279f6d4 100644 --- a/go/protocol/chat1/gregor.go +++ b/go/protocol/chat1/gregor.go @@ -1,4 +1,4 @@ -// Auto-generated to Go types and interfaces using avdl-compiler v1.4.10 (https://github.com/keybase/node-avdl-compiler) +// Code generated to Go types and interfaces using avdl-compiler v1.4.10 (https://github.com/keybase/node-avdl-compiler). DO NOT EDIT. // Input file: avdl/chat1/gregor.avdl package chat1 @@ -538,7 +538,8 @@ func (o SubteamRenameUpdate) DeepCopy() SubteamRenameUpdate { } } -type GregorInterface interface{} +type GregorInterface interface { +} func GregorProtocol(i GregorInterface) rpc.Protocol { return rpc.Protocol{ diff --git a/go/protocol/chat1/local.go b/go/protocol/chat1/local.go index 0df8ac501ac1..81a70ac10faf 100644 --- a/go/protocol/chat1/local.go +++ b/go/protocol/chat1/local.go @@ -1,4 +1,4 @@ -// Auto-generated to Go types and interfaces using avdl-compiler v1.4.10 (https://github.com/keybase/node-avdl-compiler) +// Code generated to Go types and interfaces using avdl-compiler v1.4.10 (https://github.com/keybase/node-avdl-compiler). DO NOT EDIT. // Input file: avdl/chat1/local.avdl package chat1 @@ -1137,7 +1137,8 @@ func (o MessageJoin) DeepCopy() MessageJoin { } } -type MessageLeave struct{} +type MessageLeave struct { +} func (o MessageLeave) DeepCopy() MessageLeave { return MessageLeave{} @@ -6537,7 +6538,8 @@ func (o EmojiFetchOpts) DeepCopy() EmojiFetchOpts { } } -type TrackGiphySelectRes struct{} +type TrackGiphySelectRes struct { +} func (o TrackGiphySelectRes) DeepCopy() TrackGiphySelectRes { return TrackGiphySelectRes{} @@ -6767,9 +6769,11 @@ type RequestInboxUnboxArg struct { ConvIDs []ConversationID `codec:"convIDs" json:"convIDs"` } -type RequestInboxSmallIncreaseArg struct{} +type RequestInboxSmallIncreaseArg struct { +} -type RequestInboxSmallResetArg struct{} +type RequestInboxSmallResetArg struct { +} type GetInboxNonblockLocalArg struct { SessionID int `codec:"sessionID" json:"sessionID"` @@ -6788,7 +6792,8 @@ type PostLocalArg struct { SkipInChatPayments bool `codec:"skipInChatPayments" json:"skipInChatPayments"` } -type GenerateOutboxIDArg struct{} +type GenerateOutboxIDArg struct { +} type PostLocalNonblockArg struct { SessionID int `codec:"sessionID" json:"sessionID"` @@ -7129,7 +7134,8 @@ type SetGlobalAppNotificationSettingsLocalArg struct { Settings map[string]bool `codec:"settings" json:"settings"` } -type GetGlobalAppNotificationSettingsLocalArg struct{} +type GetGlobalAppNotificationSettingsLocalArg struct { +} type UnboxMobilePushNotificationArg struct { Payload string `codec:"payload" json:"payload"` @@ -7144,7 +7150,8 @@ type AddTeamMemberAfterResetArg struct { ConvID ConversationID `codec:"convID" json:"convID"` } -type GetAllResetConvMembersArg struct{} +type GetAllResetConvMembersArg struct { +} type SetConvRetentionLocalArg struct { ConvID ConversationID `codec:"convID" json:"convID"` @@ -7177,7 +7184,8 @@ type SearchRegexpArg struct { IdentifyBehavior keybase1.TLFIdentifyBehavior `codec:"identifyBehavior" json:"identifyBehavior"` } -type CancelActiveInboxSearchArg struct{} +type CancelActiveInboxSearchArg struct { +} type SearchInboxArg struct { SessionID int `codec:"sessionID" json:"sessionID"` @@ -7191,13 +7199,15 @@ type SimpleSearchInboxConvNamesArg struct { Query string `codec:"query" json:"query"` } -type CancelActiveSearchArg struct{} +type CancelActiveSearchArg struct { +} type ProfileChatSearchArg struct { IdentifyBehavior keybase1.TLFIdentifyBehavior `codec:"identifyBehavior" json:"identifyBehavior"` } -type GetStaticConfigArg struct{} +type GetStaticConfigArg struct { +} type ResolveUnfurlPromptArg struct { ConvID ConversationID `codec:"convID" json:"convID"` @@ -7206,7 +7216,8 @@ type ResolveUnfurlPromptArg struct { IdentifyBehavior keybase1.TLFIdentifyBehavior `codec:"identifyBehavior" json:"identifyBehavior"` } -type GetUnfurlSettingsArg struct{} +type GetUnfurlSettingsArg struct { +} type SaveUnfurlSettingsArg struct { Mode UnfurlMode `codec:"mode" json:"mode"` @@ -7362,7 +7373,8 @@ type GetLastActiveForTLFArg struct { TlfID TLFIDStr `codec:"tlfID" json:"tlfID"` } -type GetLastActiveForTeamsArg struct{} +type GetLastActiveForTeamsArg struct { +} type GetRecentJoinsLocalArg struct { ConvID ConversationID `codec:"convID" json:"convID"` @@ -7586,11 +7598,11 @@ func LocalProtocol(i LocalInterface) rpc.Protocol { Name: "chat.1.local", Methods: map[string]rpc.ServeHandlerDescription{ "getThreadLocal": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]GetThreadLocalArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]GetThreadLocalArg) if !ok { err = rpc.NewTypeError((*[1]GetThreadLocalArg)(nil), args) @@ -7601,11 +7613,11 @@ func LocalProtocol(i LocalInterface) rpc.Protocol { }, }, "getThreadNonblock": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]GetThreadNonblockArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]GetThreadNonblockArg) if !ok { err = rpc.NewTypeError((*[1]GetThreadNonblockArg)(nil), args) @@ -7616,11 +7628,11 @@ func LocalProtocol(i LocalInterface) rpc.Protocol { }, }, "getUnreadline": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]GetUnreadlineArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]GetUnreadlineArg) if !ok { err = rpc.NewTypeError((*[1]GetUnreadlineArg)(nil), args) @@ -7631,11 +7643,11 @@ func LocalProtocol(i LocalInterface) rpc.Protocol { }, }, "getInboxAndUnboxLocal": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]GetInboxAndUnboxLocalArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]GetInboxAndUnboxLocalArg) if !ok { err = rpc.NewTypeError((*[1]GetInboxAndUnboxLocalArg)(nil), args) @@ -7646,11 +7658,11 @@ func LocalProtocol(i LocalInterface) rpc.Protocol { }, }, "getInboxAndUnboxUILocal": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]GetInboxAndUnboxUILocalArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]GetInboxAndUnboxUILocalArg) if !ok { err = rpc.NewTypeError((*[1]GetInboxAndUnboxUILocalArg)(nil), args) @@ -7661,11 +7673,11 @@ func LocalProtocol(i LocalInterface) rpc.Protocol { }, }, "requestInboxLayout": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]RequestInboxLayoutArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]RequestInboxLayoutArg) if !ok { err = rpc.NewTypeError((*[1]RequestInboxLayoutArg)(nil), args) @@ -7676,11 +7688,11 @@ func LocalProtocol(i LocalInterface) rpc.Protocol { }, }, "requestInboxUnbox": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]RequestInboxUnboxArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]RequestInboxUnboxArg) if !ok { err = rpc.NewTypeError((*[1]RequestInboxUnboxArg)(nil), args) @@ -7691,31 +7703,31 @@ func LocalProtocol(i LocalInterface) rpc.Protocol { }, }, "requestInboxSmallIncrease": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]RequestInboxSmallIncreaseArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { err = i.RequestInboxSmallIncrease(ctx) return }, }, "requestInboxSmallReset": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]RequestInboxSmallResetArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { err = i.RequestInboxSmallReset(ctx) return }, }, "getInboxNonblockLocal": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]GetInboxNonblockLocalArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]GetInboxNonblockLocalArg) if !ok { err = rpc.NewTypeError((*[1]GetInboxNonblockLocalArg)(nil), args) @@ -7726,11 +7738,11 @@ func LocalProtocol(i LocalInterface) rpc.Protocol { }, }, "postLocal": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]PostLocalArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]PostLocalArg) if !ok { err = rpc.NewTypeError((*[1]PostLocalArg)(nil), args) @@ -7741,21 +7753,21 @@ func LocalProtocol(i LocalInterface) rpc.Protocol { }, }, "generateOutboxID": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]GenerateOutboxIDArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { ret, err = i.GenerateOutboxID(ctx) return }, }, "postLocalNonblock": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]PostLocalNonblockArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]PostLocalNonblockArg) if !ok { err = rpc.NewTypeError((*[1]PostLocalNonblockArg)(nil), args) @@ -7766,11 +7778,11 @@ func LocalProtocol(i LocalInterface) rpc.Protocol { }, }, "forwardMessage": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]ForwardMessageArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]ForwardMessageArg) if !ok { err = rpc.NewTypeError((*[1]ForwardMessageArg)(nil), args) @@ -7781,11 +7793,11 @@ func LocalProtocol(i LocalInterface) rpc.Protocol { }, }, "forwardMessageNonblock": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]ForwardMessageNonblockArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]ForwardMessageNonblockArg) if !ok { err = rpc.NewTypeError((*[1]ForwardMessageNonblockArg)(nil), args) @@ -7796,11 +7808,11 @@ func LocalProtocol(i LocalInterface) rpc.Protocol { }, }, "postTextNonblock": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]PostTextNonblockArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]PostTextNonblockArg) if !ok { err = rpc.NewTypeError((*[1]PostTextNonblockArg)(nil), args) @@ -7811,11 +7823,11 @@ func LocalProtocol(i LocalInterface) rpc.Protocol { }, }, "postDeleteNonblock": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]PostDeleteNonblockArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]PostDeleteNonblockArg) if !ok { err = rpc.NewTypeError((*[1]PostDeleteNonblockArg)(nil), args) @@ -7826,11 +7838,11 @@ func LocalProtocol(i LocalInterface) rpc.Protocol { }, }, "postEditNonblock": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]PostEditNonblockArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]PostEditNonblockArg) if !ok { err = rpc.NewTypeError((*[1]PostEditNonblockArg)(nil), args) @@ -7841,11 +7853,11 @@ func LocalProtocol(i LocalInterface) rpc.Protocol { }, }, "postReactionNonblock": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]PostReactionNonblockArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]PostReactionNonblockArg) if !ok { err = rpc.NewTypeError((*[1]PostReactionNonblockArg)(nil), args) @@ -7856,11 +7868,11 @@ func LocalProtocol(i LocalInterface) rpc.Protocol { }, }, "postHeadlineNonblock": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]PostHeadlineNonblockArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]PostHeadlineNonblockArg) if !ok { err = rpc.NewTypeError((*[1]PostHeadlineNonblockArg)(nil), args) @@ -7871,11 +7883,11 @@ func LocalProtocol(i LocalInterface) rpc.Protocol { }, }, "postHeadline": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]PostHeadlineArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]PostHeadlineArg) if !ok { err = rpc.NewTypeError((*[1]PostHeadlineArg)(nil), args) @@ -7886,11 +7898,11 @@ func LocalProtocol(i LocalInterface) rpc.Protocol { }, }, "postMetadataNonblock": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]PostMetadataNonblockArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]PostMetadataNonblockArg) if !ok { err = rpc.NewTypeError((*[1]PostMetadataNonblockArg)(nil), args) @@ -7901,11 +7913,11 @@ func LocalProtocol(i LocalInterface) rpc.Protocol { }, }, "postMetadata": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]PostMetadataArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]PostMetadataArg) if !ok { err = rpc.NewTypeError((*[1]PostMetadataArg)(nil), args) @@ -7916,11 +7928,11 @@ func LocalProtocol(i LocalInterface) rpc.Protocol { }, }, "postDeleteHistoryUpto": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]PostDeleteHistoryUptoArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]PostDeleteHistoryUptoArg) if !ok { err = rpc.NewTypeError((*[1]PostDeleteHistoryUptoArg)(nil), args) @@ -7931,11 +7943,11 @@ func LocalProtocol(i LocalInterface) rpc.Protocol { }, }, "postDeleteHistoryThrough": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]PostDeleteHistoryThroughArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]PostDeleteHistoryThroughArg) if !ok { err = rpc.NewTypeError((*[1]PostDeleteHistoryThroughArg)(nil), args) @@ -7946,11 +7958,11 @@ func LocalProtocol(i LocalInterface) rpc.Protocol { }, }, "postDeleteHistoryByAge": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]PostDeleteHistoryByAgeArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]PostDeleteHistoryByAgeArg) if !ok { err = rpc.NewTypeError((*[1]PostDeleteHistoryByAgeArg)(nil), args) @@ -7961,11 +7973,11 @@ func LocalProtocol(i LocalInterface) rpc.Protocol { }, }, "SetConversationStatusLocal": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]SetConversationStatusLocalArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]SetConversationStatusLocalArg) if !ok { err = rpc.NewTypeError((*[1]SetConversationStatusLocalArg)(nil), args) @@ -7976,11 +7988,11 @@ func LocalProtocol(i LocalInterface) rpc.Protocol { }, }, "newConversationsLocal": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]NewConversationsLocalArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]NewConversationsLocalArg) if !ok { err = rpc.NewTypeError((*[1]NewConversationsLocalArg)(nil), args) @@ -7991,11 +8003,11 @@ func LocalProtocol(i LocalInterface) rpc.Protocol { }, }, "newConversationLocal": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]NewConversationLocalArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]NewConversationLocalArg) if !ok { err = rpc.NewTypeError((*[1]NewConversationLocalArg)(nil), args) @@ -8006,11 +8018,11 @@ func LocalProtocol(i LocalInterface) rpc.Protocol { }, }, "getInboxSummaryForCLILocal": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]GetInboxSummaryForCLILocalArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]GetInboxSummaryForCLILocalArg) if !ok { err = rpc.NewTypeError((*[1]GetInboxSummaryForCLILocalArg)(nil), args) @@ -8021,11 +8033,11 @@ func LocalProtocol(i LocalInterface) rpc.Protocol { }, }, "getConversationForCLILocal": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]GetConversationForCLILocalArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]GetConversationForCLILocalArg) if !ok { err = rpc.NewTypeError((*[1]GetConversationForCLILocalArg)(nil), args) @@ -8036,11 +8048,11 @@ func LocalProtocol(i LocalInterface) rpc.Protocol { }, }, "GetMessagesLocal": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]GetMessagesLocalArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]GetMessagesLocalArg) if !ok { err = rpc.NewTypeError((*[1]GetMessagesLocalArg)(nil), args) @@ -8051,11 +8063,11 @@ func LocalProtocol(i LocalInterface) rpc.Protocol { }, }, "postFileAttachmentLocal": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]PostFileAttachmentLocalArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]PostFileAttachmentLocalArg) if !ok { err = rpc.NewTypeError((*[1]PostFileAttachmentLocalArg)(nil), args) @@ -8066,11 +8078,11 @@ func LocalProtocol(i LocalInterface) rpc.Protocol { }, }, "postFileAttachmentLocalNonblock": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]PostFileAttachmentLocalNonblockArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]PostFileAttachmentLocalNonblockArg) if !ok { err = rpc.NewTypeError((*[1]PostFileAttachmentLocalNonblockArg)(nil), args) @@ -8081,11 +8093,11 @@ func LocalProtocol(i LocalInterface) rpc.Protocol { }, }, "getNextAttachmentMessageLocal": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]GetNextAttachmentMessageLocalArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]GetNextAttachmentMessageLocalArg) if !ok { err = rpc.NewTypeError((*[1]GetNextAttachmentMessageLocalArg)(nil), args) @@ -8096,11 +8108,11 @@ func LocalProtocol(i LocalInterface) rpc.Protocol { }, }, "DownloadAttachmentLocal": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]DownloadAttachmentLocalArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]DownloadAttachmentLocalArg) if !ok { err = rpc.NewTypeError((*[1]DownloadAttachmentLocalArg)(nil), args) @@ -8111,11 +8123,11 @@ func LocalProtocol(i LocalInterface) rpc.Protocol { }, }, "DownloadFileAttachmentLocal": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]DownloadFileAttachmentLocalArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]DownloadFileAttachmentLocalArg) if !ok { err = rpc.NewTypeError((*[1]DownloadFileAttachmentLocalArg)(nil), args) @@ -8126,11 +8138,11 @@ func LocalProtocol(i LocalInterface) rpc.Protocol { }, }, "ConfigureFileAttachmentDownloadLocal": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]ConfigureFileAttachmentDownloadLocalArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]ConfigureFileAttachmentDownloadLocalArg) if !ok { err = rpc.NewTypeError((*[1]ConfigureFileAttachmentDownloadLocalArg)(nil), args) @@ -8141,11 +8153,11 @@ func LocalProtocol(i LocalInterface) rpc.Protocol { }, }, "makePreview": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]MakePreviewArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]MakePreviewArg) if !ok { err = rpc.NewTypeError((*[1]MakePreviewArg)(nil), args) @@ -8156,11 +8168,11 @@ func LocalProtocol(i LocalInterface) rpc.Protocol { }, }, "makeAudioPreview": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]MakeAudioPreviewArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]MakeAudioPreviewArg) if !ok { err = rpc.NewTypeError((*[1]MakeAudioPreviewArg)(nil), args) @@ -8171,11 +8183,11 @@ func LocalProtocol(i LocalInterface) rpc.Protocol { }, }, "getUploadTempFile": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]GetUploadTempFileArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]GetUploadTempFileArg) if !ok { err = rpc.NewTypeError((*[1]GetUploadTempFileArg)(nil), args) @@ -8186,11 +8198,11 @@ func LocalProtocol(i LocalInterface) rpc.Protocol { }, }, "makeUploadTempFile": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]MakeUploadTempFileArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]MakeUploadTempFileArg) if !ok { err = rpc.NewTypeError((*[1]MakeUploadTempFileArg)(nil), args) @@ -8201,11 +8213,11 @@ func LocalProtocol(i LocalInterface) rpc.Protocol { }, }, "cancelUploadTempFile": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]CancelUploadTempFileArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]CancelUploadTempFileArg) if !ok { err = rpc.NewTypeError((*[1]CancelUploadTempFileArg)(nil), args) @@ -8216,11 +8228,11 @@ func LocalProtocol(i LocalInterface) rpc.Protocol { }, }, "CancelPost": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]CancelPostArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]CancelPostArg) if !ok { err = rpc.NewTypeError((*[1]CancelPostArg)(nil), args) @@ -8231,11 +8243,11 @@ func LocalProtocol(i LocalInterface) rpc.Protocol { }, }, "RetryPost": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]RetryPostArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]RetryPostArg) if !ok { err = rpc.NewTypeError((*[1]RetryPostArg)(nil), args) @@ -8246,11 +8258,11 @@ func LocalProtocol(i LocalInterface) rpc.Protocol { }, }, "markAsReadLocal": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]MarkAsReadLocalArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]MarkAsReadLocalArg) if !ok { err = rpc.NewTypeError((*[1]MarkAsReadLocalArg)(nil), args) @@ -8261,11 +8273,11 @@ func LocalProtocol(i LocalInterface) rpc.Protocol { }, }, "markTLFAsReadLocal": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]MarkTLFAsReadLocalArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]MarkTLFAsReadLocalArg) if !ok { err = rpc.NewTypeError((*[1]MarkTLFAsReadLocalArg)(nil), args) @@ -8276,11 +8288,11 @@ func LocalProtocol(i LocalInterface) rpc.Protocol { }, }, "findConversationsLocal": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]FindConversationsLocalArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]FindConversationsLocalArg) if !ok { err = rpc.NewTypeError((*[1]FindConversationsLocalArg)(nil), args) @@ -8291,11 +8303,11 @@ func LocalProtocol(i LocalInterface) rpc.Protocol { }, }, "findGeneralConvFromTeamID": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]FindGeneralConvFromTeamIDArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]FindGeneralConvFromTeamIDArg) if !ok { err = rpc.NewTypeError((*[1]FindGeneralConvFromTeamIDArg)(nil), args) @@ -8306,11 +8318,11 @@ func LocalProtocol(i LocalInterface) rpc.Protocol { }, }, "updateTyping": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]UpdateTypingArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]UpdateTypingArg) if !ok { err = rpc.NewTypeError((*[1]UpdateTypingArg)(nil), args) @@ -8321,11 +8333,11 @@ func LocalProtocol(i LocalInterface) rpc.Protocol { }, }, "updateUnsentText": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]UpdateUnsentTextArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]UpdateUnsentTextArg) if !ok { err = rpc.NewTypeError((*[1]UpdateUnsentTextArg)(nil), args) @@ -8336,11 +8348,11 @@ func LocalProtocol(i LocalInterface) rpc.Protocol { }, }, "joinConversationLocal": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]JoinConversationLocalArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]JoinConversationLocalArg) if !ok { err = rpc.NewTypeError((*[1]JoinConversationLocalArg)(nil), args) @@ -8351,11 +8363,11 @@ func LocalProtocol(i LocalInterface) rpc.Protocol { }, }, "joinConversationByIDLocal": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]JoinConversationByIDLocalArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]JoinConversationByIDLocalArg) if !ok { err = rpc.NewTypeError((*[1]JoinConversationByIDLocalArg)(nil), args) @@ -8366,11 +8378,11 @@ func LocalProtocol(i LocalInterface) rpc.Protocol { }, }, "leaveConversationLocal": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]LeaveConversationLocalArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]LeaveConversationLocalArg) if !ok { err = rpc.NewTypeError((*[1]LeaveConversationLocalArg)(nil), args) @@ -8381,11 +8393,11 @@ func LocalProtocol(i LocalInterface) rpc.Protocol { }, }, "previewConversationByIDLocal": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]PreviewConversationByIDLocalArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]PreviewConversationByIDLocalArg) if !ok { err = rpc.NewTypeError((*[1]PreviewConversationByIDLocalArg)(nil), args) @@ -8396,11 +8408,11 @@ func LocalProtocol(i LocalInterface) rpc.Protocol { }, }, "deleteConversationLocal": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]DeleteConversationLocalArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]DeleteConversationLocalArg) if !ok { err = rpc.NewTypeError((*[1]DeleteConversationLocalArg)(nil), args) @@ -8411,11 +8423,11 @@ func LocalProtocol(i LocalInterface) rpc.Protocol { }, }, "removeFromConversationLocal": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]RemoveFromConversationLocalArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]RemoveFromConversationLocalArg) if !ok { err = rpc.NewTypeError((*[1]RemoveFromConversationLocalArg)(nil), args) @@ -8426,11 +8438,11 @@ func LocalProtocol(i LocalInterface) rpc.Protocol { }, }, "getTLFConversationsLocal": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]GetTLFConversationsLocalArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]GetTLFConversationsLocalArg) if !ok { err = rpc.NewTypeError((*[1]GetTLFConversationsLocalArg)(nil), args) @@ -8441,11 +8453,11 @@ func LocalProtocol(i LocalInterface) rpc.Protocol { }, }, "getChannelMembershipsLocal": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]GetChannelMembershipsLocalArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]GetChannelMembershipsLocalArg) if !ok { err = rpc.NewTypeError((*[1]GetChannelMembershipsLocalArg)(nil), args) @@ -8456,11 +8468,11 @@ func LocalProtocol(i LocalInterface) rpc.Protocol { }, }, "getMutualTeamsLocal": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]GetMutualTeamsLocalArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]GetMutualTeamsLocalArg) if !ok { err = rpc.NewTypeError((*[1]GetMutualTeamsLocalArg)(nil), args) @@ -8471,11 +8483,11 @@ func LocalProtocol(i LocalInterface) rpc.Protocol { }, }, "setAppNotificationSettingsLocal": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]SetAppNotificationSettingsLocalArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]SetAppNotificationSettingsLocalArg) if !ok { err = rpc.NewTypeError((*[1]SetAppNotificationSettingsLocalArg)(nil), args) @@ -8486,11 +8498,11 @@ func LocalProtocol(i LocalInterface) rpc.Protocol { }, }, "setGlobalAppNotificationSettingsLocal": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]SetGlobalAppNotificationSettingsLocalArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]SetGlobalAppNotificationSettingsLocalArg) if !ok { err = rpc.NewTypeError((*[1]SetGlobalAppNotificationSettingsLocalArg)(nil), args) @@ -8501,21 +8513,21 @@ func LocalProtocol(i LocalInterface) rpc.Protocol { }, }, "getGlobalAppNotificationSettingsLocal": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]GetGlobalAppNotificationSettingsLocalArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { ret, err = i.GetGlobalAppNotificationSettingsLocal(ctx) return }, }, "unboxMobilePushNotification": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]UnboxMobilePushNotificationArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]UnboxMobilePushNotificationArg) if !ok { err = rpc.NewTypeError((*[1]UnboxMobilePushNotificationArg)(nil), args) @@ -8526,11 +8538,11 @@ func LocalProtocol(i LocalInterface) rpc.Protocol { }, }, "addTeamMemberAfterReset": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]AddTeamMemberAfterResetArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]AddTeamMemberAfterResetArg) if !ok { err = rpc.NewTypeError((*[1]AddTeamMemberAfterResetArg)(nil), args) @@ -8541,21 +8553,21 @@ func LocalProtocol(i LocalInterface) rpc.Protocol { }, }, "getAllResetConvMembers": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]GetAllResetConvMembersArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { ret, err = i.GetAllResetConvMembers(ctx) return }, }, "setConvRetentionLocal": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]SetConvRetentionLocalArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]SetConvRetentionLocalArg) if !ok { err = rpc.NewTypeError((*[1]SetConvRetentionLocalArg)(nil), args) @@ -8566,11 +8578,11 @@ func LocalProtocol(i LocalInterface) rpc.Protocol { }, }, "setTeamRetentionLocal": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]SetTeamRetentionLocalArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]SetTeamRetentionLocalArg) if !ok { err = rpc.NewTypeError((*[1]SetTeamRetentionLocalArg)(nil), args) @@ -8581,11 +8593,11 @@ func LocalProtocol(i LocalInterface) rpc.Protocol { }, }, "getTeamRetentionLocal": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]GetTeamRetentionLocalArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]GetTeamRetentionLocalArg) if !ok { err = rpc.NewTypeError((*[1]GetTeamRetentionLocalArg)(nil), args) @@ -8596,11 +8608,11 @@ func LocalProtocol(i LocalInterface) rpc.Protocol { }, }, "setConvMinWriterRoleLocal": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]SetConvMinWriterRoleLocalArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]SetConvMinWriterRoleLocalArg) if !ok { err = rpc.NewTypeError((*[1]SetConvMinWriterRoleLocalArg)(nil), args) @@ -8611,11 +8623,11 @@ func LocalProtocol(i LocalInterface) rpc.Protocol { }, }, "upgradeKBFSConversationToImpteam": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]UpgradeKBFSConversationToImpteamArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]UpgradeKBFSConversationToImpteamArg) if !ok { err = rpc.NewTypeError((*[1]UpgradeKBFSConversationToImpteamArg)(nil), args) @@ -8626,11 +8638,11 @@ func LocalProtocol(i LocalInterface) rpc.Protocol { }, }, "searchRegexp": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]SearchRegexpArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]SearchRegexpArg) if !ok { err = rpc.NewTypeError((*[1]SearchRegexpArg)(nil), args) @@ -8641,21 +8653,21 @@ func LocalProtocol(i LocalInterface) rpc.Protocol { }, }, "cancelActiveInboxSearch": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]CancelActiveInboxSearchArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { err = i.CancelActiveInboxSearch(ctx) return }, }, "searchInbox": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]SearchInboxArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]SearchInboxArg) if !ok { err = rpc.NewTypeError((*[1]SearchInboxArg)(nil), args) @@ -8666,11 +8678,11 @@ func LocalProtocol(i LocalInterface) rpc.Protocol { }, }, "simpleSearchInboxConvNames": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]SimpleSearchInboxConvNamesArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]SimpleSearchInboxConvNamesArg) if !ok { err = rpc.NewTypeError((*[1]SimpleSearchInboxConvNamesArg)(nil), args) @@ -8681,21 +8693,21 @@ func LocalProtocol(i LocalInterface) rpc.Protocol { }, }, "cancelActiveSearch": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]CancelActiveSearchArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { err = i.CancelActiveSearch(ctx) return }, }, "profileChatSearch": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]ProfileChatSearchArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]ProfileChatSearchArg) if !ok { err = rpc.NewTypeError((*[1]ProfileChatSearchArg)(nil), args) @@ -8706,21 +8718,21 @@ func LocalProtocol(i LocalInterface) rpc.Protocol { }, }, "getStaticConfig": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]GetStaticConfigArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { ret, err = i.GetStaticConfig(ctx) return }, }, "resolveUnfurlPrompt": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]ResolveUnfurlPromptArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]ResolveUnfurlPromptArg) if !ok { err = rpc.NewTypeError((*[1]ResolveUnfurlPromptArg)(nil), args) @@ -8731,21 +8743,21 @@ func LocalProtocol(i LocalInterface) rpc.Protocol { }, }, "getUnfurlSettings": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]GetUnfurlSettingsArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { ret, err = i.GetUnfurlSettings(ctx) return }, }, "saveUnfurlSettings": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]SaveUnfurlSettingsArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]SaveUnfurlSettingsArg) if !ok { err = rpc.NewTypeError((*[1]SaveUnfurlSettingsArg)(nil), args) @@ -8756,11 +8768,11 @@ func LocalProtocol(i LocalInterface) rpc.Protocol { }, }, "toggleMessageCollapse": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]ToggleMessageCollapseArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]ToggleMessageCollapseArg) if !ok { err = rpc.NewTypeError((*[1]ToggleMessageCollapseArg)(nil), args) @@ -8771,11 +8783,11 @@ func LocalProtocol(i LocalInterface) rpc.Protocol { }, }, "bulkAddToConv": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]BulkAddToConvArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]BulkAddToConvArg) if !ok { err = rpc.NewTypeError((*[1]BulkAddToConvArg)(nil), args) @@ -8786,11 +8798,11 @@ func LocalProtocol(i LocalInterface) rpc.Protocol { }, }, "bulkAddToManyConvs": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]BulkAddToManyConvsArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]BulkAddToManyConvsArg) if !ok { err = rpc.NewTypeError((*[1]BulkAddToManyConvsArg)(nil), args) @@ -8801,11 +8813,11 @@ func LocalProtocol(i LocalInterface) rpc.Protocol { }, }, "putReacjiSkinTone": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]PutReacjiSkinToneArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]PutReacjiSkinToneArg) if !ok { err = rpc.NewTypeError((*[1]PutReacjiSkinToneArg)(nil), args) @@ -8816,11 +8828,11 @@ func LocalProtocol(i LocalInterface) rpc.Protocol { }, }, "resolveMaybeMention": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]ResolveMaybeMentionArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]ResolveMaybeMentionArg) if !ok { err = rpc.NewTypeError((*[1]ResolveMaybeMentionArg)(nil), args) @@ -8831,11 +8843,11 @@ func LocalProtocol(i LocalInterface) rpc.Protocol { }, }, "loadGallery": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]LoadGalleryArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]LoadGalleryArg) if !ok { err = rpc.NewTypeError((*[1]LoadGalleryArg)(nil), args) @@ -8846,11 +8858,11 @@ func LocalProtocol(i LocalInterface) rpc.Protocol { }, }, "loadFlip": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]LoadFlipArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]LoadFlipArg) if !ok { err = rpc.NewTypeError((*[1]LoadFlipArg)(nil), args) @@ -8861,11 +8873,11 @@ func LocalProtocol(i LocalInterface) rpc.Protocol { }, }, "locationUpdate": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]LocationUpdateArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]LocationUpdateArg) if !ok { err = rpc.NewTypeError((*[1]LocationUpdateArg)(nil), args) @@ -8876,11 +8888,11 @@ func LocalProtocol(i LocalInterface) rpc.Protocol { }, }, "advertiseBotCommandsLocal": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]AdvertiseBotCommandsLocalArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]AdvertiseBotCommandsLocalArg) if !ok { err = rpc.NewTypeError((*[1]AdvertiseBotCommandsLocalArg)(nil), args) @@ -8891,11 +8903,11 @@ func LocalProtocol(i LocalInterface) rpc.Protocol { }, }, "listBotCommandsLocal": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]ListBotCommandsLocalArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]ListBotCommandsLocalArg) if !ok { err = rpc.NewTypeError((*[1]ListBotCommandsLocalArg)(nil), args) @@ -8906,11 +8918,11 @@ func LocalProtocol(i LocalInterface) rpc.Protocol { }, }, "listPublicBotCommandsLocal": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]ListPublicBotCommandsLocalArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]ListPublicBotCommandsLocalArg) if !ok { err = rpc.NewTypeError((*[1]ListPublicBotCommandsLocalArg)(nil), args) @@ -8921,11 +8933,11 @@ func LocalProtocol(i LocalInterface) rpc.Protocol { }, }, "clearBotCommandsLocal": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]ClearBotCommandsLocalArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]ClearBotCommandsLocalArg) if !ok { err = rpc.NewTypeError((*[1]ClearBotCommandsLocalArg)(nil), args) @@ -8936,11 +8948,11 @@ func LocalProtocol(i LocalInterface) rpc.Protocol { }, }, "pinMessage": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]PinMessageArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]PinMessageArg) if !ok { err = rpc.NewTypeError((*[1]PinMessageArg)(nil), args) @@ -8951,11 +8963,11 @@ func LocalProtocol(i LocalInterface) rpc.Protocol { }, }, "unpinMessage": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]UnpinMessageArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]UnpinMessageArg) if !ok { err = rpc.NewTypeError((*[1]UnpinMessageArg)(nil), args) @@ -8966,11 +8978,11 @@ func LocalProtocol(i LocalInterface) rpc.Protocol { }, }, "ignorePinnedMessage": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]IgnorePinnedMessageArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]IgnorePinnedMessageArg) if !ok { err = rpc.NewTypeError((*[1]IgnorePinnedMessageArg)(nil), args) @@ -8981,11 +8993,11 @@ func LocalProtocol(i LocalInterface) rpc.Protocol { }, }, "addBotMember": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]AddBotMemberArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]AddBotMemberArg) if !ok { err = rpc.NewTypeError((*[1]AddBotMemberArg)(nil), args) @@ -8996,11 +9008,11 @@ func LocalProtocol(i LocalInterface) rpc.Protocol { }, }, "editBotMember": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]EditBotMemberArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]EditBotMemberArg) if !ok { err = rpc.NewTypeError((*[1]EditBotMemberArg)(nil), args) @@ -9011,11 +9023,11 @@ func LocalProtocol(i LocalInterface) rpc.Protocol { }, }, "removeBotMember": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]RemoveBotMemberArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]RemoveBotMemberArg) if !ok { err = rpc.NewTypeError((*[1]RemoveBotMemberArg)(nil), args) @@ -9026,11 +9038,11 @@ func LocalProtocol(i LocalInterface) rpc.Protocol { }, }, "setBotMemberSettings": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]SetBotMemberSettingsArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]SetBotMemberSettingsArg) if !ok { err = rpc.NewTypeError((*[1]SetBotMemberSettingsArg)(nil), args) @@ -9041,11 +9053,11 @@ func LocalProtocol(i LocalInterface) rpc.Protocol { }, }, "getBotMemberSettings": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]GetBotMemberSettingsArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]GetBotMemberSettingsArg) if !ok { err = rpc.NewTypeError((*[1]GetBotMemberSettingsArg)(nil), args) @@ -9056,11 +9068,11 @@ func LocalProtocol(i LocalInterface) rpc.Protocol { }, }, "getTeamRoleInConversation": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]GetTeamRoleInConversationArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]GetTeamRoleInConversationArg) if !ok { err = rpc.NewTypeError((*[1]GetTeamRoleInConversationArg)(nil), args) @@ -9071,11 +9083,11 @@ func LocalProtocol(i LocalInterface) rpc.Protocol { }, }, "addBotConvSearch": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]AddBotConvSearchArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]AddBotConvSearchArg) if !ok { err = rpc.NewTypeError((*[1]AddBotConvSearchArg)(nil), args) @@ -9086,11 +9098,11 @@ func LocalProtocol(i LocalInterface) rpc.Protocol { }, }, "forwardMessageConvSearch": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]ForwardMessageConvSearchArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]ForwardMessageConvSearchArg) if !ok { err = rpc.NewTypeError((*[1]ForwardMessageConvSearchArg)(nil), args) @@ -9101,11 +9113,11 @@ func LocalProtocol(i LocalInterface) rpc.Protocol { }, }, "teamIDFromTLFName": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]TeamIDFromTLFNameArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]TeamIDFromTLFNameArg) if !ok { err = rpc.NewTypeError((*[1]TeamIDFromTLFNameArg)(nil), args) @@ -9116,11 +9128,11 @@ func LocalProtocol(i LocalInterface) rpc.Protocol { }, }, "dismissJourneycard": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]DismissJourneycardArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]DismissJourneycardArg) if !ok { err = rpc.NewTypeError((*[1]DismissJourneycardArg)(nil), args) @@ -9131,11 +9143,11 @@ func LocalProtocol(i LocalInterface) rpc.Protocol { }, }, "setWelcomeMessage": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]SetWelcomeMessageArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]SetWelcomeMessageArg) if !ok { err = rpc.NewTypeError((*[1]SetWelcomeMessageArg)(nil), args) @@ -9146,11 +9158,11 @@ func LocalProtocol(i LocalInterface) rpc.Protocol { }, }, "getWelcomeMessage": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]GetWelcomeMessageArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]GetWelcomeMessageArg) if !ok { err = rpc.NewTypeError((*[1]GetWelcomeMessageArg)(nil), args) @@ -9161,11 +9173,11 @@ func LocalProtocol(i LocalInterface) rpc.Protocol { }, }, "getDefaultTeamChannelsLocal": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]GetDefaultTeamChannelsLocalArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]GetDefaultTeamChannelsLocalArg) if !ok { err = rpc.NewTypeError((*[1]GetDefaultTeamChannelsLocalArg)(nil), args) @@ -9176,11 +9188,11 @@ func LocalProtocol(i LocalInterface) rpc.Protocol { }, }, "setDefaultTeamChannelsLocal": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]SetDefaultTeamChannelsLocalArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]SetDefaultTeamChannelsLocalArg) if !ok { err = rpc.NewTypeError((*[1]SetDefaultTeamChannelsLocalArg)(nil), args) @@ -9191,11 +9203,11 @@ func LocalProtocol(i LocalInterface) rpc.Protocol { }, }, "getLastActiveForTLF": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]GetLastActiveForTLFArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]GetLastActiveForTLFArg) if !ok { err = rpc.NewTypeError((*[1]GetLastActiveForTLFArg)(nil), args) @@ -9206,21 +9218,21 @@ func LocalProtocol(i LocalInterface) rpc.Protocol { }, }, "getLastActiveForTeams": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]GetLastActiveForTeamsArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { ret, err = i.GetLastActiveForTeams(ctx) return }, }, "getRecentJoinsLocal": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]GetRecentJoinsLocalArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]GetRecentJoinsLocalArg) if !ok { err = rpc.NewTypeError((*[1]GetRecentJoinsLocalArg)(nil), args) @@ -9231,11 +9243,11 @@ func LocalProtocol(i LocalInterface) rpc.Protocol { }, }, "refreshParticipants": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]RefreshParticipantsArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]RefreshParticipantsArg) if !ok { err = rpc.NewTypeError((*[1]RefreshParticipantsArg)(nil), args) @@ -9246,11 +9258,11 @@ func LocalProtocol(i LocalInterface) rpc.Protocol { }, }, "getLastActiveAtLocal": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]GetLastActiveAtLocalArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]GetLastActiveAtLocalArg) if !ok { err = rpc.NewTypeError((*[1]GetLastActiveAtLocalArg)(nil), args) @@ -9261,11 +9273,11 @@ func LocalProtocol(i LocalInterface) rpc.Protocol { }, }, "getLastActiveAtMultiLocal": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]GetLastActiveAtMultiLocalArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]GetLastActiveAtMultiLocalArg) if !ok { err = rpc.NewTypeError((*[1]GetLastActiveAtMultiLocalArg)(nil), args) @@ -9276,11 +9288,11 @@ func LocalProtocol(i LocalInterface) rpc.Protocol { }, }, "getParticipants": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]GetParticipantsArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]GetParticipantsArg) if !ok { err = rpc.NewTypeError((*[1]GetParticipantsArg)(nil), args) @@ -9291,11 +9303,11 @@ func LocalProtocol(i LocalInterface) rpc.Protocol { }, }, "addEmoji": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]AddEmojiArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]AddEmojiArg) if !ok { err = rpc.NewTypeError((*[1]AddEmojiArg)(nil), args) @@ -9306,11 +9318,11 @@ func LocalProtocol(i LocalInterface) rpc.Protocol { }, }, "addEmojis": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]AddEmojisArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]AddEmojisArg) if !ok { err = rpc.NewTypeError((*[1]AddEmojisArg)(nil), args) @@ -9321,11 +9333,11 @@ func LocalProtocol(i LocalInterface) rpc.Protocol { }, }, "addEmojiAlias": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]AddEmojiAliasArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]AddEmojiAliasArg) if !ok { err = rpc.NewTypeError((*[1]AddEmojiAliasArg)(nil), args) @@ -9336,11 +9348,11 @@ func LocalProtocol(i LocalInterface) rpc.Protocol { }, }, "removeEmoji": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]RemoveEmojiArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]RemoveEmojiArg) if !ok { err = rpc.NewTypeError((*[1]RemoveEmojiArg)(nil), args) @@ -9351,11 +9363,11 @@ func LocalProtocol(i LocalInterface) rpc.Protocol { }, }, "userEmojis": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]UserEmojisArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]UserEmojisArg) if !ok { err = rpc.NewTypeError((*[1]UserEmojisArg)(nil), args) @@ -9366,11 +9378,11 @@ func LocalProtocol(i LocalInterface) rpc.Protocol { }, }, "toggleEmojiAnimations": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]ToggleEmojiAnimationsArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]ToggleEmojiAnimationsArg) if !ok { err = rpc.NewTypeError((*[1]ToggleEmojiAnimationsArg)(nil), args) @@ -9381,11 +9393,11 @@ func LocalProtocol(i LocalInterface) rpc.Protocol { }, }, "trackGiphySelect": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]TrackGiphySelectArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]TrackGiphySelectArg) if !ok { err = rpc.NewTypeError((*[1]TrackGiphySelectArg)(nil), args) @@ -9396,11 +9408,11 @@ func LocalProtocol(i LocalInterface) rpc.Protocol { }, }, "archiveChat": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]ArchiveChatArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]ArchiveChatArg) if !ok { err = rpc.NewTypeError((*[1]ArchiveChatArg)(nil), args) @@ -9411,11 +9423,11 @@ func LocalProtocol(i LocalInterface) rpc.Protocol { }, }, "archiveChatList": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]ArchiveChatListArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]ArchiveChatListArg) if !ok { err = rpc.NewTypeError((*[1]ArchiveChatListArg)(nil), args) @@ -9426,11 +9438,11 @@ func LocalProtocol(i LocalInterface) rpc.Protocol { }, }, "archiveChatDelete": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]ArchiveChatDeleteArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]ArchiveChatDeleteArg) if !ok { err = rpc.NewTypeError((*[1]ArchiveChatDeleteArg)(nil), args) @@ -9441,11 +9453,11 @@ func LocalProtocol(i LocalInterface) rpc.Protocol { }, }, "archiveChatPause": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]ArchiveChatPauseArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]ArchiveChatPauseArg) if !ok { err = rpc.NewTypeError((*[1]ArchiveChatPauseArg)(nil), args) @@ -9456,11 +9468,11 @@ func LocalProtocol(i LocalInterface) rpc.Protocol { }, }, "archiveChatResume": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]ArchiveChatResumeArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]ArchiveChatResumeArg) if !ok { err = rpc.NewTypeError((*[1]ArchiveChatResumeArg)(nil), args) @@ -9479,681 +9491,681 @@ type LocalClient struct { } func (c LocalClient) GetThreadLocal(ctx context.Context, __arg GetThreadLocalArg) (res GetThreadLocalRes, err error) { - err = c.Cli.Call(ctx, "chat.1.local.getThreadLocal", []interface{}{__arg}, &res, 0*time.Millisecond) + err = c.Cli.Call(ctx, "chat.1.local.getThreadLocal", []any{__arg}, &res, 0*time.Millisecond) return } func (c LocalClient) GetThreadNonblock(ctx context.Context, __arg GetThreadNonblockArg) (res NonblockFetchRes, err error) { - err = c.Cli.Call(ctx, "chat.1.local.getThreadNonblock", []interface{}{__arg}, &res, 30000*time.Millisecond) + err = c.Cli.Call(ctx, "chat.1.local.getThreadNonblock", []any{__arg}, &res, 30000*time.Millisecond) return } func (c LocalClient) GetUnreadline(ctx context.Context, __arg GetUnreadlineArg) (res UnreadlineRes, err error) { - err = c.Cli.Call(ctx, "chat.1.local.getUnreadline", []interface{}{__arg}, &res, 0*time.Millisecond) + err = c.Cli.Call(ctx, "chat.1.local.getUnreadline", []any{__arg}, &res, 0*time.Millisecond) return } func (c LocalClient) GetInboxAndUnboxLocal(ctx context.Context, __arg GetInboxAndUnboxLocalArg) (res GetInboxAndUnboxLocalRes, err error) { - err = c.Cli.Call(ctx, "chat.1.local.getInboxAndUnboxLocal", []interface{}{__arg}, &res, 0*time.Millisecond) + err = c.Cli.Call(ctx, "chat.1.local.getInboxAndUnboxLocal", []any{__arg}, &res, 0*time.Millisecond) return } func (c LocalClient) GetInboxAndUnboxUILocal(ctx context.Context, __arg GetInboxAndUnboxUILocalArg) (res GetInboxAndUnboxUILocalRes, err error) { - err = c.Cli.Call(ctx, "chat.1.local.getInboxAndUnboxUILocal", []interface{}{__arg}, &res, 0*time.Millisecond) + err = c.Cli.Call(ctx, "chat.1.local.getInboxAndUnboxUILocal", []any{__arg}, &res, 0*time.Millisecond) return } func (c LocalClient) RequestInboxLayout(ctx context.Context, reselectMode InboxLayoutReselectMode) (err error) { __arg := RequestInboxLayoutArg{ReselectMode: reselectMode} - err = c.Cli.Call(ctx, "chat.1.local.requestInboxLayout", []interface{}{__arg}, nil, 0*time.Millisecond) + err = c.Cli.Call(ctx, "chat.1.local.requestInboxLayout", []any{__arg}, nil, 0*time.Millisecond) return } func (c LocalClient) RequestInboxUnbox(ctx context.Context, convIDs []ConversationID) (err error) { __arg := RequestInboxUnboxArg{ConvIDs: convIDs} - err = c.Cli.Call(ctx, "chat.1.local.requestInboxUnbox", []interface{}{__arg}, nil, 0*time.Millisecond) + err = c.Cli.Call(ctx, "chat.1.local.requestInboxUnbox", []any{__arg}, nil, 0*time.Millisecond) return } func (c LocalClient) RequestInboxSmallIncrease(ctx context.Context) (err error) { - err = c.Cli.Call(ctx, "chat.1.local.requestInboxSmallIncrease", []interface{}{RequestInboxSmallIncreaseArg{}}, nil, 0*time.Millisecond) + err = c.Cli.Call(ctx, "chat.1.local.requestInboxSmallIncrease", []any{RequestInboxSmallIncreaseArg{}}, nil, 0*time.Millisecond) return } func (c LocalClient) RequestInboxSmallReset(ctx context.Context) (err error) { - err = c.Cli.Call(ctx, "chat.1.local.requestInboxSmallReset", []interface{}{RequestInboxSmallResetArg{}}, nil, 0*time.Millisecond) + err = c.Cli.Call(ctx, "chat.1.local.requestInboxSmallReset", []any{RequestInboxSmallResetArg{}}, nil, 0*time.Millisecond) return } func (c LocalClient) GetInboxNonblockLocal(ctx context.Context, __arg GetInboxNonblockLocalArg) (res NonblockFetchRes, err error) { - err = c.Cli.Call(ctx, "chat.1.local.getInboxNonblockLocal", []interface{}{__arg}, &res, 0*time.Millisecond) + err = c.Cli.Call(ctx, "chat.1.local.getInboxNonblockLocal", []any{__arg}, &res, 0*time.Millisecond) return } func (c LocalClient) PostLocal(ctx context.Context, __arg PostLocalArg) (res PostLocalRes, err error) { - err = c.Cli.Call(ctx, "chat.1.local.postLocal", []interface{}{__arg}, &res, 0*time.Millisecond) + err = c.Cli.Call(ctx, "chat.1.local.postLocal", []any{__arg}, &res, 0*time.Millisecond) return } func (c LocalClient) GenerateOutboxID(ctx context.Context) (res OutboxID, err error) { - err = c.Cli.Call(ctx, "chat.1.local.generateOutboxID", []interface{}{GenerateOutboxIDArg{}}, &res, 0*time.Millisecond) + err = c.Cli.Call(ctx, "chat.1.local.generateOutboxID", []any{GenerateOutboxIDArg{}}, &res, 0*time.Millisecond) return } func (c LocalClient) PostLocalNonblock(ctx context.Context, __arg PostLocalNonblockArg) (res PostLocalNonblockRes, err error) { - err = c.Cli.Call(ctx, "chat.1.local.postLocalNonblock", []interface{}{__arg}, &res, 30000*time.Millisecond) + err = c.Cli.Call(ctx, "chat.1.local.postLocalNonblock", []any{__arg}, &res, 30000*time.Millisecond) return } func (c LocalClient) ForwardMessage(ctx context.Context, __arg ForwardMessageArg) (res PostLocalRes, err error) { - err = c.Cli.Call(ctx, "chat.1.local.forwardMessage", []interface{}{__arg}, &res, 0*time.Millisecond) + err = c.Cli.Call(ctx, "chat.1.local.forwardMessage", []any{__arg}, &res, 0*time.Millisecond) return } func (c LocalClient) ForwardMessageNonblock(ctx context.Context, __arg ForwardMessageNonblockArg) (res PostLocalNonblockRes, err error) { - err = c.Cli.Call(ctx, "chat.1.local.forwardMessageNonblock", []interface{}{__arg}, &res, 30000*time.Millisecond) + err = c.Cli.Call(ctx, "chat.1.local.forwardMessageNonblock", []any{__arg}, &res, 30000*time.Millisecond) return } func (c LocalClient) PostTextNonblock(ctx context.Context, __arg PostTextNonblockArg) (res PostLocalNonblockRes, err error) { - err = c.Cli.Call(ctx, "chat.1.local.postTextNonblock", []interface{}{__arg}, &res, 30000*time.Millisecond) + err = c.Cli.Call(ctx, "chat.1.local.postTextNonblock", []any{__arg}, &res, 30000*time.Millisecond) return } func (c LocalClient) PostDeleteNonblock(ctx context.Context, __arg PostDeleteNonblockArg) (res PostLocalNonblockRes, err error) { - err = c.Cli.Call(ctx, "chat.1.local.postDeleteNonblock", []interface{}{__arg}, &res, 30000*time.Millisecond) + err = c.Cli.Call(ctx, "chat.1.local.postDeleteNonblock", []any{__arg}, &res, 30000*time.Millisecond) return } func (c LocalClient) PostEditNonblock(ctx context.Context, __arg PostEditNonblockArg) (res PostLocalNonblockRes, err error) { - err = c.Cli.Call(ctx, "chat.1.local.postEditNonblock", []interface{}{__arg}, &res, 30000*time.Millisecond) + err = c.Cli.Call(ctx, "chat.1.local.postEditNonblock", []any{__arg}, &res, 30000*time.Millisecond) return } func (c LocalClient) PostReactionNonblock(ctx context.Context, __arg PostReactionNonblockArg) (res PostLocalNonblockRes, err error) { - err = c.Cli.Call(ctx, "chat.1.local.postReactionNonblock", []interface{}{__arg}, &res, 30000*time.Millisecond) + err = c.Cli.Call(ctx, "chat.1.local.postReactionNonblock", []any{__arg}, &res, 30000*time.Millisecond) return } func (c LocalClient) PostHeadlineNonblock(ctx context.Context, __arg PostHeadlineNonblockArg) (res PostLocalNonblockRes, err error) { - err = c.Cli.Call(ctx, "chat.1.local.postHeadlineNonblock", []interface{}{__arg}, &res, 30000*time.Millisecond) + err = c.Cli.Call(ctx, "chat.1.local.postHeadlineNonblock", []any{__arg}, &res, 30000*time.Millisecond) return } func (c LocalClient) PostHeadline(ctx context.Context, __arg PostHeadlineArg) (res PostLocalRes, err error) { - err = c.Cli.Call(ctx, "chat.1.local.postHeadline", []interface{}{__arg}, &res, 0*time.Millisecond) + err = c.Cli.Call(ctx, "chat.1.local.postHeadline", []any{__arg}, &res, 0*time.Millisecond) return } func (c LocalClient) PostMetadataNonblock(ctx context.Context, __arg PostMetadataNonblockArg) (res PostLocalNonblockRes, err error) { - err = c.Cli.Call(ctx, "chat.1.local.postMetadataNonblock", []interface{}{__arg}, &res, 30000*time.Millisecond) + err = c.Cli.Call(ctx, "chat.1.local.postMetadataNonblock", []any{__arg}, &res, 30000*time.Millisecond) return } func (c LocalClient) PostMetadata(ctx context.Context, __arg PostMetadataArg) (res PostLocalRes, err error) { - err = c.Cli.Call(ctx, "chat.1.local.postMetadata", []interface{}{__arg}, &res, 0*time.Millisecond) + err = c.Cli.Call(ctx, "chat.1.local.postMetadata", []any{__arg}, &res, 0*time.Millisecond) return } func (c LocalClient) PostDeleteHistoryUpto(ctx context.Context, __arg PostDeleteHistoryUptoArg) (res PostLocalRes, err error) { - err = c.Cli.Call(ctx, "chat.1.local.postDeleteHistoryUpto", []interface{}{__arg}, &res, 0*time.Millisecond) + err = c.Cli.Call(ctx, "chat.1.local.postDeleteHistoryUpto", []any{__arg}, &res, 0*time.Millisecond) return } func (c LocalClient) PostDeleteHistoryThrough(ctx context.Context, __arg PostDeleteHistoryThroughArg) (res PostLocalRes, err error) { - err = c.Cli.Call(ctx, "chat.1.local.postDeleteHistoryThrough", []interface{}{__arg}, &res, 0*time.Millisecond) + err = c.Cli.Call(ctx, "chat.1.local.postDeleteHistoryThrough", []any{__arg}, &res, 0*time.Millisecond) return } func (c LocalClient) PostDeleteHistoryByAge(ctx context.Context, __arg PostDeleteHistoryByAgeArg) (res PostLocalRes, err error) { - err = c.Cli.Call(ctx, "chat.1.local.postDeleteHistoryByAge", []interface{}{__arg}, &res, 0*time.Millisecond) + err = c.Cli.Call(ctx, "chat.1.local.postDeleteHistoryByAge", []any{__arg}, &res, 0*time.Millisecond) return } func (c LocalClient) SetConversationStatusLocal(ctx context.Context, __arg SetConversationStatusLocalArg) (res SetConversationStatusLocalRes, err error) { - err = c.Cli.Call(ctx, "chat.1.local.SetConversationStatusLocal", []interface{}{__arg}, &res, 0*time.Millisecond) + err = c.Cli.Call(ctx, "chat.1.local.SetConversationStatusLocal", []any{__arg}, &res, 0*time.Millisecond) return } func (c LocalClient) NewConversationsLocal(ctx context.Context, __arg NewConversationsLocalArg) (res NewConversationsLocalRes, err error) { - err = c.Cli.Call(ctx, "chat.1.local.newConversationsLocal", []interface{}{__arg}, &res, 0*time.Millisecond) + err = c.Cli.Call(ctx, "chat.1.local.newConversationsLocal", []any{__arg}, &res, 0*time.Millisecond) return } func (c LocalClient) NewConversationLocal(ctx context.Context, __arg NewConversationLocalArg) (res NewConversationLocalRes, err error) { - err = c.Cli.Call(ctx, "chat.1.local.newConversationLocal", []interface{}{__arg}, &res, 0*time.Millisecond) + err = c.Cli.Call(ctx, "chat.1.local.newConversationLocal", []any{__arg}, &res, 0*time.Millisecond) return } func (c LocalClient) GetInboxSummaryForCLILocal(ctx context.Context, query GetInboxSummaryForCLILocalQuery) (res GetInboxSummaryForCLILocalRes, err error) { __arg := GetInboxSummaryForCLILocalArg{Query: query} - err = c.Cli.Call(ctx, "chat.1.local.getInboxSummaryForCLILocal", []interface{}{__arg}, &res, 0*time.Millisecond) + err = c.Cli.Call(ctx, "chat.1.local.getInboxSummaryForCLILocal", []any{__arg}, &res, 0*time.Millisecond) return } func (c LocalClient) GetConversationForCLILocal(ctx context.Context, query GetConversationForCLILocalQuery) (res GetConversationForCLILocalRes, err error) { __arg := GetConversationForCLILocalArg{Query: query} - err = c.Cli.Call(ctx, "chat.1.local.getConversationForCLILocal", []interface{}{__arg}, &res, 0*time.Millisecond) + err = c.Cli.Call(ctx, "chat.1.local.getConversationForCLILocal", []any{__arg}, &res, 0*time.Millisecond) return } func (c LocalClient) GetMessagesLocal(ctx context.Context, __arg GetMessagesLocalArg) (res GetMessagesLocalRes, err error) { - err = c.Cli.Call(ctx, "chat.1.local.GetMessagesLocal", []interface{}{__arg}, &res, 0*time.Millisecond) + err = c.Cli.Call(ctx, "chat.1.local.GetMessagesLocal", []any{__arg}, &res, 0*time.Millisecond) return } func (c LocalClient) PostFileAttachmentLocal(ctx context.Context, __arg PostFileAttachmentLocalArg) (res PostLocalRes, err error) { - err = c.Cli.Call(ctx, "chat.1.local.postFileAttachmentLocal", []interface{}{__arg}, &res, 0*time.Millisecond) + err = c.Cli.Call(ctx, "chat.1.local.postFileAttachmentLocal", []any{__arg}, &res, 0*time.Millisecond) return } func (c LocalClient) PostFileAttachmentLocalNonblock(ctx context.Context, __arg PostFileAttachmentLocalNonblockArg) (res PostLocalNonblockRes, err error) { - err = c.Cli.Call(ctx, "chat.1.local.postFileAttachmentLocalNonblock", []interface{}{__arg}, &res, 30000*time.Millisecond) + err = c.Cli.Call(ctx, "chat.1.local.postFileAttachmentLocalNonblock", []any{__arg}, &res, 30000*time.Millisecond) return } func (c LocalClient) GetNextAttachmentMessageLocal(ctx context.Context, __arg GetNextAttachmentMessageLocalArg) (res GetNextAttachmentMessageLocalRes, err error) { - err = c.Cli.Call(ctx, "chat.1.local.getNextAttachmentMessageLocal", []interface{}{__arg}, &res, 0*time.Millisecond) + err = c.Cli.Call(ctx, "chat.1.local.getNextAttachmentMessageLocal", []any{__arg}, &res, 0*time.Millisecond) return } func (c LocalClient) DownloadAttachmentLocal(ctx context.Context, __arg DownloadAttachmentLocalArg) (res DownloadAttachmentLocalRes, err error) { - err = c.Cli.Call(ctx, "chat.1.local.DownloadAttachmentLocal", []interface{}{__arg}, &res, 0*time.Millisecond) + err = c.Cli.Call(ctx, "chat.1.local.DownloadAttachmentLocal", []any{__arg}, &res, 0*time.Millisecond) return } func (c LocalClient) DownloadFileAttachmentLocal(ctx context.Context, __arg DownloadFileAttachmentLocalArg) (res DownloadFileAttachmentLocalRes, err error) { - err = c.Cli.Call(ctx, "chat.1.local.DownloadFileAttachmentLocal", []interface{}{__arg}, &res, 0*time.Millisecond) + err = c.Cli.Call(ctx, "chat.1.local.DownloadFileAttachmentLocal", []any{__arg}, &res, 0*time.Millisecond) return } func (c LocalClient) ConfigureFileAttachmentDownloadLocal(ctx context.Context, __arg ConfigureFileAttachmentDownloadLocalArg) (err error) { - err = c.Cli.Call(ctx, "chat.1.local.ConfigureFileAttachmentDownloadLocal", []interface{}{__arg}, nil, 0*time.Millisecond) + err = c.Cli.Call(ctx, "chat.1.local.ConfigureFileAttachmentDownloadLocal", []any{__arg}, nil, 0*time.Millisecond) return } func (c LocalClient) MakePreview(ctx context.Context, __arg MakePreviewArg) (res MakePreviewRes, err error) { - err = c.Cli.Call(ctx, "chat.1.local.makePreview", []interface{}{__arg}, &res, 0*time.Millisecond) + err = c.Cli.Call(ctx, "chat.1.local.makePreview", []any{__arg}, &res, 0*time.Millisecond) return } func (c LocalClient) MakeAudioPreview(ctx context.Context, __arg MakeAudioPreviewArg) (res MakePreviewRes, err error) { - err = c.Cli.Call(ctx, "chat.1.local.makeAudioPreview", []interface{}{__arg}, &res, 0*time.Millisecond) + err = c.Cli.Call(ctx, "chat.1.local.makeAudioPreview", []any{__arg}, &res, 0*time.Millisecond) return } func (c LocalClient) GetUploadTempFile(ctx context.Context, __arg GetUploadTempFileArg) (res string, err error) { - err = c.Cli.Call(ctx, "chat.1.local.getUploadTempFile", []interface{}{__arg}, &res, 0*time.Millisecond) + err = c.Cli.Call(ctx, "chat.1.local.getUploadTempFile", []any{__arg}, &res, 0*time.Millisecond) return } func (c LocalClient) MakeUploadTempFile(ctx context.Context, __arg MakeUploadTempFileArg) (res string, err error) { - err = c.Cli.Call(ctx, "chat.1.local.makeUploadTempFile", []interface{}{__arg}, &res, 0*time.Millisecond) + err = c.Cli.Call(ctx, "chat.1.local.makeUploadTempFile", []any{__arg}, &res, 0*time.Millisecond) return } func (c LocalClient) CancelUploadTempFile(ctx context.Context, outboxID OutboxID) (err error) { __arg := CancelUploadTempFileArg{OutboxID: outboxID} - err = c.Cli.Call(ctx, "chat.1.local.cancelUploadTempFile", []interface{}{__arg}, nil, 0*time.Millisecond) + err = c.Cli.Call(ctx, "chat.1.local.cancelUploadTempFile", []any{__arg}, nil, 0*time.Millisecond) return } func (c LocalClient) CancelPost(ctx context.Context, outboxID OutboxID) (err error) { __arg := CancelPostArg{OutboxID: outboxID} - err = c.Cli.Call(ctx, "chat.1.local.CancelPost", []interface{}{__arg}, nil, 0*time.Millisecond) + err = c.Cli.Call(ctx, "chat.1.local.CancelPost", []any{__arg}, nil, 0*time.Millisecond) return } func (c LocalClient) RetryPost(ctx context.Context, __arg RetryPostArg) (err error) { - err = c.Cli.Call(ctx, "chat.1.local.RetryPost", []interface{}{__arg}, nil, 0*time.Millisecond) + err = c.Cli.Call(ctx, "chat.1.local.RetryPost", []any{__arg}, nil, 0*time.Millisecond) return } func (c LocalClient) MarkAsReadLocal(ctx context.Context, __arg MarkAsReadLocalArg) (res MarkAsReadLocalRes, err error) { - err = c.Cli.Call(ctx, "chat.1.local.markAsReadLocal", []interface{}{__arg}, &res, 0*time.Millisecond) + err = c.Cli.Call(ctx, "chat.1.local.markAsReadLocal", []any{__arg}, &res, 0*time.Millisecond) return } func (c LocalClient) MarkTLFAsReadLocal(ctx context.Context, __arg MarkTLFAsReadLocalArg) (res MarkTLFAsReadLocalRes, err error) { - err = c.Cli.Call(ctx, "chat.1.local.markTLFAsReadLocal", []interface{}{__arg}, &res, 0*time.Millisecond) + err = c.Cli.Call(ctx, "chat.1.local.markTLFAsReadLocal", []any{__arg}, &res, 0*time.Millisecond) return } func (c LocalClient) FindConversationsLocal(ctx context.Context, __arg FindConversationsLocalArg) (res FindConversationsLocalRes, err error) { - err = c.Cli.Call(ctx, "chat.1.local.findConversationsLocal", []interface{}{__arg}, &res, 0*time.Millisecond) + err = c.Cli.Call(ctx, "chat.1.local.findConversationsLocal", []any{__arg}, &res, 0*time.Millisecond) return } func (c LocalClient) FindGeneralConvFromTeamID(ctx context.Context, teamID keybase1.TeamID) (res InboxUIItem, err error) { __arg := FindGeneralConvFromTeamIDArg{TeamID: teamID} - err = c.Cli.Call(ctx, "chat.1.local.findGeneralConvFromTeamID", []interface{}{__arg}, &res, 0*time.Millisecond) + err = c.Cli.Call(ctx, "chat.1.local.findGeneralConvFromTeamID", []any{__arg}, &res, 0*time.Millisecond) return } func (c LocalClient) UpdateTyping(ctx context.Context, __arg UpdateTypingArg) (err error) { - err = c.Cli.Call(ctx, "chat.1.local.updateTyping", []interface{}{__arg}, nil, 0*time.Millisecond) + err = c.Cli.Call(ctx, "chat.1.local.updateTyping", []any{__arg}, nil, 0*time.Millisecond) return } func (c LocalClient) UpdateUnsentText(ctx context.Context, __arg UpdateUnsentTextArg) (err error) { - err = c.Cli.Call(ctx, "chat.1.local.updateUnsentText", []interface{}{__arg}, nil, 0*time.Millisecond) + err = c.Cli.Call(ctx, "chat.1.local.updateUnsentText", []any{__arg}, nil, 0*time.Millisecond) return } func (c LocalClient) JoinConversationLocal(ctx context.Context, __arg JoinConversationLocalArg) (res JoinLeaveConversationLocalRes, err error) { - err = c.Cli.Call(ctx, "chat.1.local.joinConversationLocal", []interface{}{__arg}, &res, 0*time.Millisecond) + err = c.Cli.Call(ctx, "chat.1.local.joinConversationLocal", []any{__arg}, &res, 0*time.Millisecond) return } func (c LocalClient) JoinConversationByIDLocal(ctx context.Context, convID ConversationID) (res JoinLeaveConversationLocalRes, err error) { __arg := JoinConversationByIDLocalArg{ConvID: convID} - err = c.Cli.Call(ctx, "chat.1.local.joinConversationByIDLocal", []interface{}{__arg}, &res, 0*time.Millisecond) + err = c.Cli.Call(ctx, "chat.1.local.joinConversationByIDLocal", []any{__arg}, &res, 0*time.Millisecond) return } func (c LocalClient) LeaveConversationLocal(ctx context.Context, convID ConversationID) (res JoinLeaveConversationLocalRes, err error) { __arg := LeaveConversationLocalArg{ConvID: convID} - err = c.Cli.Call(ctx, "chat.1.local.leaveConversationLocal", []interface{}{__arg}, &res, 0*time.Millisecond) + err = c.Cli.Call(ctx, "chat.1.local.leaveConversationLocal", []any{__arg}, &res, 0*time.Millisecond) return } func (c LocalClient) PreviewConversationByIDLocal(ctx context.Context, convID ConversationID) (res PreviewConversationLocalRes, err error) { __arg := PreviewConversationByIDLocalArg{ConvID: convID} - err = c.Cli.Call(ctx, "chat.1.local.previewConversationByIDLocal", []interface{}{__arg}, &res, 0*time.Millisecond) + err = c.Cli.Call(ctx, "chat.1.local.previewConversationByIDLocal", []any{__arg}, &res, 0*time.Millisecond) return } func (c LocalClient) DeleteConversationLocal(ctx context.Context, __arg DeleteConversationLocalArg) (res DeleteConversationLocalRes, err error) { - err = c.Cli.Call(ctx, "chat.1.local.deleteConversationLocal", []interface{}{__arg}, &res, 0*time.Millisecond) + err = c.Cli.Call(ctx, "chat.1.local.deleteConversationLocal", []any{__arg}, &res, 0*time.Millisecond) return } func (c LocalClient) RemoveFromConversationLocal(ctx context.Context, __arg RemoveFromConversationLocalArg) (res RemoveFromConversationLocalRes, err error) { - err = c.Cli.Call(ctx, "chat.1.local.removeFromConversationLocal", []interface{}{__arg}, &res, 0*time.Millisecond) + err = c.Cli.Call(ctx, "chat.1.local.removeFromConversationLocal", []any{__arg}, &res, 0*time.Millisecond) return } func (c LocalClient) GetTLFConversationsLocal(ctx context.Context, __arg GetTLFConversationsLocalArg) (res GetTLFConversationsLocalRes, err error) { - err = c.Cli.Call(ctx, "chat.1.local.getTLFConversationsLocal", []interface{}{__arg}, &res, 0*time.Millisecond) + err = c.Cli.Call(ctx, "chat.1.local.getTLFConversationsLocal", []any{__arg}, &res, 0*time.Millisecond) return } func (c LocalClient) GetChannelMembershipsLocal(ctx context.Context, __arg GetChannelMembershipsLocalArg) (res GetChannelMembershipsLocalRes, err error) { - err = c.Cli.Call(ctx, "chat.1.local.getChannelMembershipsLocal", []interface{}{__arg}, &res, 0*time.Millisecond) + err = c.Cli.Call(ctx, "chat.1.local.getChannelMembershipsLocal", []any{__arg}, &res, 0*time.Millisecond) return } func (c LocalClient) GetMutualTeamsLocal(ctx context.Context, usernames []string) (res GetMutualTeamsLocalRes, err error) { __arg := GetMutualTeamsLocalArg{Usernames: usernames} - err = c.Cli.Call(ctx, "chat.1.local.getMutualTeamsLocal", []interface{}{__arg}, &res, 0*time.Millisecond) + err = c.Cli.Call(ctx, "chat.1.local.getMutualTeamsLocal", []any{__arg}, &res, 0*time.Millisecond) return } func (c LocalClient) SetAppNotificationSettingsLocal(ctx context.Context, __arg SetAppNotificationSettingsLocalArg) (res SetAppNotificationSettingsLocalRes, err error) { - err = c.Cli.Call(ctx, "chat.1.local.setAppNotificationSettingsLocal", []interface{}{__arg}, &res, 0*time.Millisecond) + err = c.Cli.Call(ctx, "chat.1.local.setAppNotificationSettingsLocal", []any{__arg}, &res, 0*time.Millisecond) return } func (c LocalClient) SetGlobalAppNotificationSettingsLocal(ctx context.Context, settings map[string]bool) (err error) { __arg := SetGlobalAppNotificationSettingsLocalArg{Settings: settings} - err = c.Cli.Call(ctx, "chat.1.local.setGlobalAppNotificationSettingsLocal", []interface{}{__arg}, nil, 0*time.Millisecond) + err = c.Cli.Call(ctx, "chat.1.local.setGlobalAppNotificationSettingsLocal", []any{__arg}, nil, 0*time.Millisecond) return } func (c LocalClient) GetGlobalAppNotificationSettingsLocal(ctx context.Context) (res GlobalAppNotificationSettings, err error) { - err = c.Cli.Call(ctx, "chat.1.local.getGlobalAppNotificationSettingsLocal", []interface{}{GetGlobalAppNotificationSettingsLocalArg{}}, &res, 0*time.Millisecond) + err = c.Cli.Call(ctx, "chat.1.local.getGlobalAppNotificationSettingsLocal", []any{GetGlobalAppNotificationSettingsLocalArg{}}, &res, 0*time.Millisecond) return } func (c LocalClient) UnboxMobilePushNotification(ctx context.Context, __arg UnboxMobilePushNotificationArg) (res string, err error) { - err = c.Cli.Call(ctx, "chat.1.local.unboxMobilePushNotification", []interface{}{__arg}, &res, 0*time.Millisecond) + err = c.Cli.Call(ctx, "chat.1.local.unboxMobilePushNotification", []any{__arg}, &res, 0*time.Millisecond) return } func (c LocalClient) AddTeamMemberAfterReset(ctx context.Context, __arg AddTeamMemberAfterResetArg) (err error) { - err = c.Cli.Call(ctx, "chat.1.local.addTeamMemberAfterReset", []interface{}{__arg}, nil, 0*time.Millisecond) + err = c.Cli.Call(ctx, "chat.1.local.addTeamMemberAfterReset", []any{__arg}, nil, 0*time.Millisecond) return } func (c LocalClient) GetAllResetConvMembers(ctx context.Context) (res GetAllResetConvMembersRes, err error) { - err = c.Cli.Call(ctx, "chat.1.local.getAllResetConvMembers", []interface{}{GetAllResetConvMembersArg{}}, &res, 0*time.Millisecond) + err = c.Cli.Call(ctx, "chat.1.local.getAllResetConvMembers", []any{GetAllResetConvMembersArg{}}, &res, 0*time.Millisecond) return } func (c LocalClient) SetConvRetentionLocal(ctx context.Context, __arg SetConvRetentionLocalArg) (err error) { - err = c.Cli.Call(ctx, "chat.1.local.setConvRetentionLocal", []interface{}{__arg}, nil, 0*time.Millisecond) + err = c.Cli.Call(ctx, "chat.1.local.setConvRetentionLocal", []any{__arg}, nil, 0*time.Millisecond) return } func (c LocalClient) SetTeamRetentionLocal(ctx context.Context, __arg SetTeamRetentionLocalArg) (err error) { - err = c.Cli.Call(ctx, "chat.1.local.setTeamRetentionLocal", []interface{}{__arg}, nil, 0*time.Millisecond) + err = c.Cli.Call(ctx, "chat.1.local.setTeamRetentionLocal", []any{__arg}, nil, 0*time.Millisecond) return } func (c LocalClient) GetTeamRetentionLocal(ctx context.Context, teamID keybase1.TeamID) (res *RetentionPolicy, err error) { __arg := GetTeamRetentionLocalArg{TeamID: teamID} - err = c.Cli.Call(ctx, "chat.1.local.getTeamRetentionLocal", []interface{}{__arg}, &res, 0*time.Millisecond) + err = c.Cli.Call(ctx, "chat.1.local.getTeamRetentionLocal", []any{__arg}, &res, 0*time.Millisecond) return } func (c LocalClient) SetConvMinWriterRoleLocal(ctx context.Context, __arg SetConvMinWriterRoleLocalArg) (err error) { - err = c.Cli.Call(ctx, "chat.1.local.setConvMinWriterRoleLocal", []interface{}{__arg}, nil, 0*time.Millisecond) + err = c.Cli.Call(ctx, "chat.1.local.setConvMinWriterRoleLocal", []any{__arg}, nil, 0*time.Millisecond) return } func (c LocalClient) UpgradeKBFSConversationToImpteam(ctx context.Context, convID ConversationID) (err error) { __arg := UpgradeKBFSConversationToImpteamArg{ConvID: convID} - err = c.Cli.Call(ctx, "chat.1.local.upgradeKBFSConversationToImpteam", []interface{}{__arg}, nil, 0*time.Millisecond) + err = c.Cli.Call(ctx, "chat.1.local.upgradeKBFSConversationToImpteam", []any{__arg}, nil, 0*time.Millisecond) return } func (c LocalClient) SearchRegexp(ctx context.Context, __arg SearchRegexpArg) (res SearchRegexpRes, err error) { - err = c.Cli.Call(ctx, "chat.1.local.searchRegexp", []interface{}{__arg}, &res, 0*time.Millisecond) + err = c.Cli.Call(ctx, "chat.1.local.searchRegexp", []any{__arg}, &res, 0*time.Millisecond) return } func (c LocalClient) CancelActiveInboxSearch(ctx context.Context) (err error) { - err = c.Cli.Call(ctx, "chat.1.local.cancelActiveInboxSearch", []interface{}{CancelActiveInboxSearchArg{}}, nil, 0*time.Millisecond) + err = c.Cli.Call(ctx, "chat.1.local.cancelActiveInboxSearch", []any{CancelActiveInboxSearchArg{}}, nil, 0*time.Millisecond) return } func (c LocalClient) SearchInbox(ctx context.Context, __arg SearchInboxArg) (res SearchInboxRes, err error) { - err = c.Cli.Call(ctx, "chat.1.local.searchInbox", []interface{}{__arg}, &res, 0*time.Millisecond) + err = c.Cli.Call(ctx, "chat.1.local.searchInbox", []any{__arg}, &res, 0*time.Millisecond) return } func (c LocalClient) SimpleSearchInboxConvNames(ctx context.Context, query string) (res []SimpleSearchInboxConvNamesHit, err error) { __arg := SimpleSearchInboxConvNamesArg{Query: query} - err = c.Cli.Call(ctx, "chat.1.local.simpleSearchInboxConvNames", []interface{}{__arg}, &res, 0*time.Millisecond) + err = c.Cli.Call(ctx, "chat.1.local.simpleSearchInboxConvNames", []any{__arg}, &res, 0*time.Millisecond) return } func (c LocalClient) CancelActiveSearch(ctx context.Context) (err error) { - err = c.Cli.Call(ctx, "chat.1.local.cancelActiveSearch", []interface{}{CancelActiveSearchArg{}}, nil, 0*time.Millisecond) + err = c.Cli.Call(ctx, "chat.1.local.cancelActiveSearch", []any{CancelActiveSearchArg{}}, nil, 0*time.Millisecond) return } func (c LocalClient) ProfileChatSearch(ctx context.Context, identifyBehavior keybase1.TLFIdentifyBehavior) (res map[ConvIDStr]ProfileSearchConvStats, err error) { __arg := ProfileChatSearchArg{IdentifyBehavior: identifyBehavior} - err = c.Cli.Call(ctx, "chat.1.local.profileChatSearch", []interface{}{__arg}, &res, 0*time.Millisecond) + err = c.Cli.Call(ctx, "chat.1.local.profileChatSearch", []any{__arg}, &res, 0*time.Millisecond) return } func (c LocalClient) GetStaticConfig(ctx context.Context) (res StaticConfig, err error) { - err = c.Cli.Call(ctx, "chat.1.local.getStaticConfig", []interface{}{GetStaticConfigArg{}}, &res, 0*time.Millisecond) + err = c.Cli.Call(ctx, "chat.1.local.getStaticConfig", []any{GetStaticConfigArg{}}, &res, 0*time.Millisecond) return } func (c LocalClient) ResolveUnfurlPrompt(ctx context.Context, __arg ResolveUnfurlPromptArg) (err error) { - err = c.Cli.Call(ctx, "chat.1.local.resolveUnfurlPrompt", []interface{}{__arg}, nil, 0*time.Millisecond) + err = c.Cli.Call(ctx, "chat.1.local.resolveUnfurlPrompt", []any{__arg}, nil, 0*time.Millisecond) return } func (c LocalClient) GetUnfurlSettings(ctx context.Context) (res UnfurlSettingsDisplay, err error) { - err = c.Cli.Call(ctx, "chat.1.local.getUnfurlSettings", []interface{}{GetUnfurlSettingsArg{}}, &res, 0*time.Millisecond) + err = c.Cli.Call(ctx, "chat.1.local.getUnfurlSettings", []any{GetUnfurlSettingsArg{}}, &res, 0*time.Millisecond) return } func (c LocalClient) SaveUnfurlSettings(ctx context.Context, __arg SaveUnfurlSettingsArg) (err error) { - err = c.Cli.Call(ctx, "chat.1.local.saveUnfurlSettings", []interface{}{__arg}, nil, 0*time.Millisecond) + err = c.Cli.Call(ctx, "chat.1.local.saveUnfurlSettings", []any{__arg}, nil, 0*time.Millisecond) return } func (c LocalClient) ToggleMessageCollapse(ctx context.Context, __arg ToggleMessageCollapseArg) (err error) { - err = c.Cli.Call(ctx, "chat.1.local.toggleMessageCollapse", []interface{}{__arg}, nil, 0*time.Millisecond) + err = c.Cli.Call(ctx, "chat.1.local.toggleMessageCollapse", []any{__arg}, nil, 0*time.Millisecond) return } func (c LocalClient) BulkAddToConv(ctx context.Context, __arg BulkAddToConvArg) (err error) { - err = c.Cli.Call(ctx, "chat.1.local.bulkAddToConv", []interface{}{__arg}, nil, 0*time.Millisecond) + err = c.Cli.Call(ctx, "chat.1.local.bulkAddToConv", []any{__arg}, nil, 0*time.Millisecond) return } func (c LocalClient) BulkAddToManyConvs(ctx context.Context, __arg BulkAddToManyConvsArg) (err error) { - err = c.Cli.Call(ctx, "chat.1.local.bulkAddToManyConvs", []interface{}{__arg}, nil, 0*time.Millisecond) + err = c.Cli.Call(ctx, "chat.1.local.bulkAddToManyConvs", []any{__arg}, nil, 0*time.Millisecond) return } func (c LocalClient) PutReacjiSkinTone(ctx context.Context, skinTone keybase1.ReacjiSkinTone) (res keybase1.UserReacjis, err error) { __arg := PutReacjiSkinToneArg{SkinTone: skinTone} - err = c.Cli.Call(ctx, "chat.1.local.putReacjiSkinTone", []interface{}{__arg}, &res, 0*time.Millisecond) + err = c.Cli.Call(ctx, "chat.1.local.putReacjiSkinTone", []any{__arg}, &res, 0*time.Millisecond) return } func (c LocalClient) ResolveMaybeMention(ctx context.Context, mention MaybeMention) (err error) { __arg := ResolveMaybeMentionArg{Mention: mention} - err = c.Cli.Call(ctx, "chat.1.local.resolveMaybeMention", []interface{}{__arg}, nil, 0*time.Millisecond) + err = c.Cli.Call(ctx, "chat.1.local.resolveMaybeMention", []any{__arg}, nil, 0*time.Millisecond) return } func (c LocalClient) LoadGallery(ctx context.Context, __arg LoadGalleryArg) (res LoadGalleryRes, err error) { - err = c.Cli.Call(ctx, "chat.1.local.loadGallery", []interface{}{__arg}, &res, 0*time.Millisecond) + err = c.Cli.Call(ctx, "chat.1.local.loadGallery", []any{__arg}, &res, 0*time.Millisecond) return } func (c LocalClient) LoadFlip(ctx context.Context, __arg LoadFlipArg) (res LoadFlipRes, err error) { - err = c.Cli.Call(ctx, "chat.1.local.loadFlip", []interface{}{__arg}, &res, 0*time.Millisecond) + err = c.Cli.Call(ctx, "chat.1.local.loadFlip", []any{__arg}, &res, 0*time.Millisecond) return } func (c LocalClient) LocationUpdate(ctx context.Context, coord Coordinate) (err error) { __arg := LocationUpdateArg{Coord: coord} - err = c.Cli.Call(ctx, "chat.1.local.locationUpdate", []interface{}{__arg}, nil, 0*time.Millisecond) + err = c.Cli.Call(ctx, "chat.1.local.locationUpdate", []any{__arg}, nil, 0*time.Millisecond) return } func (c LocalClient) AdvertiseBotCommandsLocal(ctx context.Context, __arg AdvertiseBotCommandsLocalArg) (res AdvertiseBotCommandsLocalRes, err error) { - err = c.Cli.Call(ctx, "chat.1.local.advertiseBotCommandsLocal", []interface{}{__arg}, &res, 0*time.Millisecond) + err = c.Cli.Call(ctx, "chat.1.local.advertiseBotCommandsLocal", []any{__arg}, &res, 0*time.Millisecond) return } func (c LocalClient) ListBotCommandsLocal(ctx context.Context, convID ConversationID) (res ListBotCommandsLocalRes, err error) { __arg := ListBotCommandsLocalArg{ConvID: convID} - err = c.Cli.Call(ctx, "chat.1.local.listBotCommandsLocal", []interface{}{__arg}, &res, 0*time.Millisecond) + err = c.Cli.Call(ctx, "chat.1.local.listBotCommandsLocal", []any{__arg}, &res, 0*time.Millisecond) return } func (c LocalClient) ListPublicBotCommandsLocal(ctx context.Context, username string) (res ListBotCommandsLocalRes, err error) { __arg := ListPublicBotCommandsLocalArg{Username: username} - err = c.Cli.Call(ctx, "chat.1.local.listPublicBotCommandsLocal", []interface{}{__arg}, &res, 0*time.Millisecond) + err = c.Cli.Call(ctx, "chat.1.local.listPublicBotCommandsLocal", []any{__arg}, &res, 0*time.Millisecond) return } func (c LocalClient) ClearBotCommandsLocal(ctx context.Context, filter *ClearBotCommandsFilter) (res ClearBotCommandsLocalRes, err error) { __arg := ClearBotCommandsLocalArg{Filter: filter} - err = c.Cli.Call(ctx, "chat.1.local.clearBotCommandsLocal", []interface{}{__arg}, &res, 0*time.Millisecond) + err = c.Cli.Call(ctx, "chat.1.local.clearBotCommandsLocal", []any{__arg}, &res, 0*time.Millisecond) return } func (c LocalClient) PinMessage(ctx context.Context, __arg PinMessageArg) (res PinMessageRes, err error) { - err = c.Cli.Call(ctx, "chat.1.local.pinMessage", []interface{}{__arg}, &res, 0*time.Millisecond) + err = c.Cli.Call(ctx, "chat.1.local.pinMessage", []any{__arg}, &res, 0*time.Millisecond) return } func (c LocalClient) UnpinMessage(ctx context.Context, convID ConversationID) (res PinMessageRes, err error) { __arg := UnpinMessageArg{ConvID: convID} - err = c.Cli.Call(ctx, "chat.1.local.unpinMessage", []interface{}{__arg}, &res, 0*time.Millisecond) + err = c.Cli.Call(ctx, "chat.1.local.unpinMessage", []any{__arg}, &res, 0*time.Millisecond) return } func (c LocalClient) IgnorePinnedMessage(ctx context.Context, convID ConversationID) (err error) { __arg := IgnorePinnedMessageArg{ConvID: convID} - err = c.Cli.Call(ctx, "chat.1.local.ignorePinnedMessage", []interface{}{__arg}, nil, 0*time.Millisecond) + err = c.Cli.Call(ctx, "chat.1.local.ignorePinnedMessage", []any{__arg}, nil, 0*time.Millisecond) return } func (c LocalClient) AddBotMember(ctx context.Context, __arg AddBotMemberArg) (err error) { - err = c.Cli.Call(ctx, "chat.1.local.addBotMember", []interface{}{__arg}, nil, 0*time.Millisecond) + err = c.Cli.Call(ctx, "chat.1.local.addBotMember", []any{__arg}, nil, 0*time.Millisecond) return } func (c LocalClient) EditBotMember(ctx context.Context, __arg EditBotMemberArg) (err error) { - err = c.Cli.Call(ctx, "chat.1.local.editBotMember", []interface{}{__arg}, nil, 0*time.Millisecond) + err = c.Cli.Call(ctx, "chat.1.local.editBotMember", []any{__arg}, nil, 0*time.Millisecond) return } func (c LocalClient) RemoveBotMember(ctx context.Context, __arg RemoveBotMemberArg) (err error) { - err = c.Cli.Call(ctx, "chat.1.local.removeBotMember", []interface{}{__arg}, nil, 0*time.Millisecond) + err = c.Cli.Call(ctx, "chat.1.local.removeBotMember", []any{__arg}, nil, 0*time.Millisecond) return } func (c LocalClient) SetBotMemberSettings(ctx context.Context, __arg SetBotMemberSettingsArg) (err error) { - err = c.Cli.Call(ctx, "chat.1.local.setBotMemberSettings", []interface{}{__arg}, nil, 0*time.Millisecond) + err = c.Cli.Call(ctx, "chat.1.local.setBotMemberSettings", []any{__arg}, nil, 0*time.Millisecond) return } func (c LocalClient) GetBotMemberSettings(ctx context.Context, __arg GetBotMemberSettingsArg) (res keybase1.TeamBotSettings, err error) { - err = c.Cli.Call(ctx, "chat.1.local.getBotMemberSettings", []interface{}{__arg}, &res, 0*time.Millisecond) + err = c.Cli.Call(ctx, "chat.1.local.getBotMemberSettings", []any{__arg}, &res, 0*time.Millisecond) return } func (c LocalClient) GetTeamRoleInConversation(ctx context.Context, __arg GetTeamRoleInConversationArg) (res keybase1.TeamRole, err error) { - err = c.Cli.Call(ctx, "chat.1.local.getTeamRoleInConversation", []interface{}{__arg}, &res, 0*time.Millisecond) + err = c.Cli.Call(ctx, "chat.1.local.getTeamRoleInConversation", []any{__arg}, &res, 0*time.Millisecond) return } func (c LocalClient) AddBotConvSearch(ctx context.Context, term string) (res []ConvSearchHit, err error) { __arg := AddBotConvSearchArg{Term: term} - err = c.Cli.Call(ctx, "chat.1.local.addBotConvSearch", []interface{}{__arg}, &res, 0*time.Millisecond) + err = c.Cli.Call(ctx, "chat.1.local.addBotConvSearch", []any{__arg}, &res, 0*time.Millisecond) return } func (c LocalClient) ForwardMessageConvSearch(ctx context.Context, term string) (res []ConvSearchHit, err error) { __arg := ForwardMessageConvSearchArg{Term: term} - err = c.Cli.Call(ctx, "chat.1.local.forwardMessageConvSearch", []interface{}{__arg}, &res, 0*time.Millisecond) + err = c.Cli.Call(ctx, "chat.1.local.forwardMessageConvSearch", []any{__arg}, &res, 0*time.Millisecond) return } func (c LocalClient) TeamIDFromTLFName(ctx context.Context, __arg TeamIDFromTLFNameArg) (res keybase1.TeamID, err error) { - err = c.Cli.Call(ctx, "chat.1.local.teamIDFromTLFName", []interface{}{__arg}, &res, 0*time.Millisecond) + err = c.Cli.Call(ctx, "chat.1.local.teamIDFromTLFName", []any{__arg}, &res, 0*time.Millisecond) return } func (c LocalClient) DismissJourneycard(ctx context.Context, __arg DismissJourneycardArg) (err error) { - err = c.Cli.Call(ctx, "chat.1.local.dismissJourneycard", []interface{}{__arg}, nil, 0*time.Millisecond) + err = c.Cli.Call(ctx, "chat.1.local.dismissJourneycard", []any{__arg}, nil, 0*time.Millisecond) return } func (c LocalClient) SetWelcomeMessage(ctx context.Context, __arg SetWelcomeMessageArg) (err error) { - err = c.Cli.Call(ctx, "chat.1.local.setWelcomeMessage", []interface{}{__arg}, nil, 0*time.Millisecond) + err = c.Cli.Call(ctx, "chat.1.local.setWelcomeMessage", []any{__arg}, nil, 0*time.Millisecond) return } func (c LocalClient) GetWelcomeMessage(ctx context.Context, teamID keybase1.TeamID) (res WelcomeMessageDisplay, err error) { __arg := GetWelcomeMessageArg{TeamID: teamID} - err = c.Cli.Call(ctx, "chat.1.local.getWelcomeMessage", []interface{}{__arg}, &res, 0*time.Millisecond) + err = c.Cli.Call(ctx, "chat.1.local.getWelcomeMessage", []any{__arg}, &res, 0*time.Millisecond) return } func (c LocalClient) GetDefaultTeamChannelsLocal(ctx context.Context, teamID keybase1.TeamID) (res GetDefaultTeamChannelsLocalRes, err error) { __arg := GetDefaultTeamChannelsLocalArg{TeamID: teamID} - err = c.Cli.Call(ctx, "chat.1.local.getDefaultTeamChannelsLocal", []interface{}{__arg}, &res, 0*time.Millisecond) + err = c.Cli.Call(ctx, "chat.1.local.getDefaultTeamChannelsLocal", []any{__arg}, &res, 0*time.Millisecond) return } func (c LocalClient) SetDefaultTeamChannelsLocal(ctx context.Context, __arg SetDefaultTeamChannelsLocalArg) (res SetDefaultTeamChannelsLocalRes, err error) { - err = c.Cli.Call(ctx, "chat.1.local.setDefaultTeamChannelsLocal", []interface{}{__arg}, &res, 0*time.Millisecond) + err = c.Cli.Call(ctx, "chat.1.local.setDefaultTeamChannelsLocal", []any{__arg}, &res, 0*time.Millisecond) return } func (c LocalClient) GetLastActiveForTLF(ctx context.Context, tlfID TLFIDStr) (res LastActiveStatus, err error) { __arg := GetLastActiveForTLFArg{TlfID: tlfID} - err = c.Cli.Call(ctx, "chat.1.local.getLastActiveForTLF", []interface{}{__arg}, &res, 0*time.Millisecond) + err = c.Cli.Call(ctx, "chat.1.local.getLastActiveForTLF", []any{__arg}, &res, 0*time.Millisecond) return } func (c LocalClient) GetLastActiveForTeams(ctx context.Context) (res LastActiveStatusAll, err error) { - err = c.Cli.Call(ctx, "chat.1.local.getLastActiveForTeams", []interface{}{GetLastActiveForTeamsArg{}}, &res, 0*time.Millisecond) + err = c.Cli.Call(ctx, "chat.1.local.getLastActiveForTeams", []any{GetLastActiveForTeamsArg{}}, &res, 0*time.Millisecond) return } func (c LocalClient) GetRecentJoinsLocal(ctx context.Context, convID ConversationID) (res int, err error) { __arg := GetRecentJoinsLocalArg{ConvID: convID} - err = c.Cli.Call(ctx, "chat.1.local.getRecentJoinsLocal", []interface{}{__arg}, &res, 0*time.Millisecond) + err = c.Cli.Call(ctx, "chat.1.local.getRecentJoinsLocal", []any{__arg}, &res, 0*time.Millisecond) return } func (c LocalClient) RefreshParticipants(ctx context.Context, convID ConversationID) (err error) { __arg := RefreshParticipantsArg{ConvID: convID} - err = c.Cli.Call(ctx, "chat.1.local.refreshParticipants", []interface{}{__arg}, nil, 0*time.Millisecond) + err = c.Cli.Call(ctx, "chat.1.local.refreshParticipants", []any{__arg}, nil, 0*time.Millisecond) return } func (c LocalClient) GetLastActiveAtLocal(ctx context.Context, __arg GetLastActiveAtLocalArg) (res gregor1.Time, err error) { - err = c.Cli.Call(ctx, "chat.1.local.getLastActiveAtLocal", []interface{}{__arg}, &res, 0*time.Millisecond) + err = c.Cli.Call(ctx, "chat.1.local.getLastActiveAtLocal", []any{__arg}, &res, 0*time.Millisecond) return } func (c LocalClient) GetLastActiveAtMultiLocal(ctx context.Context, __arg GetLastActiveAtMultiLocalArg) (res map[keybase1.TeamID]gregor1.Time, err error) { - err = c.Cli.Call(ctx, "chat.1.local.getLastActiveAtMultiLocal", []interface{}{__arg}, &res, 0*time.Millisecond) + err = c.Cli.Call(ctx, "chat.1.local.getLastActiveAtMultiLocal", []any{__arg}, &res, 0*time.Millisecond) return } func (c LocalClient) GetParticipants(ctx context.Context, convID ConversationID) (res []ConversationLocalParticipant, err error) { __arg := GetParticipantsArg{ConvID: convID} - err = c.Cli.Call(ctx, "chat.1.local.getParticipants", []interface{}{__arg}, &res, 0*time.Millisecond) + err = c.Cli.Call(ctx, "chat.1.local.getParticipants", []any{__arg}, &res, 0*time.Millisecond) return } func (c LocalClient) AddEmoji(ctx context.Context, __arg AddEmojiArg) (res AddEmojiRes, err error) { - err = c.Cli.Call(ctx, "chat.1.local.addEmoji", []interface{}{__arg}, &res, 0*time.Millisecond) + err = c.Cli.Call(ctx, "chat.1.local.addEmoji", []any{__arg}, &res, 0*time.Millisecond) return } func (c LocalClient) AddEmojis(ctx context.Context, __arg AddEmojisArg) (res AddEmojisRes, err error) { - err = c.Cli.Call(ctx, "chat.1.local.addEmojis", []interface{}{__arg}, &res, 0*time.Millisecond) + err = c.Cli.Call(ctx, "chat.1.local.addEmojis", []any{__arg}, &res, 0*time.Millisecond) return } func (c LocalClient) AddEmojiAlias(ctx context.Context, __arg AddEmojiAliasArg) (res AddEmojiAliasRes, err error) { - err = c.Cli.Call(ctx, "chat.1.local.addEmojiAlias", []interface{}{__arg}, &res, 0*time.Millisecond) + err = c.Cli.Call(ctx, "chat.1.local.addEmojiAlias", []any{__arg}, &res, 0*time.Millisecond) return } func (c LocalClient) RemoveEmoji(ctx context.Context, __arg RemoveEmojiArg) (res RemoveEmojiRes, err error) { - err = c.Cli.Call(ctx, "chat.1.local.removeEmoji", []interface{}{__arg}, &res, 0*time.Millisecond) + err = c.Cli.Call(ctx, "chat.1.local.removeEmoji", []any{__arg}, &res, 0*time.Millisecond) return } func (c LocalClient) UserEmojis(ctx context.Context, __arg UserEmojisArg) (res UserEmojiRes, err error) { - err = c.Cli.Call(ctx, "chat.1.local.userEmojis", []interface{}{__arg}, &res, 0*time.Millisecond) + err = c.Cli.Call(ctx, "chat.1.local.userEmojis", []any{__arg}, &res, 0*time.Millisecond) return } func (c LocalClient) ToggleEmojiAnimations(ctx context.Context, enabled bool) (err error) { __arg := ToggleEmojiAnimationsArg{Enabled: enabled} - err = c.Cli.Call(ctx, "chat.1.local.toggleEmojiAnimations", []interface{}{__arg}, nil, 0*time.Millisecond) + err = c.Cli.Call(ctx, "chat.1.local.toggleEmojiAnimations", []any{__arg}, nil, 0*time.Millisecond) return } func (c LocalClient) TrackGiphySelect(ctx context.Context, __arg TrackGiphySelectArg) (res TrackGiphySelectRes, err error) { - err = c.Cli.Call(ctx, "chat.1.local.trackGiphySelect", []interface{}{__arg}, &res, 0*time.Millisecond) + err = c.Cli.Call(ctx, "chat.1.local.trackGiphySelect", []any{__arg}, &res, 0*time.Millisecond) return } func (c LocalClient) ArchiveChat(ctx context.Context, req ArchiveChatJobRequest) (res ArchiveChatRes, err error) { __arg := ArchiveChatArg{Req: req} - err = c.Cli.Call(ctx, "chat.1.local.archiveChat", []interface{}{__arg}, &res, 0*time.Millisecond) + err = c.Cli.Call(ctx, "chat.1.local.archiveChat", []any{__arg}, &res, 0*time.Millisecond) return } func (c LocalClient) ArchiveChatList(ctx context.Context, identifyBehavior keybase1.TLFIdentifyBehavior) (res ArchiveChatListRes, err error) { __arg := ArchiveChatListArg{IdentifyBehavior: identifyBehavior} - err = c.Cli.Call(ctx, "chat.1.local.archiveChatList", []interface{}{__arg}, &res, 0*time.Millisecond) + err = c.Cli.Call(ctx, "chat.1.local.archiveChatList", []any{__arg}, &res, 0*time.Millisecond) return } func (c LocalClient) ArchiveChatDelete(ctx context.Context, __arg ArchiveChatDeleteArg) (err error) { - err = c.Cli.Call(ctx, "chat.1.local.archiveChatDelete", []interface{}{__arg}, nil, 0*time.Millisecond) + err = c.Cli.Call(ctx, "chat.1.local.archiveChatDelete", []any{__arg}, nil, 0*time.Millisecond) return } func (c LocalClient) ArchiveChatPause(ctx context.Context, __arg ArchiveChatPauseArg) (err error) { - err = c.Cli.Call(ctx, "chat.1.local.archiveChatPause", []interface{}{__arg}, nil, 0*time.Millisecond) + err = c.Cli.Call(ctx, "chat.1.local.archiveChatPause", []any{__arg}, nil, 0*time.Millisecond) return } func (c LocalClient) ArchiveChatResume(ctx context.Context, __arg ArchiveChatResumeArg) (err error) { - err = c.Cli.Call(ctx, "chat.1.local.archiveChatResume", []interface{}{__arg}, nil, 0*time.Millisecond) + err = c.Cli.Call(ctx, "chat.1.local.archiveChatResume", []any{__arg}, nil, 0*time.Millisecond) return } diff --git a/go/protocol/chat1/notify.go b/go/protocol/chat1/notify.go index ae6b4d97f39b..4d0beb306391 100644 --- a/go/protocol/chat1/notify.go +++ b/go/protocol/chat1/notify.go @@ -1,4 +1,4 @@ -// Auto-generated to Go types and interfaces using avdl-compiler v1.4.10 (https://github.com/keybase/node-avdl-compiler) +// Code generated to Go types and interfaces using avdl-compiler v1.4.10 (https://github.com/keybase/node-avdl-compiler). DO NOT EDIT. // Input file: avdl/chat1/notify.avdl package chat1 @@ -1136,11 +1136,11 @@ func NotifyChatProtocol(i NotifyChatInterface) rpc.Protocol { Name: "chat.1.NotifyChat", Methods: map[string]rpc.ServeHandlerDescription{ "NewChatActivity": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]NewChatActivityArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]NewChatActivityArg) if !ok { err = rpc.NewTypeError((*[1]NewChatActivityArg)(nil), args) @@ -1151,11 +1151,11 @@ func NotifyChatProtocol(i NotifyChatInterface) rpc.Protocol { }, }, "ChatIdentifyUpdate": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]ChatIdentifyUpdateArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]ChatIdentifyUpdateArg) if !ok { err = rpc.NewTypeError((*[1]ChatIdentifyUpdateArg)(nil), args) @@ -1166,11 +1166,11 @@ func NotifyChatProtocol(i NotifyChatInterface) rpc.Protocol { }, }, "ChatTLFFinalize": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]ChatTLFFinalizeArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]ChatTLFFinalizeArg) if !ok { err = rpc.NewTypeError((*[1]ChatTLFFinalizeArg)(nil), args) @@ -1181,11 +1181,11 @@ func NotifyChatProtocol(i NotifyChatInterface) rpc.Protocol { }, }, "ChatTLFResolve": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]ChatTLFResolveArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]ChatTLFResolveArg) if !ok { err = rpc.NewTypeError((*[1]ChatTLFResolveArg)(nil), args) @@ -1196,11 +1196,11 @@ func NotifyChatProtocol(i NotifyChatInterface) rpc.Protocol { }, }, "ChatInboxStale": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]ChatInboxStaleArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]ChatInboxStaleArg) if !ok { err = rpc.NewTypeError((*[1]ChatInboxStaleArg)(nil), args) @@ -1211,11 +1211,11 @@ func NotifyChatProtocol(i NotifyChatInterface) rpc.Protocol { }, }, "ChatThreadsStale": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]ChatThreadsStaleArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]ChatThreadsStaleArg) if !ok { err = rpc.NewTypeError((*[1]ChatThreadsStaleArg)(nil), args) @@ -1226,11 +1226,11 @@ func NotifyChatProtocol(i NotifyChatInterface) rpc.Protocol { }, }, "ChatTypingUpdate": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]ChatTypingUpdateArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]ChatTypingUpdateArg) if !ok { err = rpc.NewTypeError((*[1]ChatTypingUpdateArg)(nil), args) @@ -1241,11 +1241,11 @@ func NotifyChatProtocol(i NotifyChatInterface) rpc.Protocol { }, }, "ChatJoinedConversation": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]ChatJoinedConversationArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]ChatJoinedConversationArg) if !ok { err = rpc.NewTypeError((*[1]ChatJoinedConversationArg)(nil), args) @@ -1256,11 +1256,11 @@ func NotifyChatProtocol(i NotifyChatInterface) rpc.Protocol { }, }, "ChatLeftConversation": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]ChatLeftConversationArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]ChatLeftConversationArg) if !ok { err = rpc.NewTypeError((*[1]ChatLeftConversationArg)(nil), args) @@ -1271,11 +1271,11 @@ func NotifyChatProtocol(i NotifyChatInterface) rpc.Protocol { }, }, "ChatResetConversation": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]ChatResetConversationArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]ChatResetConversationArg) if !ok { err = rpc.NewTypeError((*[1]ChatResetConversationArg)(nil), args) @@ -1286,11 +1286,11 @@ func NotifyChatProtocol(i NotifyChatInterface) rpc.Protocol { }, }, "ChatInboxSyncStarted": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]ChatInboxSyncStartedArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]ChatInboxSyncStartedArg) if !ok { err = rpc.NewTypeError((*[1]ChatInboxSyncStartedArg)(nil), args) @@ -1301,11 +1301,11 @@ func NotifyChatProtocol(i NotifyChatInterface) rpc.Protocol { }, }, "ChatInboxSynced": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]ChatInboxSyncedArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]ChatInboxSyncedArg) if !ok { err = rpc.NewTypeError((*[1]ChatInboxSyncedArg)(nil), args) @@ -1316,11 +1316,11 @@ func NotifyChatProtocol(i NotifyChatInterface) rpc.Protocol { }, }, "ChatSetConvRetention": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]ChatSetConvRetentionArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]ChatSetConvRetentionArg) if !ok { err = rpc.NewTypeError((*[1]ChatSetConvRetentionArg)(nil), args) @@ -1331,11 +1331,11 @@ func NotifyChatProtocol(i NotifyChatInterface) rpc.Protocol { }, }, "ChatSetTeamRetention": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]ChatSetTeamRetentionArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]ChatSetTeamRetentionArg) if !ok { err = rpc.NewTypeError((*[1]ChatSetTeamRetentionArg)(nil), args) @@ -1346,11 +1346,11 @@ func NotifyChatProtocol(i NotifyChatInterface) rpc.Protocol { }, }, "ChatSetConvSettings": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]ChatSetConvSettingsArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]ChatSetConvSettingsArg) if !ok { err = rpc.NewTypeError((*[1]ChatSetConvSettingsArg)(nil), args) @@ -1361,11 +1361,11 @@ func NotifyChatProtocol(i NotifyChatInterface) rpc.Protocol { }, }, "ChatSubteamRename": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]ChatSubteamRenameArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]ChatSubteamRenameArg) if !ok { err = rpc.NewTypeError((*[1]ChatSubteamRenameArg)(nil), args) @@ -1376,11 +1376,11 @@ func NotifyChatProtocol(i NotifyChatInterface) rpc.Protocol { }, }, "ChatKBFSToImpteamUpgrade": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]ChatKBFSToImpteamUpgradeArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]ChatKBFSToImpteamUpgradeArg) if !ok { err = rpc.NewTypeError((*[1]ChatKBFSToImpteamUpgradeArg)(nil), args) @@ -1391,11 +1391,11 @@ func NotifyChatProtocol(i NotifyChatInterface) rpc.Protocol { }, }, "ChatAttachmentUploadStart": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]ChatAttachmentUploadStartArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]ChatAttachmentUploadStartArg) if !ok { err = rpc.NewTypeError((*[1]ChatAttachmentUploadStartArg)(nil), args) @@ -1406,11 +1406,11 @@ func NotifyChatProtocol(i NotifyChatInterface) rpc.Protocol { }, }, "ChatAttachmentUploadProgress": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]ChatAttachmentUploadProgressArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]ChatAttachmentUploadProgressArg) if !ok { err = rpc.NewTypeError((*[1]ChatAttachmentUploadProgressArg)(nil), args) @@ -1421,11 +1421,11 @@ func NotifyChatProtocol(i NotifyChatInterface) rpc.Protocol { }, }, "ChatAttachmentDownloadProgress": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]ChatAttachmentDownloadProgressArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]ChatAttachmentDownloadProgressArg) if !ok { err = rpc.NewTypeError((*[1]ChatAttachmentDownloadProgressArg)(nil), args) @@ -1436,11 +1436,11 @@ func NotifyChatProtocol(i NotifyChatInterface) rpc.Protocol { }, }, "ChatAttachmentDownloadComplete": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]ChatAttachmentDownloadCompleteArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]ChatAttachmentDownloadCompleteArg) if !ok { err = rpc.NewTypeError((*[1]ChatAttachmentDownloadCompleteArg)(nil), args) @@ -1451,11 +1451,11 @@ func NotifyChatProtocol(i NotifyChatInterface) rpc.Protocol { }, }, "ChatArchiveProgress": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]ChatArchiveProgressArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]ChatArchiveProgressArg) if !ok { err = rpc.NewTypeError((*[1]ChatArchiveProgressArg)(nil), args) @@ -1466,11 +1466,11 @@ func NotifyChatProtocol(i NotifyChatInterface) rpc.Protocol { }, }, "ChatArchiveComplete": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]ChatArchiveCompleteArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]ChatArchiveCompleteArg) if !ok { err = rpc.NewTypeError((*[1]ChatArchiveCompleteArg)(nil), args) @@ -1481,11 +1481,11 @@ func NotifyChatProtocol(i NotifyChatInterface) rpc.Protocol { }, }, "ChatPaymentInfo": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]ChatPaymentInfoArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]ChatPaymentInfoArg) if !ok { err = rpc.NewTypeError((*[1]ChatPaymentInfoArg)(nil), args) @@ -1496,11 +1496,11 @@ func NotifyChatProtocol(i NotifyChatInterface) rpc.Protocol { }, }, "ChatRequestInfo": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]ChatRequestInfoArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]ChatRequestInfoArg) if !ok { err = rpc.NewTypeError((*[1]ChatRequestInfoArg)(nil), args) @@ -1511,11 +1511,11 @@ func NotifyChatProtocol(i NotifyChatInterface) rpc.Protocol { }, }, "ChatPromptUnfurl": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]ChatPromptUnfurlArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]ChatPromptUnfurlArg) if !ok { err = rpc.NewTypeError((*[1]ChatPromptUnfurlArg)(nil), args) @@ -1526,11 +1526,11 @@ func NotifyChatProtocol(i NotifyChatInterface) rpc.Protocol { }, }, "ChatConvUpdate": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]ChatConvUpdateArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]ChatConvUpdateArg) if !ok { err = rpc.NewTypeError((*[1]ChatConvUpdateArg)(nil), args) @@ -1541,11 +1541,11 @@ func NotifyChatProtocol(i NotifyChatInterface) rpc.Protocol { }, }, "ChatWelcomeMessageLoaded": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]ChatWelcomeMessageLoadedArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]ChatWelcomeMessageLoadedArg) if !ok { err = rpc.NewTypeError((*[1]ChatWelcomeMessageLoadedArg)(nil), args) @@ -1556,11 +1556,11 @@ func NotifyChatProtocol(i NotifyChatInterface) rpc.Protocol { }, }, "ChatParticipantsInfo": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]ChatParticipantsInfoArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]ChatParticipantsInfoArg) if !ok { err = rpc.NewTypeError((*[1]ChatParticipantsInfoArg)(nil), args) @@ -1579,152 +1579,152 @@ type NotifyChatClient struct { } func (c NotifyChatClient) NewChatActivity(ctx context.Context, __arg NewChatActivityArg) (err error) { - err = c.Cli.Notify(ctx, "chat.1.NotifyChat.NewChatActivity", []interface{}{__arg}, 0*time.Millisecond) + err = c.Cli.Notify(ctx, "chat.1.NotifyChat.NewChatActivity", []any{__arg}, 0*time.Millisecond) return } func (c NotifyChatClient) ChatIdentifyUpdate(ctx context.Context, update keybase1.CanonicalTLFNameAndIDWithBreaks) (err error) { __arg := ChatIdentifyUpdateArg{Update: update} - err = c.Cli.Notify(ctx, "chat.1.NotifyChat.ChatIdentifyUpdate", []interface{}{__arg}, 0*time.Millisecond) + err = c.Cli.Notify(ctx, "chat.1.NotifyChat.ChatIdentifyUpdate", []any{__arg}, 0*time.Millisecond) return } func (c NotifyChatClient) ChatTLFFinalize(ctx context.Context, __arg ChatTLFFinalizeArg) (err error) { - err = c.Cli.Notify(ctx, "chat.1.NotifyChat.ChatTLFFinalize", []interface{}{__arg}, 0*time.Millisecond) + err = c.Cli.Notify(ctx, "chat.1.NotifyChat.ChatTLFFinalize", []any{__arg}, 0*time.Millisecond) return } func (c NotifyChatClient) ChatTLFResolve(ctx context.Context, __arg ChatTLFResolveArg) (err error) { - err = c.Cli.Notify(ctx, "chat.1.NotifyChat.ChatTLFResolve", []interface{}{__arg}, 0*time.Millisecond) + err = c.Cli.Notify(ctx, "chat.1.NotifyChat.ChatTLFResolve", []any{__arg}, 0*time.Millisecond) return } func (c NotifyChatClient) ChatInboxStale(ctx context.Context, uid keybase1.UID) (err error) { __arg := ChatInboxStaleArg{Uid: uid} - err = c.Cli.Notify(ctx, "chat.1.NotifyChat.ChatInboxStale", []interface{}{__arg}, 0*time.Millisecond) + err = c.Cli.Notify(ctx, "chat.1.NotifyChat.ChatInboxStale", []any{__arg}, 0*time.Millisecond) return } func (c NotifyChatClient) ChatThreadsStale(ctx context.Context, __arg ChatThreadsStaleArg) (err error) { - err = c.Cli.Notify(ctx, "chat.1.NotifyChat.ChatThreadsStale", []interface{}{__arg}, 0*time.Millisecond) + err = c.Cli.Notify(ctx, "chat.1.NotifyChat.ChatThreadsStale", []any{__arg}, 0*time.Millisecond) return } func (c NotifyChatClient) ChatTypingUpdate(ctx context.Context, typingUpdates []ConvTypingUpdate) (err error) { __arg := ChatTypingUpdateArg{TypingUpdates: typingUpdates} - err = c.Cli.Notify(ctx, "chat.1.NotifyChat.ChatTypingUpdate", []interface{}{__arg}, 0*time.Millisecond) + err = c.Cli.Notify(ctx, "chat.1.NotifyChat.ChatTypingUpdate", []any{__arg}, 0*time.Millisecond) return } func (c NotifyChatClient) ChatJoinedConversation(ctx context.Context, __arg ChatJoinedConversationArg) (err error) { - err = c.Cli.Notify(ctx, "chat.1.NotifyChat.ChatJoinedConversation", []interface{}{__arg}, 0*time.Millisecond) + err = c.Cli.Notify(ctx, "chat.1.NotifyChat.ChatJoinedConversation", []any{__arg}, 0*time.Millisecond) return } func (c NotifyChatClient) ChatLeftConversation(ctx context.Context, __arg ChatLeftConversationArg) (err error) { - err = c.Cli.Notify(ctx, "chat.1.NotifyChat.ChatLeftConversation", []interface{}{__arg}, 0*time.Millisecond) + err = c.Cli.Notify(ctx, "chat.1.NotifyChat.ChatLeftConversation", []any{__arg}, 0*time.Millisecond) return } func (c NotifyChatClient) ChatResetConversation(ctx context.Context, __arg ChatResetConversationArg) (err error) { - err = c.Cli.Notify(ctx, "chat.1.NotifyChat.ChatResetConversation", []interface{}{__arg}, 0*time.Millisecond) + err = c.Cli.Notify(ctx, "chat.1.NotifyChat.ChatResetConversation", []any{__arg}, 0*time.Millisecond) return } func (c NotifyChatClient) ChatInboxSyncStarted(ctx context.Context, uid keybase1.UID) (err error) { __arg := ChatInboxSyncStartedArg{Uid: uid} - err = c.Cli.Notify(ctx, "chat.1.NotifyChat.ChatInboxSyncStarted", []interface{}{__arg}, 0*time.Millisecond) + err = c.Cli.Notify(ctx, "chat.1.NotifyChat.ChatInboxSyncStarted", []any{__arg}, 0*time.Millisecond) return } func (c NotifyChatClient) ChatInboxSynced(ctx context.Context, __arg ChatInboxSyncedArg) (err error) { - err = c.Cli.Notify(ctx, "chat.1.NotifyChat.ChatInboxSynced", []interface{}{__arg}, 0*time.Millisecond) + err = c.Cli.Notify(ctx, "chat.1.NotifyChat.ChatInboxSynced", []any{__arg}, 0*time.Millisecond) return } func (c NotifyChatClient) ChatSetConvRetention(ctx context.Context, __arg ChatSetConvRetentionArg) (err error) { - err = c.Cli.Notify(ctx, "chat.1.NotifyChat.ChatSetConvRetention", []interface{}{__arg}, 0*time.Millisecond) + err = c.Cli.Notify(ctx, "chat.1.NotifyChat.ChatSetConvRetention", []any{__arg}, 0*time.Millisecond) return } func (c NotifyChatClient) ChatSetTeamRetention(ctx context.Context, __arg ChatSetTeamRetentionArg) (err error) { - err = c.Cli.Notify(ctx, "chat.1.NotifyChat.ChatSetTeamRetention", []interface{}{__arg}, 0*time.Millisecond) + err = c.Cli.Notify(ctx, "chat.1.NotifyChat.ChatSetTeamRetention", []any{__arg}, 0*time.Millisecond) return } func (c NotifyChatClient) ChatSetConvSettings(ctx context.Context, __arg ChatSetConvSettingsArg) (err error) { - err = c.Cli.Notify(ctx, "chat.1.NotifyChat.ChatSetConvSettings", []interface{}{__arg}, 0*time.Millisecond) + err = c.Cli.Notify(ctx, "chat.1.NotifyChat.ChatSetConvSettings", []any{__arg}, 0*time.Millisecond) return } func (c NotifyChatClient) ChatSubteamRename(ctx context.Context, __arg ChatSubteamRenameArg) (err error) { - err = c.Cli.Notify(ctx, "chat.1.NotifyChat.ChatSubteamRename", []interface{}{__arg}, 0*time.Millisecond) + err = c.Cli.Notify(ctx, "chat.1.NotifyChat.ChatSubteamRename", []any{__arg}, 0*time.Millisecond) return } func (c NotifyChatClient) ChatKBFSToImpteamUpgrade(ctx context.Context, __arg ChatKBFSToImpteamUpgradeArg) (err error) { - err = c.Cli.Notify(ctx, "chat.1.NotifyChat.ChatKBFSToImpteamUpgrade", []interface{}{__arg}, 0*time.Millisecond) + err = c.Cli.Notify(ctx, "chat.1.NotifyChat.ChatKBFSToImpteamUpgrade", []any{__arg}, 0*time.Millisecond) return } func (c NotifyChatClient) ChatAttachmentUploadStart(ctx context.Context, __arg ChatAttachmentUploadStartArg) (err error) { - err = c.Cli.Notify(ctx, "chat.1.NotifyChat.ChatAttachmentUploadStart", []interface{}{__arg}, 0*time.Millisecond) + err = c.Cli.Notify(ctx, "chat.1.NotifyChat.ChatAttachmentUploadStart", []any{__arg}, 0*time.Millisecond) return } func (c NotifyChatClient) ChatAttachmentUploadProgress(ctx context.Context, __arg ChatAttachmentUploadProgressArg) (err error) { - err = c.Cli.Notify(ctx, "chat.1.NotifyChat.ChatAttachmentUploadProgress", []interface{}{__arg}, 0*time.Millisecond) + err = c.Cli.Notify(ctx, "chat.1.NotifyChat.ChatAttachmentUploadProgress", []any{__arg}, 0*time.Millisecond) return } func (c NotifyChatClient) ChatAttachmentDownloadProgress(ctx context.Context, __arg ChatAttachmentDownloadProgressArg) (err error) { - err = c.Cli.Notify(ctx, "chat.1.NotifyChat.ChatAttachmentDownloadProgress", []interface{}{__arg}, 0*time.Millisecond) + err = c.Cli.Notify(ctx, "chat.1.NotifyChat.ChatAttachmentDownloadProgress", []any{__arg}, 0*time.Millisecond) return } func (c NotifyChatClient) ChatAttachmentDownloadComplete(ctx context.Context, __arg ChatAttachmentDownloadCompleteArg) (err error) { - err = c.Cli.Notify(ctx, "chat.1.NotifyChat.ChatAttachmentDownloadComplete", []interface{}{__arg}, 0*time.Millisecond) + err = c.Cli.Notify(ctx, "chat.1.NotifyChat.ChatAttachmentDownloadComplete", []any{__arg}, 0*time.Millisecond) return } func (c NotifyChatClient) ChatArchiveProgress(ctx context.Context, __arg ChatArchiveProgressArg) (err error) { - err = c.Cli.Notify(ctx, "chat.1.NotifyChat.ChatArchiveProgress", []interface{}{__arg}, 0*time.Millisecond) + err = c.Cli.Notify(ctx, "chat.1.NotifyChat.ChatArchiveProgress", []any{__arg}, 0*time.Millisecond) return } func (c NotifyChatClient) ChatArchiveComplete(ctx context.Context, jobID ArchiveJobID) (err error) { __arg := ChatArchiveCompleteArg{JobID: jobID} - err = c.Cli.Notify(ctx, "chat.1.NotifyChat.ChatArchiveComplete", []interface{}{__arg}, 0*time.Millisecond) + err = c.Cli.Notify(ctx, "chat.1.NotifyChat.ChatArchiveComplete", []any{__arg}, 0*time.Millisecond) return } func (c NotifyChatClient) ChatPaymentInfo(ctx context.Context, __arg ChatPaymentInfoArg) (err error) { - err = c.Cli.Notify(ctx, "chat.1.NotifyChat.ChatPaymentInfo", []interface{}{__arg}, 0*time.Millisecond) + err = c.Cli.Notify(ctx, "chat.1.NotifyChat.ChatPaymentInfo", []any{__arg}, 0*time.Millisecond) return } func (c NotifyChatClient) ChatRequestInfo(ctx context.Context, __arg ChatRequestInfoArg) (err error) { - err = c.Cli.Notify(ctx, "chat.1.NotifyChat.ChatRequestInfo", []interface{}{__arg}, 0*time.Millisecond) + err = c.Cli.Notify(ctx, "chat.1.NotifyChat.ChatRequestInfo", []any{__arg}, 0*time.Millisecond) return } func (c NotifyChatClient) ChatPromptUnfurl(ctx context.Context, __arg ChatPromptUnfurlArg) (err error) { - err = c.Cli.Notify(ctx, "chat.1.NotifyChat.ChatPromptUnfurl", []interface{}{__arg}, 0*time.Millisecond) + err = c.Cli.Notify(ctx, "chat.1.NotifyChat.ChatPromptUnfurl", []any{__arg}, 0*time.Millisecond) return } func (c NotifyChatClient) ChatConvUpdate(ctx context.Context, __arg ChatConvUpdateArg) (err error) { - err = c.Cli.Notify(ctx, "chat.1.NotifyChat.ChatConvUpdate", []interface{}{__arg}, 0*time.Millisecond) + err = c.Cli.Notify(ctx, "chat.1.NotifyChat.ChatConvUpdate", []any{__arg}, 0*time.Millisecond) return } func (c NotifyChatClient) ChatWelcomeMessageLoaded(ctx context.Context, __arg ChatWelcomeMessageLoadedArg) (err error) { - err = c.Cli.Notify(ctx, "chat.1.NotifyChat.ChatWelcomeMessageLoaded", []interface{}{__arg}, 0*time.Millisecond) + err = c.Cli.Notify(ctx, "chat.1.NotifyChat.ChatWelcomeMessageLoaded", []any{__arg}, 0*time.Millisecond) return } func (c NotifyChatClient) ChatParticipantsInfo(ctx context.Context, participants map[ConvIDStr][]UIParticipant) (err error) { __arg := ChatParticipantsInfoArg{Participants: participants} - err = c.Cli.Notify(ctx, "chat.1.NotifyChat.ChatParticipantsInfo", []interface{}{__arg}, 0*time.Millisecond) + err = c.Cli.Notify(ctx, "chat.1.NotifyChat.ChatParticipantsInfo", []any{__arg}, 0*time.Millisecond) return } diff --git a/go/protocol/chat1/remote.go b/go/protocol/chat1/remote.go index 43f7d2d59bfa..d4659e34c643 100644 --- a/go/protocol/chat1/remote.go +++ b/go/protocol/chat1/remote.go @@ -1,4 +1,4 @@ -// Auto-generated to Go types and interfaces using avdl-compiler v1.4.10 (https://github.com/keybase/node-avdl-compiler) +// Code generated to Go types and interfaces using avdl-compiler v1.4.10 (https://github.com/keybase/node-avdl-compiler). DO NOT EDIT. // Input file: avdl/chat1/remote.avdl package chat1 @@ -1195,7 +1195,8 @@ func (o AdvertiseBotCommandsRes) DeepCopy() AdvertiseBotCommandsRes { } } -type RemoteClearBotCommandsFilterPublic struct{} +type RemoteClearBotCommandsFilterPublic struct { +} func (o RemoteClearBotCommandsFilterPublic) DeepCopy() RemoteClearBotCommandsFilterPublic { return RemoteClearBotCommandsFilterPublic{} @@ -1800,7 +1801,8 @@ type SetGlobalAppNotificationSettingsArg struct { Settings GlobalAppNotificationSettings `codec:"settings" json:"settings"` } -type GetGlobalAppNotificationSettingsArg struct{} +type GetGlobalAppNotificationSettingsArg struct { +} type RemoteNotificationSuccessfulArg struct { AuthToken gregor1.SessionToken `codec:"authToken" json:"authToken"` @@ -1854,7 +1856,8 @@ type TeamIDOfConvArg struct { ConvID ConversationID `codec:"convID" json:"convID"` } -type ServerNowArg struct{} +type ServerNowArg struct { +} type GetExternalAPIKeysArg struct { Typs []ExternalAPIKeyTyp `codec:"typs" json:"typs"` @@ -1897,7 +1900,8 @@ type GetLastActiveAtArg struct { Uid gregor1.UID `codec:"uid" json:"uid"` } -type GetResetConversationsArg struct{} +type GetResetConversationsArg struct { +} type RemoteInterface interface { GetInboxRemote(context.Context, GetInboxRemoteArg) (GetInboxRemoteRes, error) @@ -1958,11 +1962,11 @@ func RemoteProtocol(i RemoteInterface) rpc.Protocol { Name: "chat.1.remote", Methods: map[string]rpc.ServeHandlerDescription{ "getInboxRemote": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]GetInboxRemoteArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]GetInboxRemoteArg) if !ok { err = rpc.NewTypeError((*[1]GetInboxRemoteArg)(nil), args) @@ -1973,11 +1977,11 @@ func RemoteProtocol(i RemoteInterface) rpc.Protocol { }, }, "getThreadRemote": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]GetThreadRemoteArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]GetThreadRemoteArg) if !ok { err = rpc.NewTypeError((*[1]GetThreadRemoteArg)(nil), args) @@ -1988,11 +1992,11 @@ func RemoteProtocol(i RemoteInterface) rpc.Protocol { }, }, "getUnreadlineRemote": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]GetUnreadlineRemoteArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]GetUnreadlineRemoteArg) if !ok { err = rpc.NewTypeError((*[1]GetUnreadlineRemoteArg)(nil), args) @@ -2003,11 +2007,11 @@ func RemoteProtocol(i RemoteInterface) rpc.Protocol { }, }, "getPublicConversations": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]GetPublicConversationsArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]GetPublicConversationsArg) if !ok { err = rpc.NewTypeError((*[1]GetPublicConversationsArg)(nil), args) @@ -2018,11 +2022,11 @@ func RemoteProtocol(i RemoteInterface) rpc.Protocol { }, }, "postRemote": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]PostRemoteArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]PostRemoteArg) if !ok { err = rpc.NewTypeError((*[1]PostRemoteArg)(nil), args) @@ -2033,11 +2037,11 @@ func RemoteProtocol(i RemoteInterface) rpc.Protocol { }, }, "newConversationRemote": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]NewConversationRemoteArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]NewConversationRemoteArg) if !ok { err = rpc.NewTypeError((*[1]NewConversationRemoteArg)(nil), args) @@ -2048,11 +2052,11 @@ func RemoteProtocol(i RemoteInterface) rpc.Protocol { }, }, "newConversationRemote2": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]NewConversationRemote2Arg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]NewConversationRemote2Arg) if !ok { err = rpc.NewTypeError((*[1]NewConversationRemote2Arg)(nil), args) @@ -2063,11 +2067,11 @@ func RemoteProtocol(i RemoteInterface) rpc.Protocol { }, }, "getMessagesRemote": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]GetMessagesRemoteArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]GetMessagesRemoteArg) if !ok { err = rpc.NewTypeError((*[1]GetMessagesRemoteArg)(nil), args) @@ -2078,11 +2082,11 @@ func RemoteProtocol(i RemoteInterface) rpc.Protocol { }, }, "markAsRead": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]MarkAsReadArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]MarkAsReadArg) if !ok { err = rpc.NewTypeError((*[1]MarkAsReadArg)(nil), args) @@ -2093,11 +2097,11 @@ func RemoteProtocol(i RemoteInterface) rpc.Protocol { }, }, "SetConversationStatus": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]SetConversationStatusArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]SetConversationStatusArg) if !ok { err = rpc.NewTypeError((*[1]SetConversationStatusArg)(nil), args) @@ -2108,11 +2112,11 @@ func RemoteProtocol(i RemoteInterface) rpc.Protocol { }, }, "GetUnreadUpdateFull": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]GetUnreadUpdateFullArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]GetUnreadUpdateFullArg) if !ok { err = rpc.NewTypeError((*[1]GetUnreadUpdateFullArg)(nil), args) @@ -2123,11 +2127,11 @@ func RemoteProtocol(i RemoteInterface) rpc.Protocol { }, }, "getS3Params": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]GetS3ParamsArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]GetS3ParamsArg) if !ok { err = rpc.NewTypeError((*[1]GetS3ParamsArg)(nil), args) @@ -2138,11 +2142,11 @@ func RemoteProtocol(i RemoteInterface) rpc.Protocol { }, }, "s3Sign": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]S3SignArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]S3SignArg) if !ok { err = rpc.NewTypeError((*[1]S3SignArg)(nil), args) @@ -2153,11 +2157,11 @@ func RemoteProtocol(i RemoteInterface) rpc.Protocol { }, }, "getInboxVersion": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]GetInboxVersionArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]GetInboxVersionArg) if !ok { err = rpc.NewTypeError((*[1]GetInboxVersionArg)(nil), args) @@ -2168,11 +2172,11 @@ func RemoteProtocol(i RemoteInterface) rpc.Protocol { }, }, "syncInbox": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]SyncInboxArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]SyncInboxArg) if !ok { err = rpc.NewTypeError((*[1]SyncInboxArg)(nil), args) @@ -2183,11 +2187,11 @@ func RemoteProtocol(i RemoteInterface) rpc.Protocol { }, }, "syncChat": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]SyncChatArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]SyncChatArg) if !ok { err = rpc.NewTypeError((*[1]SyncChatArg)(nil), args) @@ -2198,11 +2202,11 @@ func RemoteProtocol(i RemoteInterface) rpc.Protocol { }, }, "syncAll": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]SyncAllArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]SyncAllArg) if !ok { err = rpc.NewTypeError((*[1]SyncAllArg)(nil), args) @@ -2213,11 +2217,11 @@ func RemoteProtocol(i RemoteInterface) rpc.Protocol { }, }, "tlfFinalize": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]TlfFinalizeArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]TlfFinalizeArg) if !ok { err = rpc.NewTypeError((*[1]TlfFinalizeArg)(nil), args) @@ -2228,11 +2232,11 @@ func RemoteProtocol(i RemoteInterface) rpc.Protocol { }, }, "tlfResolve": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]TlfResolveArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]TlfResolveArg) if !ok { err = rpc.NewTypeError((*[1]TlfResolveArg)(nil), args) @@ -2243,11 +2247,11 @@ func RemoteProtocol(i RemoteInterface) rpc.Protocol { }, }, "updateTypingRemote": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]UpdateTypingRemoteArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]UpdateTypingRemoteArg) if !ok { err = rpc.NewTypeError((*[1]UpdateTypingRemoteArg)(nil), args) @@ -2258,11 +2262,11 @@ func RemoteProtocol(i RemoteInterface) rpc.Protocol { }, }, "joinConversation": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]JoinConversationArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]JoinConversationArg) if !ok { err = rpc.NewTypeError((*[1]JoinConversationArg)(nil), args) @@ -2273,11 +2277,11 @@ func RemoteProtocol(i RemoteInterface) rpc.Protocol { }, }, "leaveConversation": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]LeaveConversationArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]LeaveConversationArg) if !ok { err = rpc.NewTypeError((*[1]LeaveConversationArg)(nil), args) @@ -2288,11 +2292,11 @@ func RemoteProtocol(i RemoteInterface) rpc.Protocol { }, }, "previewConversation": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]PreviewConversationArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]PreviewConversationArg) if !ok { err = rpc.NewTypeError((*[1]PreviewConversationArg)(nil), args) @@ -2303,11 +2307,11 @@ func RemoteProtocol(i RemoteInterface) rpc.Protocol { }, }, "deleteConversation": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]DeleteConversationArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]DeleteConversationArg) if !ok { err = rpc.NewTypeError((*[1]DeleteConversationArg)(nil), args) @@ -2318,11 +2322,11 @@ func RemoteProtocol(i RemoteInterface) rpc.Protocol { }, }, "removeFromConversation": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]RemoveFromConversationArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]RemoveFromConversationArg) if !ok { err = rpc.NewTypeError((*[1]RemoveFromConversationArg)(nil), args) @@ -2333,11 +2337,11 @@ func RemoteProtocol(i RemoteInterface) rpc.Protocol { }, }, "getMessageBefore": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]GetMessageBeforeArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]GetMessageBeforeArg) if !ok { err = rpc.NewTypeError((*[1]GetMessageBeforeArg)(nil), args) @@ -2348,11 +2352,11 @@ func RemoteProtocol(i RemoteInterface) rpc.Protocol { }, }, "getTLFConversations": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]GetTLFConversationsArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]GetTLFConversationsArg) if !ok { err = rpc.NewTypeError((*[1]GetTLFConversationsArg)(nil), args) @@ -2363,11 +2367,11 @@ func RemoteProtocol(i RemoteInterface) rpc.Protocol { }, }, "setAppNotificationSettings": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]SetAppNotificationSettingsArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]SetAppNotificationSettingsArg) if !ok { err = rpc.NewTypeError((*[1]SetAppNotificationSettingsArg)(nil), args) @@ -2378,11 +2382,11 @@ func RemoteProtocol(i RemoteInterface) rpc.Protocol { }, }, "setGlobalAppNotificationSettings": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]SetGlobalAppNotificationSettingsArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]SetGlobalAppNotificationSettingsArg) if !ok { err = rpc.NewTypeError((*[1]SetGlobalAppNotificationSettingsArg)(nil), args) @@ -2393,21 +2397,21 @@ func RemoteProtocol(i RemoteInterface) rpc.Protocol { }, }, "getGlobalAppNotificationSettings": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]GetGlobalAppNotificationSettingsArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { ret, err = i.GetGlobalAppNotificationSettings(ctx) return }, }, "remoteNotificationSuccessful": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]RemoteNotificationSuccessfulArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]RemoteNotificationSuccessfulArg) if !ok { err = rpc.NewTypeError((*[1]RemoteNotificationSuccessfulArg)(nil), args) @@ -2418,11 +2422,11 @@ func RemoteProtocol(i RemoteInterface) rpc.Protocol { }, }, "setConvRetention": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]SetConvRetentionArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]SetConvRetentionArg) if !ok { err = rpc.NewTypeError((*[1]SetConvRetentionArg)(nil), args) @@ -2433,11 +2437,11 @@ func RemoteProtocol(i RemoteInterface) rpc.Protocol { }, }, "setTeamRetention": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]SetTeamRetentionArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]SetTeamRetentionArg) if !ok { err = rpc.NewTypeError((*[1]SetTeamRetentionArg)(nil), args) @@ -2448,11 +2452,11 @@ func RemoteProtocol(i RemoteInterface) rpc.Protocol { }, }, "setConvMinWriterRole": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]SetConvMinWriterRoleArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]SetConvMinWriterRoleArg) if !ok { err = rpc.NewTypeError((*[1]SetConvMinWriterRoleArg)(nil), args) @@ -2463,11 +2467,11 @@ func RemoteProtocol(i RemoteInterface) rpc.Protocol { }, }, "retentionSweepConv": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]RetentionSweepConvArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]RetentionSweepConvArg) if !ok { err = rpc.NewTypeError((*[1]RetentionSweepConvArg)(nil), args) @@ -2478,11 +2482,11 @@ func RemoteProtocol(i RemoteInterface) rpc.Protocol { }, }, "upgradeKBFSToImpteam": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]UpgradeKBFSToImpteamArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]UpgradeKBFSToImpteamArg) if !ok { err = rpc.NewTypeError((*[1]UpgradeKBFSToImpteamArg)(nil), args) @@ -2493,11 +2497,11 @@ func RemoteProtocol(i RemoteInterface) rpc.Protocol { }, }, "registerSharePost": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]RegisterSharePostArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]RegisterSharePostArg) if !ok { err = rpc.NewTypeError((*[1]RegisterSharePostArg)(nil), args) @@ -2508,11 +2512,11 @@ func RemoteProtocol(i RemoteInterface) rpc.Protocol { }, }, "failSharePost": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]FailSharePostArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]FailSharePostArg) if !ok { err = rpc.NewTypeError((*[1]FailSharePostArg)(nil), args) @@ -2523,11 +2527,11 @@ func RemoteProtocol(i RemoteInterface) rpc.Protocol { }, }, "broadcastGregorMessageToConv": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]BroadcastGregorMessageToConvArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]BroadcastGregorMessageToConvArg) if !ok { err = rpc.NewTypeError((*[1]BroadcastGregorMessageToConvArg)(nil), args) @@ -2538,11 +2542,11 @@ func RemoteProtocol(i RemoteInterface) rpc.Protocol { }, }, "teamIDOfConv": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]TeamIDOfConvArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]TeamIDOfConvArg) if !ok { err = rpc.NewTypeError((*[1]TeamIDOfConvArg)(nil), args) @@ -2553,21 +2557,21 @@ func RemoteProtocol(i RemoteInterface) rpc.Protocol { }, }, "serverNow": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]ServerNowArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { ret, err = i.ServerNow(ctx) return }, }, "getExternalAPIKeys": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]GetExternalAPIKeysArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]GetExternalAPIKeysArg) if !ok { err = rpc.NewTypeError((*[1]GetExternalAPIKeysArg)(nil), args) @@ -2578,11 +2582,11 @@ func RemoteProtocol(i RemoteInterface) rpc.Protocol { }, }, "advertiseBotCommands": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]AdvertiseBotCommandsArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]AdvertiseBotCommandsArg) if !ok { err = rpc.NewTypeError((*[1]AdvertiseBotCommandsArg)(nil), args) @@ -2593,11 +2597,11 @@ func RemoteProtocol(i RemoteInterface) rpc.Protocol { }, }, "clearBotCommands": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]ClearBotCommandsArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]ClearBotCommandsArg) if !ok { err = rpc.NewTypeError((*[1]ClearBotCommandsArg)(nil), args) @@ -2608,11 +2612,11 @@ func RemoteProtocol(i RemoteInterface) rpc.Protocol { }, }, "getBotInfo": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]GetBotInfoArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]GetBotInfoArg) if !ok { err = rpc.NewTypeError((*[1]GetBotInfoArg)(nil), args) @@ -2623,11 +2627,11 @@ func RemoteProtocol(i RemoteInterface) rpc.Protocol { }, }, "getDefaultTeamChannels": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]GetDefaultTeamChannelsArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]GetDefaultTeamChannelsArg) if !ok { err = rpc.NewTypeError((*[1]GetDefaultTeamChannelsArg)(nil), args) @@ -2638,11 +2642,11 @@ func RemoteProtocol(i RemoteInterface) rpc.Protocol { }, }, "setDefaultTeamChannels": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]SetDefaultTeamChannelsArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]SetDefaultTeamChannelsArg) if !ok { err = rpc.NewTypeError((*[1]SetDefaultTeamChannelsArg)(nil), args) @@ -2653,11 +2657,11 @@ func RemoteProtocol(i RemoteInterface) rpc.Protocol { }, }, "getRecentJoins": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]GetRecentJoinsArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]GetRecentJoinsArg) if !ok { err = rpc.NewTypeError((*[1]GetRecentJoinsArg)(nil), args) @@ -2668,11 +2672,11 @@ func RemoteProtocol(i RemoteInterface) rpc.Protocol { }, }, "refreshParticipantsRemote": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]RefreshParticipantsRemoteArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]RefreshParticipantsRemoteArg) if !ok { err = rpc.NewTypeError((*[1]RefreshParticipantsRemoteArg)(nil), args) @@ -2683,11 +2687,11 @@ func RemoteProtocol(i RemoteInterface) rpc.Protocol { }, }, "getLastActiveAt": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]GetLastActiveAtArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]GetLastActiveAtArg) if !ok { err = rpc.NewTypeError((*[1]GetLastActiveAtArg)(nil), args) @@ -2698,11 +2702,11 @@ func RemoteProtocol(i RemoteInterface) rpc.Protocol { }, }, "getResetConversations": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]GetResetConversationsArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { ret, err = i.GetResetConversations(ctx) return }, @@ -2716,272 +2720,272 @@ type RemoteClient struct { } func (c RemoteClient) GetInboxRemote(ctx context.Context, __arg GetInboxRemoteArg) (res GetInboxRemoteRes, err error) { - err = c.Cli.CallCompressed(ctx, "chat.1.remote.getInboxRemote", []interface{}{__arg}, &res, rpc.CompressionGzip, 1200000*time.Millisecond) + err = c.Cli.CallCompressed(ctx, "chat.1.remote.getInboxRemote", []any{__arg}, &res, rpc.CompressionGzip, 1200000*time.Millisecond) return } func (c RemoteClient) GetThreadRemote(ctx context.Context, __arg GetThreadRemoteArg) (res GetThreadRemoteRes, err error) { - err = c.Cli.CallCompressed(ctx, "chat.1.remote.getThreadRemote", []interface{}{__arg}, &res, rpc.CompressionGzip, 0*time.Millisecond) + err = c.Cli.CallCompressed(ctx, "chat.1.remote.getThreadRemote", []any{__arg}, &res, rpc.CompressionGzip, 0*time.Millisecond) return } func (c RemoteClient) GetUnreadlineRemote(ctx context.Context, __arg GetUnreadlineRemoteArg) (res GetUnreadlineRemoteRes, err error) { - err = c.Cli.CallCompressed(ctx, "chat.1.remote.getUnreadlineRemote", []interface{}{__arg}, &res, rpc.CompressionGzip, 0*time.Millisecond) + err = c.Cli.CallCompressed(ctx, "chat.1.remote.getUnreadlineRemote", []any{__arg}, &res, rpc.CompressionGzip, 0*time.Millisecond) return } func (c RemoteClient) GetPublicConversations(ctx context.Context, __arg GetPublicConversationsArg) (res GetPublicConversationsRes, err error) { - err = c.Cli.CallCompressed(ctx, "chat.1.remote.getPublicConversations", []interface{}{__arg}, &res, rpc.CompressionGzip, 0*time.Millisecond) + err = c.Cli.CallCompressed(ctx, "chat.1.remote.getPublicConversations", []any{__arg}, &res, rpc.CompressionGzip, 0*time.Millisecond) return } func (c RemoteClient) PostRemote(ctx context.Context, __arg PostRemoteArg) (res PostRemoteRes, err error) { - err = c.Cli.CallCompressed(ctx, "chat.1.remote.postRemote", []interface{}{__arg}, &res, rpc.CompressionGzip, 0*time.Millisecond) + err = c.Cli.CallCompressed(ctx, "chat.1.remote.postRemote", []any{__arg}, &res, rpc.CompressionGzip, 0*time.Millisecond) return } func (c RemoteClient) NewConversationRemote(ctx context.Context, idTriple ConversationIDTriple) (res NewConversationRemoteRes, err error) { __arg := NewConversationRemoteArg{IdTriple: idTriple} - err = c.Cli.CallCompressed(ctx, "chat.1.remote.newConversationRemote", []interface{}{__arg}, &res, rpc.CompressionGzip, 0*time.Millisecond) + err = c.Cli.CallCompressed(ctx, "chat.1.remote.newConversationRemote", []any{__arg}, &res, rpc.CompressionGzip, 0*time.Millisecond) return } func (c RemoteClient) NewConversationRemote2(ctx context.Context, __arg NewConversationRemote2Arg) (res NewConversationRemoteRes, err error) { - err = c.Cli.CallCompressed(ctx, "chat.1.remote.newConversationRemote2", []interface{}{__arg}, &res, rpc.CompressionGzip, 0*time.Millisecond) + err = c.Cli.CallCompressed(ctx, "chat.1.remote.newConversationRemote2", []any{__arg}, &res, rpc.CompressionGzip, 0*time.Millisecond) return } func (c RemoteClient) GetMessagesRemote(ctx context.Context, __arg GetMessagesRemoteArg) (res GetMessagesRemoteRes, err error) { - err = c.Cli.CallCompressed(ctx, "chat.1.remote.getMessagesRemote", []interface{}{__arg}, &res, rpc.CompressionGzip, 0*time.Millisecond) + err = c.Cli.CallCompressed(ctx, "chat.1.remote.getMessagesRemote", []any{__arg}, &res, rpc.CompressionGzip, 0*time.Millisecond) return } func (c RemoteClient) MarkAsRead(ctx context.Context, __arg MarkAsReadArg) (res MarkAsReadRes, err error) { - err = c.Cli.CallCompressed(ctx, "chat.1.remote.markAsRead", []interface{}{__arg}, &res, rpc.CompressionGzip, 0*time.Millisecond) + err = c.Cli.CallCompressed(ctx, "chat.1.remote.markAsRead", []any{__arg}, &res, rpc.CompressionGzip, 0*time.Millisecond) return } func (c RemoteClient) SetConversationStatus(ctx context.Context, __arg SetConversationStatusArg) (res SetConversationStatusRes, err error) { - err = c.Cli.CallCompressed(ctx, "chat.1.remote.SetConversationStatus", []interface{}{__arg}, &res, rpc.CompressionGzip, 0*time.Millisecond) + err = c.Cli.CallCompressed(ctx, "chat.1.remote.SetConversationStatus", []any{__arg}, &res, rpc.CompressionGzip, 0*time.Millisecond) return } func (c RemoteClient) GetUnreadUpdateFull(ctx context.Context, inboxVers InboxVers) (res UnreadUpdateFull, err error) { __arg := GetUnreadUpdateFullArg{InboxVers: inboxVers} - err = c.Cli.CallCompressed(ctx, "chat.1.remote.GetUnreadUpdateFull", []interface{}{__arg}, &res, rpc.CompressionGzip, 0*time.Millisecond) + err = c.Cli.CallCompressed(ctx, "chat.1.remote.GetUnreadUpdateFull", []any{__arg}, &res, rpc.CompressionGzip, 0*time.Millisecond) return } func (c RemoteClient) GetS3Params(ctx context.Context, __arg GetS3ParamsArg) (res S3Params, err error) { - err = c.Cli.CallCompressed(ctx, "chat.1.remote.getS3Params", []interface{}{__arg}, &res, rpc.CompressionGzip, 0*time.Millisecond) + err = c.Cli.CallCompressed(ctx, "chat.1.remote.getS3Params", []any{__arg}, &res, rpc.CompressionGzip, 0*time.Millisecond) return } func (c RemoteClient) S3Sign(ctx context.Context, __arg S3SignArg) (res []byte, err error) { - err = c.Cli.CallCompressed(ctx, "chat.1.remote.s3Sign", []interface{}{__arg}, &res, rpc.CompressionGzip, 0*time.Millisecond) + err = c.Cli.CallCompressed(ctx, "chat.1.remote.s3Sign", []any{__arg}, &res, rpc.CompressionGzip, 0*time.Millisecond) return } func (c RemoteClient) GetInboxVersion(ctx context.Context, uid gregor1.UID) (res InboxVers, err error) { __arg := GetInboxVersionArg{Uid: uid} - err = c.Cli.CallCompressed(ctx, "chat.1.remote.getInboxVersion", []interface{}{__arg}, &res, rpc.CompressionGzip, 0*time.Millisecond) + err = c.Cli.CallCompressed(ctx, "chat.1.remote.getInboxVersion", []any{__arg}, &res, rpc.CompressionGzip, 0*time.Millisecond) return } func (c RemoteClient) SyncInbox(ctx context.Context, vers InboxVers) (res SyncInboxRes, err error) { __arg := SyncInboxArg{Vers: vers} - err = c.Cli.CallCompressed(ctx, "chat.1.remote.syncInbox", []interface{}{__arg}, &res, rpc.CompressionGzip, 0*time.Millisecond) + err = c.Cli.CallCompressed(ctx, "chat.1.remote.syncInbox", []any{__arg}, &res, rpc.CompressionGzip, 0*time.Millisecond) return } func (c RemoteClient) SyncChat(ctx context.Context, __arg SyncChatArg) (res SyncChatRes, err error) { - err = c.Cli.CallCompressed(ctx, "chat.1.remote.syncChat", []interface{}{__arg}, &res, rpc.CompressionGzip, 0*time.Millisecond) + err = c.Cli.CallCompressed(ctx, "chat.1.remote.syncChat", []any{__arg}, &res, rpc.CompressionGzip, 0*time.Millisecond) return } func (c RemoteClient) SyncAll(ctx context.Context, __arg SyncAllArg) (res SyncAllResult, err error) { - err = c.Cli.CallCompressed(ctx, "chat.1.remote.syncAll", []interface{}{__arg}, &res, rpc.CompressionMsgpackzip, 0*time.Millisecond) + err = c.Cli.CallCompressed(ctx, "chat.1.remote.syncAll", []any{__arg}, &res, rpc.CompressionMsgpackzip, 0*time.Millisecond) return } func (c RemoteClient) TlfFinalize(ctx context.Context, __arg TlfFinalizeArg) (err error) { - err = c.Cli.CallCompressed(ctx, "chat.1.remote.tlfFinalize", []interface{}{__arg}, nil, rpc.CompressionGzip, 0*time.Millisecond) + err = c.Cli.CallCompressed(ctx, "chat.1.remote.tlfFinalize", []any{__arg}, nil, rpc.CompressionGzip, 0*time.Millisecond) return } func (c RemoteClient) TlfResolve(ctx context.Context, __arg TlfResolveArg) (err error) { - err = c.Cli.CallCompressed(ctx, "chat.1.remote.tlfResolve", []interface{}{__arg}, nil, rpc.CompressionGzip, 0*time.Millisecond) + err = c.Cli.CallCompressed(ctx, "chat.1.remote.tlfResolve", []any{__arg}, nil, rpc.CompressionGzip, 0*time.Millisecond) return } func (c RemoteClient) UpdateTypingRemote(ctx context.Context, __arg UpdateTypingRemoteArg) (err error) { - err = c.Cli.CallCompressed(ctx, "chat.1.remote.updateTypingRemote", []interface{}{__arg}, nil, rpc.CompressionGzip, 0*time.Millisecond) + err = c.Cli.CallCompressed(ctx, "chat.1.remote.updateTypingRemote", []any{__arg}, nil, rpc.CompressionGzip, 0*time.Millisecond) return } func (c RemoteClient) JoinConversation(ctx context.Context, convID ConversationID) (res JoinLeaveConversationRemoteRes, err error) { __arg := JoinConversationArg{ConvID: convID} - err = c.Cli.CallCompressed(ctx, "chat.1.remote.joinConversation", []interface{}{__arg}, &res, rpc.CompressionGzip, 0*time.Millisecond) + err = c.Cli.CallCompressed(ctx, "chat.1.remote.joinConversation", []any{__arg}, &res, rpc.CompressionGzip, 0*time.Millisecond) return } func (c RemoteClient) LeaveConversation(ctx context.Context, convID ConversationID) (res JoinLeaveConversationRemoteRes, err error) { __arg := LeaveConversationArg{ConvID: convID} - err = c.Cli.CallCompressed(ctx, "chat.1.remote.leaveConversation", []interface{}{__arg}, &res, rpc.CompressionGzip, 0*time.Millisecond) + err = c.Cli.CallCompressed(ctx, "chat.1.remote.leaveConversation", []any{__arg}, &res, rpc.CompressionGzip, 0*time.Millisecond) return } func (c RemoteClient) PreviewConversation(ctx context.Context, convID ConversationID) (res JoinLeaveConversationRemoteRes, err error) { __arg := PreviewConversationArg{ConvID: convID} - err = c.Cli.CallCompressed(ctx, "chat.1.remote.previewConversation", []interface{}{__arg}, &res, rpc.CompressionGzip, 0*time.Millisecond) + err = c.Cli.CallCompressed(ctx, "chat.1.remote.previewConversation", []any{__arg}, &res, rpc.CompressionGzip, 0*time.Millisecond) return } func (c RemoteClient) DeleteConversation(ctx context.Context, convID ConversationID) (res DeleteConversationRemoteRes, err error) { __arg := DeleteConversationArg{ConvID: convID} - err = c.Cli.CallCompressed(ctx, "chat.1.remote.deleteConversation", []interface{}{__arg}, &res, rpc.CompressionGzip, 0*time.Millisecond) + err = c.Cli.CallCompressed(ctx, "chat.1.remote.deleteConversation", []any{__arg}, &res, rpc.CompressionGzip, 0*time.Millisecond) return } func (c RemoteClient) RemoveFromConversation(ctx context.Context, __arg RemoveFromConversationArg) (res RemoveFromConversationRemoteRes, err error) { - err = c.Cli.CallCompressed(ctx, "chat.1.remote.removeFromConversation", []interface{}{__arg}, &res, rpc.CompressionGzip, 0*time.Millisecond) + err = c.Cli.CallCompressed(ctx, "chat.1.remote.removeFromConversation", []any{__arg}, &res, rpc.CompressionGzip, 0*time.Millisecond) return } func (c RemoteClient) GetMessageBefore(ctx context.Context, __arg GetMessageBeforeArg) (res GetMessageBeforeRes, err error) { - err = c.Cli.CallCompressed(ctx, "chat.1.remote.getMessageBefore", []interface{}{__arg}, &res, rpc.CompressionGzip, 0*time.Millisecond) + err = c.Cli.CallCompressed(ctx, "chat.1.remote.getMessageBefore", []any{__arg}, &res, rpc.CompressionGzip, 0*time.Millisecond) return } func (c RemoteClient) GetTLFConversations(ctx context.Context, __arg GetTLFConversationsArg) (res GetTLFConversationsRes, err error) { - err = c.Cli.CallCompressed(ctx, "chat.1.remote.getTLFConversations", []interface{}{__arg}, &res, rpc.CompressionGzip, 0*time.Millisecond) + err = c.Cli.CallCompressed(ctx, "chat.1.remote.getTLFConversations", []any{__arg}, &res, rpc.CompressionGzip, 0*time.Millisecond) return } func (c RemoteClient) SetAppNotificationSettings(ctx context.Context, __arg SetAppNotificationSettingsArg) (res SetAppNotificationSettingsRes, err error) { - err = c.Cli.CallCompressed(ctx, "chat.1.remote.setAppNotificationSettings", []interface{}{__arg}, &res, rpc.CompressionGzip, 0*time.Millisecond) + err = c.Cli.CallCompressed(ctx, "chat.1.remote.setAppNotificationSettings", []any{__arg}, &res, rpc.CompressionGzip, 0*time.Millisecond) return } func (c RemoteClient) SetGlobalAppNotificationSettings(ctx context.Context, settings GlobalAppNotificationSettings) (err error) { __arg := SetGlobalAppNotificationSettingsArg{Settings: settings} - err = c.Cli.CallCompressed(ctx, "chat.1.remote.setGlobalAppNotificationSettings", []interface{}{__arg}, nil, rpc.CompressionGzip, 0*time.Millisecond) + err = c.Cli.CallCompressed(ctx, "chat.1.remote.setGlobalAppNotificationSettings", []any{__arg}, nil, rpc.CompressionGzip, 0*time.Millisecond) return } func (c RemoteClient) GetGlobalAppNotificationSettings(ctx context.Context) (res GlobalAppNotificationSettings, err error) { - err = c.Cli.CallCompressed(ctx, "chat.1.remote.getGlobalAppNotificationSettings", []interface{}{GetGlobalAppNotificationSettingsArg{}}, &res, rpc.CompressionGzip, 0*time.Millisecond) + err = c.Cli.CallCompressed(ctx, "chat.1.remote.getGlobalAppNotificationSettings", []any{GetGlobalAppNotificationSettingsArg{}}, &res, rpc.CompressionGzip, 0*time.Millisecond) return } func (c RemoteClient) RemoteNotificationSuccessful(ctx context.Context, __arg RemoteNotificationSuccessfulArg) (err error) { - err = c.Cli.Call(ctx, "chat.1.remote.remoteNotificationSuccessful", []interface{}{__arg}, nil, 0*time.Millisecond) + err = c.Cli.Call(ctx, "chat.1.remote.remoteNotificationSuccessful", []any{__arg}, nil, 0*time.Millisecond) return } func (c RemoteClient) SetConvRetention(ctx context.Context, __arg SetConvRetentionArg) (res SetRetentionRes, err error) { - err = c.Cli.CallCompressed(ctx, "chat.1.remote.setConvRetention", []interface{}{__arg}, &res, rpc.CompressionGzip, 0*time.Millisecond) + err = c.Cli.CallCompressed(ctx, "chat.1.remote.setConvRetention", []any{__arg}, &res, rpc.CompressionGzip, 0*time.Millisecond) return } func (c RemoteClient) SetTeamRetention(ctx context.Context, __arg SetTeamRetentionArg) (res SetRetentionRes, err error) { - err = c.Cli.CallCompressed(ctx, "chat.1.remote.setTeamRetention", []interface{}{__arg}, &res, rpc.CompressionGzip, 0*time.Millisecond) + err = c.Cli.CallCompressed(ctx, "chat.1.remote.setTeamRetention", []any{__arg}, &res, rpc.CompressionGzip, 0*time.Millisecond) return } func (c RemoteClient) SetConvMinWriterRole(ctx context.Context, __arg SetConvMinWriterRoleArg) (res SetConvMinWriterRoleRes, err error) { - err = c.Cli.CallCompressed(ctx, "chat.1.remote.setConvMinWriterRole", []interface{}{__arg}, &res, rpc.CompressionGzip, 0*time.Millisecond) + err = c.Cli.CallCompressed(ctx, "chat.1.remote.setConvMinWriterRole", []any{__arg}, &res, rpc.CompressionGzip, 0*time.Millisecond) return } func (c RemoteClient) RetentionSweepConv(ctx context.Context, convID ConversationID) (res SweepRes, err error) { __arg := RetentionSweepConvArg{ConvID: convID} - err = c.Cli.CallCompressed(ctx, "chat.1.remote.retentionSweepConv", []interface{}{__arg}, &res, rpc.CompressionGzip, 0*time.Millisecond) + err = c.Cli.CallCompressed(ctx, "chat.1.remote.retentionSweepConv", []any{__arg}, &res, rpc.CompressionGzip, 0*time.Millisecond) return } func (c RemoteClient) UpgradeKBFSToImpteam(ctx context.Context, __arg UpgradeKBFSToImpteamArg) (err error) { - err = c.Cli.CallCompressed(ctx, "chat.1.remote.upgradeKBFSToImpteam", []interface{}{__arg}, nil, rpc.CompressionGzip, 0*time.Millisecond) + err = c.Cli.CallCompressed(ctx, "chat.1.remote.upgradeKBFSToImpteam", []any{__arg}, nil, rpc.CompressionGzip, 0*time.Millisecond) return } func (c RemoteClient) RegisterSharePost(ctx context.Context, __arg RegisterSharePostArg) (err error) { - err = c.Cli.CallCompressed(ctx, "chat.1.remote.registerSharePost", []interface{}{__arg}, nil, rpc.CompressionGzip, 0*time.Millisecond) + err = c.Cli.CallCompressed(ctx, "chat.1.remote.registerSharePost", []any{__arg}, nil, rpc.CompressionGzip, 0*time.Millisecond) return } func (c RemoteClient) FailSharePost(ctx context.Context, __arg FailSharePostArg) (err error) { - err = c.Cli.CallCompressed(ctx, "chat.1.remote.failSharePost", []interface{}{__arg}, nil, rpc.CompressionGzip, 0*time.Millisecond) + err = c.Cli.CallCompressed(ctx, "chat.1.remote.failSharePost", []any{__arg}, nil, rpc.CompressionGzip, 0*time.Millisecond) return } func (c RemoteClient) BroadcastGregorMessageToConv(ctx context.Context, __arg BroadcastGregorMessageToConvArg) (err error) { - err = c.Cli.CallCompressed(ctx, "chat.1.remote.broadcastGregorMessageToConv", []interface{}{__arg}, nil, rpc.CompressionGzip, 0*time.Millisecond) + err = c.Cli.CallCompressed(ctx, "chat.1.remote.broadcastGregorMessageToConv", []any{__arg}, nil, rpc.CompressionGzip, 0*time.Millisecond) return } func (c RemoteClient) TeamIDOfConv(ctx context.Context, convID ConversationID) (res *keybase1.TeamID, err error) { __arg := TeamIDOfConvArg{ConvID: convID} - err = c.Cli.CallCompressed(ctx, "chat.1.remote.teamIDOfConv", []interface{}{__arg}, &res, rpc.CompressionGzip, 0*time.Millisecond) + err = c.Cli.CallCompressed(ctx, "chat.1.remote.teamIDOfConv", []any{__arg}, &res, rpc.CompressionGzip, 0*time.Millisecond) return } func (c RemoteClient) ServerNow(ctx context.Context) (res ServerNowRes, err error) { - err = c.Cli.CallCompressed(ctx, "chat.1.remote.serverNow", []interface{}{ServerNowArg{}}, &res, rpc.CompressionGzip, 0*time.Millisecond) + err = c.Cli.CallCompressed(ctx, "chat.1.remote.serverNow", []any{ServerNowArg{}}, &res, rpc.CompressionGzip, 0*time.Millisecond) return } func (c RemoteClient) GetExternalAPIKeys(ctx context.Context, typs []ExternalAPIKeyTyp) (res []ExternalAPIKey, err error) { __arg := GetExternalAPIKeysArg{Typs: typs} - err = c.Cli.CallCompressed(ctx, "chat.1.remote.getExternalAPIKeys", []interface{}{__arg}, &res, rpc.CompressionGzip, 0*time.Millisecond) + err = c.Cli.CallCompressed(ctx, "chat.1.remote.getExternalAPIKeys", []any{__arg}, &res, rpc.CompressionGzip, 0*time.Millisecond) return } func (c RemoteClient) AdvertiseBotCommands(ctx context.Context, ads []RemoteBotCommandsAdvertisement) (res AdvertiseBotCommandsRes, err error) { __arg := AdvertiseBotCommandsArg{Ads: ads} - err = c.Cli.CallCompressed(ctx, "chat.1.remote.advertiseBotCommands", []interface{}{__arg}, &res, rpc.CompressionGzip, 0*time.Millisecond) + err = c.Cli.CallCompressed(ctx, "chat.1.remote.advertiseBotCommands", []any{__arg}, &res, rpc.CompressionGzip, 0*time.Millisecond) return } func (c RemoteClient) ClearBotCommands(ctx context.Context, filter *RemoteClearBotCommandsFilter) (res ClearBotCommandsRes, err error) { __arg := ClearBotCommandsArg{Filter: filter} - err = c.Cli.CallCompressed(ctx, "chat.1.remote.clearBotCommands", []interface{}{__arg}, &res, rpc.CompressionGzip, 0*time.Millisecond) + err = c.Cli.CallCompressed(ctx, "chat.1.remote.clearBotCommands", []any{__arg}, &res, rpc.CompressionGzip, 0*time.Millisecond) return } func (c RemoteClient) GetBotInfo(ctx context.Context, __arg GetBotInfoArg) (res GetBotInfoRes, err error) { - err = c.Cli.CallCompressed(ctx, "chat.1.remote.getBotInfo", []interface{}{__arg}, &res, rpc.CompressionGzip, 0*time.Millisecond) + err = c.Cli.CallCompressed(ctx, "chat.1.remote.getBotInfo", []any{__arg}, &res, rpc.CompressionGzip, 0*time.Millisecond) return } func (c RemoteClient) GetDefaultTeamChannels(ctx context.Context, teamID keybase1.TeamID) (res GetDefaultTeamChannelsRes, err error) { __arg := GetDefaultTeamChannelsArg{TeamID: teamID} - err = c.Cli.CallCompressed(ctx, "chat.1.remote.getDefaultTeamChannels", []interface{}{__arg}, &res, rpc.CompressionGzip, 0*time.Millisecond) + err = c.Cli.CallCompressed(ctx, "chat.1.remote.getDefaultTeamChannels", []any{__arg}, &res, rpc.CompressionGzip, 0*time.Millisecond) return } func (c RemoteClient) SetDefaultTeamChannels(ctx context.Context, __arg SetDefaultTeamChannelsArg) (res SetDefaultTeamChannelsRes, err error) { - err = c.Cli.CallCompressed(ctx, "chat.1.remote.setDefaultTeamChannels", []interface{}{__arg}, &res, rpc.CompressionGzip, 0*time.Millisecond) + err = c.Cli.CallCompressed(ctx, "chat.1.remote.setDefaultTeamChannels", []any{__arg}, &res, rpc.CompressionGzip, 0*time.Millisecond) return } func (c RemoteClient) GetRecentJoins(ctx context.Context, convID ConversationID) (res GetRecentJoinsRes, err error) { __arg := GetRecentJoinsArg{ConvID: convID} - err = c.Cli.CallCompressed(ctx, "chat.1.remote.getRecentJoins", []interface{}{__arg}, &res, rpc.CompressionGzip, 0*time.Millisecond) + err = c.Cli.CallCompressed(ctx, "chat.1.remote.getRecentJoins", []any{__arg}, &res, rpc.CompressionGzip, 0*time.Millisecond) return } func (c RemoteClient) RefreshParticipantsRemote(ctx context.Context, __arg RefreshParticipantsRemoteArg) (res RefreshParticipantsRemoteRes, err error) { - err = c.Cli.CallCompressed(ctx, "chat.1.remote.refreshParticipantsRemote", []interface{}{__arg}, &res, rpc.CompressionGzip, 0*time.Millisecond) + err = c.Cli.CallCompressed(ctx, "chat.1.remote.refreshParticipantsRemote", []any{__arg}, &res, rpc.CompressionGzip, 0*time.Millisecond) return } func (c RemoteClient) GetLastActiveAt(ctx context.Context, __arg GetLastActiveAtArg) (res GetLastActiveAtRes, err error) { - err = c.Cli.CallCompressed(ctx, "chat.1.remote.getLastActiveAt", []interface{}{__arg}, &res, rpc.CompressionGzip, 0*time.Millisecond) + err = c.Cli.CallCompressed(ctx, "chat.1.remote.getLastActiveAt", []any{__arg}, &res, rpc.CompressionGzip, 0*time.Millisecond) return } func (c RemoteClient) GetResetConversations(ctx context.Context) (res GetResetConversationsRes, err error) { - err = c.Cli.CallCompressed(ctx, "chat.1.remote.getResetConversations", []interface{}{GetResetConversationsArg{}}, &res, rpc.CompressionGzip, 0*time.Millisecond) + err = c.Cli.CallCompressed(ctx, "chat.1.remote.getResetConversations", []any{GetResetConversationsArg{}}, &res, rpc.CompressionGzip, 0*time.Millisecond) return } diff --git a/go/protocol/chat1/unfurl.go b/go/protocol/chat1/unfurl.go index 351fe0f2beda..dc6cbfc26045 100644 --- a/go/protocol/chat1/unfurl.go +++ b/go/protocol/chat1/unfurl.go @@ -1,4 +1,4 @@ -// Auto-generated to Go types and interfaces using avdl-compiler v1.4.10 (https://github.com/keybase/node-avdl-compiler) +// Code generated to Go types and interfaces using avdl-compiler v1.4.10 (https://github.com/keybase/node-avdl-compiler). DO NOT EDIT. // Input file: avdl/chat1/unfurl.avdl package chat1 @@ -113,7 +113,8 @@ func (o UnfurlGenericRaw) DeepCopy() UnfurlGenericRaw { } } -type UnfurlYoutubeRaw struct{} +type UnfurlYoutubeRaw struct { +} func (o UnfurlYoutubeRaw) DeepCopy() UnfurlYoutubeRaw { return UnfurlYoutubeRaw{} @@ -403,7 +404,8 @@ func (o UnfurlGeneric) DeepCopy() UnfurlGeneric { } } -type UnfurlYoutube struct{} +type UnfurlYoutube struct { +} func (o UnfurlYoutube) DeepCopy() UnfurlYoutube { return UnfurlYoutube{} @@ -629,7 +631,8 @@ func (o UnfurlGenericDisplay) DeepCopy() UnfurlGenericDisplay { } } -type UnfurlYoutubeDisplay struct{} +type UnfurlYoutubeDisplay struct { +} func (o UnfurlYoutubeDisplay) DeepCopy() UnfurlYoutubeDisplay { return UnfurlYoutubeDisplay{} @@ -847,7 +850,8 @@ func (o UnfurlSettingsDisplay) DeepCopy() UnfurlSettingsDisplay { } } -type UnfurlInterface interface{} +type UnfurlInterface interface { +} func UnfurlProtocol(i UnfurlInterface) rpc.Protocol { return rpc.Protocol{ diff --git a/go/protocol/chat1/wallet.go b/go/protocol/chat1/wallet.go index 2b10d4d50e90..7ac73208738b 100644 --- a/go/protocol/chat1/wallet.go +++ b/go/protocol/chat1/wallet.go @@ -27,7 +27,7 @@ func (o ChatTxCandidate) DeepCopy() ChatTxCandidate { } } -type WalletInterface interface{} +type WalletInterface any func WalletProtocol(i WalletInterface) rpc.Protocol { return rpc.Protocol{ diff --git a/go/protocol/gregor1/auth.go b/go/protocol/gregor1/auth.go index 37daa523ce13..276e3de05eba 100644 --- a/go/protocol/gregor1/auth.go +++ b/go/protocol/gregor1/auth.go @@ -1,4 +1,4 @@ -// Auto-generated to Go types and interfaces using avdl-compiler v1.4.10 (https://github.com/keybase/node-avdl-compiler) +// Code generated to Go types and interfaces using avdl-compiler v1.4.10 (https://github.com/keybase/node-avdl-compiler). DO NOT EDIT. // Input file: avdl/gregor1/auth.avdl package gregor1 @@ -39,11 +39,11 @@ func AuthProtocol(i AuthInterface) rpc.Protocol { Name: "gregor.1.auth", Methods: map[string]rpc.ServeHandlerDescription{ "authenticateSessionToken": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]AuthenticateSessionTokenArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]AuthenticateSessionTokenArg) if !ok { err = rpc.NewTypeError((*[1]AuthenticateSessionTokenArg)(nil), args) @@ -63,6 +63,6 @@ type AuthClient struct { func (c AuthClient) AuthenticateSessionToken(ctx context.Context, session SessionToken) (res AuthResult, err error) { __arg := AuthenticateSessionTokenArg{Session: session} - err = c.Cli.Call(ctx, "gregor.1.auth.authenticateSessionToken", []interface{}{__arg}, &res, 0*time.Millisecond) + err = c.Cli.Call(ctx, "gregor.1.auth.authenticateSessionToken", []any{__arg}, &res, 0*time.Millisecond) return } diff --git a/go/protocol/gregor1/auth_internal.go b/go/protocol/gregor1/auth_internal.go index 4776badcbfb0..e540efaafdc9 100644 --- a/go/protocol/gregor1/auth_internal.go +++ b/go/protocol/gregor1/auth_internal.go @@ -1,4 +1,4 @@ -// Auto-generated to Go types and interfaces using avdl-compiler v1.4.10 (https://github.com/keybase/node-avdl-compiler) +// Code generated to Go types and interfaces using avdl-compiler v1.4.10 (https://github.com/keybase/node-avdl-compiler). DO NOT EDIT. // Input file: avdl/gregor1/auth_internal.avdl package gregor1 @@ -10,7 +10,8 @@ import ( "github.com/keybase/go-framed-msgpack-rpc/rpc" ) -type CreateGregorSuperUserSessionTokenArg struct{} +type CreateGregorSuperUserSessionTokenArg struct { +} type AuthInternalInterface interface { CreateGregorSuperUserSessionToken(context.Context) (SessionToken, error) @@ -21,11 +22,11 @@ func AuthInternalProtocol(i AuthInternalInterface) rpc.Protocol { Name: "gregor.1.authInternal", Methods: map[string]rpc.ServeHandlerDescription{ "createGregorSuperUserSessionToken": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]CreateGregorSuperUserSessionTokenArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { ret, err = i.CreateGregorSuperUserSessionToken(ctx) return }, @@ -39,6 +40,6 @@ type AuthInternalClient struct { } func (c AuthInternalClient) CreateGregorSuperUserSessionToken(ctx context.Context) (res SessionToken, err error) { - err = c.Cli.Call(ctx, "gregor.1.authInternal.createGregorSuperUserSessionToken", []interface{}{CreateGregorSuperUserSessionTokenArg{}}, &res, 0*time.Millisecond) + err = c.Cli.Call(ctx, "gregor.1.authInternal.createGregorSuperUserSessionToken", []any{CreateGregorSuperUserSessionTokenArg{}}, &res, 0*time.Millisecond) return } diff --git a/go/protocol/gregor1/auth_update.go b/go/protocol/gregor1/auth_update.go index 866e8844d7fb..0b424f339da8 100644 --- a/go/protocol/gregor1/auth_update.go +++ b/go/protocol/gregor1/auth_update.go @@ -1,4 +1,4 @@ -// Auto-generated to Go types and interfaces using avdl-compiler v1.4.10 (https://github.com/keybase/node-avdl-compiler) +// Code generated to Go types and interfaces using avdl-compiler v1.4.10 (https://github.com/keybase/node-avdl-compiler). DO NOT EDIT. // Input file: avdl/gregor1/auth_update.avdl package gregor1 @@ -23,11 +23,11 @@ func AuthUpdateProtocol(i AuthUpdateInterface) rpc.Protocol { Name: "gregor.1.authUpdate", Methods: map[string]rpc.ServeHandlerDescription{ "revokeSessionIDs": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]RevokeSessionIDsArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]RevokeSessionIDsArg) if !ok { err = rpc.NewTypeError((*[1]RevokeSessionIDsArg)(nil), args) @@ -47,6 +47,6 @@ type AuthUpdateClient struct { func (c AuthUpdateClient) RevokeSessionIDs(ctx context.Context, sessionIDs []SessionID) (err error) { __arg := RevokeSessionIDsArg{SessionIDs: sessionIDs} - err = c.Cli.Call(ctx, "gregor.1.authUpdate.revokeSessionIDs", []interface{}{__arg}, nil, 0*time.Millisecond) + err = c.Cli.Call(ctx, "gregor.1.authUpdate.revokeSessionIDs", []any{__arg}, nil, 0*time.Millisecond) return } diff --git a/go/protocol/gregor1/common.go b/go/protocol/gregor1/common.go index 7774499f9182..a6ac2881515e 100644 --- a/go/protocol/gregor1/common.go +++ b/go/protocol/gregor1/common.go @@ -1,4 +1,4 @@ -// Auto-generated to Go types and interfaces using avdl-compiler v1.4.10 (https://github.com/keybase/node-avdl-compiler) +// Code generated to Go types and interfaces using avdl-compiler v1.4.10 (https://github.com/keybase/node-avdl-compiler). DO NOT EDIT. // Input file: avdl/gregor1/common.avdl package gregor1 @@ -397,7 +397,8 @@ func (o SessionToken) DeepCopy() SessionToken { return o } -type CommonInterface interface{} +type CommonInterface interface { +} func CommonProtocol(i CommonInterface) rpc.Protocol { return rpc.Protocol{ diff --git a/go/protocol/gregor1/extras.go b/go/protocol/gregor1/extras.go index 8d2aae2f8088..9fcd166e2fc0 100644 --- a/go/protocol/gregor1/extras.go +++ b/go/protocol/gregor1/extras.go @@ -170,13 +170,14 @@ func (i ItemAndMetadata) RemindTimes() []gregor.TimeOrOffset { } func (i ItemAndMetadata) String() string { - rts := "[ " + var rts strings.Builder + rts.WriteString("[ ") for _, rt := range i.RemindTimes() { - rts += fmt.Sprintf("[%s,%s]", rt.Time(), rt.Offset()) + rts.WriteString(fmt.Sprintf("[%s,%s]", rt.Time(), rt.Offset())) } - rts += "]" + rts.WriteString("]") return fmt.Sprintf("MD: %s Cat: %s DTime: %s RTs: %s Body: %s", i.Metadata(), - i.Category(), i.DTime(), rts, i.Body()) + i.Category(), i.DTime(), rts.String(), i.Body()) } func (s StateUpdateMessage) Metadata() gregor.Metadata { return s.Md_ } diff --git a/go/protocol/gregor1/incoming.go b/go/protocol/gregor1/incoming.go index 776e0c851c87..1c3962b92630 100644 --- a/go/protocol/gregor1/incoming.go +++ b/go/protocol/gregor1/incoming.go @@ -1,4 +1,4 @@ -// Auto-generated to Go types and interfaces using avdl-compiler v1.4.10 (https://github.com/keybase/node-avdl-compiler) +// Code generated to Go types and interfaces using avdl-compiler v1.4.10 (https://github.com/keybase/node-avdl-compiler). DO NOT EDIT. // Input file: avdl/gregor1/incoming.avdl package gregor1 @@ -97,7 +97,8 @@ type ConsumeMessageMultiArg struct { Uids []UID `codec:"uids" json:"uids"` } -type PingArg struct{} +type PingArg struct { +} type VersionArg struct { Uid UID `codec:"uid" json:"uid"` @@ -147,11 +148,11 @@ func IncomingProtocol(i IncomingInterface) rpc.Protocol { Name: "gregor.1.incoming", Methods: map[string]rpc.ServeHandlerDescription{ "sync": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]SyncArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]SyncArg) if !ok { err = rpc.NewTypeError((*[1]SyncArg)(nil), args) @@ -162,11 +163,11 @@ func IncomingProtocol(i IncomingInterface) rpc.Protocol { }, }, "consumeMessage": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]ConsumeMessageArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]ConsumeMessageArg) if !ok { err = rpc.NewTypeError((*[1]ConsumeMessageArg)(nil), args) @@ -177,11 +178,11 @@ func IncomingProtocol(i IncomingInterface) rpc.Protocol { }, }, "consumePublishMessage": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]ConsumePublishMessageArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]ConsumePublishMessageArg) if !ok { err = rpc.NewTypeError((*[1]ConsumePublishMessageArg)(nil), args) @@ -192,11 +193,11 @@ func IncomingProtocol(i IncomingInterface) rpc.Protocol { }, }, "consumeMessageMulti": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]ConsumeMessageMultiArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]ConsumeMessageMultiArg) if !ok { err = rpc.NewTypeError((*[1]ConsumeMessageMultiArg)(nil), args) @@ -207,21 +208,21 @@ func IncomingProtocol(i IncomingInterface) rpc.Protocol { }, }, "ping": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]PingArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { ret, err = i.Ping(ctx) return }, }, "version": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]VersionArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]VersionArg) if !ok { err = rpc.NewTypeError((*[1]VersionArg)(nil), args) @@ -232,11 +233,11 @@ func IncomingProtocol(i IncomingInterface) rpc.Protocol { }, }, "state": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]StateArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]StateArg) if !ok { err = rpc.NewTypeError((*[1]StateArg)(nil), args) @@ -247,11 +248,11 @@ func IncomingProtocol(i IncomingInterface) rpc.Protocol { }, }, "stateByCategoryPrefix": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]StateByCategoryPrefixArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]StateByCategoryPrefixArg) if !ok { err = rpc.NewTypeError((*[1]StateByCategoryPrefixArg)(nil), args) @@ -262,11 +263,11 @@ func IncomingProtocol(i IncomingInterface) rpc.Protocol { }, }, "describeConnectedUsers": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]DescribeConnectedUsersArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]DescribeConnectedUsersArg) if !ok { err = rpc.NewTypeError((*[1]DescribeConnectedUsersArg)(nil), args) @@ -277,11 +278,11 @@ func IncomingProtocol(i IncomingInterface) rpc.Protocol { }, }, "describeConnectedUsersInternal": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]DescribeConnectedUsersInternalArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]DescribeConnectedUsersInternalArg) if !ok { err = rpc.NewTypeError((*[1]DescribeConnectedUsersInternalArg)(nil), args) @@ -300,19 +301,19 @@ type IncomingClient struct { } func (c IncomingClient) Sync(ctx context.Context, __arg SyncArg) (res SyncResult, err error) { - err = c.Cli.CallCompressed(ctx, "gregor.1.incoming.sync", []interface{}{__arg}, &res, rpc.CompressionGzip, 0*time.Millisecond) + err = c.Cli.CallCompressed(ctx, "gregor.1.incoming.sync", []any{__arg}, &res, rpc.CompressionGzip, 0*time.Millisecond) return } func (c IncomingClient) ConsumeMessage(ctx context.Context, m Message) (err error) { __arg := ConsumeMessageArg{M: m} - err = c.Cli.CallCompressed(ctx, "gregor.1.incoming.consumeMessage", []interface{}{__arg}, nil, rpc.CompressionGzip, 0*time.Millisecond) + err = c.Cli.CallCompressed(ctx, "gregor.1.incoming.consumeMessage", []any{__arg}, nil, rpc.CompressionGzip, 0*time.Millisecond) return } func (c IncomingClient) ConsumePublishMessage(ctx context.Context, m Message) (err error) { __arg := ConsumePublishMessageArg{M: m} - err = c.Cli.CallCompressed(ctx, "gregor.1.incoming.consumePublishMessage", []interface{}{__arg}, nil, rpc.CompressionGzip, 0*time.Millisecond) + err = c.Cli.CallCompressed(ctx, "gregor.1.incoming.consumePublishMessage", []any{__arg}, nil, rpc.CompressionGzip, 0*time.Millisecond) return } @@ -320,41 +321,41 @@ func (c IncomingClient) ConsumePublishMessage(ctx context.Context, m Message) (e // in uids. This is so a gregor client can send the same message to many UIDs // with one call, as opposed to calling consumeMessage for each UID. func (c IncomingClient) ConsumeMessageMulti(ctx context.Context, __arg ConsumeMessageMultiArg) (err error) { - err = c.Cli.CallCompressed(ctx, "gregor.1.incoming.consumeMessageMulti", []interface{}{__arg}, nil, rpc.CompressionGzip, 0*time.Millisecond) + err = c.Cli.CallCompressed(ctx, "gregor.1.incoming.consumeMessageMulti", []any{__arg}, nil, rpc.CompressionGzip, 0*time.Millisecond) return } func (c IncomingClient) Ping(ctx context.Context) (res string, err error) { - err = c.Cli.Call(ctx, "gregor.1.incoming.ping", []interface{}{PingArg{}}, &res, 0*time.Millisecond) + err = c.Cli.Call(ctx, "gregor.1.incoming.ping", []any{PingArg{}}, &res, 0*time.Millisecond) return } func (c IncomingClient) Version(ctx context.Context, uid UID) (res string, err error) { __arg := VersionArg{Uid: uid} - err = c.Cli.CallCompressed(ctx, "gregor.1.incoming.version", []interface{}{__arg}, &res, rpc.CompressionGzip, 0*time.Millisecond) + err = c.Cli.CallCompressed(ctx, "gregor.1.incoming.version", []any{__arg}, &res, rpc.CompressionGzip, 0*time.Millisecond) return } func (c IncomingClient) State(ctx context.Context, __arg StateArg) (res State, err error) { - err = c.Cli.CallCompressed(ctx, "gregor.1.incoming.state", []interface{}{__arg}, &res, rpc.CompressionGzip, 0*time.Millisecond) + err = c.Cli.CallCompressed(ctx, "gregor.1.incoming.state", []any{__arg}, &res, rpc.CompressionGzip, 0*time.Millisecond) return } // StateByCategoryPrefix loads the messages of the user's state whose // categories are prefixed by the given prefix func (c IncomingClient) StateByCategoryPrefix(ctx context.Context, __arg StateByCategoryPrefixArg) (res State, err error) { - err = c.Cli.CallCompressed(ctx, "gregor.1.incoming.stateByCategoryPrefix", []interface{}{__arg}, &res, rpc.CompressionGzip, 0*time.Millisecond) + err = c.Cli.CallCompressed(ctx, "gregor.1.incoming.stateByCategoryPrefix", []any{__arg}, &res, rpc.CompressionGzip, 0*time.Millisecond) return } func (c IncomingClient) DescribeConnectedUsers(ctx context.Context, uids []UID) (res []ConnectedUser, err error) { __arg := DescribeConnectedUsersArg{Uids: uids} - err = c.Cli.CallCompressed(ctx, "gregor.1.incoming.describeConnectedUsers", []interface{}{__arg}, &res, rpc.CompressionGzip, 0*time.Millisecond) + err = c.Cli.CallCompressed(ctx, "gregor.1.incoming.describeConnectedUsers", []any{__arg}, &res, rpc.CompressionGzip, 0*time.Millisecond) return } func (c IncomingClient) DescribeConnectedUsersInternal(ctx context.Context, uids []UID) (res []ConnectedUser, err error) { __arg := DescribeConnectedUsersInternalArg{Uids: uids} - err = c.Cli.CallCompressed(ctx, "gregor.1.incoming.describeConnectedUsersInternal", []interface{}{__arg}, &res, rpc.CompressionGzip, 0*time.Millisecond) + err = c.Cli.CallCompressed(ctx, "gregor.1.incoming.describeConnectedUsersInternal", []any{__arg}, &res, rpc.CompressionGzip, 0*time.Millisecond) return } diff --git a/go/protocol/gregor1/outgoing.go b/go/protocol/gregor1/outgoing.go index 78ea2a1cd3f6..0351291ac898 100644 --- a/go/protocol/gregor1/outgoing.go +++ b/go/protocol/gregor1/outgoing.go @@ -1,4 +1,4 @@ -// Auto-generated to Go types and interfaces using avdl-compiler v1.4.10 (https://github.com/keybase/node-avdl-compiler) +// Code generated to Go types and interfaces using avdl-compiler v1.4.10 (https://github.com/keybase/node-avdl-compiler). DO NOT EDIT. // Input file: avdl/gregor1/outgoing.avdl package gregor1 @@ -23,11 +23,11 @@ func OutgoingProtocol(i OutgoingInterface) rpc.Protocol { Name: "gregor.1.outgoing", Methods: map[string]rpc.ServeHandlerDescription{ "broadcastMessage": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]BroadcastMessageArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]BroadcastMessageArg) if !ok { err = rpc.NewTypeError((*[1]BroadcastMessageArg)(nil), args) @@ -47,6 +47,6 @@ type OutgoingClient struct { func (c OutgoingClient) BroadcastMessage(ctx context.Context, m Message) (err error) { __arg := BroadcastMessageArg{M: m} - err = c.Cli.CallCompressed(ctx, "gregor.1.outgoing.broadcastMessage", []interface{}{__arg}, nil, rpc.CompressionGzip, 0*time.Millisecond) + err = c.Cli.CallCompressed(ctx, "gregor.1.outgoing.broadcastMessage", []any{__arg}, nil, rpc.CompressionGzip, 0*time.Millisecond) return } diff --git a/go/protocol/gregor1/remind.go b/go/protocol/gregor1/remind.go index 34fc495a6dcd..ce27da1c4d50 100644 --- a/go/protocol/gregor1/remind.go +++ b/go/protocol/gregor1/remind.go @@ -1,4 +1,4 @@ -// Auto-generated to Go types and interfaces using avdl-compiler v1.4.10 (https://github.com/keybase/node-avdl-compiler) +// Code generated to Go types and interfaces using avdl-compiler v1.4.10 (https://github.com/keybase/node-avdl-compiler). DO NOT EDIT. // Input file: avdl/gregor1/remind.avdl package gregor1 @@ -31,11 +31,11 @@ func RemindProtocol(i RemindInterface) rpc.Protocol { Name: "gregor.1.remind", Methods: map[string]rpc.ServeHandlerDescription{ "getReminders": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]GetRemindersArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]GetRemindersArg) if !ok { err = rpc.NewTypeError((*[1]GetRemindersArg)(nil), args) @@ -46,11 +46,11 @@ func RemindProtocol(i RemindInterface) rpc.Protocol { }, }, "deleteReminders": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]DeleteRemindersArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]DeleteRemindersArg) if !ok { err = rpc.NewTypeError((*[1]DeleteRemindersArg)(nil), args) @@ -72,13 +72,13 @@ type RemindClient struct { // maxReminders back. func (c RemindClient) GetReminders(ctx context.Context, maxReminders int) (res ReminderSet, err error) { __arg := GetRemindersArg{MaxReminders: maxReminders} - err = c.Cli.Call(ctx, "gregor.1.remind.getReminders", []interface{}{__arg}, &res, 0*time.Millisecond) + err = c.Cli.Call(ctx, "gregor.1.remind.getReminders", []any{__arg}, &res, 0*time.Millisecond) return } // deleteReminders deletes all of the reminders by ReminderID func (c RemindClient) DeleteReminders(ctx context.Context, reminderIDs []ReminderID) (err error) { __arg := DeleteRemindersArg{ReminderIDs: reminderIDs} - err = c.Cli.Call(ctx, "gregor.1.remind.deleteReminders", []interface{}{__arg}, nil, 0*time.Millisecond) + err = c.Cli.Call(ctx, "gregor.1.remind.deleteReminders", []any{__arg}, nil, 0*time.Millisecond) return } diff --git a/go/protocol/kbgitkbfs1/disk_block_cache.go b/go/protocol/kbgitkbfs1/disk_block_cache.go index e94274760fa9..728d7d4875cb 100644 --- a/go/protocol/kbgitkbfs1/disk_block_cache.go +++ b/go/protocol/kbgitkbfs1/disk_block_cache.go @@ -1,4 +1,4 @@ -// Auto-generated to Go types and interfaces using avdl-compiler v1.4.10 (https://github.com/keybase/node-avdl-compiler) +// Code generated to Go types and interfaces using avdl-compiler v1.4.10 (https://github.com/keybase/node-avdl-compiler). DO NOT EDIT. // Input file: avdl/kbgitkbfs1/disk_block_cache.avdl package kbgitkbfs1 @@ -124,11 +124,11 @@ func DiskBlockCacheProtocol(i DiskBlockCacheInterface) rpc.Protocol { Name: "kbgitkbfs.1.DiskBlockCache", Methods: map[string]rpc.ServeHandlerDescription{ "GetBlock": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]GetBlockArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]GetBlockArg) if !ok { err = rpc.NewTypeError((*[1]GetBlockArg)(nil), args) @@ -139,11 +139,11 @@ func DiskBlockCacheProtocol(i DiskBlockCacheInterface) rpc.Protocol { }, }, "GetPrefetchStatus": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]GetPrefetchStatusArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]GetPrefetchStatusArg) if !ok { err = rpc.NewTypeError((*[1]GetPrefetchStatusArg)(nil), args) @@ -154,11 +154,11 @@ func DiskBlockCacheProtocol(i DiskBlockCacheInterface) rpc.Protocol { }, }, "PutBlock": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]PutBlockArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]PutBlockArg) if !ok { err = rpc.NewTypeError((*[1]PutBlockArg)(nil), args) @@ -169,11 +169,11 @@ func DiskBlockCacheProtocol(i DiskBlockCacheInterface) rpc.Protocol { }, }, "DeleteBlocks": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]DeleteBlocksArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]DeleteBlocksArg) if !ok { err = rpc.NewTypeError((*[1]DeleteBlocksArg)(nil), args) @@ -184,11 +184,11 @@ func DiskBlockCacheProtocol(i DiskBlockCacheInterface) rpc.Protocol { }, }, "UpdateBlockMetadata": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]UpdateBlockMetadataArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]UpdateBlockMetadataArg) if !ok { err = rpc.NewTypeError((*[1]UpdateBlockMetadataArg)(nil), args) @@ -208,31 +208,31 @@ type DiskBlockCacheClient struct { // GetBlock gets a block from the disk cache. func (c DiskBlockCacheClient) GetBlock(ctx context.Context, __arg GetBlockArg) (res GetBlockRes, err error) { - err = c.Cli.Call(ctx, "kbgitkbfs.1.DiskBlockCache.GetBlock", []interface{}{__arg}, &res, 0*time.Millisecond) + err = c.Cli.Call(ctx, "kbgitkbfs.1.DiskBlockCache.GetBlock", []any{__arg}, &res, 0*time.Millisecond) return } // GetPrefetchStatus gets the prefetch status from the disk cache. func (c DiskBlockCacheClient) GetPrefetchStatus(ctx context.Context, __arg GetPrefetchStatusArg) (res PrefetchStatus, err error) { - err = c.Cli.Call(ctx, "kbgitkbfs.1.DiskBlockCache.GetPrefetchStatus", []interface{}{__arg}, &res, 0*time.Millisecond) + err = c.Cli.Call(ctx, "kbgitkbfs.1.DiskBlockCache.GetPrefetchStatus", []any{__arg}, &res, 0*time.Millisecond) return } // PutBlock puts a block into the disk cache. func (c DiskBlockCacheClient) PutBlock(ctx context.Context, __arg PutBlockArg) (err error) { - err = c.Cli.Call(ctx, "kbgitkbfs.1.DiskBlockCache.PutBlock", []interface{}{__arg}, nil, 0*time.Millisecond) + err = c.Cli.Call(ctx, "kbgitkbfs.1.DiskBlockCache.PutBlock", []any{__arg}, nil, 0*time.Millisecond) return } // DeleteBlocks deletes a set of blocks from the disk cache. func (c DiskBlockCacheClient) DeleteBlocks(ctx context.Context, blockIDs [][]byte) (res DeleteBlocksRes, err error) { __arg := DeleteBlocksArg{BlockIDs: blockIDs} - err = c.Cli.Call(ctx, "kbgitkbfs.1.DiskBlockCache.DeleteBlocks", []interface{}{__arg}, &res, 0*time.Millisecond) + err = c.Cli.Call(ctx, "kbgitkbfs.1.DiskBlockCache.DeleteBlocks", []any{__arg}, &res, 0*time.Millisecond) return } // UpdateBlockMetadata updates the metadata for a block in the disk cache. func (c DiskBlockCacheClient) UpdateBlockMetadata(ctx context.Context, __arg UpdateBlockMetadataArg) (err error) { - err = c.Cli.Call(ctx, "kbgitkbfs.1.DiskBlockCache.UpdateBlockMetadata", []interface{}{__arg}, nil, 0*time.Millisecond) + err = c.Cli.Call(ctx, "kbgitkbfs.1.DiskBlockCache.UpdateBlockMetadata", []any{__arg}, nil, 0*time.Millisecond) return } diff --git a/go/protocol/keybase1/account.go b/go/protocol/keybase1/account.go index df2c42ddfc47..8ed636389762 100644 --- a/go/protocol/keybase1/account.go +++ b/go/protocol/keybase1/account.go @@ -1,4 +1,4 @@ -// Auto-generated to Go types and interfaces using avdl-compiler v1.4.10 (https://github.com/keybase/node-avdl-compiler) +// Code generated to Go types and interfaces using avdl-compiler v1.4.10 (https://github.com/keybase/node-avdl-compiler). DO NOT EDIT. // Input file: avdl/keybase1/account.avdl package keybase1 @@ -177,7 +177,8 @@ type GuessCurrentLocationArg struct { DefaultCountry string `codec:"defaultCountry" json:"defaultCountry"` } -type UserGetContactSettingsArg struct{} +type UserGetContactSettingsArg struct { +} type UserSetContactSettingsArg struct { Settings ContactSettings `codec:"settings" json:"settings"` @@ -223,11 +224,11 @@ func AccountProtocol(i AccountInterface) rpc.Protocol { Name: "keybase.1.account", Methods: map[string]rpc.ServeHandlerDescription{ "passphraseChange": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]PassphraseChangeArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]PassphraseChangeArg) if !ok { err = rpc.NewTypeError((*[1]PassphraseChangeArg)(nil), args) @@ -238,11 +239,11 @@ func AccountProtocol(i AccountInterface) rpc.Protocol { }, }, "passphrasePrompt": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]PassphrasePromptArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]PassphrasePromptArg) if !ok { err = rpc.NewTypeError((*[1]PassphrasePromptArg)(nil), args) @@ -253,11 +254,11 @@ func AccountProtocol(i AccountInterface) rpc.Protocol { }, }, "passphraseCheck": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]PassphraseCheckArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]PassphraseCheckArg) if !ok { err = rpc.NewTypeError((*[1]PassphraseCheckArg)(nil), args) @@ -268,11 +269,11 @@ func AccountProtocol(i AccountInterface) rpc.Protocol { }, }, "emailChange": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]EmailChangeArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]EmailChangeArg) if !ok { err = rpc.NewTypeError((*[1]EmailChangeArg)(nil), args) @@ -283,11 +284,11 @@ func AccountProtocol(i AccountInterface) rpc.Protocol { }, }, "hasServerKeys": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]HasServerKeysArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]HasServerKeysArg) if !ok { err = rpc.NewTypeError((*[1]HasServerKeysArg)(nil), args) @@ -298,11 +299,11 @@ func AccountProtocol(i AccountInterface) rpc.Protocol { }, }, "resetAccount": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]ResetAccountArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]ResetAccountArg) if !ok { err = rpc.NewTypeError((*[1]ResetAccountArg)(nil), args) @@ -313,11 +314,11 @@ func AccountProtocol(i AccountInterface) rpc.Protocol { }, }, "getLockdownMode": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]GetLockdownModeArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]GetLockdownModeArg) if !ok { err = rpc.NewTypeError((*[1]GetLockdownModeArg)(nil), args) @@ -328,11 +329,11 @@ func AccountProtocol(i AccountInterface) rpc.Protocol { }, }, "setLockdownMode": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]SetLockdownModeArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]SetLockdownModeArg) if !ok { err = rpc.NewTypeError((*[1]SetLockdownModeArg)(nil), args) @@ -343,11 +344,11 @@ func AccountProtocol(i AccountInterface) rpc.Protocol { }, }, "recoverUsernameWithEmail": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]RecoverUsernameWithEmailArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]RecoverUsernameWithEmailArg) if !ok { err = rpc.NewTypeError((*[1]RecoverUsernameWithEmailArg)(nil), args) @@ -358,11 +359,11 @@ func AccountProtocol(i AccountInterface) rpc.Protocol { }, }, "recoverUsernameWithPhone": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]RecoverUsernameWithPhoneArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]RecoverUsernameWithPhoneArg) if !ok { err = rpc.NewTypeError((*[1]RecoverUsernameWithPhoneArg)(nil), args) @@ -373,11 +374,11 @@ func AccountProtocol(i AccountInterface) rpc.Protocol { }, }, "enterResetPipeline": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]EnterResetPipelineArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]EnterResetPipelineArg) if !ok { err = rpc.NewTypeError((*[1]EnterResetPipelineArg)(nil), args) @@ -388,11 +389,11 @@ func AccountProtocol(i AccountInterface) rpc.Protocol { }, }, "cancelReset": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]CancelResetArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]CancelResetArg) if !ok { err = rpc.NewTypeError((*[1]CancelResetArg)(nil), args) @@ -403,11 +404,11 @@ func AccountProtocol(i AccountInterface) rpc.Protocol { }, }, "timeTravelReset": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]TimeTravelResetArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]TimeTravelResetArg) if !ok { err = rpc.NewTypeError((*[1]TimeTravelResetArg)(nil), args) @@ -418,11 +419,11 @@ func AccountProtocol(i AccountInterface) rpc.Protocol { }, }, "guessCurrentLocation": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]GuessCurrentLocationArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]GuessCurrentLocationArg) if !ok { err = rpc.NewTypeError((*[1]GuessCurrentLocationArg)(nil), args) @@ -433,21 +434,21 @@ func AccountProtocol(i AccountInterface) rpc.Protocol { }, }, "userGetContactSettings": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]UserGetContactSettingsArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { ret, err = i.UserGetContactSettings(ctx) return }, }, "userSetContactSettings": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]UserSetContactSettingsArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]UserSetContactSettingsArg) if !ok { err = rpc.NewTypeError((*[1]UserSetContactSettingsArg)(nil), args) @@ -469,12 +470,12 @@ type AccountClient struct { // then prompt at the UI for it. If old isn't set and force is true, then // we'll try to force a passphrase change. func (c AccountClient) PassphraseChange(ctx context.Context, __arg PassphraseChangeArg) (err error) { - err = c.Cli.Call(ctx, "keybase.1.account.passphraseChange", []interface{}{__arg}, nil, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.account.passphraseChange", []any{__arg}, nil, 0*time.Millisecond) return } func (c AccountClient) PassphrasePrompt(ctx context.Context, __arg PassphrasePromptArg) (res GetPassphraseRes, err error) { - err = c.Cli.Call(ctx, "keybase.1.account.passphrasePrompt", []interface{}{__arg}, &res, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.account.passphrasePrompt", []any{__arg}, &res, 0*time.Millisecond) return } @@ -482,13 +483,13 @@ func (c AccountClient) PassphrasePrompt(ctx context.Context, __arg PassphrasePro // * passphrase argument is empty. Returns `true` if passphrase is correct, // * false if not, or an error if something else went wrong. func (c AccountClient) PassphraseCheck(ctx context.Context, __arg PassphraseCheckArg) (res bool, err error) { - err = c.Cli.Call(ctx, "keybase.1.account.passphraseCheck", []interface{}{__arg}, &res, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.account.passphraseCheck", []any{__arg}, &res, 0*time.Millisecond) return } // * change email to the new given email by signing a statement. func (c AccountClient) EmailChange(ctx context.Context, __arg EmailChangeArg) (err error) { - err = c.Cli.Call(ctx, "keybase.1.account.emailChange", []interface{}{__arg}, nil, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.account.emailChange", []any{__arg}, nil, 0*time.Millisecond) return } @@ -496,35 +497,35 @@ func (c AccountClient) EmailChange(ctx context.Context, __arg EmailChangeArg) (e // * Will error if not logged in. func (c AccountClient) HasServerKeys(ctx context.Context, sessionID int) (res HasServerKeysRes, err error) { __arg := HasServerKeysArg{SessionID: sessionID} - err = c.Cli.Call(ctx, "keybase.1.account.hasServerKeys", []interface{}{__arg}, &res, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.account.hasServerKeys", []any{__arg}, &res, 0*time.Millisecond) return } // resetAccount resets the user's account. It is used in the CLI. // passphrase is optional and will be prompted for if not supplied. func (c AccountClient) ResetAccount(ctx context.Context, __arg ResetAccountArg) (err error) { - err = c.Cli.Call(ctx, "keybase.1.account.resetAccount", []interface{}{__arg}, nil, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.account.resetAccount", []any{__arg}, nil, 0*time.Millisecond) return } func (c AccountClient) GetLockdownMode(ctx context.Context, sessionID int) (res GetLockdownResponse, err error) { __arg := GetLockdownModeArg{SessionID: sessionID} - err = c.Cli.Call(ctx, "keybase.1.account.getLockdownMode", []interface{}{__arg}, &res, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.account.getLockdownMode", []any{__arg}, &res, 0*time.Millisecond) return } func (c AccountClient) SetLockdownMode(ctx context.Context, __arg SetLockdownModeArg) (err error) { - err = c.Cli.Call(ctx, "keybase.1.account.setLockdownMode", []interface{}{__arg}, nil, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.account.setLockdownMode", []any{__arg}, nil, 0*time.Millisecond) return } func (c AccountClient) RecoverUsernameWithEmail(ctx context.Context, __arg RecoverUsernameWithEmailArg) (err error) { - err = c.Cli.Call(ctx, "keybase.1.account.recoverUsernameWithEmail", []interface{}{__arg}, nil, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.account.recoverUsernameWithEmail", []any{__arg}, nil, 0*time.Millisecond) return } func (c AccountClient) RecoverUsernameWithPhone(ctx context.Context, __arg RecoverUsernameWithPhoneArg) (err error) { - err = c.Cli.Call(ctx, "keybase.1.account.recoverUsernameWithPhone", []interface{}{__arg}, nil, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.account.recoverUsernameWithPhone", []any{__arg}, nil, 0*time.Millisecond) return } @@ -533,34 +534,34 @@ func (c AccountClient) RecoverUsernameWithPhone(ctx context.Context, __arg Recov // the process. // TODO: change this to just username func (c AccountClient) EnterResetPipeline(ctx context.Context, __arg EnterResetPipelineArg) (err error) { - err = c.Cli.Call(ctx, "keybase.1.account.enterResetPipeline", []interface{}{__arg}, nil, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.account.enterResetPipeline", []any{__arg}, nil, 0*time.Millisecond) return } // Aborts the reset process func (c AccountClient) CancelReset(ctx context.Context, sessionID int) (err error) { __arg := CancelResetArg{SessionID: sessionID} - err = c.Cli.Call(ctx, "keybase.1.account.cancelReset", []interface{}{__arg}, nil, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.account.cancelReset", []any{__arg}, nil, 0*time.Millisecond) return } func (c AccountClient) TimeTravelReset(ctx context.Context, __arg TimeTravelResetArg) (err error) { - err = c.Cli.Call(ctx, "keybase.1.account.timeTravelReset", []interface{}{__arg}, nil, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.account.timeTravelReset", []any{__arg}, nil, 0*time.Millisecond) return } func (c AccountClient) GuessCurrentLocation(ctx context.Context, __arg GuessCurrentLocationArg) (res string, err error) { - err = c.Cli.Call(ctx, "keybase.1.account.guessCurrentLocation", []interface{}{__arg}, &res, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.account.guessCurrentLocation", []any{__arg}, &res, 0*time.Millisecond) return } func (c AccountClient) UserGetContactSettings(ctx context.Context) (res ContactSettings, err error) { - err = c.Cli.Call(ctx, "keybase.1.account.userGetContactSettings", []interface{}{UserGetContactSettingsArg{}}, &res, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.account.userGetContactSettings", []any{UserGetContactSettingsArg{}}, &res, 0*time.Millisecond) return } func (c AccountClient) UserSetContactSettings(ctx context.Context, settings ContactSettings) (err error) { __arg := UserSetContactSettingsArg{Settings: settings} - err = c.Cli.Call(ctx, "keybase.1.account.userSetContactSettings", []interface{}{__arg}, nil, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.account.userSetContactSettings", []any{__arg}, nil, 0*time.Millisecond) return } diff --git a/go/protocol/keybase1/airdrop.go b/go/protocol/keybase1/airdrop.go index 0c502f0be2bc..8d8952d6fc7c 100644 --- a/go/protocol/keybase1/airdrop.go +++ b/go/protocol/keybase1/airdrop.go @@ -1,4 +1,4 @@ -// Auto-generated to Go types and interfaces using avdl-compiler v1.4.10 (https://github.com/keybase/node-avdl-compiler) +// Code generated to Go types and interfaces using avdl-compiler v1.4.10 (https://github.com/keybase/node-avdl-compiler). DO NOT EDIT. // Input file: avdl/keybase1/airdrop.avdl package keybase1 @@ -47,11 +47,11 @@ func AirdropProtocol(i AirdropInterface) rpc.Protocol { Name: "keybase.1.airdrop", Methods: map[string]rpc.ServeHandlerDescription{ "reg1": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]Reg1Arg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]Reg1Arg) if !ok { err = rpc.NewTypeError((*[1]Reg1Arg)(nil), args) @@ -62,11 +62,11 @@ func AirdropProtocol(i AirdropInterface) rpc.Protocol { }, }, "reg2": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]Reg2Arg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]Reg2Arg) if !ok { err = rpc.NewTypeError((*[1]Reg2Arg)(nil), args) @@ -85,12 +85,12 @@ type AirdropClient struct { } func (c AirdropClient) Reg1(ctx context.Context, __arg Reg1Arg) (res BinaryKID, err error) { - err = c.Cli.Call(ctx, "keybase.1.airdrop.reg1", []interface{}{__arg}, &res, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.airdrop.reg1", []any{__arg}, &res, 0*time.Millisecond) return } func (c AirdropClient) Reg2(ctx context.Context, ctext []byte) (err error) { __arg := Reg2Arg{Ctext: ctext} - err = c.Cli.Call(ctx, "keybase.1.airdrop.reg2", []interface{}{__arg}, nil, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.airdrop.reg2", []any{__arg}, nil, 0*time.Millisecond) return } diff --git a/go/protocol/keybase1/apiserver.go b/go/protocol/keybase1/apiserver.go index fdefbd253bfd..2ad6a7680414 100644 --- a/go/protocol/keybase1/apiserver.go +++ b/go/protocol/keybase1/apiserver.go @@ -1,4 +1,4 @@ -// Auto-generated to Go types and interfaces using avdl-compiler v1.4.10 (https://github.com/keybase/node-avdl-compiler) +// Code generated to Go types and interfaces using avdl-compiler v1.4.10 (https://github.com/keybase/node-avdl-compiler). DO NOT EDIT. // Input file: avdl/keybase1/apiserver.avdl package keybase1 @@ -76,11 +76,11 @@ func ApiserverProtocol(i ApiserverInterface) rpc.Protocol { Name: "keybase.1.apiserver", Methods: map[string]rpc.ServeHandlerDescription{ "Get": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]GetArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]GetArg) if !ok { err = rpc.NewTypeError((*[1]GetArg)(nil), args) @@ -91,11 +91,11 @@ func ApiserverProtocol(i ApiserverInterface) rpc.Protocol { }, }, "Delete": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]DeleteArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]DeleteArg) if !ok { err = rpc.NewTypeError((*[1]DeleteArg)(nil), args) @@ -106,11 +106,11 @@ func ApiserverProtocol(i ApiserverInterface) rpc.Protocol { }, }, "GetWithSession": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]GetWithSessionArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]GetWithSessionArg) if !ok { err = rpc.NewTypeError((*[1]GetWithSessionArg)(nil), args) @@ -121,11 +121,11 @@ func ApiserverProtocol(i ApiserverInterface) rpc.Protocol { }, }, "Post": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]PostArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]PostArg) if !ok { err = rpc.NewTypeError((*[1]PostArg)(nil), args) @@ -136,11 +136,11 @@ func ApiserverProtocol(i ApiserverInterface) rpc.Protocol { }, }, "PostJSON": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]PostJSONArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]PostJSONArg) if !ok { err = rpc.NewTypeError((*[1]PostJSONArg)(nil), args) @@ -159,26 +159,26 @@ type ApiserverClient struct { } func (c ApiserverClient) Get(ctx context.Context, __arg GetArg) (res APIRes, err error) { - err = c.Cli.Call(ctx, "keybase.1.apiserver.Get", []interface{}{__arg}, &res, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.apiserver.Get", []any{__arg}, &res, 0*time.Millisecond) return } func (c ApiserverClient) Delete(ctx context.Context, __arg DeleteArg) (res APIRes, err error) { - err = c.Cli.Call(ctx, "keybase.1.apiserver.Delete", []interface{}{__arg}, &res, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.apiserver.Delete", []any{__arg}, &res, 0*time.Millisecond) return } func (c ApiserverClient) GetWithSession(ctx context.Context, __arg GetWithSessionArg) (res APIRes, err error) { - err = c.Cli.Call(ctx, "keybase.1.apiserver.GetWithSession", []interface{}{__arg}, &res, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.apiserver.GetWithSession", []any{__arg}, &res, 0*time.Millisecond) return } func (c ApiserverClient) Post(ctx context.Context, __arg PostArg) (res APIRes, err error) { - err = c.Cli.Call(ctx, "keybase.1.apiserver.Post", []interface{}{__arg}, &res, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.apiserver.Post", []any{__arg}, &res, 0*time.Millisecond) return } func (c ApiserverClient) PostJSON(ctx context.Context, __arg PostJSONArg) (res APIRes, err error) { - err = c.Cli.Call(ctx, "keybase.1.apiserver.PostJSON", []interface{}{__arg}, &res, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.apiserver.PostJSON", []any{__arg}, &res, 0*time.Millisecond) return } diff --git a/go/protocol/keybase1/appstate.go b/go/protocol/keybase1/appstate.go index 0c5f6f471c5f..9850958b713e 100644 --- a/go/protocol/keybase1/appstate.go +++ b/go/protocol/keybase1/appstate.go @@ -1,4 +1,4 @@ -// Auto-generated to Go types and interfaces using avdl-compiler v1.4.10 (https://github.com/keybase/node-avdl-compiler) +// Code generated to Go types and interfaces using avdl-compiler v1.4.10 (https://github.com/keybase/node-avdl-compiler). DO NOT EDIT. // Input file: avdl/keybase1/appstate.avdl package keybase1 @@ -96,11 +96,11 @@ func AppStateProtocol(i AppStateInterface) rpc.Protocol { Name: "keybase.1.appState", Methods: map[string]rpc.ServeHandlerDescription{ "updateMobileNetState": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]UpdateMobileNetStateArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]UpdateMobileNetStateArg) if !ok { err = rpc.NewTypeError((*[1]UpdateMobileNetStateArg)(nil), args) @@ -111,11 +111,11 @@ func AppStateProtocol(i AppStateInterface) rpc.Protocol { }, }, "powerMonitorEvent": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]PowerMonitorEventArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]PowerMonitorEventArg) if !ok { err = rpc.NewTypeError((*[1]PowerMonitorEventArg)(nil), args) @@ -135,12 +135,12 @@ type AppStateClient struct { func (c AppStateClient) UpdateMobileNetState(ctx context.Context, state string) (err error) { __arg := UpdateMobileNetStateArg{State: state} - err = c.Cli.Call(ctx, "keybase.1.appState.updateMobileNetState", []interface{}{__arg}, nil, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.appState.updateMobileNetState", []any{__arg}, nil, 0*time.Millisecond) return } func (c AppStateClient) PowerMonitorEvent(ctx context.Context, event string) (err error) { __arg := PowerMonitorEventArg{Event: event} - err = c.Cli.Call(ctx, "keybase.1.appState.powerMonitorEvent", []interface{}{__arg}, nil, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.appState.powerMonitorEvent", []any{__arg}, nil, 0*time.Millisecond) return } diff --git a/go/protocol/keybase1/audit.go b/go/protocol/keybase1/audit.go index d83463e11836..95e39d81c738 100644 --- a/go/protocol/keybase1/audit.go +++ b/go/protocol/keybase1/audit.go @@ -1,4 +1,4 @@ -// Auto-generated to Go types and interfaces using avdl-compiler v1.4.10 (https://github.com/keybase/node-avdl-compiler) +// Code generated to Go types and interfaces using avdl-compiler v1.4.10 (https://github.com/keybase/node-avdl-compiler). DO NOT EDIT. // Input file: avdl/keybase1/audit.avdl package keybase1 @@ -111,11 +111,11 @@ func AuditProtocol(i AuditInterface) rpc.Protocol { Name: "keybase.1.audit", Methods: map[string]rpc.ServeHandlerDescription{ "isInJail": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]IsInJailArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]IsInJailArg) if !ok { err = rpc.NewTypeError((*[1]IsInJailArg)(nil), args) @@ -126,11 +126,11 @@ func AuditProtocol(i AuditInterface) rpc.Protocol { }, }, "boxAuditTeam": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]BoxAuditTeamArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]BoxAuditTeamArg) if !ok { err = rpc.NewTypeError((*[1]BoxAuditTeamArg)(nil), args) @@ -141,11 +141,11 @@ func AuditProtocol(i AuditInterface) rpc.Protocol { }, }, "attemptBoxAudit": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]AttemptBoxAuditArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]AttemptBoxAuditArg) if !ok { err = rpc.NewTypeError((*[1]AttemptBoxAuditArg)(nil), args) @@ -156,11 +156,11 @@ func AuditProtocol(i AuditInterface) rpc.Protocol { }, }, "knownTeamIDs": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]KnownTeamIDsArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]KnownTeamIDsArg) if !ok { err = rpc.NewTypeError((*[1]KnownTeamIDsArg)(nil), args) @@ -179,22 +179,22 @@ type AuditClient struct { } func (c AuditClient) IsInJail(ctx context.Context, __arg IsInJailArg) (res bool, err error) { - err = c.Cli.Call(ctx, "keybase.1.audit.isInJail", []interface{}{__arg}, &res, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.audit.isInJail", []any{__arg}, &res, 0*time.Millisecond) return } func (c AuditClient) BoxAuditTeam(ctx context.Context, __arg BoxAuditTeamArg) (res *BoxAuditAttempt, err error) { - err = c.Cli.Call(ctx, "keybase.1.audit.boxAuditTeam", []interface{}{__arg}, &res, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.audit.boxAuditTeam", []any{__arg}, &res, 0*time.Millisecond) return } func (c AuditClient) AttemptBoxAudit(ctx context.Context, __arg AttemptBoxAuditArg) (res BoxAuditAttempt, err error) { - err = c.Cli.Call(ctx, "keybase.1.audit.attemptBoxAudit", []interface{}{__arg}, &res, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.audit.attemptBoxAudit", []any{__arg}, &res, 0*time.Millisecond) return } func (c AuditClient) KnownTeamIDs(ctx context.Context, sessionID int) (res []TeamID, err error) { __arg := KnownTeamIDsArg{SessionID: sessionID} - err = c.Cli.Call(ctx, "keybase.1.audit.knownTeamIDs", []interface{}{__arg}, &res, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.audit.knownTeamIDs", []any{__arg}, &res, 0*time.Millisecond) return } diff --git a/go/protocol/keybase1/avatars.go b/go/protocol/keybase1/avatars.go index a76516715f5a..ebbb537dfc31 100644 --- a/go/protocol/keybase1/avatars.go +++ b/go/protocol/keybase1/avatars.go @@ -1,4 +1,4 @@ -// Auto-generated to Go types and interfaces using avdl-compiler v1.4.10 (https://github.com/keybase/node-avdl-compiler) +// Code generated to Go types and interfaces using avdl-compiler v1.4.10 (https://github.com/keybase/node-avdl-compiler). DO NOT EDIT. // Input file: avdl/keybase1/avatars.avdl package keybase1 @@ -98,11 +98,11 @@ func AvatarsProtocol(i AvatarsInterface) rpc.Protocol { Name: "keybase.1.avatars", Methods: map[string]rpc.ServeHandlerDescription{ "loadUserAvatars": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]LoadUserAvatarsArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]LoadUserAvatarsArg) if !ok { err = rpc.NewTypeError((*[1]LoadUserAvatarsArg)(nil), args) @@ -113,11 +113,11 @@ func AvatarsProtocol(i AvatarsInterface) rpc.Protocol { }, }, "loadTeamAvatars": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]LoadTeamAvatarsArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]LoadTeamAvatarsArg) if !ok { err = rpc.NewTypeError((*[1]LoadTeamAvatarsArg)(nil), args) @@ -136,11 +136,11 @@ type AvatarsClient struct { } func (c AvatarsClient) LoadUserAvatars(ctx context.Context, __arg LoadUserAvatarsArg) (res LoadAvatarsRes, err error) { - err = c.Cli.Call(ctx, "keybase.1.avatars.loadUserAvatars", []interface{}{__arg}, &res, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.avatars.loadUserAvatars", []any{__arg}, &res, 0*time.Millisecond) return } func (c AvatarsClient) LoadTeamAvatars(ctx context.Context, __arg LoadTeamAvatarsArg) (res LoadAvatarsRes, err error) { - err = c.Cli.Call(ctx, "keybase.1.avatars.loadTeamAvatars", []interface{}{__arg}, &res, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.avatars.loadTeamAvatars", []any{__arg}, &res, 0*time.Millisecond) return } diff --git a/go/protocol/keybase1/backend_common.go b/go/protocol/keybase1/backend_common.go index 3004da9957cc..1d8eda7000ee 100644 --- a/go/protocol/keybase1/backend_common.go +++ b/go/protocol/keybase1/backend_common.go @@ -1,4 +1,4 @@ -// Auto-generated to Go types and interfaces using avdl-compiler v1.4.10 (https://github.com/keybase/node-avdl-compiler) +// Code generated to Go types and interfaces using avdl-compiler v1.4.10 (https://github.com/keybase/node-avdl-compiler). DO NOT EDIT. // Input file: avdl/keybase1/backend_common.avdl package keybase1 @@ -64,7 +64,8 @@ func (o ChallengeInfo) DeepCopy() ChallengeInfo { } } -type BackendCommonInterface interface{} +type BackendCommonInterface interface { +} func BackendCommonProtocol(i BackendCommonInterface) rpc.Protocol { return rpc.Protocol{ diff --git a/go/protocol/keybase1/badger.go b/go/protocol/keybase1/badger.go index 3d789d611eda..2e66791dd0d1 100644 --- a/go/protocol/keybase1/badger.go +++ b/go/protocol/keybase1/badger.go @@ -1,4 +1,4 @@ -// Auto-generated to Go types and interfaces using avdl-compiler v1.4.10 (https://github.com/keybase/node-avdl-compiler) +// Code generated to Go types and interfaces using avdl-compiler v1.4.10 (https://github.com/keybase/node-avdl-compiler). DO NOT EDIT. // Input file: avdl/keybase1/badger.avdl package keybase1 @@ -10,7 +10,8 @@ import ( "github.com/keybase/go-framed-msgpack-rpc/rpc" ) -type GetBadgeStateArg struct{} +type GetBadgeStateArg struct { +} type BadgerInterface interface { GetBadgeState(context.Context) (BadgeState, error) @@ -21,11 +22,11 @@ func BadgerProtocol(i BadgerInterface) rpc.Protocol { Name: "keybase.1.badger", Methods: map[string]rpc.ServeHandlerDescription{ "getBadgeState": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]GetBadgeStateArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { ret, err = i.GetBadgeState(ctx) return }, @@ -39,6 +40,6 @@ type BadgerClient struct { } func (c BadgerClient) GetBadgeState(ctx context.Context) (res BadgeState, err error) { - err = c.Cli.Call(ctx, "keybase.1.badger.getBadgeState", []interface{}{GetBadgeStateArg{}}, &res, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.badger.getBadgeState", []any{GetBadgeStateArg{}}, &res, 0*time.Millisecond) return } diff --git a/go/protocol/keybase1/block.go b/go/protocol/keybase1/block.go index 9d2d4e81027e..73300513c973 100644 --- a/go/protocol/keybase1/block.go +++ b/go/protocol/keybase1/block.go @@ -1,4 +1,4 @@ -// Auto-generated to Go types and interfaces using avdl-compiler v1.4.10 (https://github.com/keybase/node-avdl-compiler) +// Code generated to Go types and interfaces using avdl-compiler v1.4.10 (https://github.com/keybase/node-avdl-compiler). DO NOT EDIT. // Input file: avdl/keybase1/block.avdl package keybase1 @@ -181,7 +181,8 @@ func (o ReferenceCountRes) DeepCopy() ReferenceCountRes { } } -type BlockPingResponse struct{} +type BlockPingResponse struct { +} func (o BlockPingResponse) DeepCopy() BlockPingResponse { return BlockPingResponse{} @@ -259,7 +260,8 @@ func (o BlockQuotaInfo) DeepCopy() BlockQuotaInfo { } } -type GetSessionChallengeArg struct{} +type GetSessionChallengeArg struct { +} type AuthenticateSessionArg struct { Signature string `codec:"signature" json:"signature"` @@ -321,7 +323,8 @@ type GetReferenceCountArg struct { Status BlockStatus `codec:"status" json:"status"` } -type GetUserQuotaInfoArg struct{} +type GetUserQuotaInfoArg struct { +} type GetTeamQuotaInfoArg struct { Tid TeamID `codec:"tid" json:"tid"` @@ -336,7 +339,8 @@ type GetTeamQuotaInfo2Arg struct { IncludeFolders bool `codec:"includeFolders" json:"includeFolders"` } -type BlockPingArg struct{} +type BlockPingArg struct { +} type BlockInterface interface { GetSessionChallenge(context.Context) (ChallengeInfo, error) @@ -363,21 +367,21 @@ func BlockProtocol(i BlockInterface) rpc.Protocol { Name: "keybase.1.block", Methods: map[string]rpc.ServeHandlerDescription{ "getSessionChallenge": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]GetSessionChallengeArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { ret, err = i.GetSessionChallenge(ctx) return }, }, "authenticateSession": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]AuthenticateSessionArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]AuthenticateSessionArg) if !ok { err = rpc.NewTypeError((*[1]AuthenticateSessionArg)(nil), args) @@ -388,11 +392,11 @@ func BlockProtocol(i BlockInterface) rpc.Protocol { }, }, "putBlock": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]PutBlockArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]PutBlockArg) if !ok { err = rpc.NewTypeError((*[1]PutBlockArg)(nil), args) @@ -403,11 +407,11 @@ func BlockProtocol(i BlockInterface) rpc.Protocol { }, }, "putBlockAgain": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]PutBlockAgainArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]PutBlockAgainArg) if !ok { err = rpc.NewTypeError((*[1]PutBlockAgainArg)(nil), args) @@ -418,11 +422,11 @@ func BlockProtocol(i BlockInterface) rpc.Protocol { }, }, "getBlock": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]GetBlockArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]GetBlockArg) if !ok { err = rpc.NewTypeError((*[1]GetBlockArg)(nil), args) @@ -433,11 +437,11 @@ func BlockProtocol(i BlockInterface) rpc.Protocol { }, }, "getBlockSizes": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]GetBlockSizesArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]GetBlockSizesArg) if !ok { err = rpc.NewTypeError((*[1]GetBlockSizesArg)(nil), args) @@ -448,11 +452,11 @@ func BlockProtocol(i BlockInterface) rpc.Protocol { }, }, "addReference": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]AddReferenceArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]AddReferenceArg) if !ok { err = rpc.NewTypeError((*[1]AddReferenceArg)(nil), args) @@ -463,11 +467,11 @@ func BlockProtocol(i BlockInterface) rpc.Protocol { }, }, "delReference": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]DelReferenceArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]DelReferenceArg) if !ok { err = rpc.NewTypeError((*[1]DelReferenceArg)(nil), args) @@ -478,11 +482,11 @@ func BlockProtocol(i BlockInterface) rpc.Protocol { }, }, "archiveReference": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]ArchiveReferenceArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]ArchiveReferenceArg) if !ok { err = rpc.NewTypeError((*[1]ArchiveReferenceArg)(nil), args) @@ -493,11 +497,11 @@ func BlockProtocol(i BlockInterface) rpc.Protocol { }, }, "delReferenceWithCount": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]DelReferenceWithCountArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]DelReferenceWithCountArg) if !ok { err = rpc.NewTypeError((*[1]DelReferenceWithCountArg)(nil), args) @@ -508,11 +512,11 @@ func BlockProtocol(i BlockInterface) rpc.Protocol { }, }, "archiveReferenceWithCount": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]ArchiveReferenceWithCountArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]ArchiveReferenceWithCountArg) if !ok { err = rpc.NewTypeError((*[1]ArchiveReferenceWithCountArg)(nil), args) @@ -523,11 +527,11 @@ func BlockProtocol(i BlockInterface) rpc.Protocol { }, }, "getReferenceCount": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]GetReferenceCountArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]GetReferenceCountArg) if !ok { err = rpc.NewTypeError((*[1]GetReferenceCountArg)(nil), args) @@ -538,21 +542,21 @@ func BlockProtocol(i BlockInterface) rpc.Protocol { }, }, "getUserQuotaInfo": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]GetUserQuotaInfoArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { ret, err = i.GetUserQuotaInfo(ctx) return }, }, "getTeamQuotaInfo": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]GetTeamQuotaInfoArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]GetTeamQuotaInfoArg) if !ok { err = rpc.NewTypeError((*[1]GetTeamQuotaInfoArg)(nil), args) @@ -563,11 +567,11 @@ func BlockProtocol(i BlockInterface) rpc.Protocol { }, }, "getUserQuotaInfo2": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]GetUserQuotaInfo2Arg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]GetUserQuotaInfo2Arg) if !ok { err = rpc.NewTypeError((*[1]GetUserQuotaInfo2Arg)(nil), args) @@ -578,11 +582,11 @@ func BlockProtocol(i BlockInterface) rpc.Protocol { }, }, "getTeamQuotaInfo2": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]GetTeamQuotaInfo2Arg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]GetTeamQuotaInfo2Arg) if !ok { err = rpc.NewTypeError((*[1]GetTeamQuotaInfo2Arg)(nil), args) @@ -593,11 +597,11 @@ func BlockProtocol(i BlockInterface) rpc.Protocol { }, }, "blockPing": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]BlockPingArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { ret, err = i.BlockPing(ctx) return }, @@ -611,89 +615,89 @@ type BlockClient struct { } func (c BlockClient) GetSessionChallenge(ctx context.Context) (res ChallengeInfo, err error) { - err = c.Cli.CallCompressed(ctx, "keybase.1.block.getSessionChallenge", []interface{}{GetSessionChallengeArg{}}, &res, rpc.CompressionGzip, 0*time.Millisecond) + err = c.Cli.CallCompressed(ctx, "keybase.1.block.getSessionChallenge", []any{GetSessionChallengeArg{}}, &res, rpc.CompressionGzip, 0*time.Millisecond) return } func (c BlockClient) AuthenticateSession(ctx context.Context, signature string) (err error) { __arg := AuthenticateSessionArg{Signature: signature} - err = c.Cli.CallCompressed(ctx, "keybase.1.block.authenticateSession", []interface{}{__arg}, nil, rpc.CompressionGzip, 0*time.Millisecond) + err = c.Cli.CallCompressed(ctx, "keybase.1.block.authenticateSession", []any{__arg}, nil, rpc.CompressionGzip, 0*time.Millisecond) return } func (c BlockClient) PutBlock(ctx context.Context, __arg PutBlockArg) (err error) { - err = c.Cli.Call(ctx, "keybase.1.block.putBlock", []interface{}{__arg}, nil, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.block.putBlock", []any{__arg}, nil, 0*time.Millisecond) return } func (c BlockClient) PutBlockAgain(ctx context.Context, __arg PutBlockAgainArg) (err error) { - err = c.Cli.Call(ctx, "keybase.1.block.putBlockAgain", []interface{}{__arg}, nil, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.block.putBlockAgain", []any{__arg}, nil, 0*time.Millisecond) return } func (c BlockClient) GetBlock(ctx context.Context, __arg GetBlockArg) (res GetBlockRes, err error) { - err = c.Cli.Call(ctx, "keybase.1.block.getBlock", []interface{}{__arg}, &res, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.block.getBlock", []any{__arg}, &res, 0*time.Millisecond) return } func (c BlockClient) GetBlockSizes(ctx context.Context, __arg GetBlockSizesArg) (res GetBlockSizesRes, err error) { - err = c.Cli.CallCompressed(ctx, "keybase.1.block.getBlockSizes", []interface{}{__arg}, &res, rpc.CompressionGzip, 0*time.Millisecond) + err = c.Cli.CallCompressed(ctx, "keybase.1.block.getBlockSizes", []any{__arg}, &res, rpc.CompressionGzip, 0*time.Millisecond) return } func (c BlockClient) AddReference(ctx context.Context, __arg AddReferenceArg) (err error) { - err = c.Cli.CallCompressed(ctx, "keybase.1.block.addReference", []interface{}{__arg}, nil, rpc.CompressionGzip, 0*time.Millisecond) + err = c.Cli.CallCompressed(ctx, "keybase.1.block.addReference", []any{__arg}, nil, rpc.CompressionGzip, 0*time.Millisecond) return } func (c BlockClient) DelReference(ctx context.Context, __arg DelReferenceArg) (err error) { - err = c.Cli.CallCompressed(ctx, "keybase.1.block.delReference", []interface{}{__arg}, nil, rpc.CompressionGzip, 0*time.Millisecond) + err = c.Cli.CallCompressed(ctx, "keybase.1.block.delReference", []any{__arg}, nil, rpc.CompressionGzip, 0*time.Millisecond) return } func (c BlockClient) ArchiveReference(ctx context.Context, __arg ArchiveReferenceArg) (res []BlockReference, err error) { - err = c.Cli.CallCompressed(ctx, "keybase.1.block.archiveReference", []interface{}{__arg}, &res, rpc.CompressionGzip, 0*time.Millisecond) + err = c.Cli.CallCompressed(ctx, "keybase.1.block.archiveReference", []any{__arg}, &res, rpc.CompressionGzip, 0*time.Millisecond) return } func (c BlockClient) DelReferenceWithCount(ctx context.Context, __arg DelReferenceWithCountArg) (res DowngradeReferenceRes, err error) { - err = c.Cli.CallCompressed(ctx, "keybase.1.block.delReferenceWithCount", []interface{}{__arg}, &res, rpc.CompressionGzip, 0*time.Millisecond) + err = c.Cli.CallCompressed(ctx, "keybase.1.block.delReferenceWithCount", []any{__arg}, &res, rpc.CompressionGzip, 0*time.Millisecond) return } func (c BlockClient) ArchiveReferenceWithCount(ctx context.Context, __arg ArchiveReferenceWithCountArg) (res DowngradeReferenceRes, err error) { - err = c.Cli.CallCompressed(ctx, "keybase.1.block.archiveReferenceWithCount", []interface{}{__arg}, &res, rpc.CompressionGzip, 0*time.Millisecond) + err = c.Cli.CallCompressed(ctx, "keybase.1.block.archiveReferenceWithCount", []any{__arg}, &res, rpc.CompressionGzip, 0*time.Millisecond) return } func (c BlockClient) GetReferenceCount(ctx context.Context, __arg GetReferenceCountArg) (res ReferenceCountRes, err error) { - err = c.Cli.CallCompressed(ctx, "keybase.1.block.getReferenceCount", []interface{}{__arg}, &res, rpc.CompressionGzip, 0*time.Millisecond) + err = c.Cli.CallCompressed(ctx, "keybase.1.block.getReferenceCount", []any{__arg}, &res, rpc.CompressionGzip, 0*time.Millisecond) return } func (c BlockClient) GetUserQuotaInfo(ctx context.Context) (res []byte, err error) { - err = c.Cli.CallCompressed(ctx, "keybase.1.block.getUserQuotaInfo", []interface{}{GetUserQuotaInfoArg{}}, &res, rpc.CompressionGzip, 0*time.Millisecond) + err = c.Cli.CallCompressed(ctx, "keybase.1.block.getUserQuotaInfo", []any{GetUserQuotaInfoArg{}}, &res, rpc.CompressionGzip, 0*time.Millisecond) return } func (c BlockClient) GetTeamQuotaInfo(ctx context.Context, tid TeamID) (res []byte, err error) { __arg := GetTeamQuotaInfoArg{Tid: tid} - err = c.Cli.CallCompressed(ctx, "keybase.1.block.getTeamQuotaInfo", []interface{}{__arg}, &res, rpc.CompressionGzip, 0*time.Millisecond) + err = c.Cli.CallCompressed(ctx, "keybase.1.block.getTeamQuotaInfo", []any{__arg}, &res, rpc.CompressionGzip, 0*time.Millisecond) return } func (c BlockClient) GetUserQuotaInfo2(ctx context.Context, includeFolders bool) (res BlockQuotaInfo, err error) { __arg := GetUserQuotaInfo2Arg{IncludeFolders: includeFolders} - err = c.Cli.CallCompressed(ctx, "keybase.1.block.getUserQuotaInfo2", []interface{}{__arg}, &res, rpc.CompressionGzip, 0*time.Millisecond) + err = c.Cli.CallCompressed(ctx, "keybase.1.block.getUserQuotaInfo2", []any{__arg}, &res, rpc.CompressionGzip, 0*time.Millisecond) return } func (c BlockClient) GetTeamQuotaInfo2(ctx context.Context, __arg GetTeamQuotaInfo2Arg) (res BlockQuotaInfo, err error) { - err = c.Cli.CallCompressed(ctx, "keybase.1.block.getTeamQuotaInfo2", []interface{}{__arg}, &res, rpc.CompressionGzip, 0*time.Millisecond) + err = c.Cli.CallCompressed(ctx, "keybase.1.block.getTeamQuotaInfo2", []any{__arg}, &res, rpc.CompressionGzip, 0*time.Millisecond) return } func (c BlockClient) BlockPing(ctx context.Context) (res BlockPingResponse, err error) { - err = c.Cli.CallCompressed(ctx, "keybase.1.block.blockPing", []interface{}{BlockPingArg{}}, &res, rpc.CompressionGzip, 0*time.Millisecond) + err = c.Cli.CallCompressed(ctx, "keybase.1.block.blockPing", []any{BlockPingArg{}}, &res, rpc.CompressionGzip, 0*time.Millisecond) return } diff --git a/go/protocol/keybase1/bot.go b/go/protocol/keybase1/bot.go index 451898d4902e..0603ec6bb239 100644 --- a/go/protocol/keybase1/bot.go +++ b/go/protocol/keybase1/bot.go @@ -1,4 +1,4 @@ -// Auto-generated to Go types and interfaces using avdl-compiler v1.4.10 (https://github.com/keybase/node-avdl-compiler) +// Code generated to Go types and interfaces using avdl-compiler v1.4.10 (https://github.com/keybase/node-avdl-compiler). DO NOT EDIT. // Input file: avdl/keybase1/bot.avdl package keybase1 @@ -28,9 +28,11 @@ func (o BotTokenInfo) DeepCopy() BotTokenInfo { } } -type BotTokenListArg struct{} +type BotTokenListArg struct { +} -type BotTokenCreateArg struct{} +type BotTokenCreateArg struct { +} type BotTokenDeleteArg struct { Token BotToken `codec:"token" json:"token"` @@ -47,31 +49,31 @@ func BotProtocol(i BotInterface) rpc.Protocol { Name: "keybase.1.bot", Methods: map[string]rpc.ServeHandlerDescription{ "botTokenList": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]BotTokenListArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { ret, err = i.BotTokenList(ctx) return }, }, "botTokenCreate": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]BotTokenCreateArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { ret, err = i.BotTokenCreate(ctx) return }, }, "botTokenDelete": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]BotTokenDeleteArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]BotTokenDeleteArg) if !ok { err = rpc.NewTypeError((*[1]BotTokenDeleteArg)(nil), args) @@ -90,17 +92,17 @@ type BotClient struct { } func (c BotClient) BotTokenList(ctx context.Context) (res []BotTokenInfo, err error) { - err = c.Cli.Call(ctx, "keybase.1.bot.botTokenList", []interface{}{BotTokenListArg{}}, &res, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.bot.botTokenList", []any{BotTokenListArg{}}, &res, 0*time.Millisecond) return } func (c BotClient) BotTokenCreate(ctx context.Context) (res BotToken, err error) { - err = c.Cli.Call(ctx, "keybase.1.bot.botTokenCreate", []interface{}{BotTokenCreateArg{}}, &res, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.bot.botTokenCreate", []any{BotTokenCreateArg{}}, &res, 0*time.Millisecond) return } func (c BotClient) BotTokenDelete(ctx context.Context, token BotToken) (err error) { __arg := BotTokenDeleteArg{Token: token} - err = c.Cli.Call(ctx, "keybase.1.bot.botTokenDelete", []interface{}{__arg}, nil, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.bot.botTokenDelete", []any{__arg}, nil, 0*time.Millisecond) return } diff --git a/go/protocol/keybase1/btc.go b/go/protocol/keybase1/btc.go index e3507dcec2ba..f54ceba73d69 100644 --- a/go/protocol/keybase1/btc.go +++ b/go/protocol/keybase1/btc.go @@ -1,4 +1,4 @@ -// Auto-generated to Go types and interfaces using avdl-compiler v1.4.10 (https://github.com/keybase/node-avdl-compiler) +// Code generated to Go types and interfaces using avdl-compiler v1.4.10 (https://github.com/keybase/node-avdl-compiler). DO NOT EDIT. // Input file: avdl/keybase1/btc.avdl package keybase1 @@ -25,11 +25,11 @@ func BTCProtocol(i BTCInterface) rpc.Protocol { Name: "keybase.1.BTC", Methods: map[string]rpc.ServeHandlerDescription{ "registerBTC": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]RegisterBTCArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]RegisterBTCArg) if !ok { err = rpc.NewTypeError((*[1]RegisterBTCArg)(nil), args) @@ -48,6 +48,6 @@ type BTCClient struct { } func (c BTCClient) RegisterBTC(ctx context.Context, __arg RegisterBTCArg) (err error) { - err = c.Cli.Call(ctx, "keybase.1.BTC.registerBTC", []interface{}{__arg}, nil, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.BTC.registerBTC", []any{__arg}, nil, 0*time.Millisecond) return } diff --git a/go/protocol/keybase1/common.go b/go/protocol/keybase1/common.go index 2606eef83734..755c4030df44 100644 --- a/go/protocol/keybase1/common.go +++ b/go/protocol/keybase1/common.go @@ -1,4 +1,4 @@ -// Auto-generated to Go types and interfaces using avdl-compiler v1.4.10 (https://github.com/keybase/node-avdl-compiler) +// Code generated to Go types and interfaces using avdl-compiler v1.4.10 (https://github.com/keybase/node-avdl-compiler). DO NOT EDIT. // Input file: avdl/keybase1/common.avdl package keybase1 @@ -1196,7 +1196,8 @@ func (o WotStatusType) String() string { return fmt.Sprintf("%v", int(o)) } -type CommonInterface interface{} +type CommonInterface interface { +} func CommonProtocol(i CommonInterface) rpc.Protocol { return rpc.Protocol{ diff --git a/go/protocol/keybase1/config.go b/go/protocol/keybase1/config.go index a921ff93f4a2..093d5a2eaa99 100644 --- a/go/protocol/keybase1/config.go +++ b/go/protocol/keybase1/config.go @@ -1,4 +1,4 @@ -// Auto-generated to Go types and interfaces using avdl-compiler v1.4.10 (https://github.com/keybase/node-avdl-compiler) +// Code generated to Go types and interfaces using avdl-compiler v1.4.10 (https://github.com/keybase/node-avdl-compiler). DO NOT EDIT. // Input file: avdl/keybase1/config.avdl package keybase1 @@ -936,11 +936,14 @@ type GuiGetValueArg struct { Path string `codec:"path" json:"path"` } -type CheckAPIServerOutOfDateWarningArg struct{} +type CheckAPIServerOutOfDateWarningArg struct { +} -type GetUpdateInfoArg struct{} +type GetUpdateInfoArg struct { +} -type StartUpdateIfNeededArg struct{} +type StartUpdateIfNeededArg struct { +} type WaitForClientArg struct { ClientType ClientType `codec:"clientType" json:"clientType"` @@ -973,15 +976,18 @@ type SetProxyDataArg struct { ProxyData ProxyData `codec:"proxyData" json:"proxyData"` } -type GetProxyDataArg struct{} +type GetProxyDataArg struct { +} -type ToggleRuntimeStatsArg struct{} +type ToggleRuntimeStatsArg struct { +} type AppendGUILogsArg struct { Content string `codec:"content" json:"content"` } -type GenerateWebAuthTokenArg struct{} +type GenerateWebAuthTokenArg struct { +} type UpdateLastLoggedInAndServerConfigArg struct { ServerConfigPath string `codec:"serverConfigPath" json:"serverConfigPath"` @@ -1035,11 +1041,11 @@ func ConfigProtocol(i ConfigInterface) rpc.Protocol { Name: "keybase.1.config", Methods: map[string]rpc.ServeHandlerDescription{ "getCurrentStatus": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]GetCurrentStatusArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]GetCurrentStatusArg) if !ok { err = rpc.NewTypeError((*[1]GetCurrentStatusArg)(nil), args) @@ -1050,11 +1056,11 @@ func ConfigProtocol(i ConfigInterface) rpc.Protocol { }, }, "getClientStatus": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]GetClientStatusArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]GetClientStatusArg) if !ok { err = rpc.NewTypeError((*[1]GetClientStatusArg)(nil), args) @@ -1065,11 +1071,11 @@ func ConfigProtocol(i ConfigInterface) rpc.Protocol { }, }, "getFullStatus": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]GetFullStatusArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]GetFullStatusArg) if !ok { err = rpc.NewTypeError((*[1]GetFullStatusArg)(nil), args) @@ -1080,11 +1086,11 @@ func ConfigProtocol(i ConfigInterface) rpc.Protocol { }, }, "isServiceRunning": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]IsServiceRunningArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]IsServiceRunningArg) if !ok { err = rpc.NewTypeError((*[1]IsServiceRunningArg)(nil), args) @@ -1095,11 +1101,11 @@ func ConfigProtocol(i ConfigInterface) rpc.Protocol { }, }, "isKBFSRunning": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]IsKBFSRunningArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]IsKBFSRunningArg) if !ok { err = rpc.NewTypeError((*[1]IsKBFSRunningArg)(nil), args) @@ -1110,11 +1116,11 @@ func ConfigProtocol(i ConfigInterface) rpc.Protocol { }, }, "getNetworkStats": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]GetNetworkStatsArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]GetNetworkStatsArg) if !ok { err = rpc.NewTypeError((*[1]GetNetworkStatsArg)(nil), args) @@ -1125,11 +1131,11 @@ func ConfigProtocol(i ConfigInterface) rpc.Protocol { }, }, "logSend": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]LogSendArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]LogSendArg) if !ok { err = rpc.NewTypeError((*[1]LogSendArg)(nil), args) @@ -1140,11 +1146,11 @@ func ConfigProtocol(i ConfigInterface) rpc.Protocol { }, }, "getAllProvisionedUsernames": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]GetAllProvisionedUsernamesArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]GetAllProvisionedUsernamesArg) if !ok { err = rpc.NewTypeError((*[1]GetAllProvisionedUsernamesArg)(nil), args) @@ -1155,11 +1161,11 @@ func ConfigProtocol(i ConfigInterface) rpc.Protocol { }, }, "getConfig": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]GetConfigArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]GetConfigArg) if !ok { err = rpc.NewTypeError((*[1]GetConfigArg)(nil), args) @@ -1170,11 +1176,11 @@ func ConfigProtocol(i ConfigInterface) rpc.Protocol { }, }, "setUserConfig": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]SetUserConfigArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]SetUserConfigArg) if !ok { err = rpc.NewTypeError((*[1]SetUserConfigArg)(nil), args) @@ -1185,11 +1191,11 @@ func ConfigProtocol(i ConfigInterface) rpc.Protocol { }, }, "setPath": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]SetPathArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]SetPathArg) if !ok { err = rpc.NewTypeError((*[1]SetPathArg)(nil), args) @@ -1200,11 +1206,11 @@ func ConfigProtocol(i ConfigInterface) rpc.Protocol { }, }, "helloIAm": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]HelloIAmArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]HelloIAmArg) if !ok { err = rpc.NewTypeError((*[1]HelloIAmArg)(nil), args) @@ -1215,11 +1221,11 @@ func ConfigProtocol(i ConfigInterface) rpc.Protocol { }, }, "setValue": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]SetValueArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]SetValueArg) if !ok { err = rpc.NewTypeError((*[1]SetValueArg)(nil), args) @@ -1230,11 +1236,11 @@ func ConfigProtocol(i ConfigInterface) rpc.Protocol { }, }, "clearValue": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]ClearValueArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]ClearValueArg) if !ok { err = rpc.NewTypeError((*[1]ClearValueArg)(nil), args) @@ -1245,11 +1251,11 @@ func ConfigProtocol(i ConfigInterface) rpc.Protocol { }, }, "getValue": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]GetValueArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]GetValueArg) if !ok { err = rpc.NewTypeError((*[1]GetValueArg)(nil), args) @@ -1260,11 +1266,11 @@ func ConfigProtocol(i ConfigInterface) rpc.Protocol { }, }, "guiSetValue": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]GuiSetValueArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]GuiSetValueArg) if !ok { err = rpc.NewTypeError((*[1]GuiSetValueArg)(nil), args) @@ -1275,11 +1281,11 @@ func ConfigProtocol(i ConfigInterface) rpc.Protocol { }, }, "guiClearValue": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]GuiClearValueArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]GuiClearValueArg) if !ok { err = rpc.NewTypeError((*[1]GuiClearValueArg)(nil), args) @@ -1290,11 +1296,11 @@ func ConfigProtocol(i ConfigInterface) rpc.Protocol { }, }, "guiGetValue": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]GuiGetValueArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]GuiGetValueArg) if !ok { err = rpc.NewTypeError((*[1]GuiGetValueArg)(nil), args) @@ -1305,41 +1311,41 @@ func ConfigProtocol(i ConfigInterface) rpc.Protocol { }, }, "checkAPIServerOutOfDateWarning": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]CheckAPIServerOutOfDateWarningArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { ret, err = i.CheckAPIServerOutOfDateWarning(ctx) return }, }, "getUpdateInfo": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]GetUpdateInfoArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { ret, err = i.GetUpdateInfo(ctx) return }, }, "startUpdateIfNeeded": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]StartUpdateIfNeededArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { err = i.StartUpdateIfNeeded(ctx) return }, }, "waitForClient": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]WaitForClientArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]WaitForClientArg) if !ok { err = rpc.NewTypeError((*[1]WaitForClientArg)(nil), args) @@ -1350,11 +1356,11 @@ func ConfigProtocol(i ConfigInterface) rpc.Protocol { }, }, "getBootstrapStatus": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]GetBootstrapStatusArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]GetBootstrapStatusArg) if !ok { err = rpc.NewTypeError((*[1]GetBootstrapStatusArg)(nil), args) @@ -1365,11 +1371,11 @@ func ConfigProtocol(i ConfigInterface) rpc.Protocol { }, }, "requestFollowingAndUnverifiedFollowers": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]RequestFollowingAndUnverifiedFollowersArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]RequestFollowingAndUnverifiedFollowersArg) if !ok { err = rpc.NewTypeError((*[1]RequestFollowingAndUnverifiedFollowersArg)(nil), args) @@ -1380,11 +1386,11 @@ func ConfigProtocol(i ConfigInterface) rpc.Protocol { }, }, "getRememberPassphrase": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]GetRememberPassphraseArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]GetRememberPassphraseArg) if !ok { err = rpc.NewTypeError((*[1]GetRememberPassphraseArg)(nil), args) @@ -1395,11 +1401,11 @@ func ConfigProtocol(i ConfigInterface) rpc.Protocol { }, }, "setRememberPassphrase": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]SetRememberPassphraseArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]SetRememberPassphraseArg) if !ok { err = rpc.NewTypeError((*[1]SetRememberPassphraseArg)(nil), args) @@ -1410,11 +1416,11 @@ func ConfigProtocol(i ConfigInterface) rpc.Protocol { }, }, "getUpdateInfo2": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]GetUpdateInfo2Arg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]GetUpdateInfo2Arg) if !ok { err = rpc.NewTypeError((*[1]GetUpdateInfo2Arg)(nil), args) @@ -1425,11 +1431,11 @@ func ConfigProtocol(i ConfigInterface) rpc.Protocol { }, }, "setProxyData": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]SetProxyDataArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]SetProxyDataArg) if !ok { err = rpc.NewTypeError((*[1]SetProxyDataArg)(nil), args) @@ -1440,31 +1446,31 @@ func ConfigProtocol(i ConfigInterface) rpc.Protocol { }, }, "getProxyData": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]GetProxyDataArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { ret, err = i.GetProxyData(ctx) return }, }, "toggleRuntimeStats": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]ToggleRuntimeStatsArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { err = i.ToggleRuntimeStats(ctx) return }, }, "appendGUILogs": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]AppendGUILogsArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]AppendGUILogsArg) if !ok { err = rpc.NewTypeError((*[1]AppendGUILogsArg)(nil), args) @@ -1475,21 +1481,21 @@ func ConfigProtocol(i ConfigInterface) rpc.Protocol { }, }, "generateWebAuthToken": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]GenerateWebAuthTokenArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { ret, err = i.GenerateWebAuthToken(ctx) return }, }, "updateLastLoggedInAndServerConfig": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]UpdateLastLoggedInAndServerConfigArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]UpdateLastLoggedInAndServerConfigArg) if !ok { err = rpc.NewTypeError((*[1]UpdateLastLoggedInAndServerConfigArg)(nil), args) @@ -1509,53 +1515,53 @@ type ConfigClient struct { func (c ConfigClient) GetCurrentStatus(ctx context.Context, sessionID int) (res CurrentStatus, err error) { __arg := GetCurrentStatusArg{SessionID: sessionID} - err = c.Cli.Call(ctx, "keybase.1.config.getCurrentStatus", []interface{}{__arg}, &res, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.config.getCurrentStatus", []any{__arg}, &res, 0*time.Millisecond) return } func (c ConfigClient) GetClientStatus(ctx context.Context, sessionID int) (res []ClientStatus, err error) { __arg := GetClientStatusArg{SessionID: sessionID} - err = c.Cli.Call(ctx, "keybase.1.config.getClientStatus", []interface{}{__arg}, &res, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.config.getClientStatus", []any{__arg}, &res, 0*time.Millisecond) return } func (c ConfigClient) GetFullStatus(ctx context.Context, sessionID int) (res *FullStatus, err error) { __arg := GetFullStatusArg{SessionID: sessionID} - err = c.Cli.Call(ctx, "keybase.1.config.getFullStatus", []interface{}{__arg}, &res, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.config.getFullStatus", []any{__arg}, &res, 0*time.Millisecond) return } func (c ConfigClient) IsServiceRunning(ctx context.Context, sessionID int) (res bool, err error) { __arg := IsServiceRunningArg{SessionID: sessionID} - err = c.Cli.Call(ctx, "keybase.1.config.isServiceRunning", []interface{}{__arg}, &res, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.config.isServiceRunning", []any{__arg}, &res, 0*time.Millisecond) return } func (c ConfigClient) IsKBFSRunning(ctx context.Context, sessionID int) (res bool, err error) { __arg := IsKBFSRunningArg{SessionID: sessionID} - err = c.Cli.Call(ctx, "keybase.1.config.isKBFSRunning", []interface{}{__arg}, &res, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.config.isKBFSRunning", []any{__arg}, &res, 0*time.Millisecond) return } func (c ConfigClient) GetNetworkStats(ctx context.Context, __arg GetNetworkStatsArg) (res []InstrumentationStat, err error) { - err = c.Cli.Call(ctx, "keybase.1.config.getNetworkStats", []interface{}{__arg}, &res, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.config.getNetworkStats", []any{__arg}, &res, 0*time.Millisecond) return } func (c ConfigClient) LogSend(ctx context.Context, __arg LogSendArg) (res LogSendID, err error) { - err = c.Cli.Call(ctx, "keybase.1.config.logSend", []interface{}{__arg}, &res, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.config.logSend", []any{__arg}, &res, 0*time.Millisecond) return } func (c ConfigClient) GetAllProvisionedUsernames(ctx context.Context, sessionID int) (res AllProvisionedUsernames, err error) { __arg := GetAllProvisionedUsernamesArg{SessionID: sessionID} - err = c.Cli.Call(ctx, "keybase.1.config.getAllProvisionedUsernames", []interface{}{__arg}, &res, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.config.getAllProvisionedUsernames", []any{__arg}, &res, 0*time.Millisecond) return } func (c ConfigClient) GetConfig(ctx context.Context, sessionID int) (res Config, err error) { __arg := GetConfigArg{SessionID: sessionID} - err = c.Cli.Call(ctx, "keybase.1.config.getConfig", []interface{}{__arg}, &res, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.config.getConfig", []any{__arg}, &res, 0*time.Millisecond) return } @@ -1563,136 +1569,136 @@ func (c ConfigClient) GetConfig(ctx context.Context, sessionID int) (res Config, // For example, to update primary picture source: // key=picture.source, value=twitter (or github) func (c ConfigClient) SetUserConfig(ctx context.Context, __arg SetUserConfigArg) (err error) { - err = c.Cli.Call(ctx, "keybase.1.config.setUserConfig", []interface{}{__arg}, nil, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.config.setUserConfig", []any{__arg}, nil, 0*time.Millisecond) return } func (c ConfigClient) SetPath(ctx context.Context, __arg SetPathArg) (err error) { - err = c.Cli.Call(ctx, "keybase.1.config.setPath", []interface{}{__arg}, nil, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.config.setPath", []any{__arg}, nil, 0*time.Millisecond) return } func (c ConfigClient) HelloIAm(ctx context.Context, details ClientDetails) (err error) { __arg := HelloIAmArg{Details: details} - err = c.Cli.Call(ctx, "keybase.1.config.helloIAm", []interface{}{__arg}, nil, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.config.helloIAm", []any{__arg}, nil, 0*time.Millisecond) return } func (c ConfigClient) SetValue(ctx context.Context, __arg SetValueArg) (err error) { - err = c.Cli.Call(ctx, "keybase.1.config.setValue", []interface{}{__arg}, nil, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.config.setValue", []any{__arg}, nil, 0*time.Millisecond) return } func (c ConfigClient) ClearValue(ctx context.Context, path string) (err error) { __arg := ClearValueArg{Path: path} - err = c.Cli.Call(ctx, "keybase.1.config.clearValue", []interface{}{__arg}, nil, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.config.clearValue", []any{__arg}, nil, 0*time.Millisecond) return } func (c ConfigClient) GetValue(ctx context.Context, path string) (res ConfigValue, err error) { __arg := GetValueArg{Path: path} - err = c.Cli.Call(ctx, "keybase.1.config.getValue", []interface{}{__arg}, &res, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.config.getValue", []any{__arg}, &res, 0*time.Millisecond) return } func (c ConfigClient) GuiSetValue(ctx context.Context, __arg GuiSetValueArg) (err error) { - err = c.Cli.Call(ctx, "keybase.1.config.guiSetValue", []interface{}{__arg}, nil, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.config.guiSetValue", []any{__arg}, nil, 0*time.Millisecond) return } func (c ConfigClient) GuiClearValue(ctx context.Context, path string) (err error) { __arg := GuiClearValueArg{Path: path} - err = c.Cli.Call(ctx, "keybase.1.config.guiClearValue", []interface{}{__arg}, nil, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.config.guiClearValue", []any{__arg}, nil, 0*time.Millisecond) return } func (c ConfigClient) GuiGetValue(ctx context.Context, path string) (res ConfigValue, err error) { __arg := GuiGetValueArg{Path: path} - err = c.Cli.Call(ctx, "keybase.1.config.guiGetValue", []interface{}{__arg}, &res, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.config.guiGetValue", []any{__arg}, &res, 0*time.Millisecond) return } // Check whether the API server has told us we're out of date. func (c ConfigClient) CheckAPIServerOutOfDateWarning(ctx context.Context) (res OutOfDateInfo, err error) { - err = c.Cli.Call(ctx, "keybase.1.config.checkAPIServerOutOfDateWarning", []interface{}{CheckAPIServerOutOfDateWarningArg{}}, &res, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.config.checkAPIServerOutOfDateWarning", []any{CheckAPIServerOutOfDateWarningArg{}}, &res, 0*time.Millisecond) return } func (c ConfigClient) GetUpdateInfo(ctx context.Context) (res UpdateInfo, err error) { - err = c.Cli.Call(ctx, "keybase.1.config.getUpdateInfo", []interface{}{GetUpdateInfoArg{}}, &res, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.config.getUpdateInfo", []any{GetUpdateInfoArg{}}, &res, 0*time.Millisecond) return } func (c ConfigClient) StartUpdateIfNeeded(ctx context.Context) (err error) { - err = c.Cli.Call(ctx, "keybase.1.config.startUpdateIfNeeded", []interface{}{StartUpdateIfNeededArg{}}, nil, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.config.startUpdateIfNeeded", []any{StartUpdateIfNeededArg{}}, nil, 0*time.Millisecond) return } // Wait for client type to connect to service. func (c ConfigClient) WaitForClient(ctx context.Context, __arg WaitForClientArg) (res bool, err error) { - err = c.Cli.Call(ctx, "keybase.1.config.waitForClient", []interface{}{__arg}, &res, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.config.waitForClient", []any{__arg}, &res, 0*time.Millisecond) return } func (c ConfigClient) GetBootstrapStatus(ctx context.Context, sessionID int) (res BootstrapStatus, err error) { __arg := GetBootstrapStatusArg{SessionID: sessionID} - err = c.Cli.Call(ctx, "keybase.1.config.getBootstrapStatus", []interface{}{__arg}, &res, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.config.getBootstrapStatus", []any{__arg}, &res, 0*time.Millisecond) return } func (c ConfigClient) RequestFollowingAndUnverifiedFollowers(ctx context.Context, sessionID int) (err error) { __arg := RequestFollowingAndUnverifiedFollowersArg{SessionID: sessionID} - err = c.Cli.Call(ctx, "keybase.1.config.requestFollowingAndUnverifiedFollowers", []interface{}{__arg}, nil, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.config.requestFollowingAndUnverifiedFollowers", []any{__arg}, nil, 0*time.Millisecond) return } func (c ConfigClient) GetRememberPassphrase(ctx context.Context, sessionID int) (res bool, err error) { __arg := GetRememberPassphraseArg{SessionID: sessionID} - err = c.Cli.Call(ctx, "keybase.1.config.getRememberPassphrase", []interface{}{__arg}, &res, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.config.getRememberPassphrase", []any{__arg}, &res, 0*time.Millisecond) return } func (c ConfigClient) SetRememberPassphrase(ctx context.Context, __arg SetRememberPassphraseArg) (err error) { - err = c.Cli.Call(ctx, "keybase.1.config.setRememberPassphrase", []interface{}{__arg}, nil, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.config.setRememberPassphrase", []any{__arg}, nil, 0*time.Millisecond) return } // getUpdateInfo2 is to drive the redbar on mobile and desktop apps. The redbar tells you if // you are critically out of date. func (c ConfigClient) GetUpdateInfo2(ctx context.Context, __arg GetUpdateInfo2Arg) (res UpdateInfo2, err error) { - err = c.Cli.Call(ctx, "keybase.1.config.getUpdateInfo2", []interface{}{__arg}, &res, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.config.getUpdateInfo2", []any{__arg}, &res, 0*time.Millisecond) return } func (c ConfigClient) SetProxyData(ctx context.Context, proxyData ProxyData) (err error) { __arg := SetProxyDataArg{ProxyData: proxyData} - err = c.Cli.Call(ctx, "keybase.1.config.setProxyData", []interface{}{__arg}, nil, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.config.setProxyData", []any{__arg}, nil, 0*time.Millisecond) return } func (c ConfigClient) GetProxyData(ctx context.Context) (res ProxyData, err error) { - err = c.Cli.Call(ctx, "keybase.1.config.getProxyData", []interface{}{GetProxyDataArg{}}, &res, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.config.getProxyData", []any{GetProxyDataArg{}}, &res, 0*time.Millisecond) return } func (c ConfigClient) ToggleRuntimeStats(ctx context.Context) (err error) { - err = c.Cli.Call(ctx, "keybase.1.config.toggleRuntimeStats", []interface{}{ToggleRuntimeStatsArg{}}, nil, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.config.toggleRuntimeStats", []any{ToggleRuntimeStatsArg{}}, nil, 0*time.Millisecond) return } func (c ConfigClient) AppendGUILogs(ctx context.Context, content string) (err error) { __arg := AppendGUILogsArg{Content: content} - err = c.Cli.Call(ctx, "keybase.1.config.appendGUILogs", []interface{}{__arg}, nil, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.config.appendGUILogs", []any{__arg}, nil, 0*time.Millisecond) return } func (c ConfigClient) GenerateWebAuthToken(ctx context.Context) (res string, err error) { - err = c.Cli.Call(ctx, "keybase.1.config.generateWebAuthToken", []interface{}{GenerateWebAuthTokenArg{}}, &res, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.config.generateWebAuthToken", []any{GenerateWebAuthTokenArg{}}, &res, 0*time.Millisecond) return } func (c ConfigClient) UpdateLastLoggedInAndServerConfig(ctx context.Context, serverConfigPath string) (err error) { __arg := UpdateLastLoggedInAndServerConfigArg{ServerConfigPath: serverConfigPath} - err = c.Cli.Call(ctx, "keybase.1.config.updateLastLoggedInAndServerConfig", []interface{}{__arg}, nil, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.config.updateLastLoggedInAndServerConfig", []any{__arg}, nil, 0*time.Millisecond) return } diff --git a/go/protocol/keybase1/constants.go b/go/protocol/keybase1/constants.go index 1cab7c849dd4..d91be85ae977 100644 --- a/go/protocol/keybase1/constants.go +++ b/go/protocol/keybase1/constants.go @@ -1,4 +1,4 @@ -// Auto-generated to Go types and interfaces using avdl-compiler v1.4.10 (https://github.com/keybase/node-avdl-compiler) +// Code generated to Go types and interfaces using avdl-compiler v1.4.10 (https://github.com/keybase/node-avdl-compiler). DO NOT EDIT. // Input file: avdl/keybase1/constants.avdl package keybase1 @@ -767,7 +767,8 @@ func (o StatusCode) String() string { return fmt.Sprintf("%v", int(o)) } -type ConstantsInterface interface{} +type ConstantsInterface interface { +} func ConstantsProtocol(i ConstantsInterface) rpc.Protocol { return rpc.Protocol{ diff --git a/go/protocol/keybase1/contacts.go b/go/protocol/keybase1/contacts.go index 75a2fd2cc0fe..d88e674f04eb 100644 --- a/go/protocol/keybase1/contacts.go +++ b/go/protocol/keybase1/contacts.go @@ -1,4 +1,4 @@ -// Auto-generated to Go types and interfaces using avdl-compiler v1.4.10 (https://github.com/keybase/node-avdl-compiler) +// Code generated to Go types and interfaces using avdl-compiler v1.4.10 (https://github.com/keybase/node-avdl-compiler). DO NOT EDIT. // Input file: avdl/keybase1/contacts.avdl package keybase1 @@ -163,11 +163,11 @@ func ContactsProtocol(i ContactsInterface) rpc.Protocol { Name: "keybase.1.contacts", Methods: map[string]rpc.ServeHandlerDescription{ "lookupContactList": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]LookupContactListArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]LookupContactListArg) if !ok { err = rpc.NewTypeError((*[1]LookupContactListArg)(nil), args) @@ -178,11 +178,11 @@ func ContactsProtocol(i ContactsInterface) rpc.Protocol { }, }, "saveContactList": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]SaveContactListArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]SaveContactListArg) if !ok { err = rpc.NewTypeError((*[1]SaveContactListArg)(nil), args) @@ -193,11 +193,11 @@ func ContactsProtocol(i ContactsInterface) rpc.Protocol { }, }, "lookupSavedContactsList": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]LookupSavedContactsListArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]LookupSavedContactsListArg) if !ok { err = rpc.NewTypeError((*[1]LookupSavedContactsListArg)(nil), args) @@ -208,11 +208,11 @@ func ContactsProtocol(i ContactsInterface) rpc.Protocol { }, }, "getContactsForUserRecommendations": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]GetContactsForUserRecommendationsArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]GetContactsForUserRecommendationsArg) if !ok { err = rpc.NewTypeError((*[1]GetContactsForUserRecommendationsArg)(nil), args) @@ -231,23 +231,23 @@ type ContactsClient struct { } func (c ContactsClient) LookupContactList(ctx context.Context, __arg LookupContactListArg) (res []ProcessedContact, err error) { - err = c.Cli.Call(ctx, "keybase.1.contacts.lookupContactList", []interface{}{__arg}, &res, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.contacts.lookupContactList", []any{__arg}, &res, 0*time.Millisecond) return } func (c ContactsClient) SaveContactList(ctx context.Context, __arg SaveContactListArg) (res ContactListResolutionResult, err error) { - err = c.Cli.Call(ctx, "keybase.1.contacts.saveContactList", []interface{}{__arg}, &res, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.contacts.saveContactList", []any{__arg}, &res, 0*time.Millisecond) return } func (c ContactsClient) LookupSavedContactsList(ctx context.Context, sessionID int) (res []ProcessedContact, err error) { __arg := LookupSavedContactsListArg{SessionID: sessionID} - err = c.Cli.Call(ctx, "keybase.1.contacts.lookupSavedContactsList", []interface{}{__arg}, &res, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.contacts.lookupSavedContactsList", []any{__arg}, &res, 0*time.Millisecond) return } func (c ContactsClient) GetContactsForUserRecommendations(ctx context.Context, sessionID int) (res []ProcessedContact, err error) { __arg := GetContactsForUserRecommendationsArg{SessionID: sessionID} - err = c.Cli.Call(ctx, "keybase.1.contacts.getContactsForUserRecommendations", []interface{}{__arg}, &res, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.contacts.getContactsForUserRecommendations", []any{__arg}, &res, 0*time.Millisecond) return } diff --git a/go/protocol/keybase1/crypto.go b/go/protocol/keybase1/crypto.go index 0c9a8ef034a0..17f722c7ec66 100644 --- a/go/protocol/keybase1/crypto.go +++ b/go/protocol/keybase1/crypto.go @@ -1,4 +1,4 @@ -// Auto-generated to Go types and interfaces using avdl-compiler v1.4.10 (https://github.com/keybase/node-avdl-compiler) +// Code generated to Go types and interfaces using avdl-compiler v1.4.10 (https://github.com/keybase/node-avdl-compiler). DO NOT EDIT. // Input file: avdl/keybase1/crypto.avdl package keybase1 @@ -149,11 +149,11 @@ func CryptoProtocol(i CryptoInterface) rpc.Protocol { Name: "keybase.1.crypto", Methods: map[string]rpc.ServeHandlerDescription{ "signED25519": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]SignED25519Arg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]SignED25519Arg) if !ok { err = rpc.NewTypeError((*[1]SignED25519Arg)(nil), args) @@ -164,11 +164,11 @@ func CryptoProtocol(i CryptoInterface) rpc.Protocol { }, }, "signED25519ForKBFS": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]SignED25519ForKBFSArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]SignED25519ForKBFSArg) if !ok { err = rpc.NewTypeError((*[1]SignED25519ForKBFSArg)(nil), args) @@ -179,11 +179,11 @@ func CryptoProtocol(i CryptoInterface) rpc.Protocol { }, }, "signToString": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]SignToStringArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]SignToStringArg) if !ok { err = rpc.NewTypeError((*[1]SignToStringArg)(nil), args) @@ -194,11 +194,11 @@ func CryptoProtocol(i CryptoInterface) rpc.Protocol { }, }, "unboxBytes32": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]UnboxBytes32Arg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]UnboxBytes32Arg) if !ok { err = rpc.NewTypeError((*[1]UnboxBytes32Arg)(nil), args) @@ -209,11 +209,11 @@ func CryptoProtocol(i CryptoInterface) rpc.Protocol { }, }, "unboxBytes32Any": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]UnboxBytes32AnyArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]UnboxBytes32AnyArg) if !ok { err = rpc.NewTypeError((*[1]UnboxBytes32AnyArg)(nil), args) @@ -237,19 +237,19 @@ type CryptoClient struct { // is used as part of the SecretEntryArg object passed into // secretUi.getSecret(). func (c CryptoClient) SignED25519(ctx context.Context, __arg SignED25519Arg) (res ED25519SignatureInfo, err error) { - err = c.Cli.Call(ctx, "keybase.1.crypto.signED25519", []interface{}{__arg}, &res, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.crypto.signED25519", []any{__arg}, &res, 0*time.Millisecond) return } // Same as the above except a KBFS-specific prefix is added to the payload to be signed. func (c CryptoClient) SignED25519ForKBFS(ctx context.Context, __arg SignED25519ForKBFSArg) (res ED25519SignatureInfo, err error) { - err = c.Cli.Call(ctx, "keybase.1.crypto.signED25519ForKBFS", []interface{}{__arg}, &res, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.crypto.signED25519ForKBFS", []any{__arg}, &res, 0*time.Millisecond) return } // Same as the above except the full marshaled and encoded NaclSigInfo. func (c CryptoClient) SignToString(ctx context.Context, __arg SignToStringArg) (res string, err error) { - err = c.Cli.Call(ctx, "keybase.1.crypto.signToString", []interface{}{__arg}, &res, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.crypto.signToString", []any{__arg}, &res, 0*time.Millisecond) return } @@ -258,11 +258,11 @@ func (c CryptoClient) SignToString(ctx context.Context, __arg SignToStringArg) ( // decrypted data. The 'reason' parameter is used as part of the // SecretEntryArg object passed into secretUi.getSecret(). func (c CryptoClient) UnboxBytes32(ctx context.Context, __arg UnboxBytes32Arg) (res Bytes32, err error) { - err = c.Cli.Call(ctx, "keybase.1.crypto.unboxBytes32", []interface{}{__arg}, &res, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.crypto.unboxBytes32", []any{__arg}, &res, 0*time.Millisecond) return } func (c CryptoClient) UnboxBytes32Any(ctx context.Context, __arg UnboxBytes32AnyArg) (res UnboxAnyRes, err error) { - err = c.Cli.Call(ctx, "keybase.1.crypto.unboxBytes32Any", []interface{}{__arg}, &res, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.crypto.unboxBytes32Any", []any{__arg}, &res, 0*time.Millisecond) return } diff --git a/go/protocol/keybase1/cryptocurrency.go b/go/protocol/keybase1/cryptocurrency.go index af4075379bbe..bfc07f89174d 100644 --- a/go/protocol/keybase1/cryptocurrency.go +++ b/go/protocol/keybase1/cryptocurrency.go @@ -1,4 +1,4 @@ -// Auto-generated to Go types and interfaces using avdl-compiler v1.4.10 (https://github.com/keybase/node-avdl-compiler) +// Code generated to Go types and interfaces using avdl-compiler v1.4.10 (https://github.com/keybase/node-avdl-compiler). DO NOT EDIT. // Input file: avdl/keybase1/cryptocurrency.avdl package keybase1 @@ -39,11 +39,11 @@ func CryptocurrencyProtocol(i CryptocurrencyInterface) rpc.Protocol { Name: "keybase.1.cryptocurrency", Methods: map[string]rpc.ServeHandlerDescription{ "registerAddress": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]RegisterAddressArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]RegisterAddressArg) if !ok { err = rpc.NewTypeError((*[1]RegisterAddressArg)(nil), args) @@ -62,6 +62,6 @@ type CryptocurrencyClient struct { } func (c CryptocurrencyClient) RegisterAddress(ctx context.Context, __arg RegisterAddressArg) (res RegisterAddressRes, err error) { - err = c.Cli.Call(ctx, "keybase.1.cryptocurrency.registerAddress", []interface{}{__arg}, &res, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.cryptocurrency.registerAddress", []any{__arg}, &res, 0*time.Millisecond) return } diff --git a/go/protocol/keybase1/ctl.go b/go/protocol/keybase1/ctl.go index a2bde6f1bb23..f1a6c5314249 100644 --- a/go/protocol/keybase1/ctl.go +++ b/go/protocol/keybase1/ctl.go @@ -1,4 +1,4 @@ -// Auto-generated to Go types and interfaces using avdl-compiler v1.4.10 (https://github.com/keybase/node-avdl-compiler) +// Code generated to Go types and interfaces using avdl-compiler v1.4.10 (https://github.com/keybase/node-avdl-compiler). DO NOT EDIT. // Input file: avdl/keybase1/ctl.avdl package keybase1 @@ -189,7 +189,8 @@ type SetOnLoginStartupArg struct { Enabled bool `codec:"enabled" json:"enabled"` } -type GetOnLoginStartupArg struct{} +type GetOnLoginStartupArg struct { +} type CtlInterface interface { Stop(context.Context, StopArg) error @@ -212,11 +213,11 @@ func CtlProtocol(i CtlInterface) rpc.Protocol { Name: "keybase.1.ctl", Methods: map[string]rpc.ServeHandlerDescription{ "stop": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]StopArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]StopArg) if !ok { err = rpc.NewTypeError((*[1]StopArg)(nil), args) @@ -227,11 +228,11 @@ func CtlProtocol(i CtlInterface) rpc.Protocol { }, }, "stopService": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]StopServiceArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]StopServiceArg) if !ok { err = rpc.NewTypeError((*[1]StopServiceArg)(nil), args) @@ -242,11 +243,11 @@ func CtlProtocol(i CtlInterface) rpc.Protocol { }, }, "logRotate": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]LogRotateArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]LogRotateArg) if !ok { err = rpc.NewTypeError((*[1]LogRotateArg)(nil), args) @@ -257,11 +258,11 @@ func CtlProtocol(i CtlInterface) rpc.Protocol { }, }, "reload": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]ReloadArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]ReloadArg) if !ok { err = rpc.NewTypeError((*[1]ReloadArg)(nil), args) @@ -272,11 +273,11 @@ func CtlProtocol(i CtlInterface) rpc.Protocol { }, }, "dbNuke": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]DbNukeArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]DbNukeArg) if !ok { err = rpc.NewTypeError((*[1]DbNukeArg)(nil), args) @@ -287,11 +288,11 @@ func CtlProtocol(i CtlInterface) rpc.Protocol { }, }, "dbClean": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]DbCleanArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]DbCleanArg) if !ok { err = rpc.NewTypeError((*[1]DbCleanArg)(nil), args) @@ -302,11 +303,11 @@ func CtlProtocol(i CtlInterface) rpc.Protocol { }, }, "appExit": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]AppExitArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]AppExitArg) if !ok { err = rpc.NewTypeError((*[1]AppExitArg)(nil), args) @@ -317,11 +318,11 @@ func CtlProtocol(i CtlInterface) rpc.Protocol { }, }, "dbDelete": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]DbDeleteArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]DbDeleteArg) if !ok { err = rpc.NewTypeError((*[1]DbDeleteArg)(nil), args) @@ -332,11 +333,11 @@ func CtlProtocol(i CtlInterface) rpc.Protocol { }, }, "dbPut": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]DbPutArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]DbPutArg) if !ok { err = rpc.NewTypeError((*[1]DbPutArg)(nil), args) @@ -347,11 +348,11 @@ func CtlProtocol(i CtlInterface) rpc.Protocol { }, }, "dbGet": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]DbGetArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]DbGetArg) if !ok { err = rpc.NewTypeError((*[1]DbGetArg)(nil), args) @@ -362,11 +363,11 @@ func CtlProtocol(i CtlInterface) rpc.Protocol { }, }, "dbKeysWithPrefixes": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]DbKeysWithPrefixesArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]DbKeysWithPrefixesArg) if !ok { err = rpc.NewTypeError((*[1]DbKeysWithPrefixesArg)(nil), args) @@ -377,11 +378,11 @@ func CtlProtocol(i CtlInterface) rpc.Protocol { }, }, "setOnLoginStartup": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]SetOnLoginStartupArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]SetOnLoginStartupArg) if !ok { err = rpc.NewTypeError((*[1]SetOnLoginStartupArg)(nil), args) @@ -392,11 +393,11 @@ func CtlProtocol(i CtlInterface) rpc.Protocol { }, }, "getOnLoginStartup": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]GetOnLoginStartupArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { ret, err = i.GetOnLoginStartup(ctx) return }, @@ -410,71 +411,71 @@ type CtlClient struct { } func (c CtlClient) Stop(ctx context.Context, __arg StopArg) (err error) { - err = c.Cli.Call(ctx, "keybase.1.ctl.stop", []interface{}{__arg}, nil, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.ctl.stop", []any{__arg}, nil, 0*time.Millisecond) return } func (c CtlClient) StopService(ctx context.Context, __arg StopServiceArg) (err error) { - err = c.Cli.Call(ctx, "keybase.1.ctl.stopService", []interface{}{__arg}, nil, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.ctl.stopService", []any{__arg}, nil, 0*time.Millisecond) return } func (c CtlClient) LogRotate(ctx context.Context, sessionID int) (err error) { __arg := LogRotateArg{SessionID: sessionID} - err = c.Cli.Call(ctx, "keybase.1.ctl.logRotate", []interface{}{__arg}, nil, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.ctl.logRotate", []any{__arg}, nil, 0*time.Millisecond) return } func (c CtlClient) Reload(ctx context.Context, sessionID int) (err error) { __arg := ReloadArg{SessionID: sessionID} - err = c.Cli.Call(ctx, "keybase.1.ctl.reload", []interface{}{__arg}, nil, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.ctl.reload", []any{__arg}, nil, 0*time.Millisecond) return } func (c CtlClient) DbNuke(ctx context.Context, sessionID int) (err error) { __arg := DbNukeArg{SessionID: sessionID} - err = c.Cli.Call(ctx, "keybase.1.ctl.dbNuke", []interface{}{__arg}, nil, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.ctl.dbNuke", []any{__arg}, nil, 0*time.Millisecond) return } func (c CtlClient) DbClean(ctx context.Context, __arg DbCleanArg) (err error) { - err = c.Cli.Call(ctx, "keybase.1.ctl.dbClean", []interface{}{__arg}, nil, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.ctl.dbClean", []any{__arg}, nil, 0*time.Millisecond) return } func (c CtlClient) AppExit(ctx context.Context, sessionID int) (err error) { __arg := AppExitArg{SessionID: sessionID} - err = c.Cli.Call(ctx, "keybase.1.ctl.appExit", []interface{}{__arg}, nil, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.ctl.appExit", []any{__arg}, nil, 0*time.Millisecond) return } func (c CtlClient) DbDelete(ctx context.Context, __arg DbDeleteArg) (err error) { - err = c.Cli.Call(ctx, "keybase.1.ctl.dbDelete", []interface{}{__arg}, nil, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.ctl.dbDelete", []any{__arg}, nil, 0*time.Millisecond) return } func (c CtlClient) DbPut(ctx context.Context, __arg DbPutArg) (err error) { - err = c.Cli.Call(ctx, "keybase.1.ctl.dbPut", []interface{}{__arg}, nil, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.ctl.dbPut", []any{__arg}, nil, 0*time.Millisecond) return } func (c CtlClient) DbGet(ctx context.Context, __arg DbGetArg) (res *DbValue, err error) { - err = c.Cli.Call(ctx, "keybase.1.ctl.dbGet", []interface{}{__arg}, &res, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.ctl.dbGet", []any{__arg}, &res, 0*time.Millisecond) return } func (c CtlClient) DbKeysWithPrefixes(ctx context.Context, __arg DbKeysWithPrefixesArg) (res []DbKey, err error) { - err = c.Cli.Call(ctx, "keybase.1.ctl.dbKeysWithPrefixes", []interface{}{__arg}, &res, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.ctl.dbKeysWithPrefixes", []any{__arg}, &res, 0*time.Millisecond) return } func (c CtlClient) SetOnLoginStartup(ctx context.Context, enabled bool) (err error) { __arg := SetOnLoginStartupArg{Enabled: enabled} - err = c.Cli.Call(ctx, "keybase.1.ctl.setOnLoginStartup", []interface{}{__arg}, nil, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.ctl.setOnLoginStartup", []any{__arg}, nil, 0*time.Millisecond) return } func (c CtlClient) GetOnLoginStartup(ctx context.Context) (res OnLoginStartupStatus, err error) { - err = c.Cli.Call(ctx, "keybase.1.ctl.getOnLoginStartup", []interface{}{GetOnLoginStartupArg{}}, &res, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.ctl.getOnLoginStartup", []any{GetOnLoginStartupArg{}}, &res, 0*time.Millisecond) return } diff --git a/go/protocol/keybase1/debugging.go b/go/protocol/keybase1/debugging.go index 4365ea274783..67305efc48de 100644 --- a/go/protocol/keybase1/debugging.go +++ b/go/protocol/keybase1/debugging.go @@ -1,4 +1,4 @@ -// Auto-generated to Go types and interfaces using avdl-compiler v1.4.10 (https://github.com/keybase/node-avdl-compiler) +// Code generated to Go types and interfaces using avdl-compiler v1.4.10 (https://github.com/keybase/node-avdl-compiler). DO NOT EDIT. // Input file: avdl/keybase1/debugging.avdl package keybase1 @@ -52,11 +52,11 @@ func DebuggingProtocol(i DebuggingInterface) rpc.Protocol { Name: "keybase.1.debugging", Methods: map[string]rpc.ServeHandlerDescription{ "firstStep": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]FirstStepArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]FirstStepArg) if !ok { err = rpc.NewTypeError((*[1]FirstStepArg)(nil), args) @@ -67,11 +67,11 @@ func DebuggingProtocol(i DebuggingInterface) rpc.Protocol { }, }, "secondStep": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]SecondStepArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]SecondStepArg) if !ok { err = rpc.NewTypeError((*[1]SecondStepArg)(nil), args) @@ -82,11 +82,11 @@ func DebuggingProtocol(i DebuggingInterface) rpc.Protocol { }, }, "increment": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]IncrementArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]IncrementArg) if !ok { err = rpc.NewTypeError((*[1]IncrementArg)(nil), args) @@ -97,11 +97,11 @@ func DebuggingProtocol(i DebuggingInterface) rpc.Protocol { }, }, "script": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]ScriptArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]ScriptArg) if !ok { err = rpc.NewTypeError((*[1]ScriptArg)(nil), args) @@ -120,21 +120,21 @@ type DebuggingClient struct { } func (c DebuggingClient) FirstStep(ctx context.Context, __arg FirstStepArg) (res FirstStepResult, err error) { - err = c.Cli.Call(ctx, "keybase.1.debugging.firstStep", []interface{}{__arg}, &res, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.debugging.firstStep", []any{__arg}, &res, 0*time.Millisecond) return } func (c DebuggingClient) SecondStep(ctx context.Context, __arg SecondStepArg) (res int, err error) { - err = c.Cli.Call(ctx, "keybase.1.debugging.secondStep", []interface{}{__arg}, &res, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.debugging.secondStep", []any{__arg}, &res, 0*time.Millisecond) return } func (c DebuggingClient) Increment(ctx context.Context, __arg IncrementArg) (res int, err error) { - err = c.Cli.Call(ctx, "keybase.1.debugging.increment", []interface{}{__arg}, &res, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.debugging.increment", []any{__arg}, &res, 0*time.Millisecond) return } func (c DebuggingClient) Script(ctx context.Context, __arg ScriptArg) (res string, err error) { - err = c.Cli.Call(ctx, "keybase.1.debugging.script", []interface{}{__arg}, &res, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.debugging.script", []any{__arg}, &res, 0*time.Millisecond) return } diff --git a/go/protocol/keybase1/delegate_ui_ctl.go b/go/protocol/keybase1/delegate_ui_ctl.go index 2a74c13395e0..8828bd019302 100644 --- a/go/protocol/keybase1/delegate_ui_ctl.go +++ b/go/protocol/keybase1/delegate_ui_ctl.go @@ -1,4 +1,4 @@ -// Auto-generated to Go types and interfaces using avdl-compiler v1.4.10 (https://github.com/keybase/node-avdl-compiler) +// Code generated to Go types and interfaces using avdl-compiler v1.4.10 (https://github.com/keybase/node-avdl-compiler). DO NOT EDIT. // Input file: avdl/keybase1/delegate_ui_ctl.avdl package keybase1 @@ -10,23 +10,32 @@ import ( "github.com/keybase/go-framed-msgpack-rpc/rpc" ) -type RegisterIdentifyUIArg struct{} +type RegisterIdentifyUIArg struct { +} -type RegisterSecretUIArg struct{} +type RegisterSecretUIArg struct { +} -type RegisterUpdateUIArg struct{} +type RegisterUpdateUIArg struct { +} -type RegisterRekeyUIArg struct{} +type RegisterRekeyUIArg struct { +} -type RegisterHomeUIArg struct{} +type RegisterHomeUIArg struct { +} -type RegisterIdentify3UIArg struct{} +type RegisterIdentify3UIArg struct { +} -type RegisterChatUIArg struct{} +type RegisterChatUIArg struct { +} -type RegisterLogUIArg struct{} +type RegisterLogUIArg struct { +} -type RegisterGregorFirehoseArg struct{} +type RegisterGregorFirehoseArg struct { +} type RegisterGregorFirehoseFilteredArg struct { Systems []string `codec:"systems" json:"systems"` @@ -53,101 +62,101 @@ func DelegateUiCtlProtocol(i DelegateUiCtlInterface) rpc.Protocol { Name: "keybase.1.delegateUiCtl", Methods: map[string]rpc.ServeHandlerDescription{ "registerIdentifyUI": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]RegisterIdentifyUIArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { err = i.RegisterIdentifyUI(ctx) return }, }, "registerSecretUI": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]RegisterSecretUIArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { err = i.RegisterSecretUI(ctx) return }, }, "registerUpdateUI": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]RegisterUpdateUIArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { err = i.RegisterUpdateUI(ctx) return }, }, "registerRekeyUI": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]RegisterRekeyUIArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { err = i.RegisterRekeyUI(ctx) return }, }, "registerHomeUI": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]RegisterHomeUIArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { err = i.RegisterHomeUI(ctx) return }, }, "registerIdentify3UI": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]RegisterIdentify3UIArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { err = i.RegisterIdentify3UI(ctx) return }, }, "registerChatUI": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]RegisterChatUIArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { err = i.RegisterChatUI(ctx) return }, }, "registerLogUI": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]RegisterLogUIArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { err = i.RegisterLogUI(ctx) return }, }, "registerGregorFirehose": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]RegisterGregorFirehoseArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { err = i.RegisterGregorFirehose(ctx) return }, }, "registerGregorFirehoseFiltered": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]RegisterGregorFirehoseFilteredArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]RegisterGregorFirehoseFilteredArg) if !ok { err = rpc.NewTypeError((*[1]RegisterGregorFirehoseFilteredArg)(nil), args) @@ -166,47 +175,47 @@ type DelegateUiCtlClient struct { } func (c DelegateUiCtlClient) RegisterIdentifyUI(ctx context.Context) (err error) { - err = c.Cli.Call(ctx, "keybase.1.delegateUiCtl.registerIdentifyUI", []interface{}{RegisterIdentifyUIArg{}}, nil, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.delegateUiCtl.registerIdentifyUI", []any{RegisterIdentifyUIArg{}}, nil, 0*time.Millisecond) return } func (c DelegateUiCtlClient) RegisterSecretUI(ctx context.Context) (err error) { - err = c.Cli.Call(ctx, "keybase.1.delegateUiCtl.registerSecretUI", []interface{}{RegisterSecretUIArg{}}, nil, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.delegateUiCtl.registerSecretUI", []any{RegisterSecretUIArg{}}, nil, 0*time.Millisecond) return } func (c DelegateUiCtlClient) RegisterUpdateUI(ctx context.Context) (err error) { - err = c.Cli.Call(ctx, "keybase.1.delegateUiCtl.registerUpdateUI", []interface{}{RegisterUpdateUIArg{}}, nil, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.delegateUiCtl.registerUpdateUI", []any{RegisterUpdateUIArg{}}, nil, 0*time.Millisecond) return } func (c DelegateUiCtlClient) RegisterRekeyUI(ctx context.Context) (err error) { - err = c.Cli.Call(ctx, "keybase.1.delegateUiCtl.registerRekeyUI", []interface{}{RegisterRekeyUIArg{}}, nil, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.delegateUiCtl.registerRekeyUI", []any{RegisterRekeyUIArg{}}, nil, 0*time.Millisecond) return } func (c DelegateUiCtlClient) RegisterHomeUI(ctx context.Context) (err error) { - err = c.Cli.Call(ctx, "keybase.1.delegateUiCtl.registerHomeUI", []interface{}{RegisterHomeUIArg{}}, nil, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.delegateUiCtl.registerHomeUI", []any{RegisterHomeUIArg{}}, nil, 0*time.Millisecond) return } func (c DelegateUiCtlClient) RegisterIdentify3UI(ctx context.Context) (err error) { - err = c.Cli.Call(ctx, "keybase.1.delegateUiCtl.registerIdentify3UI", []interface{}{RegisterIdentify3UIArg{}}, nil, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.delegateUiCtl.registerIdentify3UI", []any{RegisterIdentify3UIArg{}}, nil, 0*time.Millisecond) return } func (c DelegateUiCtlClient) RegisterChatUI(ctx context.Context) (err error) { - err = c.Cli.Call(ctx, "keybase.1.delegateUiCtl.registerChatUI", []interface{}{RegisterChatUIArg{}}, nil, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.delegateUiCtl.registerChatUI", []any{RegisterChatUIArg{}}, nil, 0*time.Millisecond) return } func (c DelegateUiCtlClient) RegisterLogUI(ctx context.Context) (err error) { - err = c.Cli.Call(ctx, "keybase.1.delegateUiCtl.registerLogUI", []interface{}{RegisterLogUIArg{}}, nil, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.delegateUiCtl.registerLogUI", []any{RegisterLogUIArg{}}, nil, 0*time.Millisecond) return } func (c DelegateUiCtlClient) RegisterGregorFirehose(ctx context.Context) (err error) { - err = c.Cli.Call(ctx, "keybase.1.delegateUiCtl.registerGregorFirehose", []interface{}{RegisterGregorFirehoseArg{}}, nil, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.delegateUiCtl.registerGregorFirehose", []any{RegisterGregorFirehoseArg{}}, nil, 0*time.Millisecond) return } @@ -215,6 +224,6 @@ func (c DelegateUiCtlClient) RegisterGregorFirehose(ctx context.Context) (err er // Like the firehose handler, but less pressure. func (c DelegateUiCtlClient) RegisterGregorFirehoseFiltered(ctx context.Context, systems []string) (err error) { __arg := RegisterGregorFirehoseFilteredArg{Systems: systems} - err = c.Cli.Call(ctx, "keybase.1.delegateUiCtl.registerGregorFirehoseFiltered", []interface{}{__arg}, nil, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.delegateUiCtl.registerGregorFirehoseFiltered", []any{__arg}, nil, 0*time.Millisecond) return } diff --git a/go/protocol/keybase1/device.go b/go/protocol/keybase1/device.go index 0ecd0dafa99c..243af1ced599 100644 --- a/go/protocol/keybase1/device.go +++ b/go/protocol/keybase1/device.go @@ -1,4 +1,4 @@ -// Auto-generated to Go types and interfaces using avdl-compiler v1.4.10 (https://github.com/keybase/node-avdl-compiler) +// Code generated to Go types and interfaces using avdl-compiler v1.4.10 (https://github.com/keybase/node-avdl-compiler). DO NOT EDIT. // Input file: avdl/keybase1/device.avdl package keybase1 @@ -75,7 +75,8 @@ type CheckDeviceNameFormatArg struct { Name string `codec:"name" json:"name"` } -type DismissDeviceChangeNotificationsArg struct{} +type DismissDeviceChangeNotificationsArg struct { +} type CheckDeviceNameForUserArg struct { SessionID int `codec:"sessionID" json:"sessionID"` @@ -109,11 +110,11 @@ func DeviceProtocol(i DeviceInterface) rpc.Protocol { Name: "keybase.1.device", Methods: map[string]rpc.ServeHandlerDescription{ "deviceList": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]DeviceListArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]DeviceListArg) if !ok { err = rpc.NewTypeError((*[1]DeviceListArg)(nil), args) @@ -124,11 +125,11 @@ func DeviceProtocol(i DeviceInterface) rpc.Protocol { }, }, "deviceHistoryList": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]DeviceHistoryListArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]DeviceHistoryListArg) if !ok { err = rpc.NewTypeError((*[1]DeviceHistoryListArg)(nil), args) @@ -139,11 +140,11 @@ func DeviceProtocol(i DeviceInterface) rpc.Protocol { }, }, "deviceAdd": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]DeviceAddArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]DeviceAddArg) if !ok { err = rpc.NewTypeError((*[1]DeviceAddArg)(nil), args) @@ -154,11 +155,11 @@ func DeviceProtocol(i DeviceInterface) rpc.Protocol { }, }, "checkDeviceNameFormat": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]CheckDeviceNameFormatArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]CheckDeviceNameFormatArg) if !ok { err = rpc.NewTypeError((*[1]CheckDeviceNameFormatArg)(nil), args) @@ -169,21 +170,21 @@ func DeviceProtocol(i DeviceInterface) rpc.Protocol { }, }, "dismissDeviceChangeNotifications": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]DismissDeviceChangeNotificationsArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { err = i.DismissDeviceChangeNotifications(ctx) return }, }, "checkDeviceNameForUser": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]CheckDeviceNameForUserArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]CheckDeviceNameForUserArg) if !ok { err = rpc.NewTypeError((*[1]CheckDeviceNameForUserArg)(nil), args) @@ -204,14 +205,14 @@ type DeviceClient struct { // List devices for the user. func (c DeviceClient) DeviceList(ctx context.Context, sessionID int) (res []Device, err error) { __arg := DeviceListArg{SessionID: sessionID} - err = c.Cli.Call(ctx, "keybase.1.device.deviceList", []interface{}{__arg}, &res, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.device.deviceList", []any{__arg}, &res, 0*time.Millisecond) return } // List all devices with detailed history and status information. func (c DeviceClient) DeviceHistoryList(ctx context.Context, sessionID int) (res []DeviceDetail, err error) { __arg := DeviceHistoryListArg{SessionID: sessionID} - err = c.Cli.Call(ctx, "keybase.1.device.deviceHistoryList", []interface{}{__arg}, &res, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.device.deviceHistoryList", []any{__arg}, &res, 0*time.Millisecond) return } @@ -220,20 +221,20 @@ func (c DeviceClient) DeviceHistoryList(ctx context.Context, sessionID int) (res // This is for kex2. func (c DeviceClient) DeviceAdd(ctx context.Context, sessionID int) (err error) { __arg := DeviceAddArg{SessionID: sessionID} - err = c.Cli.Call(ctx, "keybase.1.device.deviceAdd", []interface{}{__arg}, nil, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.device.deviceAdd", []any{__arg}, nil, 0*time.Millisecond) return } // Checks the device name format. func (c DeviceClient) CheckDeviceNameFormat(ctx context.Context, __arg CheckDeviceNameFormatArg) (res bool, err error) { - err = c.Cli.Call(ctx, "keybase.1.device.checkDeviceNameFormat", []interface{}{__arg}, &res, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.device.checkDeviceNameFormat", []any{__arg}, &res, 0*time.Millisecond) return } // Dismisses the notifications for a new or revoked device // assuming this is not that device. func (c DeviceClient) DismissDeviceChangeNotifications(ctx context.Context) (err error) { - err = c.Cli.Call(ctx, "keybase.1.device.dismissDeviceChangeNotifications", []interface{}{DismissDeviceChangeNotificationsArg{}}, nil, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.device.dismissDeviceChangeNotifications", []any{DismissDeviceChangeNotificationsArg{}}, nil, 0*time.Millisecond) return } @@ -242,6 +243,6 @@ func (c DeviceClient) DismissDeviceChangeNotifications(ctx context.Context) (err // for proper formatting. Return null error on success, and a non-null // error otherwise. func (c DeviceClient) CheckDeviceNameForUser(ctx context.Context, __arg CheckDeviceNameForUserArg) (err error) { - err = c.Cli.Call(ctx, "keybase.1.device.checkDeviceNameForUser", []interface{}{__arg}, nil, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.device.checkDeviceNameForUser", []any{__arg}, nil, 0*time.Millisecond) return } diff --git a/go/protocol/keybase1/emails.go b/go/protocol/keybase1/emails.go index 36caa8cd0dfe..90dac217fda5 100644 --- a/go/protocol/keybase1/emails.go +++ b/go/protocol/keybase1/emails.go @@ -1,4 +1,4 @@ -// Auto-generated to Go types and interfaces using avdl-compiler v1.4.10 (https://github.com/keybase/node-avdl-compiler) +// Code generated to Go types and interfaces using avdl-compiler v1.4.10 (https://github.com/keybase/node-avdl-compiler). DO NOT EDIT. // Input file: avdl/keybase1/emails.avdl package keybase1 @@ -107,11 +107,11 @@ func EmailsProtocol(i EmailsInterface) rpc.Protocol { Name: "keybase.1.emails", Methods: map[string]rpc.ServeHandlerDescription{ "addEmail": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]AddEmailArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]AddEmailArg) if !ok { err = rpc.NewTypeError((*[1]AddEmailArg)(nil), args) @@ -122,11 +122,11 @@ func EmailsProtocol(i EmailsInterface) rpc.Protocol { }, }, "deleteEmail": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]DeleteEmailArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]DeleteEmailArg) if !ok { err = rpc.NewTypeError((*[1]DeleteEmailArg)(nil), args) @@ -137,11 +137,11 @@ func EmailsProtocol(i EmailsInterface) rpc.Protocol { }, }, "editEmail": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]EditEmailArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]EditEmailArg) if !ok { err = rpc.NewTypeError((*[1]EditEmailArg)(nil), args) @@ -152,11 +152,11 @@ func EmailsProtocol(i EmailsInterface) rpc.Protocol { }, }, "setPrimaryEmail": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]SetPrimaryEmailArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]SetPrimaryEmailArg) if !ok { err = rpc.NewTypeError((*[1]SetPrimaryEmailArg)(nil), args) @@ -167,11 +167,11 @@ func EmailsProtocol(i EmailsInterface) rpc.Protocol { }, }, "sendVerificationEmail": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]SendVerificationEmailArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]SendVerificationEmailArg) if !ok { err = rpc.NewTypeError((*[1]SendVerificationEmailArg)(nil), args) @@ -182,11 +182,11 @@ func EmailsProtocol(i EmailsInterface) rpc.Protocol { }, }, "setVisibilityEmail": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]SetVisibilityEmailArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]SetVisibilityEmailArg) if !ok { err = rpc.NewTypeError((*[1]SetVisibilityEmailArg)(nil), args) @@ -197,11 +197,11 @@ func EmailsProtocol(i EmailsInterface) rpc.Protocol { }, }, "setVisibilityAllEmail": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]SetVisibilityAllEmailArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]SetVisibilityAllEmailArg) if !ok { err = rpc.NewTypeError((*[1]SetVisibilityAllEmailArg)(nil), args) @@ -212,11 +212,11 @@ func EmailsProtocol(i EmailsInterface) rpc.Protocol { }, }, "getEmails": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]GetEmailsArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]GetEmailsArg) if !ok { err = rpc.NewTypeError((*[1]GetEmailsArg)(nil), args) @@ -235,42 +235,42 @@ type EmailsClient struct { } func (c EmailsClient) AddEmail(ctx context.Context, __arg AddEmailArg) (err error) { - err = c.Cli.Call(ctx, "keybase.1.emails.addEmail", []interface{}{__arg}, nil, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.emails.addEmail", []any{__arg}, nil, 0*time.Millisecond) return } func (c EmailsClient) DeleteEmail(ctx context.Context, __arg DeleteEmailArg) (err error) { - err = c.Cli.Call(ctx, "keybase.1.emails.deleteEmail", []interface{}{__arg}, nil, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.emails.deleteEmail", []any{__arg}, nil, 0*time.Millisecond) return } func (c EmailsClient) EditEmail(ctx context.Context, __arg EditEmailArg) (err error) { - err = c.Cli.Call(ctx, "keybase.1.emails.editEmail", []interface{}{__arg}, nil, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.emails.editEmail", []any{__arg}, nil, 0*time.Millisecond) return } func (c EmailsClient) SetPrimaryEmail(ctx context.Context, __arg SetPrimaryEmailArg) (err error) { - err = c.Cli.Call(ctx, "keybase.1.emails.setPrimaryEmail", []interface{}{__arg}, nil, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.emails.setPrimaryEmail", []any{__arg}, nil, 0*time.Millisecond) return } func (c EmailsClient) SendVerificationEmail(ctx context.Context, __arg SendVerificationEmailArg) (err error) { - err = c.Cli.Call(ctx, "keybase.1.emails.sendVerificationEmail", []interface{}{__arg}, nil, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.emails.sendVerificationEmail", []any{__arg}, nil, 0*time.Millisecond) return } func (c EmailsClient) SetVisibilityEmail(ctx context.Context, __arg SetVisibilityEmailArg) (err error) { - err = c.Cli.Call(ctx, "keybase.1.emails.setVisibilityEmail", []interface{}{__arg}, nil, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.emails.setVisibilityEmail", []any{__arg}, nil, 0*time.Millisecond) return } func (c EmailsClient) SetVisibilityAllEmail(ctx context.Context, __arg SetVisibilityAllEmailArg) (err error) { - err = c.Cli.Call(ctx, "keybase.1.emails.setVisibilityAllEmail", []interface{}{__arg}, nil, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.emails.setVisibilityAllEmail", []any{__arg}, nil, 0*time.Millisecond) return } func (c EmailsClient) GetEmails(ctx context.Context, sessionID int) (res []Email, err error) { __arg := GetEmailsArg{SessionID: sessionID} - err = c.Cli.Call(ctx, "keybase.1.emails.getEmails", []interface{}{__arg}, &res, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.emails.getEmails", []any{__arg}, &res, 0*time.Millisecond) return } diff --git a/go/protocol/keybase1/ephemeral.go b/go/protocol/keybase1/ephemeral.go index 7369a8dc04d5..c2c191a761be 100644 --- a/go/protocol/keybase1/ephemeral.go +++ b/go/protocol/keybase1/ephemeral.go @@ -1,4 +1,4 @@ -// Auto-generated to Go types and interfaces using avdl-compiler v1.4.10 (https://github.com/keybase/node-avdl-compiler) +// Code generated to Go types and interfaces using avdl-compiler v1.4.10 (https://github.com/keybase/node-avdl-compiler). DO NOT EDIT. // Input file: avdl/keybase1/ephemeral.avdl package keybase1 @@ -424,7 +424,8 @@ func (o TeamEphemeralKeyBoxed) DeepCopy() TeamEphemeralKeyBoxed { } } -type EphemeralInterface interface{} +type EphemeralInterface interface { +} func EphemeralProtocol(i EphemeralInterface) rpc.Protocol { return rpc.Protocol{ diff --git a/go/protocol/keybase1/extras.go b/go/protocol/keybase1/extras.go index abdab93daf68..bebdd673e0f2 100644 --- a/go/protocol/keybase1/extras.go +++ b/go/protocol/keybase1/extras.go @@ -18,6 +18,7 @@ import ( "math" "reflect" "regexp" + "slices" "sort" "strconv" "strings" @@ -1269,7 +1270,7 @@ type ToStatusAble interface { // status object. If it is something that can be made into a Status object via the // ToStatusAble interface, then we'll try that. Otherwise, we'll just make a generic // Error type. -func WrapError(e error) interface{} { +func WrapError(e error) any { if e == nil { return nil } @@ -1309,13 +1310,13 @@ type ErrorUnwrapper struct { // MakeArg just makes a dummy object that we can unmarshal into, as needed by the // underlying RPC library. -func (eu ErrorUnwrapper) MakeArg() interface{} { +func (eu ErrorUnwrapper) MakeArg() any { return &Status{} } // UnwrapError takes an incoming RPC object, attempts to coerce it into a Status // object, and then Upcasts via the Upcaster or just returns if not was provided. -func (eu ErrorUnwrapper) UnwrapError(arg interface{}) (appError, dispatchError error) { +func (eu ErrorUnwrapper) UnwrapError(arg any) (appError, dispatchError error) { targ, ok := arg.(*Status) if !ok { dispatchError = errors.New("Error converting status to keybase1.Status object") @@ -2402,7 +2403,7 @@ func (t TeamName) IsAncestorOf(other TeamName) bool { return false } - for i := 0; i < depth; i++ { + for i := range depth { if !other.Parts[i].Eq(t.Parts[i]) { return false } @@ -2685,13 +2686,6 @@ func (e *TeamInviteMaxUses) IsNotNilAndValid() bool { return e != nil && (*e > 0 || *e == TeamMaxUsesInfinite) } -func max(a, b int) int { - if a >= b { - return a - } - return b -} - func (ti TeamInvite) UsesLeftString(alreadyUsed int) string { if ti.IsInfiniteUses() { return "unlimited uses left" @@ -3262,7 +3256,7 @@ func (fct FolderConflictType) MarshalText() ([]byte, error) { case FolderConflictType_IN_CONFLICT_AND_STUCK: return []byte("in conflict and stuck"), nil default: - return []byte(fmt.Sprintf("unknown conflict type: %d", fct)), nil + return fmt.Appendf(nil, "unknown conflict type: %d", fct), nil } } @@ -3985,10 +3979,8 @@ func (s *TeamBotSettings) ConvIDAllowed(strCID string) bool { if s == nil { return true } - for _, strConvID := range s.Convs { - if strCID == strConvID { - return true - } + if slices.Contains(s.Convs, strCID) { + return true } return len(s.Convs) == 0 } @@ -4141,7 +4133,7 @@ func (e TeamSearchExport) Hash() string { rounder := int(math.Pow(10, log)) value := (team.MemberCount / rounder) * rounder hasher.Write(team.Id.ToBytes()) - hasher.Write([]byte(fmt.Sprintf("%d", value))) + hasher.Write(fmt.Appendf(nil, "%d", value)) } for _, id := range e.Suggested { hasher.Write(id.ToBytes()) diff --git a/go/protocol/keybase1/favorite.go b/go/protocol/keybase1/favorite.go index a0909d7670f6..de26b7c7f4bb 100644 --- a/go/protocol/keybase1/favorite.go +++ b/go/protocol/keybase1/favorite.go @@ -1,4 +1,4 @@ -// Auto-generated to Go types and interfaces using avdl-compiler v1.4.10 (https://github.com/keybase/node-avdl-compiler) +// Code generated to Go types and interfaces using avdl-compiler v1.4.10 (https://github.com/keybase/node-avdl-compiler). DO NOT EDIT. // Input file: avdl/keybase1/favorite.avdl package keybase1 @@ -361,11 +361,11 @@ func FavoriteProtocol(i FavoriteInterface) rpc.Protocol { Name: "keybase.1.favorite", Methods: map[string]rpc.ServeHandlerDescription{ "favoriteAdd": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]FavoriteAddArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]FavoriteAddArg) if !ok { err = rpc.NewTypeError((*[1]FavoriteAddArg)(nil), args) @@ -376,11 +376,11 @@ func FavoriteProtocol(i FavoriteInterface) rpc.Protocol { }, }, "favoriteIgnore": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]FavoriteIgnoreArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]FavoriteIgnoreArg) if !ok { err = rpc.NewTypeError((*[1]FavoriteIgnoreArg)(nil), args) @@ -391,11 +391,11 @@ func FavoriteProtocol(i FavoriteInterface) rpc.Protocol { }, }, "getFavorites": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]GetFavoritesArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]GetFavoritesArg) if !ok { err = rpc.NewTypeError((*[1]GetFavoritesArg)(nil), args) @@ -415,19 +415,19 @@ type FavoriteClient struct { // Adds a folder to a user's list of favorite folders. func (c FavoriteClient) FavoriteAdd(ctx context.Context, __arg FavoriteAddArg) (err error) { - err = c.Cli.Call(ctx, "keybase.1.favorite.favoriteAdd", []interface{}{__arg}, nil, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.favorite.favoriteAdd", []any{__arg}, nil, 0*time.Millisecond) return } // Removes a folder from a user's list of favorite folders. func (c FavoriteClient) FavoriteIgnore(ctx context.Context, __arg FavoriteIgnoreArg) (err error) { - err = c.Cli.Call(ctx, "keybase.1.favorite.favoriteIgnore", []interface{}{__arg}, nil, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.favorite.favoriteIgnore", []any{__arg}, nil, 0*time.Millisecond) return } // Returns all of a user's favorite folders. func (c FavoriteClient) GetFavorites(ctx context.Context, sessionID int) (res FavoritesResult, err error) { __arg := GetFavoritesArg{SessionID: sessionID} - err = c.Cli.Call(ctx, "keybase.1.favorite.getFavorites", []interface{}{__arg}, &res, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.favorite.getFavorites", []any{__arg}, &res, 0*time.Millisecond) return } diff --git a/go/protocol/keybase1/featured_bot.go b/go/protocol/keybase1/featured_bot.go index 8abffd2b6884..10567685ec32 100644 --- a/go/protocol/keybase1/featured_bot.go +++ b/go/protocol/keybase1/featured_bot.go @@ -1,4 +1,4 @@ -// Auto-generated to Go types and interfaces using avdl-compiler v1.4.10 (https://github.com/keybase/node-avdl-compiler) +// Code generated to Go types and interfaces using avdl-compiler v1.4.10 (https://github.com/keybase/node-avdl-compiler). DO NOT EDIT. // Input file: avdl/keybase1/featured_bot.avdl package keybase1 @@ -121,11 +121,11 @@ func FeaturedBotProtocol(i FeaturedBotInterface) rpc.Protocol { Name: "keybase.1.featuredBot", Methods: map[string]rpc.ServeHandlerDescription{ "featuredBots": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]FeaturedBotsArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]FeaturedBotsArg) if !ok { err = rpc.NewTypeError((*[1]FeaturedBotsArg)(nil), args) @@ -136,11 +136,11 @@ func FeaturedBotProtocol(i FeaturedBotInterface) rpc.Protocol { }, }, "search": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]SearchArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]SearchArg) if !ok { err = rpc.NewTypeError((*[1]SearchArg)(nil), args) @@ -151,11 +151,11 @@ func FeaturedBotProtocol(i FeaturedBotInterface) rpc.Protocol { }, }, "searchLocal": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]SearchLocalArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]SearchLocalArg) if !ok { err = rpc.NewTypeError((*[1]SearchLocalArg)(nil), args) @@ -174,16 +174,16 @@ type FeaturedBotClient struct { } func (c FeaturedBotClient) FeaturedBots(ctx context.Context, __arg FeaturedBotsArg) (res FeaturedBotsRes, err error) { - err = c.Cli.Call(ctx, "keybase.1.featuredBot.featuredBots", []interface{}{__arg}, &res, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.featuredBot.featuredBots", []any{__arg}, &res, 0*time.Millisecond) return } func (c FeaturedBotClient) Search(ctx context.Context, __arg SearchArg) (res SearchRes, err error) { - err = c.Cli.Call(ctx, "keybase.1.featuredBot.search", []interface{}{__arg}, &res, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.featuredBot.search", []any{__arg}, &res, 0*time.Millisecond) return } func (c FeaturedBotClient) SearchLocal(ctx context.Context, __arg SearchLocalArg) (res SearchRes, err error) { - err = c.Cli.Call(ctx, "keybase.1.featuredBot.searchLocal", []interface{}{__arg}, &res, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.featuredBot.searchLocal", []any{__arg}, &res, 0*time.Millisecond) return } diff --git a/go/protocol/keybase1/fs.go b/go/protocol/keybase1/fs.go index a4cb8d39938c..36124b49d0e9 100644 --- a/go/protocol/keybase1/fs.go +++ b/go/protocol/keybase1/fs.go @@ -1,4 +1,4 @@ -// Auto-generated to Go types and interfaces using avdl-compiler v1.4.10 (https://github.com/keybase/node-avdl-compiler) +// Code generated to Go types and interfaces using avdl-compiler v1.4.10 (https://github.com/keybase/node-avdl-compiler). DO NOT EDIT. // Input file: avdl/keybase1/fs.avdl package keybase1 @@ -55,11 +55,11 @@ func FsProtocol(i FsInterface) rpc.Protocol { Name: "keybase.1.fs", Methods: map[string]rpc.ServeHandlerDescription{ "List": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]ListArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]ListArg) if !ok { err = rpc.NewTypeError((*[1]ListArg)(nil), args) @@ -79,6 +79,6 @@ type FsClient struct { // List files in a path. Implemented by KBFS service. func (c FsClient) List(ctx context.Context, __arg ListArg) (res ListResult, err error) { - err = c.Cli.Call(ctx, "keybase.1.fs.List", []interface{}{__arg}, &res, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.fs.List", []any{__arg}, &res, 0*time.Millisecond) return } diff --git a/go/protocol/keybase1/git.go b/go/protocol/keybase1/git.go index 1992c754d0f3..35bc58146296 100644 --- a/go/protocol/keybase1/git.go +++ b/go/protocol/keybase1/git.go @@ -1,4 +1,4 @@ -// Auto-generated to Go types and interfaces using avdl-compiler v1.4.10 (https://github.com/keybase/node-avdl-compiler) +// Code generated to Go types and interfaces using avdl-compiler v1.4.10 (https://github.com/keybase/node-avdl-compiler). DO NOT EDIT. // Input file: avdl/keybase1/git.avdl package keybase1 @@ -401,7 +401,8 @@ type GetGitMetadataArg struct { Folder FolderHandle `codec:"folder" json:"folder"` } -type GetAllGitMetadataArg struct{} +type GetAllGitMetadataArg struct { +} type CreatePersonalRepoArg struct { RepoName GitRepoName `codec:"repoName" json:"repoName"` @@ -466,11 +467,11 @@ func GitProtocol(i GitInterface) rpc.Protocol { Name: "keybase.1.git", Methods: map[string]rpc.ServeHandlerDescription{ "putGitMetadata": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]PutGitMetadataArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]PutGitMetadataArg) if !ok { err = rpc.NewTypeError((*[1]PutGitMetadataArg)(nil), args) @@ -481,11 +482,11 @@ func GitProtocol(i GitInterface) rpc.Protocol { }, }, "deleteGitMetadata": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]DeleteGitMetadataArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]DeleteGitMetadataArg) if !ok { err = rpc.NewTypeError((*[1]DeleteGitMetadataArg)(nil), args) @@ -496,11 +497,11 @@ func GitProtocol(i GitInterface) rpc.Protocol { }, }, "getGitMetadata": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]GetGitMetadataArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]GetGitMetadataArg) if !ok { err = rpc.NewTypeError((*[1]GetGitMetadataArg)(nil), args) @@ -511,21 +512,21 @@ func GitProtocol(i GitInterface) rpc.Protocol { }, }, "getAllGitMetadata": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]GetAllGitMetadataArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { ret, err = i.GetAllGitMetadata(ctx) return }, }, "createPersonalRepo": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]CreatePersonalRepoArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]CreatePersonalRepoArg) if !ok { err = rpc.NewTypeError((*[1]CreatePersonalRepoArg)(nil), args) @@ -536,11 +537,11 @@ func GitProtocol(i GitInterface) rpc.Protocol { }, }, "createTeamRepo": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]CreateTeamRepoArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]CreateTeamRepoArg) if !ok { err = rpc.NewTypeError((*[1]CreateTeamRepoArg)(nil), args) @@ -551,11 +552,11 @@ func GitProtocol(i GitInterface) rpc.Protocol { }, }, "deletePersonalRepo": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]DeletePersonalRepoArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]DeletePersonalRepoArg) if !ok { err = rpc.NewTypeError((*[1]DeletePersonalRepoArg)(nil), args) @@ -566,11 +567,11 @@ func GitProtocol(i GitInterface) rpc.Protocol { }, }, "deleteTeamRepo": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]DeleteTeamRepoArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]DeleteTeamRepoArg) if !ok { err = rpc.NewTypeError((*[1]DeleteTeamRepoArg)(nil), args) @@ -581,11 +582,11 @@ func GitProtocol(i GitInterface) rpc.Protocol { }, }, "gcPersonalRepo": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]GcPersonalRepoArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]GcPersonalRepoArg) if !ok { err = rpc.NewTypeError((*[1]GcPersonalRepoArg)(nil), args) @@ -596,11 +597,11 @@ func GitProtocol(i GitInterface) rpc.Protocol { }, }, "gcTeamRepo": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]GcTeamRepoArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]GcTeamRepoArg) if !ok { err = rpc.NewTypeError((*[1]GcTeamRepoArg)(nil), args) @@ -611,11 +612,11 @@ func GitProtocol(i GitInterface) rpc.Protocol { }, }, "getTeamRepoSettings": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]GetTeamRepoSettingsArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]GetTeamRepoSettingsArg) if !ok { err = rpc.NewTypeError((*[1]GetTeamRepoSettingsArg)(nil), args) @@ -626,11 +627,11 @@ func GitProtocol(i GitInterface) rpc.Protocol { }, }, "setTeamRepoSettings": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]SetTeamRepoSettingsArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]SetTeamRepoSettingsArg) if !ok { err = rpc.NewTypeError((*[1]SetTeamRepoSettingsArg)(nil), args) @@ -649,64 +650,64 @@ type GitClient struct { } func (c GitClient) PutGitMetadata(ctx context.Context, __arg PutGitMetadataArg) (err error) { - err = c.Cli.Call(ctx, "keybase.1.git.putGitMetadata", []interface{}{__arg}, nil, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.git.putGitMetadata", []any{__arg}, nil, 0*time.Millisecond) return } func (c GitClient) DeleteGitMetadata(ctx context.Context, __arg DeleteGitMetadataArg) (err error) { - err = c.Cli.Call(ctx, "keybase.1.git.deleteGitMetadata", []interface{}{__arg}, nil, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.git.deleteGitMetadata", []any{__arg}, nil, 0*time.Millisecond) return } func (c GitClient) GetGitMetadata(ctx context.Context, folder FolderHandle) (res []GitRepoResult, err error) { __arg := GetGitMetadataArg{Folder: folder} - err = c.Cli.Call(ctx, "keybase.1.git.getGitMetadata", []interface{}{__arg}, &res, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.git.getGitMetadata", []any{__arg}, &res, 0*time.Millisecond) return } func (c GitClient) GetAllGitMetadata(ctx context.Context) (res []GitRepoResult, err error) { - err = c.Cli.Call(ctx, "keybase.1.git.getAllGitMetadata", []interface{}{GetAllGitMetadataArg{}}, &res, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.git.getAllGitMetadata", []any{GetAllGitMetadataArg{}}, &res, 0*time.Millisecond) return } func (c GitClient) CreatePersonalRepo(ctx context.Context, repoName GitRepoName) (res RepoID, err error) { __arg := CreatePersonalRepoArg{RepoName: repoName} - err = c.Cli.Call(ctx, "keybase.1.git.createPersonalRepo", []interface{}{__arg}, &res, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.git.createPersonalRepo", []any{__arg}, &res, 0*time.Millisecond) return } func (c GitClient) CreateTeamRepo(ctx context.Context, __arg CreateTeamRepoArg) (res RepoID, err error) { - err = c.Cli.Call(ctx, "keybase.1.git.createTeamRepo", []interface{}{__arg}, &res, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.git.createTeamRepo", []any{__arg}, &res, 0*time.Millisecond) return } func (c GitClient) DeletePersonalRepo(ctx context.Context, repoName GitRepoName) (err error) { __arg := DeletePersonalRepoArg{RepoName: repoName} - err = c.Cli.Call(ctx, "keybase.1.git.deletePersonalRepo", []interface{}{__arg}, nil, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.git.deletePersonalRepo", []any{__arg}, nil, 0*time.Millisecond) return } func (c GitClient) DeleteTeamRepo(ctx context.Context, __arg DeleteTeamRepoArg) (err error) { - err = c.Cli.Call(ctx, "keybase.1.git.deleteTeamRepo", []interface{}{__arg}, nil, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.git.deleteTeamRepo", []any{__arg}, nil, 0*time.Millisecond) return } func (c GitClient) GcPersonalRepo(ctx context.Context, __arg GcPersonalRepoArg) (err error) { - err = c.Cli.Call(ctx, "keybase.1.git.gcPersonalRepo", []interface{}{__arg}, nil, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.git.gcPersonalRepo", []any{__arg}, nil, 0*time.Millisecond) return } func (c GitClient) GcTeamRepo(ctx context.Context, __arg GcTeamRepoArg) (err error) { - err = c.Cli.Call(ctx, "keybase.1.git.gcTeamRepo", []interface{}{__arg}, nil, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.git.gcTeamRepo", []any{__arg}, nil, 0*time.Millisecond) return } func (c GitClient) GetTeamRepoSettings(ctx context.Context, __arg GetTeamRepoSettingsArg) (res GitTeamRepoSettings, err error) { - err = c.Cli.Call(ctx, "keybase.1.git.getTeamRepoSettings", []interface{}{__arg}, &res, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.git.getTeamRepoSettings", []any{__arg}, &res, 0*time.Millisecond) return } func (c GitClient) SetTeamRepoSettings(ctx context.Context, __arg SetTeamRepoSettingsArg) (err error) { - err = c.Cli.Call(ctx, "keybase.1.git.setTeamRepoSettings", []interface{}{__arg}, nil, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.git.setTeamRepoSettings", []any{__arg}, nil, 0*time.Millisecond) return } diff --git a/go/protocol/keybase1/gpg_common.go b/go/protocol/keybase1/gpg_common.go index 5a2d9789fbdc..66fdf22550c7 100644 --- a/go/protocol/keybase1/gpg_common.go +++ b/go/protocol/keybase1/gpg_common.go @@ -1,4 +1,4 @@ -// Auto-generated to Go types and interfaces using avdl-compiler v1.4.10 (https://github.com/keybase/node-avdl-compiler) +// Code generated to Go types and interfaces using avdl-compiler v1.4.10 (https://github.com/keybase/node-avdl-compiler). DO NOT EDIT. // Input file: avdl/keybase1/gpg_common.avdl package keybase1 @@ -35,7 +35,8 @@ func (o GPGKey) DeepCopy() GPGKey { } } -type GpgCommonInterface interface{} +type GpgCommonInterface interface { +} func GpgCommonProtocol(i GpgCommonInterface) rpc.Protocol { return rpc.Protocol{ diff --git a/go/protocol/keybase1/gpg_ui.go b/go/protocol/keybase1/gpg_ui.go index b1d0917ca467..fae04cf48678 100644 --- a/go/protocol/keybase1/gpg_ui.go +++ b/go/protocol/keybase1/gpg_ui.go @@ -1,4 +1,4 @@ -// Auto-generated to Go types and interfaces using avdl-compiler v1.4.10 (https://github.com/keybase/node-avdl-compiler) +// Code generated to Go types and interfaces using avdl-compiler v1.4.10 (https://github.com/keybase/node-avdl-compiler). DO NOT EDIT. // Input file: avdl/keybase1/gpg_ui.avdl package keybase1 @@ -49,7 +49,8 @@ type SignArg struct { Fingerprint []byte `codec:"fingerprint" json:"fingerprint"` } -type GetTTYArg struct{} +type GetTTYArg struct { +} type GpgUiInterface interface { WantToAddGPGKey(context.Context, int) (bool, error) @@ -66,11 +67,11 @@ func GpgUiProtocol(i GpgUiInterface) rpc.Protocol { Name: "keybase.1.gpgUi", Methods: map[string]rpc.ServeHandlerDescription{ "wantToAddGPGKey": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]WantToAddGPGKeyArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]WantToAddGPGKeyArg) if !ok { err = rpc.NewTypeError((*[1]WantToAddGPGKeyArg)(nil), args) @@ -81,11 +82,11 @@ func GpgUiProtocol(i GpgUiInterface) rpc.Protocol { }, }, "confirmDuplicateKeyChosen": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]ConfirmDuplicateKeyChosenArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]ConfirmDuplicateKeyChosenArg) if !ok { err = rpc.NewTypeError((*[1]ConfirmDuplicateKeyChosenArg)(nil), args) @@ -96,11 +97,11 @@ func GpgUiProtocol(i GpgUiInterface) rpc.Protocol { }, }, "confirmImportSecretToExistingKey": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]ConfirmImportSecretToExistingKeyArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]ConfirmImportSecretToExistingKeyArg) if !ok { err = rpc.NewTypeError((*[1]ConfirmImportSecretToExistingKeyArg)(nil), args) @@ -111,11 +112,11 @@ func GpgUiProtocol(i GpgUiInterface) rpc.Protocol { }, }, "selectKeyAndPushOption": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]SelectKeyAndPushOptionArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]SelectKeyAndPushOptionArg) if !ok { err = rpc.NewTypeError((*[1]SelectKeyAndPushOptionArg)(nil), args) @@ -126,11 +127,11 @@ func GpgUiProtocol(i GpgUiInterface) rpc.Protocol { }, }, "selectKey": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]SelectKeyArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]SelectKeyArg) if !ok { err = rpc.NewTypeError((*[1]SelectKeyArg)(nil), args) @@ -141,11 +142,11 @@ func GpgUiProtocol(i GpgUiInterface) rpc.Protocol { }, }, "sign": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]SignArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]SignArg) if !ok { err = rpc.NewTypeError((*[1]SignArg)(nil), args) @@ -156,11 +157,11 @@ func GpgUiProtocol(i GpgUiInterface) rpc.Protocol { }, }, "getTTY": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]GetTTYArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { ret, err = i.GetTTY(ctx) return }, @@ -175,38 +176,38 @@ type GpgUiClient struct { func (c GpgUiClient) WantToAddGPGKey(ctx context.Context, sessionID int) (res bool, err error) { __arg := WantToAddGPGKeyArg{SessionID: sessionID} - err = c.Cli.Call(ctx, "keybase.1.gpgUi.wantToAddGPGKey", []interface{}{__arg}, &res, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.gpgUi.wantToAddGPGKey", []any{__arg}, &res, 0*time.Millisecond) return } func (c GpgUiClient) ConfirmDuplicateKeyChosen(ctx context.Context, sessionID int) (res bool, err error) { __arg := ConfirmDuplicateKeyChosenArg{SessionID: sessionID} - err = c.Cli.Call(ctx, "keybase.1.gpgUi.confirmDuplicateKeyChosen", []interface{}{__arg}, &res, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.gpgUi.confirmDuplicateKeyChosen", []any{__arg}, &res, 0*time.Millisecond) return } func (c GpgUiClient) ConfirmImportSecretToExistingKey(ctx context.Context, sessionID int) (res bool, err error) { __arg := ConfirmImportSecretToExistingKeyArg{SessionID: sessionID} - err = c.Cli.Call(ctx, "keybase.1.gpgUi.confirmImportSecretToExistingKey", []interface{}{__arg}, &res, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.gpgUi.confirmImportSecretToExistingKey", []any{__arg}, &res, 0*time.Millisecond) return } func (c GpgUiClient) SelectKeyAndPushOption(ctx context.Context, __arg SelectKeyAndPushOptionArg) (res SelectKeyRes, err error) { - err = c.Cli.Call(ctx, "keybase.1.gpgUi.selectKeyAndPushOption", []interface{}{__arg}, &res, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.gpgUi.selectKeyAndPushOption", []any{__arg}, &res, 0*time.Millisecond) return } func (c GpgUiClient) SelectKey(ctx context.Context, __arg SelectKeyArg) (res string, err error) { - err = c.Cli.Call(ctx, "keybase.1.gpgUi.selectKey", []interface{}{__arg}, &res, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.gpgUi.selectKey", []any{__arg}, &res, 0*time.Millisecond) return } func (c GpgUiClient) Sign(ctx context.Context, __arg SignArg) (res string, err error) { - err = c.Cli.Call(ctx, "keybase.1.gpgUi.sign", []interface{}{__arg}, &res, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.gpgUi.sign", []any{__arg}, &res, 0*time.Millisecond) return } func (c GpgUiClient) GetTTY(ctx context.Context) (res string, err error) { - err = c.Cli.Call(ctx, "keybase.1.gpgUi.getTTY", []interface{}{GetTTYArg{}}, &res, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.gpgUi.getTTY", []any{GetTTYArg{}}, &res, 0*time.Millisecond) return } diff --git a/go/protocol/keybase1/gregor.go b/go/protocol/keybase1/gregor.go index a291f1154b9b..cdab70aacad0 100644 --- a/go/protocol/keybase1/gregor.go +++ b/go/protocol/keybase1/gregor.go @@ -1,4 +1,4 @@ -// Auto-generated to Go types and interfaces using avdl-compiler v1.4.10 (https://github.com/keybase/node-avdl-compiler) +// Code generated to Go types and interfaces using avdl-compiler v1.4.10 (https://github.com/keybase/node-avdl-compiler). DO NOT EDIT. // Input file: avdl/keybase1/gregor.avdl package keybase1 @@ -11,7 +11,8 @@ import ( "github.com/keybase/go-framed-msgpack-rpc/rpc" ) -type GetStateArg struct{} +type GetStateArg struct { +} type InjectItemArg struct { Cat string `codec:"cat" json:"cat"` @@ -54,21 +55,21 @@ func GregorProtocol(i GregorInterface) rpc.Protocol { Name: "keybase.1.gregor", Methods: map[string]rpc.ServeHandlerDescription{ "getState": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]GetStateArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { ret, err = i.GetState(ctx) return }, }, "injectItem": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]InjectItemArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]InjectItemArg) if !ok { err = rpc.NewTypeError((*[1]InjectItemArg)(nil), args) @@ -79,11 +80,11 @@ func GregorProtocol(i GregorInterface) rpc.Protocol { }, }, "dismissCategory": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]DismissCategoryArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]DismissCategoryArg) if !ok { err = rpc.NewTypeError((*[1]DismissCategoryArg)(nil), args) @@ -94,11 +95,11 @@ func GregorProtocol(i GregorInterface) rpc.Protocol { }, }, "dismissItem": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]DismissItemArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]DismissItemArg) if !ok { err = rpc.NewTypeError((*[1]DismissItemArg)(nil), args) @@ -109,11 +110,11 @@ func GregorProtocol(i GregorInterface) rpc.Protocol { }, }, "updateItem": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]UpdateItemArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]UpdateItemArg) if !ok { err = rpc.NewTypeError((*[1]UpdateItemArg)(nil), args) @@ -124,11 +125,11 @@ func GregorProtocol(i GregorInterface) rpc.Protocol { }, }, "updateCategory": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]UpdateCategoryArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]UpdateCategoryArg) if !ok { err = rpc.NewTypeError((*[1]UpdateCategoryArg)(nil), args) @@ -147,33 +148,33 @@ type GregorClient struct { } func (c GregorClient) GetState(ctx context.Context) (res gregor1.State, err error) { - err = c.Cli.Call(ctx, "keybase.1.gregor.getState", []interface{}{GetStateArg{}}, &res, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.gregor.getState", []any{GetStateArg{}}, &res, 0*time.Millisecond) return } func (c GregorClient) InjectItem(ctx context.Context, __arg InjectItemArg) (res gregor1.MsgID, err error) { - err = c.Cli.Call(ctx, "keybase.1.gregor.injectItem", []interface{}{__arg}, &res, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.gregor.injectItem", []any{__arg}, &res, 0*time.Millisecond) return } func (c GregorClient) DismissCategory(ctx context.Context, category gregor1.Category) (err error) { __arg := DismissCategoryArg{Category: category} - err = c.Cli.Call(ctx, "keybase.1.gregor.dismissCategory", []interface{}{__arg}, nil, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.gregor.dismissCategory", []any{__arg}, nil, 0*time.Millisecond) return } func (c GregorClient) DismissItem(ctx context.Context, id gregor1.MsgID) (err error) { __arg := DismissItemArg{Id: id} - err = c.Cli.Call(ctx, "keybase.1.gregor.dismissItem", []interface{}{__arg}, nil, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.gregor.dismissItem", []any{__arg}, nil, 0*time.Millisecond) return } func (c GregorClient) UpdateItem(ctx context.Context, __arg UpdateItemArg) (res gregor1.MsgID, err error) { - err = c.Cli.Call(ctx, "keybase.1.gregor.updateItem", []interface{}{__arg}, &res, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.gregor.updateItem", []any{__arg}, &res, 0*time.Millisecond) return } func (c GregorClient) UpdateCategory(ctx context.Context, __arg UpdateCategoryArg) (res gregor1.MsgID, err error) { - err = c.Cli.Call(ctx, "keybase.1.gregor.updateCategory", []interface{}{__arg}, &res, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.gregor.updateCategory", []any{__arg}, &res, 0*time.Millisecond) return } diff --git a/go/protocol/keybase1/gregor_ui.go b/go/protocol/keybase1/gregor_ui.go index 17008a3c0599..a8fb91d5e675 100644 --- a/go/protocol/keybase1/gregor_ui.go +++ b/go/protocol/keybase1/gregor_ui.go @@ -1,4 +1,4 @@ -// Auto-generated to Go types and interfaces using avdl-compiler v1.4.10 (https://github.com/keybase/node-avdl-compiler) +// Code generated to Go types and interfaces using avdl-compiler v1.4.10 (https://github.com/keybase/node-avdl-compiler). DO NOT EDIT. // Input file: avdl/keybase1/gregor_ui.avdl package keybase1 @@ -60,11 +60,11 @@ func GregorUIProtocol(i GregorUIInterface) rpc.Protocol { Name: "keybase.1.gregorUI", Methods: map[string]rpc.ServeHandlerDescription{ "pushState": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]PushStateArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]PushStateArg) if !ok { err = rpc.NewTypeError((*[1]PushStateArg)(nil), args) @@ -75,11 +75,11 @@ func GregorUIProtocol(i GregorUIInterface) rpc.Protocol { }, }, "pushOutOfBandMessages": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]PushOutOfBandMessagesArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]PushOutOfBandMessagesArg) if !ok { err = rpc.NewTypeError((*[1]PushOutOfBandMessagesArg)(nil), args) @@ -98,12 +98,12 @@ type GregorUIClient struct { } func (c GregorUIClient) PushState(ctx context.Context, __arg PushStateArg) (err error) { - err = c.Cli.Notify(ctx, "keybase.1.gregorUI.pushState", []interface{}{__arg}, 0*time.Millisecond) + err = c.Cli.Notify(ctx, "keybase.1.gregorUI.pushState", []any{__arg}, 0*time.Millisecond) return } func (c GregorUIClient) PushOutOfBandMessages(ctx context.Context, oobm []gregor1.OutOfBandMessage) (err error) { __arg := PushOutOfBandMessagesArg{Oobm: oobm} - err = c.Cli.Notify(ctx, "keybase.1.gregorUI.pushOutOfBandMessages", []interface{}{__arg}, 0*time.Millisecond) + err = c.Cli.Notify(ctx, "keybase.1.gregorUI.pushOutOfBandMessages", []any{__arg}, 0*time.Millisecond) return } diff --git a/go/protocol/keybase1/home.go b/go/protocol/keybase1/home.go index e69bcf98a3df..6a2c8889e8da 100644 --- a/go/protocol/keybase1/home.go +++ b/go/protocol/keybase1/home.go @@ -1,4 +1,4 @@ -// Auto-generated to Go types and interfaces using avdl-compiler v1.4.10 (https://github.com/keybase/node-avdl-compiler) +// Code generated to Go types and interfaces using avdl-compiler v1.4.10 (https://github.com/keybase/node-avdl-compiler). DO NOT EDIT. // Input file: avdl/keybase1/home.avdl package keybase1 @@ -900,9 +900,11 @@ type HomeDismissAnnouncementArg struct { I HomeScreenAnnouncementID `codec:"i" json:"i"` } -type HomeActionTakenArg struct{} +type HomeActionTakenArg struct { +} -type HomeMarkViewedArg struct{} +type HomeMarkViewedArg struct { +} type HomeInterface interface { // HomeGetScreen returns the home screen for the current user. @@ -924,11 +926,11 @@ func HomeProtocol(i HomeInterface) rpc.Protocol { Name: "keybase.1.home", Methods: map[string]rpc.ServeHandlerDescription{ "homeGetScreen": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]HomeGetScreenArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]HomeGetScreenArg) if !ok { err = rpc.NewTypeError((*[1]HomeGetScreenArg)(nil), args) @@ -939,11 +941,11 @@ func HomeProtocol(i HomeInterface) rpc.Protocol { }, }, "homeSkipTodoType": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]HomeSkipTodoTypeArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]HomeSkipTodoTypeArg) if !ok { err = rpc.NewTypeError((*[1]HomeSkipTodoTypeArg)(nil), args) @@ -954,11 +956,11 @@ func HomeProtocol(i HomeInterface) rpc.Protocol { }, }, "homeDismissAnnouncement": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]HomeDismissAnnouncementArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]HomeDismissAnnouncementArg) if !ok { err = rpc.NewTypeError((*[1]HomeDismissAnnouncementArg)(nil), args) @@ -969,21 +971,21 @@ func HomeProtocol(i HomeInterface) rpc.Protocol { }, }, "homeActionTaken": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]HomeActionTakenArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { err = i.HomeActionTaken(ctx) return }, }, "homeMarkViewed": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]HomeMarkViewedArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { err = i.HomeMarkViewed(ctx) return }, @@ -1004,28 +1006,28 @@ type HomeClient struct { // the default number will be returned (10). Otherwise, the caller should // specify. func (c HomeClient) HomeGetScreen(ctx context.Context, __arg HomeGetScreenArg) (res HomeScreen, err error) { - err = c.Cli.Call(ctx, "keybase.1.home.homeGetScreen", []interface{}{__arg}, &res, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.home.homeGetScreen", []any{__arg}, &res, 0*time.Millisecond) return } func (c HomeClient) HomeSkipTodoType(ctx context.Context, t HomeScreenTodoType) (err error) { __arg := HomeSkipTodoTypeArg{T: t} - err = c.Cli.Call(ctx, "keybase.1.home.homeSkipTodoType", []interface{}{__arg}, nil, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.home.homeSkipTodoType", []any{__arg}, nil, 0*time.Millisecond) return } func (c HomeClient) HomeDismissAnnouncement(ctx context.Context, i HomeScreenAnnouncementID) (err error) { __arg := HomeDismissAnnouncementArg{I: i} - err = c.Cli.Call(ctx, "keybase.1.home.homeDismissAnnouncement", []interface{}{__arg}, nil, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.home.homeDismissAnnouncement", []any{__arg}, nil, 0*time.Millisecond) return } func (c HomeClient) HomeActionTaken(ctx context.Context) (err error) { - err = c.Cli.Call(ctx, "keybase.1.home.homeActionTaken", []interface{}{HomeActionTakenArg{}}, nil, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.home.homeActionTaken", []any{HomeActionTakenArg{}}, nil, 0*time.Millisecond) return } func (c HomeClient) HomeMarkViewed(ctx context.Context) (err error) { - err = c.Cli.Call(ctx, "keybase.1.home.homeMarkViewed", []interface{}{HomeMarkViewedArg{}}, nil, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.home.homeMarkViewed", []any{HomeMarkViewedArg{}}, nil, 0*time.Millisecond) return } diff --git a/go/protocol/keybase1/home_ui.go b/go/protocol/keybase1/home_ui.go index d2f6e9257565..9bf41511b006 100644 --- a/go/protocol/keybase1/home_ui.go +++ b/go/protocol/keybase1/home_ui.go @@ -1,4 +1,4 @@ -// Auto-generated to Go types and interfaces using avdl-compiler v1.4.10 (https://github.com/keybase/node-avdl-compiler) +// Code generated to Go types and interfaces using avdl-compiler v1.4.10 (https://github.com/keybase/node-avdl-compiler). DO NOT EDIT. // Input file: avdl/keybase1/home_ui.avdl package keybase1 @@ -10,7 +10,8 @@ import ( "github.com/keybase/go-framed-msgpack-rpc/rpc" ) -type HomeUIRefreshArg struct{} +type HomeUIRefreshArg struct { +} type HomeUIInterface interface { HomeUIRefresh(context.Context) error @@ -21,11 +22,11 @@ func HomeUIProtocol(i HomeUIInterface) rpc.Protocol { Name: "keybase.1.homeUI", Methods: map[string]rpc.ServeHandlerDescription{ "homeUIRefresh": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]HomeUIRefreshArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { err = i.HomeUIRefresh(ctx) return }, @@ -39,6 +40,6 @@ type HomeUIClient struct { } func (c HomeUIClient) HomeUIRefresh(ctx context.Context) (err error) { - err = c.Cli.Notify(ctx, "keybase.1.homeUI.homeUIRefresh", []interface{}{HomeUIRefreshArg{}}, 0*time.Millisecond) + err = c.Cli.Notify(ctx, "keybase.1.homeUI.homeUIRefresh", []any{HomeUIRefreshArg{}}, 0*time.Millisecond) return } diff --git a/go/protocol/keybase1/identify.go b/go/protocol/keybase1/identify.go index 5ca4c19c8671..a8acd1414a0f 100644 --- a/go/protocol/keybase1/identify.go +++ b/go/protocol/keybase1/identify.go @@ -1,4 +1,4 @@ -// Auto-generated to Go types and interfaces using avdl-compiler v1.4.10 (https://github.com/keybase/node-avdl-compiler) +// Code generated to Go types and interfaces using avdl-compiler v1.4.10 (https://github.com/keybase/node-avdl-compiler). DO NOT EDIT. // Input file: avdl/keybase1/identify.avdl package keybase1 @@ -230,11 +230,11 @@ func IdentifyProtocol(i IdentifyInterface) rpc.Protocol { Name: "keybase.1.identify", Methods: map[string]rpc.ServeHandlerDescription{ "Resolve3": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]Resolve3Arg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]Resolve3Arg) if !ok { err = rpc.NewTypeError((*[1]Resolve3Arg)(nil), args) @@ -245,11 +245,11 @@ func IdentifyProtocol(i IdentifyInterface) rpc.Protocol { }, }, "identify2": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]Identify2Arg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]Identify2Arg) if !ok { err = rpc.NewTypeError((*[1]Identify2Arg)(nil), args) @@ -260,11 +260,11 @@ func IdentifyProtocol(i IdentifyInterface) rpc.Protocol { }, }, "identifyLite": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]IdentifyLiteArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]IdentifyLiteArg) if !ok { err = rpc.NewTypeError((*[1]IdentifyLiteArg)(nil), args) @@ -275,11 +275,11 @@ func IdentifyProtocol(i IdentifyInterface) rpc.Protocol { }, }, "resolveIdentifyImplicitTeam": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]ResolveIdentifyImplicitTeamArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]ResolveIdentifyImplicitTeamArg) if !ok { err = rpc.NewTypeError((*[1]ResolveIdentifyImplicitTeamArg)(nil), args) @@ -290,11 +290,11 @@ func IdentifyProtocol(i IdentifyInterface) rpc.Protocol { }, }, "resolveImplicitTeam": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]ResolveImplicitTeamArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]ResolveImplicitTeamArg) if !ok { err = rpc.NewTypeError((*[1]ResolveImplicitTeamArg)(nil), args) @@ -305,11 +305,11 @@ func IdentifyProtocol(i IdentifyInterface) rpc.Protocol { }, }, "normalizeSocialAssertion": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]NormalizeSocialAssertionArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]NormalizeSocialAssertionArg) if !ok { err = rpc.NewTypeError((*[1]NormalizeSocialAssertionArg)(nil), args) @@ -329,34 +329,34 @@ type IdentifyClient struct { // Resolve an assertion to a (UID,username) or (TeamID,teamname). On failure, returns an error. func (c IdentifyClient) Resolve3(ctx context.Context, __arg Resolve3Arg) (res UserOrTeamLite, err error) { - err = c.Cli.Call(ctx, "keybase.1.identify.Resolve3", []interface{}{__arg}, &res, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.identify.Resolve3", []any{__arg}, &res, 0*time.Millisecond) return } func (c IdentifyClient) Identify2(ctx context.Context, __arg Identify2Arg) (res Identify2Res, err error) { - err = c.Cli.Call(ctx, "keybase.1.identify.identify2", []interface{}{__arg}, &res, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.identify.identify2", []any{__arg}, &res, 0*time.Millisecond) return } func (c IdentifyClient) IdentifyLite(ctx context.Context, __arg IdentifyLiteArg) (res IdentifyLiteRes, err error) { - err = c.Cli.Call(ctx, "keybase.1.identify.identifyLite", []interface{}{__arg}, &res, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.identify.identifyLite", []any{__arg}, &res, 0*time.Millisecond) return } func (c IdentifyClient) ResolveIdentifyImplicitTeam(ctx context.Context, __arg ResolveIdentifyImplicitTeamArg) (res ResolveIdentifyImplicitTeamRes, err error) { - err = c.Cli.Call(ctx, "keybase.1.identify.resolveIdentifyImplicitTeam", []interface{}{__arg}, &res, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.identify.resolveIdentifyImplicitTeam", []any{__arg}, &res, 0*time.Millisecond) return } // resolveImplicitTeam returns a TLF display name given a teamID. The publicness // of the team is inferred from the TeamID. func (c IdentifyClient) ResolveImplicitTeam(ctx context.Context, __arg ResolveImplicitTeamArg) (res Folder, err error) { - err = c.Cli.Call(ctx, "keybase.1.identify.resolveImplicitTeam", []interface{}{__arg}, &res, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.identify.resolveImplicitTeam", []any{__arg}, &res, 0*time.Millisecond) return } func (c IdentifyClient) NormalizeSocialAssertion(ctx context.Context, assertion string) (res SocialAssertion, err error) { __arg := NormalizeSocialAssertionArg{Assertion: assertion} - err = c.Cli.Call(ctx, "keybase.1.identify.normalizeSocialAssertion", []interface{}{__arg}, &res, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.identify.normalizeSocialAssertion", []any{__arg}, &res, 0*time.Millisecond) return } diff --git a/go/protocol/keybase1/identify3.go b/go/protocol/keybase1/identify3.go index ba37369a98e2..a0df690e5c39 100644 --- a/go/protocol/keybase1/identify3.go +++ b/go/protocol/keybase1/identify3.go @@ -1,4 +1,4 @@ -// Auto-generated to Go types and interfaces using avdl-compiler v1.4.10 (https://github.com/keybase/node-avdl-compiler) +// Code generated to Go types and interfaces using avdl-compiler v1.4.10 (https://github.com/keybase/node-avdl-compiler). DO NOT EDIT. // Input file: avdl/keybase1/identify3.avdl package keybase1 @@ -36,11 +36,11 @@ func Identify3Protocol(i Identify3Interface) rpc.Protocol { Name: "keybase.1.identify3", Methods: map[string]rpc.ServeHandlerDescription{ "identify3": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]Identify3Arg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]Identify3Arg) if !ok { err = rpc.NewTypeError((*[1]Identify3Arg)(nil), args) @@ -51,11 +51,11 @@ func Identify3Protocol(i Identify3Interface) rpc.Protocol { }, }, "identify3FollowUser": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]Identify3FollowUserArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]Identify3FollowUserArg) if !ok { err = rpc.NewTypeError((*[1]Identify3FollowUserArg)(nil), args) @@ -66,11 +66,11 @@ func Identify3Protocol(i Identify3Interface) rpc.Protocol { }, }, "identify3IgnoreUser": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]Identify3IgnoreUserArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]Identify3IgnoreUserArg) if !ok { err = rpc.NewTypeError((*[1]Identify3IgnoreUserArg)(nil), args) @@ -89,17 +89,17 @@ type Identify3Client struct { } func (c Identify3Client) Identify3(ctx context.Context, __arg Identify3Arg) (err error) { - err = c.Cli.Call(ctx, "keybase.1.identify3.identify3", []interface{}{__arg}, nil, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.identify3.identify3", []any{__arg}, nil, 0*time.Millisecond) return } func (c Identify3Client) Identify3FollowUser(ctx context.Context, __arg Identify3FollowUserArg) (err error) { - err = c.Cli.Call(ctx, "keybase.1.identify3.identify3FollowUser", []interface{}{__arg}, nil, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.identify3.identify3FollowUser", []any{__arg}, nil, 0*time.Millisecond) return } func (c Identify3Client) Identify3IgnoreUser(ctx context.Context, guiID Identify3GUIID) (err error) { __arg := Identify3IgnoreUserArg{GuiID: guiID} - err = c.Cli.Call(ctx, "keybase.1.identify3.identify3IgnoreUser", []interface{}{__arg}, nil, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.identify3.identify3IgnoreUser", []any{__arg}, nil, 0*time.Millisecond) return } diff --git a/go/protocol/keybase1/identify3_common.go b/go/protocol/keybase1/identify3_common.go index 9d48775f0716..5ec1a737cdcc 100644 --- a/go/protocol/keybase1/identify3_common.go +++ b/go/protocol/keybase1/identify3_common.go @@ -1,4 +1,4 @@ -// Auto-generated to Go types and interfaces using avdl-compiler v1.4.10 (https://github.com/keybase/node-avdl-compiler) +// Code generated to Go types and interfaces using avdl-compiler v1.4.10 (https://github.com/keybase/node-avdl-compiler). DO NOT EDIT. // Input file: avdl/keybase1/identify3_common.avdl package keybase1 @@ -19,7 +19,8 @@ func (o Identify3GUIID) DeepCopy() Identify3GUIID { return o } -type Identify3CommonInterface interface{} +type Identify3CommonInterface interface { +} func Identify3CommonProtocol(i Identify3CommonInterface) rpc.Protocol { return rpc.Protocol{ diff --git a/go/protocol/keybase1/identify3_ui.go b/go/protocol/keybase1/identify3_ui.go index 7409404dea79..16f91197f794 100644 --- a/go/protocol/keybase1/identify3_ui.go +++ b/go/protocol/keybase1/identify3_ui.go @@ -1,4 +1,4 @@ -// Auto-generated to Go types and interfaces using avdl-compiler v1.4.10 (https://github.com/keybase/node-avdl-compiler) +// Code generated to Go types and interfaces using avdl-compiler v1.4.10 (https://github.com/keybase/node-avdl-compiler). DO NOT EDIT. // Input file: avdl/keybase1/identify3_ui.avdl package keybase1 @@ -295,11 +295,11 @@ func Identify3UiProtocol(i Identify3UiInterface) rpc.Protocol { Name: "keybase.1.identify3Ui", Methods: map[string]rpc.ServeHandlerDescription{ "identify3ShowTracker": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]Identify3ShowTrackerArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]Identify3ShowTrackerArg) if !ok { err = rpc.NewTypeError((*[1]Identify3ShowTrackerArg)(nil), args) @@ -310,11 +310,11 @@ func Identify3UiProtocol(i Identify3UiInterface) rpc.Protocol { }, }, "identify3Summary": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]Identify3SummaryArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]Identify3SummaryArg) if !ok { err = rpc.NewTypeError((*[1]Identify3SummaryArg)(nil), args) @@ -325,11 +325,11 @@ func Identify3UiProtocol(i Identify3UiInterface) rpc.Protocol { }, }, "identify3UpdateRow": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]Identify3UpdateRowArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]Identify3UpdateRowArg) if !ok { err = rpc.NewTypeError((*[1]Identify3UpdateRowArg)(nil), args) @@ -340,11 +340,11 @@ func Identify3UiProtocol(i Identify3UiInterface) rpc.Protocol { }, }, "identify3UserReset": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]Identify3UserResetArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]Identify3UserResetArg) if !ok { err = rpc.NewTypeError((*[1]Identify3UserResetArg)(nil), args) @@ -355,11 +355,11 @@ func Identify3UiProtocol(i Identify3UiInterface) rpc.Protocol { }, }, "identify3UpdateUserCard": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]Identify3UpdateUserCardArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]Identify3UpdateUserCardArg) if !ok { err = rpc.NewTypeError((*[1]Identify3UpdateUserCardArg)(nil), args) @@ -370,11 +370,11 @@ func Identify3UiProtocol(i Identify3UiInterface) rpc.Protocol { }, }, "identify3TrackerTimedOut": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]Identify3TrackerTimedOutArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]Identify3TrackerTimedOutArg) if !ok { err = rpc.NewTypeError((*[1]Identify3TrackerTimedOutArg)(nil), args) @@ -385,11 +385,11 @@ func Identify3UiProtocol(i Identify3UiInterface) rpc.Protocol { }, }, "identify3Result": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]Identify3ResultArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]Identify3ResultArg) if !ok { err = rpc.NewTypeError((*[1]Identify3ResultArg)(nil), args) @@ -408,40 +408,40 @@ type Identify3UiClient struct { } func (c Identify3UiClient) Identify3ShowTracker(ctx context.Context, __arg Identify3ShowTrackerArg) (err error) { - err = c.Cli.Call(ctx, "keybase.1.identify3Ui.identify3ShowTracker", []interface{}{__arg}, nil, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.identify3Ui.identify3ShowTracker", []any{__arg}, nil, 0*time.Millisecond) return } func (c Identify3UiClient) Identify3Summary(ctx context.Context, summary Identify3Summary) (err error) { __arg := Identify3SummaryArg{Summary: summary} - err = c.Cli.Notify(ctx, "keybase.1.identify3Ui.identify3Summary", []interface{}{__arg}, 0*time.Millisecond) + err = c.Cli.Notify(ctx, "keybase.1.identify3Ui.identify3Summary", []any{__arg}, 0*time.Millisecond) return } func (c Identify3UiClient) Identify3UpdateRow(ctx context.Context, row Identify3Row) (err error) { __arg := Identify3UpdateRowArg{Row: row} - err = c.Cli.Notify(ctx, "keybase.1.identify3Ui.identify3UpdateRow", []interface{}{__arg}, 0*time.Millisecond) + err = c.Cli.Notify(ctx, "keybase.1.identify3Ui.identify3UpdateRow", []any{__arg}, 0*time.Millisecond) return } func (c Identify3UiClient) Identify3UserReset(ctx context.Context, guiID Identify3GUIID) (err error) { __arg := Identify3UserResetArg{GuiID: guiID} - err = c.Cli.Notify(ctx, "keybase.1.identify3Ui.identify3UserReset", []interface{}{__arg}, 0*time.Millisecond) + err = c.Cli.Notify(ctx, "keybase.1.identify3Ui.identify3UserReset", []any{__arg}, 0*time.Millisecond) return } func (c Identify3UiClient) Identify3UpdateUserCard(ctx context.Context, __arg Identify3UpdateUserCardArg) (err error) { - err = c.Cli.Notify(ctx, "keybase.1.identify3Ui.identify3UpdateUserCard", []interface{}{__arg}, 0*time.Millisecond) + err = c.Cli.Notify(ctx, "keybase.1.identify3Ui.identify3UpdateUserCard", []any{__arg}, 0*time.Millisecond) return } func (c Identify3UiClient) Identify3TrackerTimedOut(ctx context.Context, guiID Identify3GUIID) (err error) { __arg := Identify3TrackerTimedOutArg{GuiID: guiID} - err = c.Cli.Notify(ctx, "keybase.1.identify3Ui.identify3TrackerTimedOut", []interface{}{__arg}, 0*time.Millisecond) + err = c.Cli.Notify(ctx, "keybase.1.identify3Ui.identify3TrackerTimedOut", []any{__arg}, 0*time.Millisecond) return } func (c Identify3UiClient) Identify3Result(ctx context.Context, __arg Identify3ResultArg) (err error) { - err = c.Cli.Notify(ctx, "keybase.1.identify3Ui.identify3Result", []interface{}{__arg}, 0*time.Millisecond) + err = c.Cli.Notify(ctx, "keybase.1.identify3Ui.identify3Result", []any{__arg}, 0*time.Millisecond) return } diff --git a/go/protocol/keybase1/identify_common.go b/go/protocol/keybase1/identify_common.go index 617b60cd7e34..e5a6e22da1b8 100644 --- a/go/protocol/keybase1/identify_common.go +++ b/go/protocol/keybase1/identify_common.go @@ -1,4 +1,4 @@ -// Auto-generated to Go types and interfaces using avdl-compiler v1.4.10 (https://github.com/keybase/node-avdl-compiler) +// Code generated to Go types and interfaces using avdl-compiler v1.4.10 (https://github.com/keybase/node-avdl-compiler). DO NOT EDIT. // Input file: avdl/keybase1/identify_common.avdl package keybase1 @@ -323,7 +323,8 @@ func (o RemoteProof) DeepCopy() RemoteProof { } } -type IdentifyCommonInterface interface{} +type IdentifyCommonInterface interface { +} func IdentifyCommonProtocol(i IdentifyCommonInterface) rpc.Protocol { return rpc.Protocol{ diff --git a/go/protocol/keybase1/identify_ui.go b/go/protocol/keybase1/identify_ui.go index 63e6c0b27780..4beecf994981 100644 --- a/go/protocol/keybase1/identify_ui.go +++ b/go/protocol/keybase1/identify_ui.go @@ -1,4 +1,4 @@ -// Auto-generated to Go types and interfaces using avdl-compiler v1.4.10 (https://github.com/keybase/node-avdl-compiler) +// Code generated to Go types and interfaces using avdl-compiler v1.4.10 (https://github.com/keybase/node-avdl-compiler). DO NOT EDIT. // Input file: avdl/keybase1/identify_ui.avdl package keybase1 @@ -452,7 +452,8 @@ type DisplayTLFCreateWithInviteArg struct { Throttled bool `codec:"throttled" json:"throttled"` } -type DelegateIdentifyUIArg struct{} +type DelegateIdentifyUIArg struct { +} type StartArg struct { SessionID int `codec:"sessionID" json:"sessionID"` @@ -558,11 +559,11 @@ func IdentifyUiProtocol(i IdentifyUiInterface) rpc.Protocol { Name: "keybase.1.identifyUi", Methods: map[string]rpc.ServeHandlerDescription{ "displayTLFCreateWithInvite": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]DisplayTLFCreateWithInviteArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]DisplayTLFCreateWithInviteArg) if !ok { err = rpc.NewTypeError((*[1]DisplayTLFCreateWithInviteArg)(nil), args) @@ -573,21 +574,21 @@ func IdentifyUiProtocol(i IdentifyUiInterface) rpc.Protocol { }, }, "delegateIdentifyUI": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]DelegateIdentifyUIArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { ret, err = i.DelegateIdentifyUI(ctx) return }, }, "start": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]StartArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]StartArg) if !ok { err = rpc.NewTypeError((*[1]StartArg)(nil), args) @@ -598,11 +599,11 @@ func IdentifyUiProtocol(i IdentifyUiInterface) rpc.Protocol { }, }, "displayKey": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]DisplayKeyArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]DisplayKeyArg) if !ok { err = rpc.NewTypeError((*[1]DisplayKeyArg)(nil), args) @@ -613,11 +614,11 @@ func IdentifyUiProtocol(i IdentifyUiInterface) rpc.Protocol { }, }, "reportLastTrack": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]ReportLastTrackArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]ReportLastTrackArg) if !ok { err = rpc.NewTypeError((*[1]ReportLastTrackArg)(nil), args) @@ -628,11 +629,11 @@ func IdentifyUiProtocol(i IdentifyUiInterface) rpc.Protocol { }, }, "launchNetworkChecks": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]LaunchNetworkChecksArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]LaunchNetworkChecksArg) if !ok { err = rpc.NewTypeError((*[1]LaunchNetworkChecksArg)(nil), args) @@ -643,11 +644,11 @@ func IdentifyUiProtocol(i IdentifyUiInterface) rpc.Protocol { }, }, "displayTrackStatement": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]DisplayTrackStatementArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]DisplayTrackStatementArg) if !ok { err = rpc.NewTypeError((*[1]DisplayTrackStatementArg)(nil), args) @@ -658,11 +659,11 @@ func IdentifyUiProtocol(i IdentifyUiInterface) rpc.Protocol { }, }, "finishWebProofCheck": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]FinishWebProofCheckArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]FinishWebProofCheckArg) if !ok { err = rpc.NewTypeError((*[1]FinishWebProofCheckArg)(nil), args) @@ -673,11 +674,11 @@ func IdentifyUiProtocol(i IdentifyUiInterface) rpc.Protocol { }, }, "finishSocialProofCheck": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]FinishSocialProofCheckArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]FinishSocialProofCheckArg) if !ok { err = rpc.NewTypeError((*[1]FinishSocialProofCheckArg)(nil), args) @@ -688,11 +689,11 @@ func IdentifyUiProtocol(i IdentifyUiInterface) rpc.Protocol { }, }, "displayCryptocurrency": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]DisplayCryptocurrencyArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]DisplayCryptocurrencyArg) if !ok { err = rpc.NewTypeError((*[1]DisplayCryptocurrencyArg)(nil), args) @@ -703,11 +704,11 @@ func IdentifyUiProtocol(i IdentifyUiInterface) rpc.Protocol { }, }, "displayStellarAccount": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]DisplayStellarAccountArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]DisplayStellarAccountArg) if !ok { err = rpc.NewTypeError((*[1]DisplayStellarAccountArg)(nil), args) @@ -718,11 +719,11 @@ func IdentifyUiProtocol(i IdentifyUiInterface) rpc.Protocol { }, }, "reportTrackToken": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]ReportTrackTokenArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]ReportTrackTokenArg) if !ok { err = rpc.NewTypeError((*[1]ReportTrackTokenArg)(nil), args) @@ -733,11 +734,11 @@ func IdentifyUiProtocol(i IdentifyUiInterface) rpc.Protocol { }, }, "displayUserCard": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]DisplayUserCardArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]DisplayUserCardArg) if !ok { err = rpc.NewTypeError((*[1]DisplayUserCardArg)(nil), args) @@ -748,11 +749,11 @@ func IdentifyUiProtocol(i IdentifyUiInterface) rpc.Protocol { }, }, "confirm": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]ConfirmArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]ConfirmArg) if !ok { err = rpc.NewTypeError((*[1]ConfirmArg)(nil), args) @@ -763,11 +764,11 @@ func IdentifyUiProtocol(i IdentifyUiInterface) rpc.Protocol { }, }, "cancel": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]CancelArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]CancelArg) if !ok { err = rpc.NewTypeError((*[1]CancelArg)(nil), args) @@ -778,11 +779,11 @@ func IdentifyUiProtocol(i IdentifyUiInterface) rpc.Protocol { }, }, "finish": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]FinishArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]FinishArg) if !ok { err = rpc.NewTypeError((*[1]FinishArg)(nil), args) @@ -793,11 +794,11 @@ func IdentifyUiProtocol(i IdentifyUiInterface) rpc.Protocol { }, }, "dismiss": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]DismissArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]DismissArg) if !ok { err = rpc.NewTypeError((*[1]DismissArg)(nil), args) @@ -816,88 +817,88 @@ type IdentifyUiClient struct { } func (c IdentifyUiClient) DisplayTLFCreateWithInvite(ctx context.Context, __arg DisplayTLFCreateWithInviteArg) (err error) { - err = c.Cli.Call(ctx, "keybase.1.identifyUi.displayTLFCreateWithInvite", []interface{}{__arg}, nil, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.identifyUi.displayTLFCreateWithInvite", []any{__arg}, nil, 0*time.Millisecond) return } func (c IdentifyUiClient) DelegateIdentifyUI(ctx context.Context) (res int, err error) { - err = c.Cli.Call(ctx, "keybase.1.identifyUi.delegateIdentifyUI", []interface{}{DelegateIdentifyUIArg{}}, &res, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.identifyUi.delegateIdentifyUI", []any{DelegateIdentifyUIArg{}}, &res, 0*time.Millisecond) return } func (c IdentifyUiClient) Start(ctx context.Context, __arg StartArg) (err error) { - err = c.Cli.Call(ctx, "keybase.1.identifyUi.start", []interface{}{__arg}, nil, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.identifyUi.start", []any{__arg}, nil, 0*time.Millisecond) return } func (c IdentifyUiClient) DisplayKey(ctx context.Context, __arg DisplayKeyArg) (err error) { - err = c.Cli.Call(ctx, "keybase.1.identifyUi.displayKey", []interface{}{__arg}, nil, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.identifyUi.displayKey", []any{__arg}, nil, 0*time.Millisecond) return } func (c IdentifyUiClient) ReportLastTrack(ctx context.Context, __arg ReportLastTrackArg) (err error) { - err = c.Cli.Call(ctx, "keybase.1.identifyUi.reportLastTrack", []interface{}{__arg}, nil, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.identifyUi.reportLastTrack", []any{__arg}, nil, 0*time.Millisecond) return } func (c IdentifyUiClient) LaunchNetworkChecks(ctx context.Context, __arg LaunchNetworkChecksArg) (err error) { - err = c.Cli.Call(ctx, "keybase.1.identifyUi.launchNetworkChecks", []interface{}{__arg}, nil, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.identifyUi.launchNetworkChecks", []any{__arg}, nil, 0*time.Millisecond) return } func (c IdentifyUiClient) DisplayTrackStatement(ctx context.Context, __arg DisplayTrackStatementArg) (err error) { - err = c.Cli.Call(ctx, "keybase.1.identifyUi.displayTrackStatement", []interface{}{__arg}, nil, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.identifyUi.displayTrackStatement", []any{__arg}, nil, 0*time.Millisecond) return } func (c IdentifyUiClient) FinishWebProofCheck(ctx context.Context, __arg FinishWebProofCheckArg) (err error) { - err = c.Cli.Call(ctx, "keybase.1.identifyUi.finishWebProofCheck", []interface{}{__arg}, nil, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.identifyUi.finishWebProofCheck", []any{__arg}, nil, 0*time.Millisecond) return } func (c IdentifyUiClient) FinishSocialProofCheck(ctx context.Context, __arg FinishSocialProofCheckArg) (err error) { - err = c.Cli.Call(ctx, "keybase.1.identifyUi.finishSocialProofCheck", []interface{}{__arg}, nil, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.identifyUi.finishSocialProofCheck", []any{__arg}, nil, 0*time.Millisecond) return } func (c IdentifyUiClient) DisplayCryptocurrency(ctx context.Context, __arg DisplayCryptocurrencyArg) (err error) { - err = c.Cli.Call(ctx, "keybase.1.identifyUi.displayCryptocurrency", []interface{}{__arg}, nil, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.identifyUi.displayCryptocurrency", []any{__arg}, nil, 0*time.Millisecond) return } func (c IdentifyUiClient) DisplayStellarAccount(ctx context.Context, __arg DisplayStellarAccountArg) (err error) { - err = c.Cli.Call(ctx, "keybase.1.identifyUi.displayStellarAccount", []interface{}{__arg}, nil, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.identifyUi.displayStellarAccount", []any{__arg}, nil, 0*time.Millisecond) return } func (c IdentifyUiClient) ReportTrackToken(ctx context.Context, __arg ReportTrackTokenArg) (err error) { - err = c.Cli.Call(ctx, "keybase.1.identifyUi.reportTrackToken", []interface{}{__arg}, nil, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.identifyUi.reportTrackToken", []any{__arg}, nil, 0*time.Millisecond) return } func (c IdentifyUiClient) DisplayUserCard(ctx context.Context, __arg DisplayUserCardArg) (err error) { - err = c.Cli.Call(ctx, "keybase.1.identifyUi.displayUserCard", []interface{}{__arg}, nil, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.identifyUi.displayUserCard", []any{__arg}, nil, 0*time.Millisecond) return } func (c IdentifyUiClient) Confirm(ctx context.Context, __arg ConfirmArg) (res ConfirmResult, err error) { - err = c.Cli.Call(ctx, "keybase.1.identifyUi.confirm", []interface{}{__arg}, &res, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.identifyUi.confirm", []any{__arg}, &res, 0*time.Millisecond) return } func (c IdentifyUiClient) Cancel(ctx context.Context, sessionID int) (err error) { __arg := CancelArg{SessionID: sessionID} - err = c.Cli.Call(ctx, "keybase.1.identifyUi.cancel", []interface{}{__arg}, nil, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.identifyUi.cancel", []any{__arg}, nil, 0*time.Millisecond) return } func (c IdentifyUiClient) Finish(ctx context.Context, sessionID int) (err error) { __arg := FinishArg{SessionID: sessionID} - err = c.Cli.Call(ctx, "keybase.1.identifyUi.finish", []interface{}{__arg}, nil, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.identifyUi.finish", []any{__arg}, nil, 0*time.Millisecond) return } func (c IdentifyUiClient) Dismiss(ctx context.Context, __arg DismissArg) (err error) { - err = c.Cli.Call(ctx, "keybase.1.identifyUi.dismiss", []interface{}{__arg}, nil, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.identifyUi.dismiss", []any{__arg}, nil, 0*time.Millisecond) return } diff --git a/go/protocol/keybase1/implicit_team_migration.go b/go/protocol/keybase1/implicit_team_migration.go index 38147f0e5a51..ab1ad029c032 100644 --- a/go/protocol/keybase1/implicit_team_migration.go +++ b/go/protocol/keybase1/implicit_team_migration.go @@ -1,4 +1,4 @@ -// Auto-generated to Go types and interfaces using avdl-compiler v1.4.10 (https://github.com/keybase/node-avdl-compiler) +// Code generated to Go types and interfaces using avdl-compiler v1.4.10 (https://github.com/keybase/node-avdl-compiler). DO NOT EDIT. // Input file: avdl/keybase1/implicit_team_migration.avdl package keybase1 @@ -28,11 +28,11 @@ func ImplicitTeamMigrationProtocol(i ImplicitTeamMigrationInterface) rpc.Protoco Name: "keybase.1.implicitTeamMigration", Methods: map[string]rpc.ServeHandlerDescription{ "startMigration": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]StartMigrationArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]StartMigrationArg) if !ok { err = rpc.NewTypeError((*[1]StartMigrationArg)(nil), args) @@ -43,11 +43,11 @@ func ImplicitTeamMigrationProtocol(i ImplicitTeamMigrationInterface) rpc.Protoco }, }, "finalizeMigration": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]FinalizeMigrationArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]FinalizeMigrationArg) if !ok { err = rpc.NewTypeError((*[1]FinalizeMigrationArg)(nil), args) @@ -67,12 +67,12 @@ type ImplicitTeamMigrationClient struct { func (c ImplicitTeamMigrationClient) StartMigration(ctx context.Context, folder Folder) (err error) { __arg := StartMigrationArg{Folder: folder} - err = c.Cli.Call(ctx, "keybase.1.implicitTeamMigration.startMigration", []interface{}{__arg}, nil, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.implicitTeamMigration.startMigration", []any{__arg}, nil, 0*time.Millisecond) return } func (c ImplicitTeamMigrationClient) FinalizeMigration(ctx context.Context, folder Folder) (err error) { __arg := FinalizeMigrationArg{Folder: folder} - err = c.Cli.Call(ctx, "keybase.1.implicitTeamMigration.finalizeMigration", []interface{}{__arg}, nil, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.implicitTeamMigration.finalizeMigration", []any{__arg}, nil, 0*time.Millisecond) return } diff --git a/go/protocol/keybase1/incoming-share.go b/go/protocol/keybase1/incoming-share.go index 301c8a9a1dd8..2b416c44a749 100644 --- a/go/protocol/keybase1/incoming-share.go +++ b/go/protocol/keybase1/incoming-share.go @@ -1,4 +1,4 @@ -// Auto-generated to Go types and interfaces using avdl-compiler v1.4.10 (https://github.com/keybase/node-avdl-compiler) +// Code generated to Go types and interfaces using avdl-compiler v1.4.10 (https://github.com/keybase/node-avdl-compiler). DO NOT EDIT. // Input file: avdl/keybase1/incoming-share.avdl package keybase1 @@ -137,9 +137,11 @@ func (o IncomingSharePreference) DeepCopy() IncomingSharePreference { } } -type GetIncomingShareItemsArg struct{} +type GetIncomingShareItemsArg struct { +} -type GetPreferenceArg struct{} +type GetPreferenceArg struct { +} type SetPreferenceArg struct { Preference IncomingSharePreference `codec:"preference" json:"preference"` @@ -156,31 +158,31 @@ func IncomingShareProtocol(i IncomingShareInterface) rpc.Protocol { Name: "keybase.1.incomingShare", Methods: map[string]rpc.ServeHandlerDescription{ "getIncomingShareItems": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]GetIncomingShareItemsArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { ret, err = i.GetIncomingShareItems(ctx) return }, }, "getPreference": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]GetPreferenceArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { ret, err = i.GetPreference(ctx) return }, }, "setPreference": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]SetPreferenceArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]SetPreferenceArg) if !ok { err = rpc.NewTypeError((*[1]SetPreferenceArg)(nil), args) @@ -199,17 +201,17 @@ type IncomingShareClient struct { } func (c IncomingShareClient) GetIncomingShareItems(ctx context.Context) (res []IncomingShareItem, err error) { - err = c.Cli.Call(ctx, "keybase.1.incomingShare.getIncomingShareItems", []interface{}{GetIncomingShareItemsArg{}}, &res, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.incomingShare.getIncomingShareItems", []any{GetIncomingShareItemsArg{}}, &res, 0*time.Millisecond) return } func (c IncomingShareClient) GetPreference(ctx context.Context) (res IncomingSharePreference, err error) { - err = c.Cli.Call(ctx, "keybase.1.incomingShare.getPreference", []interface{}{GetPreferenceArg{}}, &res, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.incomingShare.getPreference", []any{GetPreferenceArg{}}, &res, 0*time.Millisecond) return } func (c IncomingShareClient) SetPreference(ctx context.Context, preference IncomingSharePreference) (err error) { __arg := SetPreferenceArg{Preference: preference} - err = c.Cli.Call(ctx, "keybase.1.incomingShare.setPreference", []interface{}{__arg}, nil, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.incomingShare.setPreference", []any{__arg}, nil, 0*time.Millisecond) return } diff --git a/go/protocol/keybase1/install.go b/go/protocol/keybase1/install.go index c5417b7c0f90..75d7682854f7 100644 --- a/go/protocol/keybase1/install.go +++ b/go/protocol/keybase1/install.go @@ -1,4 +1,4 @@ -// Auto-generated to Go types and interfaces using avdl-compiler v1.4.10 (https://github.com/keybase/node-avdl-compiler) +// Code generated to Go types and interfaces using avdl-compiler v1.4.10 (https://github.com/keybase/node-avdl-compiler). DO NOT EDIT. // Input file: avdl/keybase1/install.avdl package keybase1 @@ -247,13 +247,17 @@ type FuseStatusArg struct { BundleVersion string `codec:"bundleVersion" json:"bundleVersion"` } -type InstallFuseArg struct{} +type InstallFuseArg struct { +} -type InstallKBFSArg struct{} +type InstallKBFSArg struct { +} -type UninstallKBFSArg struct{} +type UninstallKBFSArg struct { +} -type InstallCommandLinePrivilegedArg struct{} +type InstallCommandLinePrivilegedArg struct { +} type InstallInterface interface { FuseStatus(context.Context, FuseStatusArg) (FuseStatus, error) @@ -268,11 +272,11 @@ func InstallProtocol(i InstallInterface) rpc.Protocol { Name: "keybase.1.install", Methods: map[string]rpc.ServeHandlerDescription{ "fuseStatus": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]FuseStatusArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]FuseStatusArg) if !ok { err = rpc.NewTypeError((*[1]FuseStatusArg)(nil), args) @@ -283,41 +287,41 @@ func InstallProtocol(i InstallInterface) rpc.Protocol { }, }, "installFuse": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]InstallFuseArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { ret, err = i.InstallFuse(ctx) return }, }, "installKBFS": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]InstallKBFSArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { ret, err = i.InstallKBFS(ctx) return }, }, "uninstallKBFS": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]UninstallKBFSArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { ret, err = i.UninstallKBFS(ctx) return }, }, "installCommandLinePrivileged": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]InstallCommandLinePrivilegedArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { ret, err = i.InstallCommandLinePrivileged(ctx) return }, @@ -331,26 +335,26 @@ type InstallClient struct { } func (c InstallClient) FuseStatus(ctx context.Context, __arg FuseStatusArg) (res FuseStatus, err error) { - err = c.Cli.Call(ctx, "keybase.1.install.fuseStatus", []interface{}{__arg}, &res, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.install.fuseStatus", []any{__arg}, &res, 0*time.Millisecond) return } func (c InstallClient) InstallFuse(ctx context.Context) (res InstallResult, err error) { - err = c.Cli.Call(ctx, "keybase.1.install.installFuse", []interface{}{InstallFuseArg{}}, &res, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.install.installFuse", []any{InstallFuseArg{}}, &res, 0*time.Millisecond) return } func (c InstallClient) InstallKBFS(ctx context.Context) (res InstallResult, err error) { - err = c.Cli.Call(ctx, "keybase.1.install.installKBFS", []interface{}{InstallKBFSArg{}}, &res, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.install.installKBFS", []any{InstallKBFSArg{}}, &res, 0*time.Millisecond) return } func (c InstallClient) UninstallKBFS(ctx context.Context) (res UninstallResult, err error) { - err = c.Cli.Call(ctx, "keybase.1.install.uninstallKBFS", []interface{}{UninstallKBFSArg{}}, &res, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.install.uninstallKBFS", []any{UninstallKBFSArg{}}, &res, 0*time.Millisecond) return } func (c InstallClient) InstallCommandLinePrivileged(ctx context.Context) (res InstallResult, err error) { - err = c.Cli.Call(ctx, "keybase.1.install.installCommandLinePrivileged", []interface{}{InstallCommandLinePrivilegedArg{}}, &res, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.install.installCommandLinePrivileged", []any{InstallCommandLinePrivilegedArg{}}, &res, 0*time.Millisecond) return } diff --git a/go/protocol/keybase1/invite_friends.go b/go/protocol/keybase1/invite_friends.go index 9f81165ae251..7aaa20f76971 100644 --- a/go/protocol/keybase1/invite_friends.go +++ b/go/protocol/keybase1/invite_friends.go @@ -1,4 +1,4 @@ -// Auto-generated to Go types and interfaces using avdl-compiler v1.4.10 (https://github.com/keybase/node-avdl-compiler) +// Code generated to Go types and interfaces using avdl-compiler v1.4.10 (https://github.com/keybase/node-avdl-compiler). DO NOT EDIT. // Input file: avdl/keybase1/invite_friends.avdl package keybase1 @@ -67,9 +67,11 @@ type InvitePeopleArg struct { Phones []PhoneNumber `codec:"phones" json:"phones"` } -type GetInviteCountsArg struct{} +type GetInviteCountsArg struct { +} -type RequestInviteCountsArg struct{} +type RequestInviteCountsArg struct { +} type InviteFriendsInterface interface { InvitePeople(context.Context, InvitePeopleArg) (int, error) @@ -82,11 +84,11 @@ func InviteFriendsProtocol(i InviteFriendsInterface) rpc.Protocol { Name: "keybase.1.inviteFriends", Methods: map[string]rpc.ServeHandlerDescription{ "invitePeople": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]InvitePeopleArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]InvitePeopleArg) if !ok { err = rpc.NewTypeError((*[1]InvitePeopleArg)(nil), args) @@ -97,21 +99,21 @@ func InviteFriendsProtocol(i InviteFriendsInterface) rpc.Protocol { }, }, "getInviteCounts": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]GetInviteCountsArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { ret, err = i.GetInviteCounts(ctx) return }, }, "requestInviteCounts": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]RequestInviteCountsArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { err = i.RequestInviteCounts(ctx) return }, @@ -125,16 +127,16 @@ type InviteFriendsClient struct { } func (c InviteFriendsClient) InvitePeople(ctx context.Context, __arg InvitePeopleArg) (res int, err error) { - err = c.Cli.Call(ctx, "keybase.1.inviteFriends.invitePeople", []interface{}{__arg}, &res, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.inviteFriends.invitePeople", []any{__arg}, &res, 0*time.Millisecond) return } func (c InviteFriendsClient) GetInviteCounts(ctx context.Context) (res InviteCounts, err error) { - err = c.Cli.Call(ctx, "keybase.1.inviteFriends.getInviteCounts", []interface{}{GetInviteCountsArg{}}, &res, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.inviteFriends.getInviteCounts", []any{GetInviteCountsArg{}}, &res, 0*time.Millisecond) return } func (c InviteFriendsClient) RequestInviteCounts(ctx context.Context) (err error) { - err = c.Cli.Call(ctx, "keybase.1.inviteFriends.requestInviteCounts", []interface{}{RequestInviteCountsArg{}}, nil, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.inviteFriends.requestInviteCounts", []any{RequestInviteCountsArg{}}, nil, 0*time.Millisecond) return } diff --git a/go/protocol/keybase1/kbfs.go b/go/protocol/keybase1/kbfs.go index f8508b0c2547..1196166a56e9 100644 --- a/go/protocol/keybase1/kbfs.go +++ b/go/protocol/keybase1/kbfs.go @@ -1,4 +1,4 @@ -// Auto-generated to Go types and interfaces using avdl-compiler v1.4.10 (https://github.com/keybase/node-avdl-compiler) +// Code generated to Go types and interfaces using avdl-compiler v1.4.10 (https://github.com/keybase/node-avdl-compiler). DO NOT EDIT. // Input file: avdl/keybase1/kbfs.avdl package keybase1 @@ -50,7 +50,8 @@ type FSOnlineStatusChangedEventArg struct { Online bool `codec:"online" json:"online"` } -type FSFavoritesChangedEventArg struct{} +type FSFavoritesChangedEventArg struct { +} type FSSubscriptionNotifyPathEventArg struct { ClientID string `codec:"clientID" json:"clientID"` @@ -137,11 +138,11 @@ func KbfsProtocol(i KbfsInterface) rpc.Protocol { Name: "keybase.1.kbfs", Methods: map[string]rpc.ServeHandlerDescription{ "FSEvent": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]FSEventArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]FSEventArg) if !ok { err = rpc.NewTypeError((*[1]FSEventArg)(nil), args) @@ -152,11 +153,11 @@ func KbfsProtocol(i KbfsInterface) rpc.Protocol { }, }, "FSPathUpdate": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]FSPathUpdateArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]FSPathUpdateArg) if !ok { err = rpc.NewTypeError((*[1]FSPathUpdateArg)(nil), args) @@ -167,11 +168,11 @@ func KbfsProtocol(i KbfsInterface) rpc.Protocol { }, }, "FSEditList": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]FSEditListArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]FSEditListArg) if !ok { err = rpc.NewTypeError((*[1]FSEditListArg)(nil), args) @@ -182,11 +183,11 @@ func KbfsProtocol(i KbfsInterface) rpc.Protocol { }, }, "FSSyncStatus": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]FSSyncStatusArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]FSSyncStatusArg) if !ok { err = rpc.NewTypeError((*[1]FSSyncStatusArg)(nil), args) @@ -197,11 +198,11 @@ func KbfsProtocol(i KbfsInterface) rpc.Protocol { }, }, "FSSyncEvent": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]FSSyncEventArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]FSSyncEventArg) if !ok { err = rpc.NewTypeError((*[1]FSSyncEventArg)(nil), args) @@ -212,11 +213,11 @@ func KbfsProtocol(i KbfsInterface) rpc.Protocol { }, }, "FSOverallSyncEvent": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]FSOverallSyncEventArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]FSOverallSyncEventArg) if !ok { err = rpc.NewTypeError((*[1]FSOverallSyncEventArg)(nil), args) @@ -227,11 +228,11 @@ func KbfsProtocol(i KbfsInterface) rpc.Protocol { }, }, "FSOnlineStatusChangedEvent": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]FSOnlineStatusChangedEventArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]FSOnlineStatusChangedEventArg) if !ok { err = rpc.NewTypeError((*[1]FSOnlineStatusChangedEventArg)(nil), args) @@ -242,21 +243,21 @@ func KbfsProtocol(i KbfsInterface) rpc.Protocol { }, }, "FSFavoritesChangedEvent": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]FSFavoritesChangedEventArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { err = i.FSFavoritesChangedEvent(ctx) return }, }, "FSSubscriptionNotifyPathEvent": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]FSSubscriptionNotifyPathEventArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]FSSubscriptionNotifyPathEventArg) if !ok { err = rpc.NewTypeError((*[1]FSSubscriptionNotifyPathEventArg)(nil), args) @@ -267,11 +268,11 @@ func KbfsProtocol(i KbfsInterface) rpc.Protocol { }, }, "FSSubscriptionNotifyEvent": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]FSSubscriptionNotifyEventArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]FSSubscriptionNotifyEventArg) if !ok { err = rpc.NewTypeError((*[1]FSSubscriptionNotifyEventArg)(nil), args) @@ -282,11 +283,11 @@ func KbfsProtocol(i KbfsInterface) rpc.Protocol { }, }, "createTLF": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]CreateTLFArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]CreateTLFArg) if !ok { err = rpc.NewTypeError((*[1]CreateTLFArg)(nil), args) @@ -297,11 +298,11 @@ func KbfsProtocol(i KbfsInterface) rpc.Protocol { }, }, "getKBFSTeamSettings": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]GetKBFSTeamSettingsArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]GetKBFSTeamSettingsArg) if !ok { err = rpc.NewTypeError((*[1]GetKBFSTeamSettingsArg)(nil), args) @@ -312,11 +313,11 @@ func KbfsProtocol(i KbfsInterface) rpc.Protocol { }, }, "upgradeTLF": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]UpgradeTLFArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]UpgradeTLFArg) if !ok { err = rpc.NewTypeError((*[1]UpgradeTLFArg)(nil), args) @@ -327,11 +328,11 @@ func KbfsProtocol(i KbfsInterface) rpc.Protocol { }, }, "encryptFavorites": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]EncryptFavoritesArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]EncryptFavoritesArg) if !ok { err = rpc.NewTypeError((*[1]EncryptFavoritesArg)(nil), args) @@ -342,11 +343,11 @@ func KbfsProtocol(i KbfsInterface) rpc.Protocol { }, }, "decryptFavorites": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]DecryptFavoritesArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]DecryptFavoritesArg) if !ok { err = rpc.NewTypeError((*[1]DecryptFavoritesArg)(nil), args) @@ -374,7 +375,7 @@ type KbfsClient struct { // the clients. func (c KbfsClient) FSEvent(ctx context.Context, event FSNotification) (err error) { __arg := FSEventArg{Event: event} - err = c.Cli.Call(ctx, "keybase.1.kbfs.FSEvent", []interface{}{__arg}, nil, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.kbfs.FSEvent", []any{__arg}, nil, 0*time.Millisecond) return } @@ -382,21 +383,21 @@ func (c KbfsClient) FSEvent(ctx context.Context, event FSNotification) (err erro // SimpleFSList[Recursive call) has been updated. func (c KbfsClient) FSPathUpdate(ctx context.Context, path string) (err error) { __arg := FSPathUpdateArg{Path: path} - err = c.Cli.Notify(ctx, "keybase.1.kbfs.FSPathUpdate", []interface{}{__arg}, 0*time.Millisecond) + err = c.Cli.Notify(ctx, "keybase.1.kbfs.FSPathUpdate", []any{__arg}, 0*time.Millisecond) return } // kbfs calls this as a response to receiving an FSEditListRequest with a // given requestID. func (c KbfsClient) FSEditList(ctx context.Context, __arg FSEditListArg) (err error) { - err = c.Cli.Call(ctx, "keybase.1.kbfs.FSEditList", []interface{}{__arg}, nil, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.kbfs.FSEditList", []any{__arg}, nil, 0*time.Millisecond) return } // FSSyncStatus is called by KBFS as a response to receiving an // FSSyncStatusRequest with a given requestID. func (c KbfsClient) FSSyncStatus(ctx context.Context, __arg FSSyncStatusArg) (err error) { - err = c.Cli.Call(ctx, "keybase.1.kbfs.FSSyncStatus", []interface{}{__arg}, nil, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.kbfs.FSSyncStatus", []any{__arg}, nil, 0*time.Millisecond) return } @@ -404,7 +405,7 @@ func (c KbfsClient) FSSyncStatus(ctx context.Context, __arg FSSyncStatusArg) (er // changes. func (c KbfsClient) FSSyncEvent(ctx context.Context, event FSPathSyncStatus) (err error) { __arg := FSSyncEventArg{Event: event} - err = c.Cli.Call(ctx, "keybase.1.kbfs.FSSyncEvent", []interface{}{__arg}, nil, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.kbfs.FSSyncEvent", []any{__arg}, nil, 0*time.Millisecond) return } @@ -412,62 +413,62 @@ func (c KbfsClient) FSSyncEvent(ctx context.Context, event FSPathSyncStatus) (er // changes. func (c KbfsClient) FSOverallSyncEvent(ctx context.Context, status FolderSyncStatus) (err error) { __arg := FSOverallSyncEventArg{Status: status} - err = c.Cli.Call(ctx, "keybase.1.kbfs.FSOverallSyncEvent", []interface{}{__arg}, nil, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.kbfs.FSOverallSyncEvent", []any{__arg}, nil, 0*time.Millisecond) return } // FSOnlineStatusChangedEvent is called by KBFS when the online status changes. func (c KbfsClient) FSOnlineStatusChangedEvent(ctx context.Context, online bool) (err error) { __arg := FSOnlineStatusChangedEventArg{Online: online} - err = c.Cli.Call(ctx, "keybase.1.kbfs.FSOnlineStatusChangedEvent", []interface{}{__arg}, nil, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.kbfs.FSOnlineStatusChangedEvent", []any{__arg}, nil, 0*time.Millisecond) return } // FSFavoritesChangedEvent is called by KBFS when the favorites list changes. func (c KbfsClient) FSFavoritesChangedEvent(ctx context.Context) (err error) { - err = c.Cli.Call(ctx, "keybase.1.kbfs.FSFavoritesChangedEvent", []interface{}{FSFavoritesChangedEventArg{}}, nil, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.kbfs.FSFavoritesChangedEvent", []any{FSFavoritesChangedEventArg{}}, nil, 0*time.Millisecond) return } func (c KbfsClient) FSSubscriptionNotifyPathEvent(ctx context.Context, __arg FSSubscriptionNotifyPathEventArg) (err error) { - err = c.Cli.Call(ctx, "keybase.1.kbfs.FSSubscriptionNotifyPathEvent", []interface{}{__arg}, nil, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.kbfs.FSSubscriptionNotifyPathEvent", []any{__arg}, nil, 0*time.Millisecond) return } func (c KbfsClient) FSSubscriptionNotifyEvent(ctx context.Context, __arg FSSubscriptionNotifyEventArg) (err error) { - err = c.Cli.Call(ctx, "keybase.1.kbfs.FSSubscriptionNotifyEvent", []interface{}{__arg}, nil, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.kbfs.FSSubscriptionNotifyEvent", []any{__arg}, nil, 0*time.Millisecond) return } // createTLF is called by KBFS to associate the tlfID with the given teamID, // using the v2 Team-based system. func (c KbfsClient) CreateTLF(ctx context.Context, __arg CreateTLFArg) (err error) { - err = c.Cli.Call(ctx, "keybase.1.kbfs.createTLF", []interface{}{__arg}, nil, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.kbfs.createTLF", []any{__arg}, nil, 0*time.Millisecond) return } // getKBFSTeamSettings gets the settings written for the team in the team's sigchain. func (c KbfsClient) GetKBFSTeamSettings(ctx context.Context, __arg GetKBFSTeamSettingsArg) (res KBFSTeamSettings, err error) { - err = c.Cli.Call(ctx, "keybase.1.kbfs.getKBFSTeamSettings", []interface{}{__arg}, &res, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.kbfs.getKBFSTeamSettings", []any{__arg}, &res, 0*time.Millisecond) return } // upgradeTLF upgrades a TLF to use implicit team keys func (c KbfsClient) UpgradeTLF(ctx context.Context, __arg UpgradeTLFArg) (err error) { - err = c.Cli.Call(ctx, "keybase.1.kbfs.upgradeTLF", []interface{}{__arg}, nil, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.kbfs.upgradeTLF", []any{__arg}, nil, 0*time.Millisecond) return } // Encrypt cached favorites to store on disk. func (c KbfsClient) EncryptFavorites(ctx context.Context, dataToEncrypt []byte) (res []byte, err error) { __arg := EncryptFavoritesArg{DataToEncrypt: dataToEncrypt} - err = c.Cli.Call(ctx, "keybase.1.kbfs.encryptFavorites", []interface{}{__arg}, &res, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.kbfs.encryptFavorites", []any{__arg}, &res, 0*time.Millisecond) return } // Decrypt cached favorites stored on disk. func (c KbfsClient) DecryptFavorites(ctx context.Context, dataToEncrypt []byte) (res []byte, err error) { __arg := DecryptFavoritesArg{DataToEncrypt: dataToEncrypt} - err = c.Cli.Call(ctx, "keybase.1.kbfs.decryptFavorites", []interface{}{__arg}, &res, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.kbfs.decryptFavorites", []any{__arg}, &res, 0*time.Millisecond) return } diff --git a/go/protocol/keybase1/kbfs_common.go b/go/protocol/keybase1/kbfs_common.go index c04e1ed528d2..a7be81ae669f 100644 --- a/go/protocol/keybase1/kbfs_common.go +++ b/go/protocol/keybase1/kbfs_common.go @@ -1,4 +1,4 @@ -// Auto-generated to Go types and interfaces using avdl-compiler v1.4.10 (https://github.com/keybase/node-avdl-compiler) +// Code generated to Go types and interfaces using avdl-compiler v1.4.10 (https://github.com/keybase/node-avdl-compiler). DO NOT EDIT. // Input file: avdl/keybase1/kbfs_common.avdl package keybase1 @@ -367,7 +367,8 @@ func (o FolderSyncStatus) DeepCopy() FolderSyncStatus { } } -type KbfsCommonInterface interface{} +type KbfsCommonInterface interface { +} func KbfsCommonProtocol(i KbfsCommonInterface) rpc.Protocol { return rpc.Protocol{ diff --git a/go/protocol/keybase1/kbfs_git.go b/go/protocol/keybase1/kbfs_git.go index c879bfc8c5ac..fa6a690cb2a3 100644 --- a/go/protocol/keybase1/kbfs_git.go +++ b/go/protocol/keybase1/kbfs_git.go @@ -1,4 +1,4 @@ -// Auto-generated to Go types and interfaces using avdl-compiler v1.4.10 (https://github.com/keybase/node-avdl-compiler) +// Code generated to Go types and interfaces using avdl-compiler v1.4.10 (https://github.com/keybase/node-avdl-compiler). DO NOT EDIT. // Input file: avdl/keybase1/kbfs_git.avdl package keybase1 @@ -58,11 +58,11 @@ func KBFSGitProtocol(i KBFSGitInterface) rpc.Protocol { Name: "keybase.1.KBFSGit", Methods: map[string]rpc.ServeHandlerDescription{ "createRepo": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]CreateRepoArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]CreateRepoArg) if !ok { err = rpc.NewTypeError((*[1]CreateRepoArg)(nil), args) @@ -73,11 +73,11 @@ func KBFSGitProtocol(i KBFSGitInterface) rpc.Protocol { }, }, "deleteRepo": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]DeleteRepoArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]DeleteRepoArg) if !ok { err = rpc.NewTypeError((*[1]DeleteRepoArg)(nil), args) @@ -88,11 +88,11 @@ func KBFSGitProtocol(i KBFSGitInterface) rpc.Protocol { }, }, "gc": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]GcArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]GcArg) if !ok { err = rpc.NewTypeError((*[1]GcArg)(nil), args) @@ -113,19 +113,19 @@ type KBFSGitClient struct { // * createRepo creates a bare empty repo on KBFS under the given name in the given TLF. // * It returns the ID of the repo created. func (c KBFSGitClient) CreateRepo(ctx context.Context, __arg CreateRepoArg) (res RepoID, err error) { - err = c.Cli.Call(ctx, "keybase.1.KBFSGit.createRepo", []interface{}{__arg}, &res, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.KBFSGit.createRepo", []any{__arg}, &res, 0*time.Millisecond) return } // * deleteRepo deletes repo on KBFS under the given name in the given TLF. func (c KBFSGitClient) DeleteRepo(ctx context.Context, __arg DeleteRepoArg) (err error) { - err = c.Cli.Call(ctx, "keybase.1.KBFSGit.deleteRepo", []interface{}{__arg}, nil, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.KBFSGit.deleteRepo", []any{__arg}, nil, 0*time.Millisecond) return } // * gc runs garbage collection on the given repo, using the given options to // * see whether anything needs to be done. func (c KBFSGitClient) Gc(ctx context.Context, __arg GcArg) (err error) { - err = c.Cli.Call(ctx, "keybase.1.KBFSGit.gc", []interface{}{__arg}, nil, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.KBFSGit.gc", []any{__arg}, nil, 0*time.Millisecond) return } diff --git a/go/protocol/keybase1/kbfsmount.go b/go/protocol/keybase1/kbfsmount.go index 82dedd18e5c6..5c8f4eab314c 100644 --- a/go/protocol/keybase1/kbfsmount.go +++ b/go/protocol/keybase1/kbfsmount.go @@ -1,4 +1,4 @@ -// Auto-generated to Go types and interfaces using avdl-compiler v1.4.10 (https://github.com/keybase/node-avdl-compiler) +// Code generated to Go types and interfaces using avdl-compiler v1.4.10 (https://github.com/keybase/node-avdl-compiler). DO NOT EDIT. // Input file: avdl/keybase1/kbfsmount.avdl package keybase1 @@ -10,13 +10,17 @@ import ( "github.com/keybase/go-framed-msgpack-rpc/rpc" ) -type GetCurrentMountDirArg struct{} +type GetCurrentMountDirArg struct { +} -type WaitForMountsArg struct{} +type WaitForMountsArg struct { +} -type GetPreferredMountDirsArg struct{} +type GetPreferredMountDirsArg struct { +} -type GetAllAvailableMountDirsArg struct{} +type GetAllAvailableMountDirsArg struct { +} type SetCurrentMountDirArg struct { Dir string `codec:"dir" json:"dir"` @@ -40,51 +44,51 @@ func KbfsMountProtocol(i KbfsMountInterface) rpc.Protocol { Name: "keybase.1.kbfsMount", Methods: map[string]rpc.ServeHandlerDescription{ "GetCurrentMountDir": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]GetCurrentMountDirArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { ret, err = i.GetCurrentMountDir(ctx) return }, }, "WaitForMounts": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]WaitForMountsArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { ret, err = i.WaitForMounts(ctx) return }, }, "GetPreferredMountDirs": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]GetPreferredMountDirsArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { ret, err = i.GetPreferredMountDirs(ctx) return }, }, "GetAllAvailableMountDirs": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]GetAllAvailableMountDirsArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { ret, err = i.GetAllAvailableMountDirs(ctx) return }, }, "SetCurrentMountDir": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]SetCurrentMountDirArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]SetCurrentMountDirArg) if !ok { err = rpc.NewTypeError((*[1]SetCurrentMountDirArg)(nil), args) @@ -95,11 +99,11 @@ func KbfsMountProtocol(i KbfsMountInterface) rpc.Protocol { }, }, "GetKBFSPathInfo": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]GetKBFSPathInfoArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]GetKBFSPathInfoArg) if !ok { err = rpc.NewTypeError((*[1]GetKBFSPathInfoArg)(nil), args) @@ -118,33 +122,33 @@ type KbfsMountClient struct { } func (c KbfsMountClient) GetCurrentMountDir(ctx context.Context) (res string, err error) { - err = c.Cli.Call(ctx, "keybase.1.kbfsMount.GetCurrentMountDir", []interface{}{GetCurrentMountDirArg{}}, &res, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.kbfsMount.GetCurrentMountDir", []any{GetCurrentMountDirArg{}}, &res, 0*time.Millisecond) return } func (c KbfsMountClient) WaitForMounts(ctx context.Context) (res bool, err error) { - err = c.Cli.Call(ctx, "keybase.1.kbfsMount.WaitForMounts", []interface{}{WaitForMountsArg{}}, &res, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.kbfsMount.WaitForMounts", []any{WaitForMountsArg{}}, &res, 0*time.Millisecond) return } func (c KbfsMountClient) GetPreferredMountDirs(ctx context.Context) (res []string, err error) { - err = c.Cli.Call(ctx, "keybase.1.kbfsMount.GetPreferredMountDirs", []interface{}{GetPreferredMountDirsArg{}}, &res, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.kbfsMount.GetPreferredMountDirs", []any{GetPreferredMountDirsArg{}}, &res, 0*time.Millisecond) return } func (c KbfsMountClient) GetAllAvailableMountDirs(ctx context.Context) (res []string, err error) { - err = c.Cli.Call(ctx, "keybase.1.kbfsMount.GetAllAvailableMountDirs", []interface{}{GetAllAvailableMountDirsArg{}}, &res, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.kbfsMount.GetAllAvailableMountDirs", []any{GetAllAvailableMountDirsArg{}}, &res, 0*time.Millisecond) return } func (c KbfsMountClient) SetCurrentMountDir(ctx context.Context, dir string) (err error) { __arg := SetCurrentMountDirArg{Dir: dir} - err = c.Cli.Call(ctx, "keybase.1.kbfsMount.SetCurrentMountDir", []interface{}{__arg}, nil, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.kbfsMount.SetCurrentMountDir", []any{__arg}, nil, 0*time.Millisecond) return } func (c KbfsMountClient) GetKBFSPathInfo(ctx context.Context, standardPath string) (res KBFSPathInfo, err error) { __arg := GetKBFSPathInfoArg{StandardPath: standardPath} - err = c.Cli.Call(ctx, "keybase.1.kbfsMount.GetKBFSPathInfo", []interface{}{__arg}, &res, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.kbfsMount.GetKBFSPathInfo", []any{__arg}, &res, 0*time.Millisecond) return } diff --git a/go/protocol/keybase1/kex2provisionee.go b/go/protocol/keybase1/kex2provisionee.go index c0f3feece47b..4f7f8f4c3499 100644 --- a/go/protocol/keybase1/kex2provisionee.go +++ b/go/protocol/keybase1/kex2provisionee.go @@ -1,4 +1,4 @@ -// Auto-generated to Go types and interfaces using avdl-compiler v1.4.10 (https://github.com/keybase/node-avdl-compiler) +// Code generated to Go types and interfaces using avdl-compiler v1.4.10 (https://github.com/keybase/node-avdl-compiler). DO NOT EDIT. // Input file: avdl/keybase1/kex2provisionee.avdl package keybase1 @@ -67,11 +67,11 @@ func Kex2ProvisioneeProtocol(i Kex2ProvisioneeInterface) rpc.Protocol { Name: "keybase.1.Kex2Provisionee", Methods: map[string]rpc.ServeHandlerDescription{ "hello": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]HelloArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]HelloArg) if !ok { err = rpc.NewTypeError((*[1]HelloArg)(nil), args) @@ -82,11 +82,11 @@ func Kex2ProvisioneeProtocol(i Kex2ProvisioneeInterface) rpc.Protocol { }, }, "didCounterSign": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]DidCounterSignArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]DidCounterSignArg) if !ok { err = rpc.NewTypeError((*[1]DidCounterSignArg)(nil), args) @@ -105,12 +105,12 @@ type Kex2ProvisioneeClient struct { } func (c Kex2ProvisioneeClient) Hello(ctx context.Context, __arg HelloArg) (res HelloRes, err error) { - err = c.Cli.Call(ctx, "keybase.1.Kex2Provisionee.hello", []interface{}{__arg}, &res, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.Kex2Provisionee.hello", []any{__arg}, &res, 0*time.Millisecond) return } func (c Kex2ProvisioneeClient) DidCounterSign(ctx context.Context, sig []byte) (err error) { __arg := DidCounterSignArg{Sig: sig} - err = c.Cli.Call(ctx, "keybase.1.Kex2Provisionee.didCounterSign", []interface{}{__arg}, nil, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.Kex2Provisionee.didCounterSign", []any{__arg}, nil, 0*time.Millisecond) return } diff --git a/go/protocol/keybase1/kex2provisionee2.go b/go/protocol/keybase1/kex2provisionee2.go index d170d9cc732d..0a40c192f846 100644 --- a/go/protocol/keybase1/kex2provisionee2.go +++ b/go/protocol/keybase1/kex2provisionee2.go @@ -1,4 +1,4 @@ -// Auto-generated to Go types and interfaces using avdl-compiler v1.4.10 (https://github.com/keybase/node-avdl-compiler) +// Code generated to Go types and interfaces using avdl-compiler v1.4.10 (https://github.com/keybase/node-avdl-compiler). DO NOT EDIT. // Input file: avdl/keybase1/kex2provisionee2.avdl package keybase1 @@ -62,11 +62,11 @@ func Kex2Provisionee2Protocol(i Kex2Provisionee2Interface) rpc.Protocol { Name: "keybase.1.Kex2Provisionee2", Methods: map[string]rpc.ServeHandlerDescription{ "hello2": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]Hello2Arg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]Hello2Arg) if !ok { err = rpc.NewTypeError((*[1]Hello2Arg)(nil), args) @@ -77,11 +77,11 @@ func Kex2Provisionee2Protocol(i Kex2Provisionee2Interface) rpc.Protocol { }, }, "didCounterSign2": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]DidCounterSign2Arg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]DidCounterSign2Arg) if !ok { err = rpc.NewTypeError((*[1]DidCounterSign2Arg)(nil), args) @@ -100,11 +100,11 @@ type Kex2Provisionee2Client struct { } func (c Kex2Provisionee2Client) Hello2(ctx context.Context, __arg Hello2Arg) (res Hello2Res, err error) { - err = c.Cli.Call(ctx, "keybase.1.Kex2Provisionee2.hello2", []interface{}{__arg}, &res, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.Kex2Provisionee2.hello2", []any{__arg}, &res, 0*time.Millisecond) return } func (c Kex2Provisionee2Client) DidCounterSign2(ctx context.Context, __arg DidCounterSign2Arg) (err error) { - err = c.Cli.Call(ctx, "keybase.1.Kex2Provisionee2.didCounterSign2", []interface{}{__arg}, nil, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.Kex2Provisionee2.didCounterSign2", []any{__arg}, nil, 0*time.Millisecond) return } diff --git a/go/protocol/keybase1/kex2provisioner.go b/go/protocol/keybase1/kex2provisioner.go index de278d3f05c5..5a21ea26f49a 100644 --- a/go/protocol/keybase1/kex2provisioner.go +++ b/go/protocol/keybase1/kex2provisioner.go @@ -1,4 +1,4 @@ -// Auto-generated to Go types and interfaces using avdl-compiler v1.4.10 (https://github.com/keybase/node-avdl-compiler) +// Code generated to Go types and interfaces using avdl-compiler v1.4.10 (https://github.com/keybase/node-avdl-compiler). DO NOT EDIT. // Input file: avdl/keybase1/kex2provisioner.avdl package keybase1 @@ -10,7 +10,8 @@ import ( "github.com/keybase/go-framed-msgpack-rpc/rpc" ) -type KexStartArg struct{} +type KexStartArg struct { +} type Kex2ProvisionerInterface interface { KexStart(context.Context) error @@ -21,11 +22,11 @@ func Kex2ProvisionerProtocol(i Kex2ProvisionerInterface) rpc.Protocol { Name: "keybase.1.Kex2Provisioner", Methods: map[string]rpc.ServeHandlerDescription{ "kexStart": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]KexStartArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { err = i.KexStart(ctx) return }, @@ -39,6 +40,6 @@ type Kex2ProvisionerClient struct { } func (c Kex2ProvisionerClient) KexStart(ctx context.Context) (err error) { - err = c.Cli.Notify(ctx, "keybase.1.Kex2Provisioner.kexStart", []interface{}{KexStartArg{}}, 0*time.Millisecond) + err = c.Cli.Notify(ctx, "keybase.1.Kex2Provisioner.kexStart", []any{KexStartArg{}}, 0*time.Millisecond) return } diff --git a/go/protocol/keybase1/kvstore.go b/go/protocol/keybase1/kvstore.go index ad1d4a2d9f7f..d42c2a5929a9 100644 --- a/go/protocol/keybase1/kvstore.go +++ b/go/protocol/keybase1/kvstore.go @@ -1,4 +1,4 @@ -// Auto-generated to Go types and interfaces using avdl-compiler v1.4.10 (https://github.com/keybase/node-avdl-compiler) +// Code generated to Go types and interfaces using avdl-compiler v1.4.10 (https://github.com/keybase/node-avdl-compiler). DO NOT EDIT. // Input file: avdl/keybase1/kvstore.avdl package keybase1 @@ -210,11 +210,11 @@ func KvstoreProtocol(i KvstoreInterface) rpc.Protocol { Name: "keybase.1.kvstore", Methods: map[string]rpc.ServeHandlerDescription{ "getKVEntry": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]GetKVEntryArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]GetKVEntryArg) if !ok { err = rpc.NewTypeError((*[1]GetKVEntryArg)(nil), args) @@ -225,11 +225,11 @@ func KvstoreProtocol(i KvstoreInterface) rpc.Protocol { }, }, "putKVEntry": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]PutKVEntryArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]PutKVEntryArg) if !ok { err = rpc.NewTypeError((*[1]PutKVEntryArg)(nil), args) @@ -240,11 +240,11 @@ func KvstoreProtocol(i KvstoreInterface) rpc.Protocol { }, }, "listKVNamespaces": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]ListKVNamespacesArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]ListKVNamespacesArg) if !ok { err = rpc.NewTypeError((*[1]ListKVNamespacesArg)(nil), args) @@ -255,11 +255,11 @@ func KvstoreProtocol(i KvstoreInterface) rpc.Protocol { }, }, "listKVEntries": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]ListKVEntriesArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]ListKVEntriesArg) if !ok { err = rpc.NewTypeError((*[1]ListKVEntriesArg)(nil), args) @@ -270,11 +270,11 @@ func KvstoreProtocol(i KvstoreInterface) rpc.Protocol { }, }, "delKVEntry": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]DelKVEntryArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]DelKVEntryArg) if !ok { err = rpc.NewTypeError((*[1]DelKVEntryArg)(nil), args) @@ -293,26 +293,26 @@ type KvstoreClient struct { } func (c KvstoreClient) GetKVEntry(ctx context.Context, __arg GetKVEntryArg) (res KVGetResult, err error) { - err = c.Cli.Call(ctx, "keybase.1.kvstore.getKVEntry", []interface{}{__arg}, &res, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.kvstore.getKVEntry", []any{__arg}, &res, 0*time.Millisecond) return } func (c KvstoreClient) PutKVEntry(ctx context.Context, __arg PutKVEntryArg) (res KVPutResult, err error) { - err = c.Cli.Call(ctx, "keybase.1.kvstore.putKVEntry", []interface{}{__arg}, &res, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.kvstore.putKVEntry", []any{__arg}, &res, 0*time.Millisecond) return } func (c KvstoreClient) ListKVNamespaces(ctx context.Context, __arg ListKVNamespacesArg) (res KVListNamespaceResult, err error) { - err = c.Cli.Call(ctx, "keybase.1.kvstore.listKVNamespaces", []interface{}{__arg}, &res, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.kvstore.listKVNamespaces", []any{__arg}, &res, 0*time.Millisecond) return } func (c KvstoreClient) ListKVEntries(ctx context.Context, __arg ListKVEntriesArg) (res KVListEntryResult, err error) { - err = c.Cli.Call(ctx, "keybase.1.kvstore.listKVEntries", []interface{}{__arg}, &res, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.kvstore.listKVEntries", []any{__arg}, &res, 0*time.Millisecond) return } func (c KvstoreClient) DelKVEntry(ctx context.Context, __arg DelKVEntryArg) (res KVDeleteEntryResult, err error) { - err = c.Cli.Call(ctx, "keybase.1.kvstore.delKVEntry", []interface{}{__arg}, &res, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.kvstore.delKVEntry", []any{__arg}, &res, 0*time.Millisecond) return } diff --git a/go/protocol/keybase1/log.go b/go/protocol/keybase1/log.go index 76009ca0c2a2..20d867256259 100644 --- a/go/protocol/keybase1/log.go +++ b/go/protocol/keybase1/log.go @@ -1,4 +1,4 @@ -// Auto-generated to Go types and interfaces using avdl-compiler v1.4.10 (https://github.com/keybase/node-avdl-compiler) +// Code generated to Go types and interfaces using avdl-compiler v1.4.10 (https://github.com/keybase/node-avdl-compiler). DO NOT EDIT. // Input file: avdl/keybase1/log.avdl package keybase1 @@ -31,11 +31,11 @@ func LogProtocol(i LogInterface) rpc.Protocol { Name: "keybase.1.log", Methods: map[string]rpc.ServeHandlerDescription{ "registerLogger": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]RegisterLoggerArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]RegisterLoggerArg) if !ok { err = rpc.NewTypeError((*[1]RegisterLoggerArg)(nil), args) @@ -46,11 +46,11 @@ func LogProtocol(i LogInterface) rpc.Protocol { }, }, "perfLogPoint": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]PerfLogPointArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]PerfLogPointArg) if !ok { err = rpc.NewTypeError((*[1]PerfLogPointArg)(nil), args) @@ -69,11 +69,11 @@ type LogClient struct { } func (c LogClient) RegisterLogger(ctx context.Context, __arg RegisterLoggerArg) (err error) { - err = c.Cli.Call(ctx, "keybase.1.log.registerLogger", []interface{}{__arg}, nil, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.log.registerLogger", []any{__arg}, nil, 0*time.Millisecond) return } func (c LogClient) PerfLogPoint(ctx context.Context, __arg PerfLogPointArg) (err error) { - err = c.Cli.Call(ctx, "keybase.1.log.perfLogPoint", []interface{}{__arg}, nil, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.log.perfLogPoint", []any{__arg}, nil, 0*time.Millisecond) return } diff --git a/go/protocol/keybase1/log_ui.go b/go/protocol/keybase1/log_ui.go index 582ae1f5cf5a..752e56caca7e 100644 --- a/go/protocol/keybase1/log_ui.go +++ b/go/protocol/keybase1/log_ui.go @@ -1,4 +1,4 @@ -// Auto-generated to Go types and interfaces using avdl-compiler v1.4.10 (https://github.com/keybase/node-avdl-compiler) +// Code generated to Go types and interfaces using avdl-compiler v1.4.10 (https://github.com/keybase/node-avdl-compiler). DO NOT EDIT. // Input file: avdl/keybase1/log_ui.avdl package keybase1 @@ -25,11 +25,11 @@ func LogUiProtocol(i LogUiInterface) rpc.Protocol { Name: "keybase.1.logUi", Methods: map[string]rpc.ServeHandlerDescription{ "log": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]LogArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]LogArg) if !ok { err = rpc.NewTypeError((*[1]LogArg)(nil), args) @@ -48,6 +48,6 @@ type LogUiClient struct { } func (c LogUiClient) Log(ctx context.Context, __arg LogArg) (err error) { - err = c.Cli.Call(ctx, "keybase.1.logUi.log", []interface{}{__arg}, nil, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.logUi.log", []any{__arg}, nil, 0*time.Millisecond) return } diff --git a/go/protocol/keybase1/login.go b/go/protocol/keybase1/login.go index 82da5f157e02..a73fca4efa2b 100644 --- a/go/protocol/keybase1/login.go +++ b/go/protocol/keybase1/login.go @@ -1,4 +1,4 @@ -// Auto-generated to Go types and interfaces using avdl-compiler v1.4.10 (https://github.com/keybase/node-avdl-compiler) +// Code generated to Go types and interfaces using avdl-compiler v1.4.10 (https://github.com/keybase/node-avdl-compiler). DO NOT EDIT. // Input file: avdl/keybase1/login.avdl package keybase1 @@ -15,6 +15,7 @@ type ConfiguredAccount struct { Fullname FullName `codec:"fullname" json:"fullname"` HasStoredSecret bool `codec:"hasStoredSecret" json:"hasStoredSecret"` IsCurrent bool `codec:"isCurrent" json:"isCurrent"` + Uid UID `codec:"uid" json:"uid"` } func (o ConfiguredAccount) DeepCopy() ConfiguredAccount { @@ -23,6 +24,7 @@ func (o ConfiguredAccount) DeepCopy() ConfiguredAccount { Fullname: o.Fullname.DeepCopy(), HasStoredSecret: o.HasStoredSecret, IsCurrent: o.IsCurrent, + Uid: o.Uid.DeepCopy(), } } @@ -101,7 +103,8 @@ type LoginOneshotArg struct { PaperKey string `codec:"paperKey" json:"paperKey"` } -type IsOnlineArg struct{} +type IsOnlineArg struct { +} type LoginInterface interface { // Returns an array of information about accounts configured on the local @@ -151,11 +154,11 @@ func LoginProtocol(i LoginInterface) rpc.Protocol { Name: "keybase.1.login", Methods: map[string]rpc.ServeHandlerDescription{ "getConfiguredAccounts": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]GetConfiguredAccountsArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]GetConfiguredAccountsArg) if !ok { err = rpc.NewTypeError((*[1]GetConfiguredAccountsArg)(nil), args) @@ -166,11 +169,11 @@ func LoginProtocol(i LoginInterface) rpc.Protocol { }, }, "login": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]LoginArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]LoginArg) if !ok { err = rpc.NewTypeError((*[1]LoginArg)(nil), args) @@ -181,11 +184,11 @@ func LoginProtocol(i LoginInterface) rpc.Protocol { }, }, "loginProvisionedDevice": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]LoginProvisionedDeviceArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]LoginProvisionedDeviceArg) if !ok { err = rpc.NewTypeError((*[1]LoginProvisionedDeviceArg)(nil), args) @@ -196,11 +199,11 @@ func LoginProtocol(i LoginInterface) rpc.Protocol { }, }, "loginWithPaperKey": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]LoginWithPaperKeyArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]LoginWithPaperKeyArg) if !ok { err = rpc.NewTypeError((*[1]LoginWithPaperKeyArg)(nil), args) @@ -211,11 +214,11 @@ func LoginProtocol(i LoginInterface) rpc.Protocol { }, }, "logout": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]LogoutArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]LogoutArg) if !ok { err = rpc.NewTypeError((*[1]LogoutArg)(nil), args) @@ -226,11 +229,11 @@ func LoginProtocol(i LoginInterface) rpc.Protocol { }, }, "deprovision": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]DeprovisionArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]DeprovisionArg) if !ok { err = rpc.NewTypeError((*[1]DeprovisionArg)(nil), args) @@ -241,11 +244,11 @@ func LoginProtocol(i LoginInterface) rpc.Protocol { }, }, "recoverAccountFromEmailAddress": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]RecoverAccountFromEmailAddressArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]RecoverAccountFromEmailAddressArg) if !ok { err = rpc.NewTypeError((*[1]RecoverAccountFromEmailAddressArg)(nil), args) @@ -256,11 +259,11 @@ func LoginProtocol(i LoginInterface) rpc.Protocol { }, }, "recoverPassphrase": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]RecoverPassphraseArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]RecoverPassphraseArg) if !ok { err = rpc.NewTypeError((*[1]RecoverPassphraseArg)(nil), args) @@ -271,11 +274,11 @@ func LoginProtocol(i LoginInterface) rpc.Protocol { }, }, "paperKey": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]PaperKeyArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]PaperKeyArg) if !ok { err = rpc.NewTypeError((*[1]PaperKeyArg)(nil), args) @@ -286,11 +289,11 @@ func LoginProtocol(i LoginInterface) rpc.Protocol { }, }, "paperKeySubmit": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]PaperKeySubmitArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]PaperKeySubmitArg) if !ok { err = rpc.NewTypeError((*[1]PaperKeySubmitArg)(nil), args) @@ -301,11 +304,11 @@ func LoginProtocol(i LoginInterface) rpc.Protocol { }, }, "unlock": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]UnlockArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]UnlockArg) if !ok { err = rpc.NewTypeError((*[1]UnlockArg)(nil), args) @@ -316,11 +319,11 @@ func LoginProtocol(i LoginInterface) rpc.Protocol { }, }, "unlockWithPassphrase": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]UnlockWithPassphraseArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]UnlockWithPassphraseArg) if !ok { err = rpc.NewTypeError((*[1]UnlockWithPassphraseArg)(nil), args) @@ -331,11 +334,11 @@ func LoginProtocol(i LoginInterface) rpc.Protocol { }, }, "accountDelete": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]AccountDeleteArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]AccountDeleteArg) if !ok { err = rpc.NewTypeError((*[1]AccountDeleteArg)(nil), args) @@ -346,11 +349,11 @@ func LoginProtocol(i LoginInterface) rpc.Protocol { }, }, "loginOneshot": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]LoginOneshotArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]LoginOneshotArg) if !ok { err = rpc.NewTypeError((*[1]LoginOneshotArg)(nil), args) @@ -361,11 +364,11 @@ func LoginProtocol(i LoginInterface) rpc.Protocol { }, }, "isOnline": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]IsOnlineArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { ret, err = i.IsOnline(ctx) return }, @@ -383,7 +386,7 @@ type LoginClient struct { // secrets, but this definition may be expanded in the future. func (c LoginClient) GetConfiguredAccounts(ctx context.Context, sessionID int) (res []ConfiguredAccount, err error) { __arg := GetConfiguredAccountsArg{SessionID: sessionID} - err = c.Cli.Call(ctx, "keybase.1.login.getConfiguredAccounts", []interface{}{__arg}, &res, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.login.getConfiguredAccounts", []any{__arg}, &res, 0*time.Millisecond) return } @@ -391,7 +394,7 @@ func (c LoginClient) GetConfiguredAccounts(ctx context.Context, sessionID int) ( // or keybase1.DeviceTypeV2_MOBILE. username is optional. If the current // device isn't provisioned, this function will provision it. func (c LoginClient) Login(ctx context.Context, __arg LoginArg) (err error) { - err = c.Cli.Call(ctx, "keybase.1.login.login", []interface{}{__arg}, nil, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.login.login", []any{__arg}, nil, 0*time.Millisecond) return } @@ -399,7 +402,7 @@ func (c LoginClient) Login(ctx context.Context, __arg LoginArg) (err error) { // If noPassphrasePrompt is set, then only a stored secret will be used to unlock // the device keys. func (c LoginClient) LoginProvisionedDevice(ctx context.Context, __arg LoginProvisionedDeviceArg) (err error) { - err = c.Cli.Call(ctx, "keybase.1.login.loginProvisionedDevice", []interface{}{__arg}, nil, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.login.loginProvisionedDevice", []any{__arg}, nil, 0*time.Millisecond) return } @@ -407,30 +410,30 @@ func (c LoginClient) LoginProvisionedDevice(ctx context.Context, __arg LoginProv // - trying unlocked device keys if available // - prompting for a paper key and using that func (c LoginClient) LoginWithPaperKey(ctx context.Context, __arg LoginWithPaperKeyArg) (err error) { - err = c.Cli.Call(ctx, "keybase.1.login.loginWithPaperKey", []interface{}{__arg}, nil, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.login.loginWithPaperKey", []any{__arg}, nil, 0*time.Millisecond) return } func (c LoginClient) Logout(ctx context.Context, __arg LogoutArg) (err error) { - err = c.Cli.Call(ctx, "keybase.1.login.logout", []interface{}{__arg}, nil, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.login.logout", []any{__arg}, nil, 0*time.Millisecond) return } func (c LoginClient) Deprovision(ctx context.Context, __arg DeprovisionArg) (err error) { - err = c.Cli.Call(ctx, "keybase.1.login.deprovision", []interface{}{__arg}, nil, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.login.deprovision", []any{__arg}, nil, 0*time.Millisecond) return } func (c LoginClient) RecoverAccountFromEmailAddress(ctx context.Context, email string) (err error) { __arg := RecoverAccountFromEmailAddressArg{Email: email} - err = c.Cli.Call(ctx, "keybase.1.login.recoverAccountFromEmailAddress", []interface{}{__arg}, nil, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.login.recoverAccountFromEmailAddress", []any{__arg}, nil, 0*time.Millisecond) return } // Guide the user through possibilities of changing their passphrase. // Lets them change their passphrase using a paper key or enter the reset pipeline. func (c LoginClient) RecoverPassphrase(ctx context.Context, __arg RecoverPassphraseArg) (err error) { - err = c.Cli.Call(ctx, "keybase.1.login.recoverPassphrase", []interface{}{__arg}, nil, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.login.recoverPassphrase", []any{__arg}, nil, 0*time.Millisecond) return } @@ -438,32 +441,32 @@ func (c LoginClient) RecoverPassphrase(ctx context.Context, __arg RecoverPassphr // It calls login_ui.displayPaperKeyPhrase with the phrase. func (c LoginClient) PaperKey(ctx context.Context, sessionID int) (err error) { __arg := PaperKeyArg{SessionID: sessionID} - err = c.Cli.Call(ctx, "keybase.1.login.paperKey", []interface{}{__arg}, nil, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.login.paperKey", []any{__arg}, nil, 0*time.Millisecond) return } // paperKeySubmit checks that paperPhrase is a valid paper key // for the logged in user, caches the keys, and sends a notification. func (c LoginClient) PaperKeySubmit(ctx context.Context, __arg PaperKeySubmitArg) (err error) { - err = c.Cli.Call(ctx, "keybase.1.login.paperKeySubmit", []interface{}{__arg}, nil, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.login.paperKeySubmit", []any{__arg}, nil, 0*time.Millisecond) return } // Unlock restores access to local key store by priming passphrase stream cache. func (c LoginClient) Unlock(ctx context.Context, sessionID int) (err error) { __arg := UnlockArg{SessionID: sessionID} - err = c.Cli.Call(ctx, "keybase.1.login.unlock", []interface{}{__arg}, nil, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.login.unlock", []any{__arg}, nil, 0*time.Millisecond) return } func (c LoginClient) UnlockWithPassphrase(ctx context.Context, __arg UnlockWithPassphraseArg) (err error) { - err = c.Cli.Call(ctx, "keybase.1.login.unlockWithPassphrase", []interface{}{__arg}, nil, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.login.unlockWithPassphrase", []any{__arg}, nil, 0*time.Millisecond) return } // accountDelete deletes the current user's account. func (c LoginClient) AccountDelete(ctx context.Context, __arg AccountDeleteArg) (err error) { - err = c.Cli.Call(ctx, "keybase.1.login.accountDelete", []interface{}{__arg}, nil, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.login.accountDelete", []any{__arg}, nil, 0*time.Millisecond) return } @@ -471,13 +474,13 @@ func (c LoginClient) AccountDelete(ctx context.Context, __arg AccountDeleteArg) // provisioning a device. It bootstraps credentials with the given // paperkey func (c LoginClient) LoginOneshot(ctx context.Context, __arg LoginOneshotArg) (err error) { - err = c.Cli.Call(ctx, "keybase.1.login.loginOneshot", []interface{}{__arg}, nil, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.login.loginOneshot", []any{__arg}, nil, 0*time.Millisecond) return } // isOnline returns whether the device is able to open a connection to keybase.io. // Used for determining whether to offer proxy settings on the login screen. func (c LoginClient) IsOnline(ctx context.Context) (res bool, err error) { - err = c.Cli.Call(ctx, "keybase.1.login.isOnline", []interface{}{IsOnlineArg{}}, &res, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.login.isOnline", []any{IsOnlineArg{}}, &res, 0*time.Millisecond) return } diff --git a/go/protocol/keybase1/login_ui.go b/go/protocol/keybase1/login_ui.go index 0c480d790b48..9a45baf93a9b 100644 --- a/go/protocol/keybase1/login_ui.go +++ b/go/protocol/keybase1/login_ui.go @@ -1,4 +1,4 @@ -// Auto-generated to Go types and interfaces using avdl-compiler v1.4.10 (https://github.com/keybase/node-avdl-compiler) +// Code generated to Go types and interfaces using avdl-compiler v1.4.10 (https://github.com/keybase/node-avdl-compiler). DO NOT EDIT. // Input file: avdl/keybase1/login_ui.avdl package keybase1 @@ -278,11 +278,11 @@ func LoginUiProtocol(i LoginUiInterface) rpc.Protocol { Name: "keybase.1.loginUi", Methods: map[string]rpc.ServeHandlerDescription{ "getEmailOrUsername": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]GetEmailOrUsernameArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]GetEmailOrUsernameArg) if !ok { err = rpc.NewTypeError((*[1]GetEmailOrUsernameArg)(nil), args) @@ -293,11 +293,11 @@ func LoginUiProtocol(i LoginUiInterface) rpc.Protocol { }, }, "promptRevokePaperKeys": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]PromptRevokePaperKeysArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]PromptRevokePaperKeysArg) if !ok { err = rpc.NewTypeError((*[1]PromptRevokePaperKeysArg)(nil), args) @@ -308,11 +308,11 @@ func LoginUiProtocol(i LoginUiInterface) rpc.Protocol { }, }, "displayPaperKeyPhrase": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]DisplayPaperKeyPhraseArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]DisplayPaperKeyPhraseArg) if !ok { err = rpc.NewTypeError((*[1]DisplayPaperKeyPhraseArg)(nil), args) @@ -323,11 +323,11 @@ func LoginUiProtocol(i LoginUiInterface) rpc.Protocol { }, }, "displayPrimaryPaperKey": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]DisplayPrimaryPaperKeyArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]DisplayPrimaryPaperKeyArg) if !ok { err = rpc.NewTypeError((*[1]DisplayPrimaryPaperKeyArg)(nil), args) @@ -338,11 +338,11 @@ func LoginUiProtocol(i LoginUiInterface) rpc.Protocol { }, }, "promptResetAccount": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]PromptResetAccountArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]PromptResetAccountArg) if !ok { err = rpc.NewTypeError((*[1]PromptResetAccountArg)(nil), args) @@ -353,11 +353,11 @@ func LoginUiProtocol(i LoginUiInterface) rpc.Protocol { }, }, "displayResetProgress": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]DisplayResetProgressArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]DisplayResetProgressArg) if !ok { err = rpc.NewTypeError((*[1]DisplayResetProgressArg)(nil), args) @@ -368,11 +368,11 @@ func LoginUiProtocol(i LoginUiInterface) rpc.Protocol { }, }, "explainDeviceRecovery": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]ExplainDeviceRecoveryArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]ExplainDeviceRecoveryArg) if !ok { err = rpc.NewTypeError((*[1]ExplainDeviceRecoveryArg)(nil), args) @@ -383,11 +383,11 @@ func LoginUiProtocol(i LoginUiInterface) rpc.Protocol { }, }, "promptPassphraseRecovery": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]PromptPassphraseRecoveryArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]PromptPassphraseRecoveryArg) if !ok { err = rpc.NewTypeError((*[1]PromptPassphraseRecoveryArg)(nil), args) @@ -398,11 +398,11 @@ func LoginUiProtocol(i LoginUiInterface) rpc.Protocol { }, }, "chooseDeviceToRecoverWith": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]ChooseDeviceToRecoverWithArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]ChooseDeviceToRecoverWithArg) if !ok { err = rpc.NewTypeError((*[1]ChooseDeviceToRecoverWithArg)(nil), args) @@ -413,11 +413,11 @@ func LoginUiProtocol(i LoginUiInterface) rpc.Protocol { }, }, "displayResetMessage": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]DisplayResetMessageArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]DisplayResetMessageArg) if !ok { err = rpc.NewTypeError((*[1]DisplayResetMessageArg)(nil), args) @@ -437,22 +437,22 @@ type LoginUiClient struct { func (c LoginUiClient) GetEmailOrUsername(ctx context.Context, sessionID int) (res string, err error) { __arg := GetEmailOrUsernameArg{SessionID: sessionID} - err = c.Cli.Call(ctx, "keybase.1.loginUi.getEmailOrUsername", []interface{}{__arg}, &res, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.loginUi.getEmailOrUsername", []any{__arg}, &res, 0*time.Millisecond) return } func (c LoginUiClient) PromptRevokePaperKeys(ctx context.Context, __arg PromptRevokePaperKeysArg) (res bool, err error) { - err = c.Cli.Call(ctx, "keybase.1.loginUi.promptRevokePaperKeys", []interface{}{__arg}, &res, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.loginUi.promptRevokePaperKeys", []any{__arg}, &res, 0*time.Millisecond) return } func (c LoginUiClient) DisplayPaperKeyPhrase(ctx context.Context, __arg DisplayPaperKeyPhraseArg) (err error) { - err = c.Cli.Call(ctx, "keybase.1.loginUi.displayPaperKeyPhrase", []interface{}{__arg}, nil, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.loginUi.displayPaperKeyPhrase", []any{__arg}, nil, 0*time.Millisecond) return } func (c LoginUiClient) DisplayPrimaryPaperKey(ctx context.Context, __arg DisplayPrimaryPaperKeyArg) (err error) { - err = c.Cli.Call(ctx, "keybase.1.loginUi.displayPrimaryPaperKey", []interface{}{__arg}, nil, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.loginUi.displayPrimaryPaperKey", []any{__arg}, nil, 0*time.Millisecond) return } @@ -460,36 +460,36 @@ func (c LoginUiClient) DisplayPrimaryPaperKey(ctx context.Context, __arg Display // would like to either enter the autoreset pipeline and perform the reset // of the account. func (c LoginUiClient) PromptResetAccount(ctx context.Context, __arg PromptResetAccountArg) (res ResetPromptResponse, err error) { - err = c.Cli.Call(ctx, "keybase.1.loginUi.promptResetAccount", []interface{}{__arg}, &res, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.loginUi.promptResetAccount", []any{__arg}, &res, 0*time.Millisecond) return } // In some flows the user will get notified of the reset progress func (c LoginUiClient) DisplayResetProgress(ctx context.Context, __arg DisplayResetProgressArg) (err error) { - err = c.Cli.Call(ctx, "keybase.1.loginUi.displayResetProgress", []interface{}{__arg}, nil, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.loginUi.displayResetProgress", []any{__arg}, nil, 0*time.Millisecond) return } // During recovery the service might want to explain to the user how they can change // their password by using the "change password" functionality on other devices. func (c LoginUiClient) ExplainDeviceRecovery(ctx context.Context, __arg ExplainDeviceRecoveryArg) (err error) { - err = c.Cli.Call(ctx, "keybase.1.loginUi.explainDeviceRecovery", []interface{}{__arg}, nil, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.loginUi.explainDeviceRecovery", []any{__arg}, nil, 0*time.Millisecond) return } func (c LoginUiClient) PromptPassphraseRecovery(ctx context.Context, __arg PromptPassphraseRecoveryArg) (res bool, err error) { - err = c.Cli.Call(ctx, "keybase.1.loginUi.promptPassphraseRecovery", []interface{}{__arg}, &res, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.loginUi.promptPassphraseRecovery", []any{__arg}, &res, 0*time.Millisecond) return } // Different from ProvisionUI's chooseDevice due to phrasing in the UI. func (c LoginUiClient) ChooseDeviceToRecoverWith(ctx context.Context, __arg ChooseDeviceToRecoverWithArg) (res DeviceID, err error) { - err = c.Cli.Call(ctx, "keybase.1.loginUi.chooseDeviceToRecoverWith", []interface{}{__arg}, &res, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.loginUi.chooseDeviceToRecoverWith", []any{__arg}, &res, 0*time.Millisecond) return } // Simply displays a message in the recovery flow. func (c LoginUiClient) DisplayResetMessage(ctx context.Context, __arg DisplayResetMessageArg) (err error) { - err = c.Cli.Call(ctx, "keybase.1.loginUi.displayResetMessage", []interface{}{__arg}, nil, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.loginUi.displayResetMessage", []any{__arg}, nil, 0*time.Millisecond) return } diff --git a/go/protocol/keybase1/logsend.go b/go/protocol/keybase1/logsend.go index 8e7f512ec5c6..ceeb3363bb81 100644 --- a/go/protocol/keybase1/logsend.go +++ b/go/protocol/keybase1/logsend.go @@ -1,4 +1,4 @@ -// Auto-generated to Go types and interfaces using avdl-compiler v1.4.10 (https://github.com/keybase/node-avdl-compiler) +// Code generated to Go types and interfaces using avdl-compiler v1.4.10 (https://github.com/keybase/node-avdl-compiler). DO NOT EDIT. // Input file: avdl/keybase1/logsend.avdl package keybase1 @@ -10,7 +10,8 @@ import ( "github.com/keybase/go-framed-msgpack-rpc/rpc" ) -type PrepareLogsendArg struct{} +type PrepareLogsendArg struct { +} type LogsendInterface interface { PrepareLogsend(context.Context) error @@ -21,11 +22,11 @@ func LogsendProtocol(i LogsendInterface) rpc.Protocol { Name: "keybase.1.logsend", Methods: map[string]rpc.ServeHandlerDescription{ "prepareLogsend": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]PrepareLogsendArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { err = i.PrepareLogsend(ctx) return }, @@ -39,6 +40,6 @@ type LogsendClient struct { } func (c LogsendClient) PrepareLogsend(ctx context.Context) (err error) { - err = c.Cli.Call(ctx, "keybase.1.logsend.prepareLogsend", []interface{}{PrepareLogsendArg{}}, nil, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.logsend.prepareLogsend", []any{PrepareLogsendArg{}}, nil, 0*time.Millisecond) return } diff --git a/go/protocol/keybase1/merkle.go b/go/protocol/keybase1/merkle.go index a6cc5af71ae0..6f39f5d586e2 100644 --- a/go/protocol/keybase1/merkle.go +++ b/go/protocol/keybase1/merkle.go @@ -1,4 +1,4 @@ -// Auto-generated to Go types and interfaces using avdl-compiler v1.4.10 (https://github.com/keybase/node-avdl-compiler) +// Code generated to Go types and interfaces using avdl-compiler v1.4.10 (https://github.com/keybase/node-avdl-compiler). DO NOT EDIT. // Input file: avdl/keybase1/merkle.avdl package keybase1 @@ -73,11 +73,11 @@ func MerkleProtocol(i MerkleInterface) rpc.Protocol { Name: "keybase.1.merkle", Methods: map[string]rpc.ServeHandlerDescription{ "getCurrentMerkleRoot": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]GetCurrentMerkleRootArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]GetCurrentMerkleRootArg) if !ok { err = rpc.NewTypeError((*[1]GetCurrentMerkleRootArg)(nil), args) @@ -88,11 +88,11 @@ func MerkleProtocol(i MerkleInterface) rpc.Protocol { }, }, "verifyMerkleRootAndKBFS": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]VerifyMerkleRootAndKBFSArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]VerifyMerkleRootAndKBFSArg) if !ok { err = rpc.NewTypeError((*[1]VerifyMerkleRootAndKBFSArg)(nil), args) @@ -116,7 +116,7 @@ type MerkleClient struct { // we force a GET and a round-trip. func (c MerkleClient) GetCurrentMerkleRoot(ctx context.Context, freshnessMsec int) (res MerkleRootAndTime, err error) { __arg := GetCurrentMerkleRootArg{FreshnessMsec: freshnessMsec} - err = c.Cli.Call(ctx, "keybase.1.merkle.getCurrentMerkleRoot", []interface{}{__arg}, &res, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.merkle.getCurrentMerkleRoot", []any{__arg}, &res, 0*time.Millisecond) return } @@ -124,6 +124,6 @@ func (c MerkleClient) GetCurrentMerkleRoot(ctx context.Context, freshnessMsec in // root of the keybase server's Merkle tree, and that the given KBFS root // is included in that global root. func (c MerkleClient) VerifyMerkleRootAndKBFS(ctx context.Context, __arg VerifyMerkleRootAndKBFSArg) (err error) { - err = c.Cli.Call(ctx, "keybase.1.merkle.verifyMerkleRootAndKBFS", []interface{}{__arg}, nil, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.merkle.verifyMerkleRootAndKBFS", []any{__arg}, nil, 0*time.Millisecond) return } diff --git a/go/protocol/keybase1/merkle_store.go b/go/protocol/keybase1/merkle_store.go index 0f1e2f1cecfd..a8a6a690cfbd 100644 --- a/go/protocol/keybase1/merkle_store.go +++ b/go/protocol/keybase1/merkle_store.go @@ -1,4 +1,4 @@ -// Auto-generated to Go types and interfaces using avdl-compiler v1.4.10 (https://github.com/keybase/node-avdl-compiler) +// Code generated to Go types and interfaces using avdl-compiler v1.4.10 (https://github.com/keybase/node-avdl-compiler). DO NOT EDIT. // Input file: avdl/keybase1/merkle_store.avdl package keybase1 @@ -43,7 +43,8 @@ func (o MerkleStoreEntry) DeepCopy() MerkleStoreEntry { } } -type Merkle_storeInterface interface{} +type Merkle_storeInterface interface { +} func Merkle_storeProtocol(i Merkle_storeInterface) rpc.Protocol { return rpc.Protocol{ diff --git a/go/protocol/keybase1/metadata.go b/go/protocol/keybase1/metadata.go index 88fbc0280078..aa4f9e8aa314 100644 --- a/go/protocol/keybase1/metadata.go +++ b/go/protocol/keybase1/metadata.go @@ -1,4 +1,4 @@ -// Auto-generated to Go types and interfaces using avdl-compiler v1.4.10 (https://github.com/keybase/node-avdl-compiler) +// Code generated to Go types and interfaces using avdl-compiler v1.4.10 (https://github.com/keybase/node-avdl-compiler). DO NOT EDIT. // Input file: avdl/keybase1/metadata.avdl package keybase1 @@ -181,7 +181,8 @@ func (o FindNextMDResponse) DeepCopy() FindNextMDResponse { } } -type GetChallengeArg struct{} +type GetChallengeArg struct { +} type AuthenticateArg struct { Signature string `codec:"signature" json:"signature"` @@ -260,9 +261,11 @@ type GetFoldersForRekeyArg struct { DeviceKID KID `codec:"deviceKID" json:"deviceKID"` } -type PingArg struct{} +type PingArg struct { +} -type Ping2Arg struct{} +type Ping2Arg struct { +} type GetLatestFolderHandleArg struct { FolderID string `codec:"folderID" json:"folderID"` @@ -315,7 +318,8 @@ type SetImplicitTeamModeForTestArg struct { ImplicitTeamMode string `codec:"implicitTeamMode" json:"implicitTeamMode"` } -type ForceMerkleBuildForTestArg struct{} +type ForceMerkleBuildForTestArg struct { +} type MetadataInterface interface { GetChallenge(context.Context) (ChallengeInfo, error) @@ -353,21 +357,21 @@ func MetadataProtocol(i MetadataInterface) rpc.Protocol { Name: "keybase.1.metadata", Methods: map[string]rpc.ServeHandlerDescription{ "getChallenge": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]GetChallengeArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { ret, err = i.GetChallenge(ctx) return }, }, "authenticate": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]AuthenticateArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]AuthenticateArg) if !ok { err = rpc.NewTypeError((*[1]AuthenticateArg)(nil), args) @@ -378,11 +382,11 @@ func MetadataProtocol(i MetadataInterface) rpc.Protocol { }, }, "putMetadata": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]PutMetadataArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]PutMetadataArg) if !ok { err = rpc.NewTypeError((*[1]PutMetadataArg)(nil), args) @@ -393,11 +397,11 @@ func MetadataProtocol(i MetadataInterface) rpc.Protocol { }, }, "getMetadata": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]GetMetadataArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]GetMetadataArg) if !ok { err = rpc.NewTypeError((*[1]GetMetadataArg)(nil), args) @@ -408,11 +412,11 @@ func MetadataProtocol(i MetadataInterface) rpc.Protocol { }, }, "getMetadataByTimestamp": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]GetMetadataByTimestampArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]GetMetadataByTimestampArg) if !ok { err = rpc.NewTypeError((*[1]GetMetadataByTimestampArg)(nil), args) @@ -423,11 +427,11 @@ func MetadataProtocol(i MetadataInterface) rpc.Protocol { }, }, "registerForUpdates": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]RegisterForUpdatesArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]RegisterForUpdatesArg) if !ok { err = rpc.NewTypeError((*[1]RegisterForUpdatesArg)(nil), args) @@ -438,11 +442,11 @@ func MetadataProtocol(i MetadataInterface) rpc.Protocol { }, }, "pruneBranch": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]PruneBranchArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]PruneBranchArg) if !ok { err = rpc.NewTypeError((*[1]PruneBranchArg)(nil), args) @@ -453,11 +457,11 @@ func MetadataProtocol(i MetadataInterface) rpc.Protocol { }, }, "putKeys": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]PutKeysArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]PutKeysArg) if !ok { err = rpc.NewTypeError((*[1]PutKeysArg)(nil), args) @@ -468,11 +472,11 @@ func MetadataProtocol(i MetadataInterface) rpc.Protocol { }, }, "getKey": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]GetKeyArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]GetKeyArg) if !ok { err = rpc.NewTypeError((*[1]GetKeyArg)(nil), args) @@ -483,11 +487,11 @@ func MetadataProtocol(i MetadataInterface) rpc.Protocol { }, }, "deleteKey": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]DeleteKeyArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]DeleteKeyArg) if !ok { err = rpc.NewTypeError((*[1]DeleteKeyArg)(nil), args) @@ -498,11 +502,11 @@ func MetadataProtocol(i MetadataInterface) rpc.Protocol { }, }, "truncateLock": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]TruncateLockArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]TruncateLockArg) if !ok { err = rpc.NewTypeError((*[1]TruncateLockArg)(nil), args) @@ -513,11 +517,11 @@ func MetadataProtocol(i MetadataInterface) rpc.Protocol { }, }, "truncateUnlock": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]TruncateUnlockArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]TruncateUnlockArg) if !ok { err = rpc.NewTypeError((*[1]TruncateUnlockArg)(nil), args) @@ -528,11 +532,11 @@ func MetadataProtocol(i MetadataInterface) rpc.Protocol { }, }, "getFolderHandle": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]GetFolderHandleArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]GetFolderHandleArg) if !ok { err = rpc.NewTypeError((*[1]GetFolderHandleArg)(nil), args) @@ -543,11 +547,11 @@ func MetadataProtocol(i MetadataInterface) rpc.Protocol { }, }, "getFoldersForRekey": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]GetFoldersForRekeyArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]GetFoldersForRekeyArg) if !ok { err = rpc.NewTypeError((*[1]GetFoldersForRekeyArg)(nil), args) @@ -558,31 +562,31 @@ func MetadataProtocol(i MetadataInterface) rpc.Protocol { }, }, "ping": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]PingArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { err = i.Ping(ctx) return }, }, "ping2": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]Ping2Arg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { ret, err = i.Ping2(ctx) return }, }, "getLatestFolderHandle": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]GetLatestFolderHandleArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]GetLatestFolderHandleArg) if !ok { err = rpc.NewTypeError((*[1]GetLatestFolderHandleArg)(nil), args) @@ -593,11 +597,11 @@ func MetadataProtocol(i MetadataInterface) rpc.Protocol { }, }, "getKeyBundles": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]GetKeyBundlesArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]GetKeyBundlesArg) if !ok { err = rpc.NewTypeError((*[1]GetKeyBundlesArg)(nil), args) @@ -608,11 +612,11 @@ func MetadataProtocol(i MetadataInterface) rpc.Protocol { }, }, "lock": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]LockArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]LockArg) if !ok { err = rpc.NewTypeError((*[1]LockArg)(nil), args) @@ -623,11 +627,11 @@ func MetadataProtocol(i MetadataInterface) rpc.Protocol { }, }, "releaseLock": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]ReleaseLockArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]ReleaseLockArg) if !ok { err = rpc.NewTypeError((*[1]ReleaseLockArg)(nil), args) @@ -638,11 +642,11 @@ func MetadataProtocol(i MetadataInterface) rpc.Protocol { }, }, "startImplicitTeamMigration": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]StartImplicitTeamMigrationArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]StartImplicitTeamMigrationArg) if !ok { err = rpc.NewTypeError((*[1]StartImplicitTeamMigrationArg)(nil), args) @@ -653,11 +657,11 @@ func MetadataProtocol(i MetadataInterface) rpc.Protocol { }, }, "getMerkleRoot": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]GetMerkleRootArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]GetMerkleRootArg) if !ok { err = rpc.NewTypeError((*[1]GetMerkleRootArg)(nil), args) @@ -668,11 +672,11 @@ func MetadataProtocol(i MetadataInterface) rpc.Protocol { }, }, "getMerkleRootLatest": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]GetMerkleRootLatestArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]GetMerkleRootLatestArg) if !ok { err = rpc.NewTypeError((*[1]GetMerkleRootLatestArg)(nil), args) @@ -683,11 +687,11 @@ func MetadataProtocol(i MetadataInterface) rpc.Protocol { }, }, "getMerkleRootSince": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]GetMerkleRootSinceArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]GetMerkleRootSinceArg) if !ok { err = rpc.NewTypeError((*[1]GetMerkleRootSinceArg)(nil), args) @@ -698,11 +702,11 @@ func MetadataProtocol(i MetadataInterface) rpc.Protocol { }, }, "getMerkleNode": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]GetMerkleNodeArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]GetMerkleNodeArg) if !ok { err = rpc.NewTypeError((*[1]GetMerkleNodeArg)(nil), args) @@ -713,11 +717,11 @@ func MetadataProtocol(i MetadataInterface) rpc.Protocol { }, }, "findNextMD": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]FindNextMDArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]FindNextMDArg) if !ok { err = rpc.NewTypeError((*[1]FindNextMDArg)(nil), args) @@ -728,11 +732,11 @@ func MetadataProtocol(i MetadataInterface) rpc.Protocol { }, }, "setImplicitTeamModeForTest": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]SetImplicitTeamModeForTestArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]SetImplicitTeamModeForTestArg) if !ok { err = rpc.NewTypeError((*[1]SetImplicitTeamModeForTestArg)(nil), args) @@ -743,11 +747,11 @@ func MetadataProtocol(i MetadataInterface) rpc.Protocol { }, }, "forceMerkleBuildForTest": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]ForceMerkleBuildForTestArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { err = i.ForceMerkleBuildForTest(ctx) return }, @@ -761,150 +765,150 @@ type MetadataClient struct { } func (c MetadataClient) GetChallenge(ctx context.Context) (res ChallengeInfo, err error) { - err = c.Cli.CallCompressed(ctx, "keybase.1.metadata.getChallenge", []interface{}{GetChallengeArg{}}, &res, rpc.CompressionGzip, 0*time.Millisecond) + err = c.Cli.CallCompressed(ctx, "keybase.1.metadata.getChallenge", []any{GetChallengeArg{}}, &res, rpc.CompressionGzip, 0*time.Millisecond) return } func (c MetadataClient) Authenticate(ctx context.Context, signature string) (res int, err error) { __arg := AuthenticateArg{Signature: signature} - err = c.Cli.CallCompressed(ctx, "keybase.1.metadata.authenticate", []interface{}{__arg}, &res, rpc.CompressionGzip, 0*time.Millisecond) + err = c.Cli.CallCompressed(ctx, "keybase.1.metadata.authenticate", []any{__arg}, &res, rpc.CompressionGzip, 0*time.Millisecond) return } func (c MetadataClient) PutMetadata(ctx context.Context, __arg PutMetadataArg) (err error) { - err = c.Cli.CallCompressed(ctx, "keybase.1.metadata.putMetadata", []interface{}{__arg}, nil, rpc.CompressionGzip, 0*time.Millisecond) + err = c.Cli.CallCompressed(ctx, "keybase.1.metadata.putMetadata", []any{__arg}, nil, rpc.CompressionGzip, 0*time.Millisecond) return } func (c MetadataClient) GetMetadata(ctx context.Context, __arg GetMetadataArg) (res MetadataResponse, err error) { - err = c.Cli.CallCompressed(ctx, "keybase.1.metadata.getMetadata", []interface{}{__arg}, &res, rpc.CompressionGzip, 0*time.Millisecond) + err = c.Cli.CallCompressed(ctx, "keybase.1.metadata.getMetadata", []any{__arg}, &res, rpc.CompressionGzip, 0*time.Millisecond) return } func (c MetadataClient) GetMetadataByTimestamp(ctx context.Context, __arg GetMetadataByTimestampArg) (res MDBlock, err error) { - err = c.Cli.CallCompressed(ctx, "keybase.1.metadata.getMetadataByTimestamp", []interface{}{__arg}, &res, rpc.CompressionGzip, 0*time.Millisecond) + err = c.Cli.CallCompressed(ctx, "keybase.1.metadata.getMetadataByTimestamp", []any{__arg}, &res, rpc.CompressionGzip, 0*time.Millisecond) return } func (c MetadataClient) RegisterForUpdates(ctx context.Context, __arg RegisterForUpdatesArg) (err error) { - err = c.Cli.CallCompressed(ctx, "keybase.1.metadata.registerForUpdates", []interface{}{__arg}, nil, rpc.CompressionGzip, 0*time.Millisecond) + err = c.Cli.CallCompressed(ctx, "keybase.1.metadata.registerForUpdates", []any{__arg}, nil, rpc.CompressionGzip, 0*time.Millisecond) return } func (c MetadataClient) PruneBranch(ctx context.Context, __arg PruneBranchArg) (err error) { - err = c.Cli.CallCompressed(ctx, "keybase.1.metadata.pruneBranch", []interface{}{__arg}, nil, rpc.CompressionGzip, 0*time.Millisecond) + err = c.Cli.CallCompressed(ctx, "keybase.1.metadata.pruneBranch", []any{__arg}, nil, rpc.CompressionGzip, 0*time.Millisecond) return } func (c MetadataClient) PutKeys(ctx context.Context, __arg PutKeysArg) (err error) { - err = c.Cli.CallCompressed(ctx, "keybase.1.metadata.putKeys", []interface{}{__arg}, nil, rpc.CompressionGzip, 0*time.Millisecond) + err = c.Cli.CallCompressed(ctx, "keybase.1.metadata.putKeys", []any{__arg}, nil, rpc.CompressionGzip, 0*time.Millisecond) return } func (c MetadataClient) GetKey(ctx context.Context, __arg GetKeyArg) (res []byte, err error) { - err = c.Cli.CallCompressed(ctx, "keybase.1.metadata.getKey", []interface{}{__arg}, &res, rpc.CompressionGzip, 0*time.Millisecond) + err = c.Cli.CallCompressed(ctx, "keybase.1.metadata.getKey", []any{__arg}, &res, rpc.CompressionGzip, 0*time.Millisecond) return } func (c MetadataClient) DeleteKey(ctx context.Context, __arg DeleteKeyArg) (err error) { - err = c.Cli.CallCompressed(ctx, "keybase.1.metadata.deleteKey", []interface{}{__arg}, nil, rpc.CompressionGzip, 0*time.Millisecond) + err = c.Cli.CallCompressed(ctx, "keybase.1.metadata.deleteKey", []any{__arg}, nil, rpc.CompressionGzip, 0*time.Millisecond) return } func (c MetadataClient) TruncateLock(ctx context.Context, folderID string) (res bool, err error) { __arg := TruncateLockArg{FolderID: folderID} - err = c.Cli.CallCompressed(ctx, "keybase.1.metadata.truncateLock", []interface{}{__arg}, &res, rpc.CompressionGzip, 0*time.Millisecond) + err = c.Cli.CallCompressed(ctx, "keybase.1.metadata.truncateLock", []any{__arg}, &res, rpc.CompressionGzip, 0*time.Millisecond) return } func (c MetadataClient) TruncateUnlock(ctx context.Context, folderID string) (res bool, err error) { __arg := TruncateUnlockArg{FolderID: folderID} - err = c.Cli.CallCompressed(ctx, "keybase.1.metadata.truncateUnlock", []interface{}{__arg}, &res, rpc.CompressionGzip, 0*time.Millisecond) + err = c.Cli.CallCompressed(ctx, "keybase.1.metadata.truncateUnlock", []any{__arg}, &res, rpc.CompressionGzip, 0*time.Millisecond) return } func (c MetadataClient) GetFolderHandle(ctx context.Context, __arg GetFolderHandleArg) (res []byte, err error) { - err = c.Cli.CallCompressed(ctx, "keybase.1.metadata.getFolderHandle", []interface{}{__arg}, &res, rpc.CompressionGzip, 0*time.Millisecond) + err = c.Cli.CallCompressed(ctx, "keybase.1.metadata.getFolderHandle", []any{__arg}, &res, rpc.CompressionGzip, 0*time.Millisecond) return } func (c MetadataClient) GetFoldersForRekey(ctx context.Context, deviceKID KID) (err error) { __arg := GetFoldersForRekeyArg{DeviceKID: deviceKID} - err = c.Cli.CallCompressed(ctx, "keybase.1.metadata.getFoldersForRekey", []interface{}{__arg}, nil, rpc.CompressionGzip, 0*time.Millisecond) + err = c.Cli.CallCompressed(ctx, "keybase.1.metadata.getFoldersForRekey", []any{__arg}, nil, rpc.CompressionGzip, 0*time.Millisecond) return } func (c MetadataClient) Ping(ctx context.Context) (err error) { - err = c.Cli.CallCompressed(ctx, "keybase.1.metadata.ping", []interface{}{PingArg{}}, nil, rpc.CompressionGzip, 0*time.Millisecond) + err = c.Cli.CallCompressed(ctx, "keybase.1.metadata.ping", []any{PingArg{}}, nil, rpc.CompressionGzip, 0*time.Millisecond) return } func (c MetadataClient) Ping2(ctx context.Context) (res PingResponse, err error) { - err = c.Cli.CallCompressed(ctx, "keybase.1.metadata.ping2", []interface{}{Ping2Arg{}}, &res, rpc.CompressionGzip, 0*time.Millisecond) + err = c.Cli.CallCompressed(ctx, "keybase.1.metadata.ping2", []any{Ping2Arg{}}, &res, rpc.CompressionGzip, 0*time.Millisecond) return } func (c MetadataClient) GetLatestFolderHandle(ctx context.Context, folderID string) (res []byte, err error) { __arg := GetLatestFolderHandleArg{FolderID: folderID} - err = c.Cli.CallCompressed(ctx, "keybase.1.metadata.getLatestFolderHandle", []interface{}{__arg}, &res, rpc.CompressionGzip, 0*time.Millisecond) + err = c.Cli.CallCompressed(ctx, "keybase.1.metadata.getLatestFolderHandle", []any{__arg}, &res, rpc.CompressionGzip, 0*time.Millisecond) return } func (c MetadataClient) GetKeyBundles(ctx context.Context, __arg GetKeyBundlesArg) (res KeyBundleResponse, err error) { - err = c.Cli.CallCompressed(ctx, "keybase.1.metadata.getKeyBundles", []interface{}{__arg}, &res, rpc.CompressionGzip, 0*time.Millisecond) + err = c.Cli.CallCompressed(ctx, "keybase.1.metadata.getKeyBundles", []any{__arg}, &res, rpc.CompressionGzip, 0*time.Millisecond) return } func (c MetadataClient) Lock(ctx context.Context, __arg LockArg) (err error) { - err = c.Cli.CallCompressed(ctx, "keybase.1.metadata.lock", []interface{}{__arg}, nil, rpc.CompressionGzip, 0*time.Millisecond) + err = c.Cli.CallCompressed(ctx, "keybase.1.metadata.lock", []any{__arg}, nil, rpc.CompressionGzip, 0*time.Millisecond) return } func (c MetadataClient) ReleaseLock(ctx context.Context, __arg ReleaseLockArg) (err error) { - err = c.Cli.CallCompressed(ctx, "keybase.1.metadata.releaseLock", []interface{}{__arg}, nil, rpc.CompressionGzip, 0*time.Millisecond) + err = c.Cli.CallCompressed(ctx, "keybase.1.metadata.releaseLock", []any{__arg}, nil, rpc.CompressionGzip, 0*time.Millisecond) return } func (c MetadataClient) StartImplicitTeamMigration(ctx context.Context, folderID string) (err error) { __arg := StartImplicitTeamMigrationArg{FolderID: folderID} - err = c.Cli.CallCompressed(ctx, "keybase.1.metadata.startImplicitTeamMigration", []interface{}{__arg}, nil, rpc.CompressionGzip, 0*time.Millisecond) + err = c.Cli.CallCompressed(ctx, "keybase.1.metadata.startImplicitTeamMigration", []any{__arg}, nil, rpc.CompressionGzip, 0*time.Millisecond) return } func (c MetadataClient) GetMerkleRoot(ctx context.Context, __arg GetMerkleRootArg) (res MerkleRoot, err error) { - err = c.Cli.CallCompressed(ctx, "keybase.1.metadata.getMerkleRoot", []interface{}{__arg}, &res, rpc.CompressionGzip, 0*time.Millisecond) + err = c.Cli.CallCompressed(ctx, "keybase.1.metadata.getMerkleRoot", []any{__arg}, &res, rpc.CompressionGzip, 0*time.Millisecond) return } func (c MetadataClient) GetMerkleRootLatest(ctx context.Context, treeID MerkleTreeID) (res MerkleRoot, err error) { __arg := GetMerkleRootLatestArg{TreeID: treeID} - err = c.Cli.CallCompressed(ctx, "keybase.1.metadata.getMerkleRootLatest", []interface{}{__arg}, &res, rpc.CompressionGzip, 0*time.Millisecond) + err = c.Cli.CallCompressed(ctx, "keybase.1.metadata.getMerkleRootLatest", []any{__arg}, &res, rpc.CompressionGzip, 0*time.Millisecond) return } func (c MetadataClient) GetMerkleRootSince(ctx context.Context, __arg GetMerkleRootSinceArg) (res MerkleRoot, err error) { - err = c.Cli.CallCompressed(ctx, "keybase.1.metadata.getMerkleRootSince", []interface{}{__arg}, &res, rpc.CompressionGzip, 0*time.Millisecond) + err = c.Cli.CallCompressed(ctx, "keybase.1.metadata.getMerkleRootSince", []any{__arg}, &res, rpc.CompressionGzip, 0*time.Millisecond) return } func (c MetadataClient) GetMerkleNode(ctx context.Context, hash string) (res []byte, err error) { __arg := GetMerkleNodeArg{Hash: hash} - err = c.Cli.CallCompressed(ctx, "keybase.1.metadata.getMerkleNode", []interface{}{__arg}, &res, rpc.CompressionGzip, 0*time.Millisecond) + err = c.Cli.CallCompressed(ctx, "keybase.1.metadata.getMerkleNode", []any{__arg}, &res, rpc.CompressionGzip, 0*time.Millisecond) return } func (c MetadataClient) FindNextMD(ctx context.Context, __arg FindNextMDArg) (res FindNextMDResponse, err error) { - err = c.Cli.CallCompressed(ctx, "keybase.1.metadata.findNextMD", []interface{}{__arg}, &res, rpc.CompressionGzip, 0*time.Millisecond) + err = c.Cli.CallCompressed(ctx, "keybase.1.metadata.findNextMD", []any{__arg}, &res, rpc.CompressionGzip, 0*time.Millisecond) return } func (c MetadataClient) SetImplicitTeamModeForTest(ctx context.Context, implicitTeamMode string) (err error) { __arg := SetImplicitTeamModeForTestArg{ImplicitTeamMode: implicitTeamMode} - err = c.Cli.CallCompressed(ctx, "keybase.1.metadata.setImplicitTeamModeForTest", []interface{}{__arg}, nil, rpc.CompressionGzip, 0*time.Millisecond) + err = c.Cli.CallCompressed(ctx, "keybase.1.metadata.setImplicitTeamModeForTest", []any{__arg}, nil, rpc.CompressionGzip, 0*time.Millisecond) return } func (c MetadataClient) ForceMerkleBuildForTest(ctx context.Context) (err error) { - err = c.Cli.CallCompressed(ctx, "keybase.1.metadata.forceMerkleBuildForTest", []interface{}{ForceMerkleBuildForTestArg{}}, nil, rpc.CompressionGzip, 0*time.Millisecond) + err = c.Cli.CallCompressed(ctx, "keybase.1.metadata.forceMerkleBuildForTest", []any{ForceMerkleBuildForTestArg{}}, nil, rpc.CompressionGzip, 0*time.Millisecond) return } diff --git a/go/protocol/keybase1/metadata_update.go b/go/protocol/keybase1/metadata_update.go index 956c99f2c05b..ecb0a0860172 100644 --- a/go/protocol/keybase1/metadata_update.go +++ b/go/protocol/keybase1/metadata_update.go @@ -1,4 +1,4 @@ -// Auto-generated to Go types and interfaces using avdl-compiler v1.4.10 (https://github.com/keybase/node-avdl-compiler) +// Code generated to Go types and interfaces using avdl-compiler v1.4.10 (https://github.com/keybase/node-avdl-compiler). DO NOT EDIT. // Input file: avdl/keybase1/metadata_update.avdl package keybase1 @@ -47,11 +47,11 @@ func MetadataUpdateProtocol(i MetadataUpdateInterface) rpc.Protocol { Name: "keybase.1.metadataUpdate", Methods: map[string]rpc.ServeHandlerDescription{ "metadataUpdate": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]MetadataUpdateArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]MetadataUpdateArg) if !ok { err = rpc.NewTypeError((*[1]MetadataUpdateArg)(nil), args) @@ -62,11 +62,11 @@ func MetadataUpdateProtocol(i MetadataUpdateInterface) rpc.Protocol { }, }, "folderNeedsRekey": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]FolderNeedsRekeyArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]FolderNeedsRekeyArg) if !ok { err = rpc.NewTypeError((*[1]FolderNeedsRekeyArg)(nil), args) @@ -77,11 +77,11 @@ func MetadataUpdateProtocol(i MetadataUpdateInterface) rpc.Protocol { }, }, "foldersNeedRekey": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]FoldersNeedRekeyArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]FoldersNeedRekeyArg) if !ok { err = rpc.NewTypeError((*[1]FoldersNeedRekeyArg)(nil), args) @@ -100,17 +100,17 @@ type MetadataUpdateClient struct { } func (c MetadataUpdateClient) MetadataUpdate(ctx context.Context, __arg MetadataUpdateArg) (err error) { - err = c.Cli.CallCompressed(ctx, "keybase.1.metadataUpdate.metadataUpdate", []interface{}{__arg}, nil, rpc.CompressionGzip, 0*time.Millisecond) + err = c.Cli.CallCompressed(ctx, "keybase.1.metadataUpdate.metadataUpdate", []any{__arg}, nil, rpc.CompressionGzip, 0*time.Millisecond) return } func (c MetadataUpdateClient) FolderNeedsRekey(ctx context.Context, __arg FolderNeedsRekeyArg) (err error) { - err = c.Cli.CallCompressed(ctx, "keybase.1.metadataUpdate.folderNeedsRekey", []interface{}{__arg}, nil, rpc.CompressionGzip, 0*time.Millisecond) + err = c.Cli.CallCompressed(ctx, "keybase.1.metadataUpdate.folderNeedsRekey", []any{__arg}, nil, rpc.CompressionGzip, 0*time.Millisecond) return } func (c MetadataUpdateClient) FoldersNeedRekey(ctx context.Context, requests []RekeyRequest) (err error) { __arg := FoldersNeedRekeyArg{Requests: requests} - err = c.Cli.CallCompressed(ctx, "keybase.1.metadataUpdate.foldersNeedRekey", []interface{}{__arg}, nil, rpc.CompressionGzip, 0*time.Millisecond) + err = c.Cli.CallCompressed(ctx, "keybase.1.metadataUpdate.foldersNeedRekey", []any{__arg}, nil, rpc.CompressionGzip, 0*time.Millisecond) return } diff --git a/go/protocol/keybase1/network_stats.go b/go/protocol/keybase1/network_stats.go index 1522bfc694fa..671df9ee9cdc 100644 --- a/go/protocol/keybase1/network_stats.go +++ b/go/protocol/keybase1/network_stats.go @@ -1,4 +1,4 @@ -// Auto-generated to Go types and interfaces using avdl-compiler v1.4.10 (https://github.com/keybase/node-avdl-compiler) +// Code generated to Go types and interfaces using avdl-compiler v1.4.10 (https://github.com/keybase/node-avdl-compiler). DO NOT EDIT. // Input file: avdl/keybase1/network_stats.avdl package keybase1 @@ -67,7 +67,8 @@ func (o InstrumentationStat) DeepCopy() InstrumentationStat { } } -type NetworkStatsInterface interface{} +type NetworkStatsInterface interface { +} func NetworkStatsProtocol(i NetworkStatsInterface) rpc.Protocol { return rpc.Protocol{ diff --git a/go/protocol/keybase1/notify_app.go b/go/protocol/keybase1/notify_app.go index 7f2bc3eed66b..19120a54d2d3 100644 --- a/go/protocol/keybase1/notify_app.go +++ b/go/protocol/keybase1/notify_app.go @@ -1,4 +1,4 @@ -// Auto-generated to Go types and interfaces using avdl-compiler v1.4.10 (https://github.com/keybase/node-avdl-compiler) +// Code generated to Go types and interfaces using avdl-compiler v1.4.10 (https://github.com/keybase/node-avdl-compiler). DO NOT EDIT. // Input file: avdl/keybase1/notify_app.avdl package keybase1 @@ -10,7 +10,8 @@ import ( "github.com/keybase/go-framed-msgpack-rpc/rpc" ) -type ExitArg struct{} +type ExitArg struct { +} type NotifyAppInterface interface { Exit(context.Context) error @@ -21,11 +22,11 @@ func NotifyAppProtocol(i NotifyAppInterface) rpc.Protocol { Name: "keybase.1.NotifyApp", Methods: map[string]rpc.ServeHandlerDescription{ "exit": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]ExitArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { err = i.Exit(ctx) return }, @@ -39,6 +40,6 @@ type NotifyAppClient struct { } func (c NotifyAppClient) Exit(ctx context.Context) (err error) { - err = c.Cli.Notify(ctx, "keybase.1.NotifyApp.exit", []interface{}{ExitArg{}}, 0*time.Millisecond) + err = c.Cli.Notify(ctx, "keybase.1.NotifyApp.exit", []any{ExitArg{}}, 0*time.Millisecond) return } diff --git a/go/protocol/keybase1/notify_audit.go b/go/protocol/keybase1/notify_audit.go index ad90a66981af..a9b442158256 100644 --- a/go/protocol/keybase1/notify_audit.go +++ b/go/protocol/keybase1/notify_audit.go @@ -1,4 +1,4 @@ -// Auto-generated to Go types and interfaces using avdl-compiler v1.4.10 (https://github.com/keybase/node-avdl-compiler) +// Code generated to Go types and interfaces using avdl-compiler v1.4.10 (https://github.com/keybase/node-avdl-compiler). DO NOT EDIT. // Input file: avdl/keybase1/notify_audit.avdl package keybase1 @@ -28,11 +28,11 @@ func NotifyAuditProtocol(i NotifyAuditInterface) rpc.Protocol { Name: "keybase.1.NotifyAudit", Methods: map[string]rpc.ServeHandlerDescription{ "rootAuditError": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]RootAuditErrorArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]RootAuditErrorArg) if !ok { err = rpc.NewTypeError((*[1]RootAuditErrorArg)(nil), args) @@ -43,11 +43,11 @@ func NotifyAuditProtocol(i NotifyAuditInterface) rpc.Protocol { }, }, "boxAuditError": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]BoxAuditErrorArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]BoxAuditErrorArg) if !ok { err = rpc.NewTypeError((*[1]BoxAuditErrorArg)(nil), args) @@ -67,12 +67,12 @@ type NotifyAuditClient struct { func (c NotifyAuditClient) RootAuditError(ctx context.Context, message string) (err error) { __arg := RootAuditErrorArg{Message: message} - err = c.Cli.Notify(ctx, "keybase.1.NotifyAudit.rootAuditError", []interface{}{__arg}, 0*time.Millisecond) + err = c.Cli.Notify(ctx, "keybase.1.NotifyAudit.rootAuditError", []any{__arg}, 0*time.Millisecond) return } func (c NotifyAuditClient) BoxAuditError(ctx context.Context, message string) (err error) { __arg := BoxAuditErrorArg{Message: message} - err = c.Cli.Notify(ctx, "keybase.1.NotifyAudit.boxAuditError", []interface{}{__arg}, 0*time.Millisecond) + err = c.Cli.Notify(ctx, "keybase.1.NotifyAudit.boxAuditError", []any{__arg}, 0*time.Millisecond) return } diff --git a/go/protocol/keybase1/notify_badges.go b/go/protocol/keybase1/notify_badges.go index c154764a38f3..9aa931d6cd66 100644 --- a/go/protocol/keybase1/notify_badges.go +++ b/go/protocol/keybase1/notify_badges.go @@ -1,4 +1,4 @@ -// Auto-generated to Go types and interfaces using avdl-compiler v1.4.10 (https://github.com/keybase/node-avdl-compiler) +// Code generated to Go types and interfaces using avdl-compiler v1.4.10 (https://github.com/keybase/node-avdl-compiler). DO NOT EDIT. // Input file: avdl/keybase1/notify_badges.avdl package keybase1 @@ -258,11 +258,11 @@ func NotifyBadgesProtocol(i NotifyBadgesInterface) rpc.Protocol { Name: "keybase.1.NotifyBadges", Methods: map[string]rpc.ServeHandlerDescription{ "badgeState": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]BadgeStateArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]BadgeStateArg) if !ok { err = rpc.NewTypeError((*[1]BadgeStateArg)(nil), args) @@ -282,6 +282,6 @@ type NotifyBadgesClient struct { func (c NotifyBadgesClient) BadgeState(ctx context.Context, badgeState BadgeState) (err error) { __arg := BadgeStateArg{BadgeState: badgeState} - err = c.Cli.Notify(ctx, "keybase.1.NotifyBadges.badgeState", []interface{}{__arg}, 0*time.Millisecond) + err = c.Cli.Notify(ctx, "keybase.1.NotifyBadges.badgeState", []any{__arg}, 0*time.Millisecond) return } diff --git a/go/protocol/keybase1/notify_can_user_perform.go b/go/protocol/keybase1/notify_can_user_perform.go index 61f78e0b1cd3..c3bfd684e00c 100644 --- a/go/protocol/keybase1/notify_can_user_perform.go +++ b/go/protocol/keybase1/notify_can_user_perform.go @@ -1,4 +1,4 @@ -// Auto-generated to Go types and interfaces using avdl-compiler v1.4.10 (https://github.com/keybase/node-avdl-compiler) +// Code generated to Go types and interfaces using avdl-compiler v1.4.10 (https://github.com/keybase/node-avdl-compiler). DO NOT EDIT. // Input file: avdl/keybase1/notify_can_user_perform.avdl package keybase1 @@ -23,11 +23,11 @@ func NotifyCanUserPerformProtocol(i NotifyCanUserPerformInterface) rpc.Protocol Name: "keybase.1.NotifyCanUserPerform", Methods: map[string]rpc.ServeHandlerDescription{ "canUserPerformChanged": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]CanUserPerformChangedArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]CanUserPerformChangedArg) if !ok { err = rpc.NewTypeError((*[1]CanUserPerformChangedArg)(nil), args) @@ -47,6 +47,6 @@ type NotifyCanUserPerformClient struct { func (c NotifyCanUserPerformClient) CanUserPerformChanged(ctx context.Context, teamName string) (err error) { __arg := CanUserPerformChangedArg{TeamName: teamName} - err = c.Cli.Notify(ctx, "keybase.1.NotifyCanUserPerform.canUserPerformChanged", []interface{}{__arg}, 0*time.Millisecond) + err = c.Cli.Notify(ctx, "keybase.1.NotifyCanUserPerform.canUserPerformChanged", []any{__arg}, 0*time.Millisecond) return } diff --git a/go/protocol/keybase1/notify_ctl.go b/go/protocol/keybase1/notify_ctl.go index 4f4f0423d30c..e451a7e4b8fa 100644 --- a/go/protocol/keybase1/notify_ctl.go +++ b/go/protocol/keybase1/notify_ctl.go @@ -1,4 +1,4 @@ -// Auto-generated to Go types and interfaces using avdl-compiler v1.4.10 (https://github.com/keybase/node-avdl-compiler) +// Code generated to Go types and interfaces using avdl-compiler v1.4.10 (https://github.com/keybase/node-avdl-compiler). DO NOT EDIT. // Input file: avdl/keybase1/notify_ctl.avdl package keybase1 @@ -99,11 +99,11 @@ func NotifyCtlProtocol(i NotifyCtlInterface) rpc.Protocol { Name: "keybase.1.notifyCtl", Methods: map[string]rpc.ServeHandlerDescription{ "setNotifications": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]SetNotificationsArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]SetNotificationsArg) if !ok { err = rpc.NewTypeError((*[1]SetNotificationsArg)(nil), args) @@ -123,6 +123,6 @@ type NotifyCtlClient struct { func (c NotifyCtlClient) SetNotifications(ctx context.Context, channels NotificationChannels) (err error) { __arg := SetNotificationsArg{Channels: channels} - err = c.Cli.Call(ctx, "keybase.1.notifyCtl.setNotifications", []interface{}{__arg}, nil, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.notifyCtl.setNotifications", []any{__arg}, nil, 0*time.Millisecond) return } diff --git a/go/protocol/keybase1/notify_device_clone.go b/go/protocol/keybase1/notify_device_clone.go index 53b663fac512..08b1e245590e 100644 --- a/go/protocol/keybase1/notify_device_clone.go +++ b/go/protocol/keybase1/notify_device_clone.go @@ -1,4 +1,4 @@ -// Auto-generated to Go types and interfaces using avdl-compiler v1.4.10 (https://github.com/keybase/node-avdl-compiler) +// Code generated to Go types and interfaces using avdl-compiler v1.4.10 (https://github.com/keybase/node-avdl-compiler). DO NOT EDIT. // Input file: avdl/keybase1/notify_device_clone.avdl package keybase1 @@ -23,11 +23,11 @@ func NotifyDeviceCloneProtocol(i NotifyDeviceCloneInterface) rpc.Protocol { Name: "keybase.1.NotifyDeviceClone", Methods: map[string]rpc.ServeHandlerDescription{ "deviceCloneCountChanged": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]DeviceCloneCountChangedArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]DeviceCloneCountChangedArg) if !ok { err = rpc.NewTypeError((*[1]DeviceCloneCountChangedArg)(nil), args) @@ -47,6 +47,6 @@ type NotifyDeviceCloneClient struct { func (c NotifyDeviceCloneClient) DeviceCloneCountChanged(ctx context.Context, newClones int) (err error) { __arg := DeviceCloneCountChangedArg{NewClones: newClones} - err = c.Cli.Notify(ctx, "keybase.1.NotifyDeviceClone.deviceCloneCountChanged", []interface{}{__arg}, 0*time.Millisecond) + err = c.Cli.Notify(ctx, "keybase.1.NotifyDeviceClone.deviceCloneCountChanged", []any{__arg}, 0*time.Millisecond) return } diff --git a/go/protocol/keybase1/notify_email.go b/go/protocol/keybase1/notify_email.go index 8c128ac44c5d..5103d1bc0782 100644 --- a/go/protocol/keybase1/notify_email.go +++ b/go/protocol/keybase1/notify_email.go @@ -1,4 +1,4 @@ -// Auto-generated to Go types and interfaces using avdl-compiler v1.4.10 (https://github.com/keybase/node-avdl-compiler) +// Code generated to Go types and interfaces using avdl-compiler v1.4.10 (https://github.com/keybase/node-avdl-compiler). DO NOT EDIT. // Input file: avdl/keybase1/notify_email.avdl package keybase1 @@ -30,11 +30,11 @@ func NotifyEmailAddressProtocol(i NotifyEmailAddressInterface) rpc.Protocol { Name: "keybase.1.NotifyEmailAddress", Methods: map[string]rpc.ServeHandlerDescription{ "emailAddressVerified": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]EmailAddressVerifiedArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]EmailAddressVerifiedArg) if !ok { err = rpc.NewTypeError((*[1]EmailAddressVerifiedArg)(nil), args) @@ -45,11 +45,11 @@ func NotifyEmailAddressProtocol(i NotifyEmailAddressInterface) rpc.Protocol { }, }, "emailsChanged": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]EmailsChangedArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]EmailsChangedArg) if !ok { err = rpc.NewTypeError((*[1]EmailsChangedArg)(nil), args) @@ -69,11 +69,11 @@ type NotifyEmailAddressClient struct { func (c NotifyEmailAddressClient) EmailAddressVerified(ctx context.Context, emailAddress EmailAddress) (err error) { __arg := EmailAddressVerifiedArg{EmailAddress: emailAddress} - err = c.Cli.Notify(ctx, "keybase.1.NotifyEmailAddress.emailAddressVerified", []interface{}{__arg}, 0*time.Millisecond) + err = c.Cli.Notify(ctx, "keybase.1.NotifyEmailAddress.emailAddressVerified", []any{__arg}, 0*time.Millisecond) return } func (c NotifyEmailAddressClient) EmailsChanged(ctx context.Context, __arg EmailsChangedArg) (err error) { - err = c.Cli.Notify(ctx, "keybase.1.NotifyEmailAddress.emailsChanged", []interface{}{__arg}, 0*time.Millisecond) + err = c.Cli.Notify(ctx, "keybase.1.NotifyEmailAddress.emailsChanged", []any{__arg}, 0*time.Millisecond) return } diff --git a/go/protocol/keybase1/notify_ephemeral.go b/go/protocol/keybase1/notify_ephemeral.go index 0dc3026e07e2..d6c5e7cb67f4 100644 --- a/go/protocol/keybase1/notify_ephemeral.go +++ b/go/protocol/keybase1/notify_ephemeral.go @@ -1,4 +1,4 @@ -// Auto-generated to Go types and interfaces using avdl-compiler v1.4.10 (https://github.com/keybase/node-avdl-compiler) +// Code generated to Go types and interfaces using avdl-compiler v1.4.10 (https://github.com/keybase/node-avdl-compiler). DO NOT EDIT. // Input file: avdl/keybase1/notify_ephemeral.avdl package keybase1 @@ -38,11 +38,11 @@ func NotifyEphemeralProtocol(i NotifyEphemeralInterface) rpc.Protocol { Name: "keybase.1.NotifyEphemeral", Methods: map[string]rpc.ServeHandlerDescription{ "newTeamEk": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]NewTeamEkArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]NewTeamEkArg) if !ok { err = rpc.NewTypeError((*[1]NewTeamEkArg)(nil), args) @@ -53,11 +53,11 @@ func NotifyEphemeralProtocol(i NotifyEphemeralInterface) rpc.Protocol { }, }, "newTeambotEk": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]NewTeambotEkArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]NewTeambotEkArg) if !ok { err = rpc.NewTypeError((*[1]NewTeambotEkArg)(nil), args) @@ -68,11 +68,11 @@ func NotifyEphemeralProtocol(i NotifyEphemeralInterface) rpc.Protocol { }, }, "teambotEkNeeded": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]TeambotEkNeededArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]TeambotEkNeededArg) if !ok { err = rpc.NewTypeError((*[1]TeambotEkNeededArg)(nil), args) @@ -91,16 +91,16 @@ type NotifyEphemeralClient struct { } func (c NotifyEphemeralClient) NewTeamEk(ctx context.Context, __arg NewTeamEkArg) (err error) { - err = c.Cli.Notify(ctx, "keybase.1.NotifyEphemeral.newTeamEk", []interface{}{__arg}, 0*time.Millisecond) + err = c.Cli.Notify(ctx, "keybase.1.NotifyEphemeral.newTeamEk", []any{__arg}, 0*time.Millisecond) return } func (c NotifyEphemeralClient) NewTeambotEk(ctx context.Context, __arg NewTeambotEkArg) (err error) { - err = c.Cli.Call(ctx, "keybase.1.NotifyEphemeral.newTeambotEk", []interface{}{__arg}, nil, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.NotifyEphemeral.newTeambotEk", []any{__arg}, nil, 0*time.Millisecond) return } func (c NotifyEphemeralClient) TeambotEkNeeded(ctx context.Context, __arg TeambotEkNeededArg) (err error) { - err = c.Cli.Call(ctx, "keybase.1.NotifyEphemeral.teambotEkNeeded", []interface{}{__arg}, nil, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.NotifyEphemeral.teambotEkNeeded", []any{__arg}, nil, 0*time.Millisecond) return } diff --git a/go/protocol/keybase1/notify_favorites.go b/go/protocol/keybase1/notify_favorites.go index 4799999132f7..b9fe7b2de443 100644 --- a/go/protocol/keybase1/notify_favorites.go +++ b/go/protocol/keybase1/notify_favorites.go @@ -1,4 +1,4 @@ -// Auto-generated to Go types and interfaces using avdl-compiler v1.4.10 (https://github.com/keybase/node-avdl-compiler) +// Code generated to Go types and interfaces using avdl-compiler v1.4.10 (https://github.com/keybase/node-avdl-compiler). DO NOT EDIT. // Input file: avdl/keybase1/notify_favorites.avdl package keybase1 @@ -23,11 +23,11 @@ func NotifyFavoritesProtocol(i NotifyFavoritesInterface) rpc.Protocol { Name: "keybase.1.NotifyFavorites", Methods: map[string]rpc.ServeHandlerDescription{ "favoritesChanged": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]FavoritesChangedArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]FavoritesChangedArg) if !ok { err = rpc.NewTypeError((*[1]FavoritesChangedArg)(nil), args) @@ -47,6 +47,6 @@ type NotifyFavoritesClient struct { func (c NotifyFavoritesClient) FavoritesChanged(ctx context.Context, uid UID) (err error) { __arg := FavoritesChangedArg{Uid: uid} - err = c.Cli.Notify(ctx, "keybase.1.NotifyFavorites.favoritesChanged", []interface{}{__arg}, 0*time.Millisecond) + err = c.Cli.Notify(ctx, "keybase.1.NotifyFavorites.favoritesChanged", []any{__arg}, 0*time.Millisecond) return } diff --git a/go/protocol/keybase1/notify_featuredbots.go b/go/protocol/keybase1/notify_featuredbots.go index 37204f282368..b21baad854aa 100644 --- a/go/protocol/keybase1/notify_featuredbots.go +++ b/go/protocol/keybase1/notify_featuredbots.go @@ -1,4 +1,4 @@ -// Auto-generated to Go types and interfaces using avdl-compiler v1.4.10 (https://github.com/keybase/node-avdl-compiler) +// Code generated to Go types and interfaces using avdl-compiler v1.4.10 (https://github.com/keybase/node-avdl-compiler). DO NOT EDIT. // Input file: avdl/keybase1/notify_featuredbots.avdl package keybase1 @@ -25,11 +25,11 @@ func NotifyFeaturedBotsProtocol(i NotifyFeaturedBotsInterface) rpc.Protocol { Name: "keybase.1.NotifyFeaturedBots", Methods: map[string]rpc.ServeHandlerDescription{ "featuredBotsUpdate": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]FeaturedBotsUpdateArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]FeaturedBotsUpdateArg) if !ok { err = rpc.NewTypeError((*[1]FeaturedBotsUpdateArg)(nil), args) @@ -48,6 +48,6 @@ type NotifyFeaturedBotsClient struct { } func (c NotifyFeaturedBotsClient) FeaturedBotsUpdate(ctx context.Context, __arg FeaturedBotsUpdateArg) (err error) { - err = c.Cli.Notify(ctx, "keybase.1.NotifyFeaturedBots.featuredBotsUpdate", []interface{}{__arg}, 0*time.Millisecond) + err = c.Cli.Notify(ctx, "keybase.1.NotifyFeaturedBots.featuredBotsUpdate", []any{__arg}, 0*time.Millisecond) return } diff --git a/go/protocol/keybase1/notify_fs.go b/go/protocol/keybase1/notify_fs.go index 4eaf5cd76e38..051d8ae1c122 100644 --- a/go/protocol/keybase1/notify_fs.go +++ b/go/protocol/keybase1/notify_fs.go @@ -1,4 +1,4 @@ -// Auto-generated to Go types and interfaces using avdl-compiler v1.4.10 (https://github.com/keybase/node-avdl-compiler) +// Code generated to Go types and interfaces using avdl-compiler v1.4.10 (https://github.com/keybase/node-avdl-compiler). DO NOT EDIT. // Input file: avdl/keybase1/notify_fs.avdl package keybase1 @@ -36,7 +36,8 @@ type FSOverallSyncStatusChangedArg struct { Status FolderSyncStatus `codec:"status" json:"status"` } -type FSFavoritesChangedArg struct{} +type FSFavoritesChangedArg struct { +} type FSOnlineStatusChangedArg struct { Online bool `codec:"online" json:"online"` @@ -73,11 +74,11 @@ func NotifyFSProtocol(i NotifyFSInterface) rpc.Protocol { Name: "keybase.1.NotifyFS", Methods: map[string]rpc.ServeHandlerDescription{ "FSActivity": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]FSActivityArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]FSActivityArg) if !ok { err = rpc.NewTypeError((*[1]FSActivityArg)(nil), args) @@ -88,11 +89,11 @@ func NotifyFSProtocol(i NotifyFSInterface) rpc.Protocol { }, }, "FSPathUpdated": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]FSPathUpdatedArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]FSPathUpdatedArg) if !ok { err = rpc.NewTypeError((*[1]FSPathUpdatedArg)(nil), args) @@ -103,11 +104,11 @@ func NotifyFSProtocol(i NotifyFSInterface) rpc.Protocol { }, }, "FSSyncActivity": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]FSSyncActivityArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]FSSyncActivityArg) if !ok { err = rpc.NewTypeError((*[1]FSSyncActivityArg)(nil), args) @@ -118,11 +119,11 @@ func NotifyFSProtocol(i NotifyFSInterface) rpc.Protocol { }, }, "FSEditListResponse": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]FSEditListResponseArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]FSEditListResponseArg) if !ok { err = rpc.NewTypeError((*[1]FSEditListResponseArg)(nil), args) @@ -133,11 +134,11 @@ func NotifyFSProtocol(i NotifyFSInterface) rpc.Protocol { }, }, "FSSyncStatusResponse": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]FSSyncStatusResponseArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]FSSyncStatusResponseArg) if !ok { err = rpc.NewTypeError((*[1]FSSyncStatusResponseArg)(nil), args) @@ -148,11 +149,11 @@ func NotifyFSProtocol(i NotifyFSInterface) rpc.Protocol { }, }, "FSOverallSyncStatusChanged": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]FSOverallSyncStatusChangedArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]FSOverallSyncStatusChangedArg) if !ok { err = rpc.NewTypeError((*[1]FSOverallSyncStatusChangedArg)(nil), args) @@ -163,21 +164,21 @@ func NotifyFSProtocol(i NotifyFSInterface) rpc.Protocol { }, }, "FSFavoritesChanged": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]FSFavoritesChangedArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { err = i.FSFavoritesChanged(ctx) return }, }, "FSOnlineStatusChanged": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]FSOnlineStatusChangedArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]FSOnlineStatusChangedArg) if !ok { err = rpc.NewTypeError((*[1]FSOnlineStatusChangedArg)(nil), args) @@ -188,11 +189,11 @@ func NotifyFSProtocol(i NotifyFSInterface) rpc.Protocol { }, }, "FSSubscriptionNotifyPath": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]FSSubscriptionNotifyPathArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]FSSubscriptionNotifyPathArg) if !ok { err = rpc.NewTypeError((*[1]FSSubscriptionNotifyPathArg)(nil), args) @@ -203,11 +204,11 @@ func NotifyFSProtocol(i NotifyFSInterface) rpc.Protocol { }, }, "FSSubscriptionNotify": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]FSSubscriptionNotifyArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]FSSubscriptionNotifyArg) if !ok { err = rpc.NewTypeError((*[1]FSSubscriptionNotifyArg)(nil), args) @@ -227,55 +228,55 @@ type NotifyFSClient struct { func (c NotifyFSClient) FSActivity(ctx context.Context, notification FSNotification) (err error) { __arg := FSActivityArg{Notification: notification} - err = c.Cli.Notify(ctx, "keybase.1.NotifyFS.FSActivity", []interface{}{__arg}, 0*time.Millisecond) + err = c.Cli.Notify(ctx, "keybase.1.NotifyFS.FSActivity", []any{__arg}, 0*time.Millisecond) return } func (c NotifyFSClient) FSPathUpdated(ctx context.Context, path string) (err error) { __arg := FSPathUpdatedArg{Path: path} - err = c.Cli.Notify(ctx, "keybase.1.NotifyFS.FSPathUpdated", []interface{}{__arg}, 0*time.Millisecond) + err = c.Cli.Notify(ctx, "keybase.1.NotifyFS.FSPathUpdated", []any{__arg}, 0*time.Millisecond) return } func (c NotifyFSClient) FSSyncActivity(ctx context.Context, status FSPathSyncStatus) (err error) { __arg := FSSyncActivityArg{Status: status} - err = c.Cli.Notify(ctx, "keybase.1.NotifyFS.FSSyncActivity", []interface{}{__arg}, 0*time.Millisecond) + err = c.Cli.Notify(ctx, "keybase.1.NotifyFS.FSSyncActivity", []any{__arg}, 0*time.Millisecond) return } func (c NotifyFSClient) FSEditListResponse(ctx context.Context, __arg FSEditListResponseArg) (err error) { - err = c.Cli.Notify(ctx, "keybase.1.NotifyFS.FSEditListResponse", []interface{}{__arg}, 0*time.Millisecond) + err = c.Cli.Notify(ctx, "keybase.1.NotifyFS.FSEditListResponse", []any{__arg}, 0*time.Millisecond) return } func (c NotifyFSClient) FSSyncStatusResponse(ctx context.Context, __arg FSSyncStatusResponseArg) (err error) { - err = c.Cli.Notify(ctx, "keybase.1.NotifyFS.FSSyncStatusResponse", []interface{}{__arg}, 0*time.Millisecond) + err = c.Cli.Notify(ctx, "keybase.1.NotifyFS.FSSyncStatusResponse", []any{__arg}, 0*time.Millisecond) return } func (c NotifyFSClient) FSOverallSyncStatusChanged(ctx context.Context, status FolderSyncStatus) (err error) { __arg := FSOverallSyncStatusChangedArg{Status: status} - err = c.Cli.Notify(ctx, "keybase.1.NotifyFS.FSOverallSyncStatusChanged", []interface{}{__arg}, 0*time.Millisecond) + err = c.Cli.Notify(ctx, "keybase.1.NotifyFS.FSOverallSyncStatusChanged", []any{__arg}, 0*time.Millisecond) return } func (c NotifyFSClient) FSFavoritesChanged(ctx context.Context) (err error) { - err = c.Cli.Notify(ctx, "keybase.1.NotifyFS.FSFavoritesChanged", []interface{}{FSFavoritesChangedArg{}}, 0*time.Millisecond) + err = c.Cli.Notify(ctx, "keybase.1.NotifyFS.FSFavoritesChanged", []any{FSFavoritesChangedArg{}}, 0*time.Millisecond) return } func (c NotifyFSClient) FSOnlineStatusChanged(ctx context.Context, online bool) (err error) { __arg := FSOnlineStatusChangedArg{Online: online} - err = c.Cli.Notify(ctx, "keybase.1.NotifyFS.FSOnlineStatusChanged", []interface{}{__arg}, 0*time.Millisecond) + err = c.Cli.Notify(ctx, "keybase.1.NotifyFS.FSOnlineStatusChanged", []any{__arg}, 0*time.Millisecond) return } func (c NotifyFSClient) FSSubscriptionNotifyPath(ctx context.Context, __arg FSSubscriptionNotifyPathArg) (err error) { - err = c.Cli.Notify(ctx, "keybase.1.NotifyFS.FSSubscriptionNotifyPath", []interface{}{__arg}, 0*time.Millisecond) + err = c.Cli.Notify(ctx, "keybase.1.NotifyFS.FSSubscriptionNotifyPath", []any{__arg}, 0*time.Millisecond) return } func (c NotifyFSClient) FSSubscriptionNotify(ctx context.Context, __arg FSSubscriptionNotifyArg) (err error) { - err = c.Cli.Notify(ctx, "keybase.1.NotifyFS.FSSubscriptionNotify", []interface{}{__arg}, 0*time.Millisecond) + err = c.Cli.Notify(ctx, "keybase.1.NotifyFS.FSSubscriptionNotify", []any{__arg}, 0*time.Millisecond) return } diff --git a/go/protocol/keybase1/notify_fs_request.go b/go/protocol/keybase1/notify_fs_request.go index bf2ff8af4626..d7b2d67f924e 100644 --- a/go/protocol/keybase1/notify_fs_request.go +++ b/go/protocol/keybase1/notify_fs_request.go @@ -1,4 +1,4 @@ -// Auto-generated to Go types and interfaces using avdl-compiler v1.4.10 (https://github.com/keybase/node-avdl-compiler) +// Code generated to Go types and interfaces using avdl-compiler v1.4.10 (https://github.com/keybase/node-avdl-compiler). DO NOT EDIT. // Input file: avdl/keybase1/notify_fs_request.avdl package keybase1 @@ -28,11 +28,11 @@ func NotifyFSRequestProtocol(i NotifyFSRequestInterface) rpc.Protocol { Name: "keybase.1.NotifyFSRequest", Methods: map[string]rpc.ServeHandlerDescription{ "FSEditListRequest": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]FSEditListRequestArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]FSEditListRequestArg) if !ok { err = rpc.NewTypeError((*[1]FSEditListRequestArg)(nil), args) @@ -43,11 +43,11 @@ func NotifyFSRequestProtocol(i NotifyFSRequestInterface) rpc.Protocol { }, }, "FSSyncStatusRequest": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]FSSyncStatusRequestArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]FSSyncStatusRequestArg) if !ok { err = rpc.NewTypeError((*[1]FSSyncStatusRequestArg)(nil), args) @@ -67,12 +67,12 @@ type NotifyFSRequestClient struct { func (c NotifyFSRequestClient) FSEditListRequest(ctx context.Context, req FSEditListRequest) (err error) { __arg := FSEditListRequestArg{Req: req} - err = c.Cli.Notify(ctx, "keybase.1.NotifyFSRequest.FSEditListRequest", []interface{}{__arg}, 0*time.Millisecond) + err = c.Cli.Notify(ctx, "keybase.1.NotifyFSRequest.FSEditListRequest", []any{__arg}, 0*time.Millisecond) return } func (c NotifyFSRequestClient) FSSyncStatusRequest(ctx context.Context, req FSSyncStatusRequest) (err error) { __arg := FSSyncStatusRequestArg{Req: req} - err = c.Cli.Notify(ctx, "keybase.1.NotifyFSRequest.FSSyncStatusRequest", []interface{}{__arg}, 0*time.Millisecond) + err = c.Cli.Notify(ctx, "keybase.1.NotifyFSRequest.FSSyncStatusRequest", []any{__arg}, 0*time.Millisecond) return } diff --git a/go/protocol/keybase1/notify_invite_friends.go b/go/protocol/keybase1/notify_invite_friends.go index 6024edadf249..d4c1ba01e50a 100644 --- a/go/protocol/keybase1/notify_invite_friends.go +++ b/go/protocol/keybase1/notify_invite_friends.go @@ -1,4 +1,4 @@ -// Auto-generated to Go types and interfaces using avdl-compiler v1.4.10 (https://github.com/keybase/node-avdl-compiler) +// Code generated to Go types and interfaces using avdl-compiler v1.4.10 (https://github.com/keybase/node-avdl-compiler). DO NOT EDIT. // Input file: avdl/keybase1/notify_invite_friends.avdl package keybase1 @@ -23,11 +23,11 @@ func NotifyInviteFriendsProtocol(i NotifyInviteFriendsInterface) rpc.Protocol { Name: "keybase.1.NotifyInviteFriends", Methods: map[string]rpc.ServeHandlerDescription{ "updateInviteCounts": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]UpdateInviteCountsArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]UpdateInviteCountsArg) if !ok { err = rpc.NewTypeError((*[1]UpdateInviteCountsArg)(nil), args) @@ -47,6 +47,6 @@ type NotifyInviteFriendsClient struct { func (c NotifyInviteFriendsClient) UpdateInviteCounts(ctx context.Context, counts InviteCounts) (err error) { __arg := UpdateInviteCountsArg{Counts: counts} - err = c.Cli.Notify(ctx, "keybase.1.NotifyInviteFriends.updateInviteCounts", []interface{}{__arg}, 0*time.Millisecond) + err = c.Cli.Notify(ctx, "keybase.1.NotifyInviteFriends.updateInviteCounts", []any{__arg}, 0*time.Millisecond) return } diff --git a/go/protocol/keybase1/notify_keyfamily.go b/go/protocol/keybase1/notify_keyfamily.go index 4d8e2606e8b5..430c39faf882 100644 --- a/go/protocol/keybase1/notify_keyfamily.go +++ b/go/protocol/keybase1/notify_keyfamily.go @@ -1,4 +1,4 @@ -// Auto-generated to Go types and interfaces using avdl-compiler v1.4.10 (https://github.com/keybase/node-avdl-compiler) +// Code generated to Go types and interfaces using avdl-compiler v1.4.10 (https://github.com/keybase/node-avdl-compiler). DO NOT EDIT. // Input file: avdl/keybase1/notify_keyfamily.avdl package keybase1 @@ -23,11 +23,11 @@ func NotifyKeyfamilyProtocol(i NotifyKeyfamilyInterface) rpc.Protocol { Name: "keybase.1.NotifyKeyfamily", Methods: map[string]rpc.ServeHandlerDescription{ "keyfamilyChanged": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]KeyfamilyChangedArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]KeyfamilyChangedArg) if !ok { err = rpc.NewTypeError((*[1]KeyfamilyChangedArg)(nil), args) @@ -47,6 +47,6 @@ type NotifyKeyfamilyClient struct { func (c NotifyKeyfamilyClient) KeyfamilyChanged(ctx context.Context, uid UID) (err error) { __arg := KeyfamilyChangedArg{Uid: uid} - err = c.Cli.Notify(ctx, "keybase.1.NotifyKeyfamily.keyfamilyChanged", []interface{}{__arg}, 0*time.Millisecond) + err = c.Cli.Notify(ctx, "keybase.1.NotifyKeyfamily.keyfamilyChanged", []any{__arg}, 0*time.Millisecond) return } diff --git a/go/protocol/keybase1/notify_paperkey.go b/go/protocol/keybase1/notify_paperkey.go index 818f74fd439c..95435da068fd 100644 --- a/go/protocol/keybase1/notify_paperkey.go +++ b/go/protocol/keybase1/notify_paperkey.go @@ -1,4 +1,4 @@ -// Auto-generated to Go types and interfaces using avdl-compiler v1.4.10 (https://github.com/keybase/node-avdl-compiler) +// Code generated to Go types and interfaces using avdl-compiler v1.4.10 (https://github.com/keybase/node-avdl-compiler). DO NOT EDIT. // Input file: avdl/keybase1/notify_paperkey.avdl package keybase1 @@ -25,11 +25,11 @@ func NotifyPaperKeyProtocol(i NotifyPaperKeyInterface) rpc.Protocol { Name: "keybase.1.NotifyPaperKey", Methods: map[string]rpc.ServeHandlerDescription{ "paperKeyCached": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]PaperKeyCachedArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]PaperKeyCachedArg) if !ok { err = rpc.NewTypeError((*[1]PaperKeyCachedArg)(nil), args) @@ -48,6 +48,6 @@ type NotifyPaperKeyClient struct { } func (c NotifyPaperKeyClient) PaperKeyCached(ctx context.Context, __arg PaperKeyCachedArg) (err error) { - err = c.Cli.Notify(ctx, "keybase.1.NotifyPaperKey.paperKeyCached", []interface{}{__arg}, 0*time.Millisecond) + err = c.Cli.Notify(ctx, "keybase.1.NotifyPaperKey.paperKeyCached", []any{__arg}, 0*time.Millisecond) return } diff --git a/go/protocol/keybase1/notify_pgp.go b/go/protocol/keybase1/notify_pgp.go index 5c86c04edd0b..f6ab0b415a81 100644 --- a/go/protocol/keybase1/notify_pgp.go +++ b/go/protocol/keybase1/notify_pgp.go @@ -1,4 +1,4 @@ -// Auto-generated to Go types and interfaces using avdl-compiler v1.4.10 (https://github.com/keybase/node-avdl-compiler) +// Code generated to Go types and interfaces using avdl-compiler v1.4.10 (https://github.com/keybase/node-avdl-compiler). DO NOT EDIT. // Input file: avdl/keybase1/notify_pgp.avdl package keybase1 @@ -10,7 +10,8 @@ import ( "github.com/keybase/go-framed-msgpack-rpc/rpc" ) -type PGPKeyInSecretStoreFileArg struct{} +type PGPKeyInSecretStoreFileArg struct { +} type NotifyPGPInterface interface { PGPKeyInSecretStoreFile(context.Context) error @@ -21,11 +22,11 @@ func NotifyPGPProtocol(i NotifyPGPInterface) rpc.Protocol { Name: "keybase.1.NotifyPGP", Methods: map[string]rpc.ServeHandlerDescription{ "pgpKeyInSecretStoreFile": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]PGPKeyInSecretStoreFileArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { err = i.PGPKeyInSecretStoreFile(ctx) return }, @@ -39,6 +40,6 @@ type NotifyPGPClient struct { } func (c NotifyPGPClient) PGPKeyInSecretStoreFile(ctx context.Context) (err error) { - err = c.Cli.Notify(ctx, "keybase.1.NotifyPGP.pgpKeyInSecretStoreFile", []interface{}{PGPKeyInSecretStoreFileArg{}}, 0*time.Millisecond) + err = c.Cli.Notify(ctx, "keybase.1.NotifyPGP.pgpKeyInSecretStoreFile", []any{PGPKeyInSecretStoreFileArg{}}, 0*time.Millisecond) return } diff --git a/go/protocol/keybase1/notify_phone.go b/go/protocol/keybase1/notify_phone.go index 834f1242666a..286934902424 100644 --- a/go/protocol/keybase1/notify_phone.go +++ b/go/protocol/keybase1/notify_phone.go @@ -1,4 +1,4 @@ -// Auto-generated to Go types and interfaces using avdl-compiler v1.4.10 (https://github.com/keybase/node-avdl-compiler) +// Code generated to Go types and interfaces using avdl-compiler v1.4.10 (https://github.com/keybase/node-avdl-compiler). DO NOT EDIT. // Input file: avdl/keybase1/notify_phone.avdl package keybase1 @@ -25,11 +25,11 @@ func NotifyPhoneNumberProtocol(i NotifyPhoneNumberInterface) rpc.Protocol { Name: "keybase.1.NotifyPhoneNumber", Methods: map[string]rpc.ServeHandlerDescription{ "phoneNumbersChanged": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]PhoneNumbersChangedArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]PhoneNumbersChangedArg) if !ok { err = rpc.NewTypeError((*[1]PhoneNumbersChangedArg)(nil), args) @@ -48,6 +48,6 @@ type NotifyPhoneNumberClient struct { } func (c NotifyPhoneNumberClient) PhoneNumbersChanged(ctx context.Context, __arg PhoneNumbersChangedArg) (err error) { - err = c.Cli.Notify(ctx, "keybase.1.NotifyPhoneNumber.phoneNumbersChanged", []interface{}{__arg}, 0*time.Millisecond) + err = c.Cli.Notify(ctx, "keybase.1.NotifyPhoneNumber.phoneNumbersChanged", []any{__arg}, 0*time.Millisecond) return } diff --git a/go/protocol/keybase1/notify_runtimestats.go b/go/protocol/keybase1/notify_runtimestats.go index 542e7f2284f5..bb9202819c62 100644 --- a/go/protocol/keybase1/notify_runtimestats.go +++ b/go/protocol/keybase1/notify_runtimestats.go @@ -1,4 +1,4 @@ -// Auto-generated to Go types and interfaces using avdl-compiler v1.4.10 (https://github.com/keybase/node-avdl-compiler) +// Code generated to Go types and interfaces using avdl-compiler v1.4.10 (https://github.com/keybase/node-avdl-compiler). DO NOT EDIT. // Input file: avdl/keybase1/notify_runtimestats.avdl package keybase1 @@ -227,11 +227,11 @@ func NotifyRuntimeStatsProtocol(i NotifyRuntimeStatsInterface) rpc.Protocol { Name: "keybase.1.NotifyRuntimeStats", Methods: map[string]rpc.ServeHandlerDescription{ "runtimeStatsUpdate": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]RuntimeStatsUpdateArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]RuntimeStatsUpdateArg) if !ok { err = rpc.NewTypeError((*[1]RuntimeStatsUpdateArg)(nil), args) @@ -251,6 +251,6 @@ type NotifyRuntimeStatsClient struct { func (c NotifyRuntimeStatsClient) RuntimeStatsUpdate(ctx context.Context, stats *RuntimeStats) (err error) { __arg := RuntimeStatsUpdateArg{Stats: stats} - err = c.Cli.Notify(ctx, "keybase.1.NotifyRuntimeStats.runtimeStatsUpdate", []interface{}{__arg}, 0*time.Millisecond) + err = c.Cli.Notify(ctx, "keybase.1.NotifyRuntimeStats.runtimeStatsUpdate", []any{__arg}, 0*time.Millisecond) return } diff --git a/go/protocol/keybase1/notify_saltpack.go b/go/protocol/keybase1/notify_saltpack.go index cfd607a19cde..c500cbcf67bb 100644 --- a/go/protocol/keybase1/notify_saltpack.go +++ b/go/protocol/keybase1/notify_saltpack.go @@ -1,4 +1,4 @@ -// Auto-generated to Go types and interfaces using avdl-compiler v1.4.10 (https://github.com/keybase/node-avdl-compiler) +// Code generated to Go types and interfaces using avdl-compiler v1.4.10 (https://github.com/keybase/node-avdl-compiler). DO NOT EDIT. // Input file: avdl/keybase1/notify_saltpack.avdl package keybase1 @@ -71,11 +71,11 @@ func NotifySaltpackProtocol(i NotifySaltpackInterface) rpc.Protocol { Name: "keybase.1.NotifySaltpack", Methods: map[string]rpc.ServeHandlerDescription{ "saltpackOperationStart": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]SaltpackOperationStartArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]SaltpackOperationStartArg) if !ok { err = rpc.NewTypeError((*[1]SaltpackOperationStartArg)(nil), args) @@ -86,11 +86,11 @@ func NotifySaltpackProtocol(i NotifySaltpackInterface) rpc.Protocol { }, }, "saltpackOperationProgress": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]SaltpackOperationProgressArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]SaltpackOperationProgressArg) if !ok { err = rpc.NewTypeError((*[1]SaltpackOperationProgressArg)(nil), args) @@ -101,11 +101,11 @@ func NotifySaltpackProtocol(i NotifySaltpackInterface) rpc.Protocol { }, }, "saltpackOperationDone": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]SaltpackOperationDoneArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]SaltpackOperationDoneArg) if !ok { err = rpc.NewTypeError((*[1]SaltpackOperationDoneArg)(nil), args) @@ -124,16 +124,16 @@ type NotifySaltpackClient struct { } func (c NotifySaltpackClient) SaltpackOperationStart(ctx context.Context, __arg SaltpackOperationStartArg) (err error) { - err = c.Cli.Notify(ctx, "keybase.1.NotifySaltpack.saltpackOperationStart", []interface{}{__arg}, 0*time.Millisecond) + err = c.Cli.Notify(ctx, "keybase.1.NotifySaltpack.saltpackOperationStart", []any{__arg}, 0*time.Millisecond) return } func (c NotifySaltpackClient) SaltpackOperationProgress(ctx context.Context, __arg SaltpackOperationProgressArg) (err error) { - err = c.Cli.Notify(ctx, "keybase.1.NotifySaltpack.saltpackOperationProgress", []interface{}{__arg}, 0*time.Millisecond) + err = c.Cli.Notify(ctx, "keybase.1.NotifySaltpack.saltpackOperationProgress", []any{__arg}, 0*time.Millisecond) return } func (c NotifySaltpackClient) SaltpackOperationDone(ctx context.Context, __arg SaltpackOperationDoneArg) (err error) { - err = c.Cli.Notify(ctx, "keybase.1.NotifySaltpack.saltpackOperationDone", []interface{}{__arg}, 0*time.Millisecond) + err = c.Cli.Notify(ctx, "keybase.1.NotifySaltpack.saltpackOperationDone", []any{__arg}, 0*time.Millisecond) return } diff --git a/go/protocol/keybase1/notify_service.go b/go/protocol/keybase1/notify_service.go index eb1eafe08511..c9eb27588491 100644 --- a/go/protocol/keybase1/notify_service.go +++ b/go/protocol/keybase1/notify_service.go @@ -1,4 +1,4 @@ -// Auto-generated to Go types and interfaces using avdl-compiler v1.4.10 (https://github.com/keybase/node-avdl-compiler) +// Code generated to Go types and interfaces using avdl-compiler v1.4.10 (https://github.com/keybase/node-avdl-compiler). DO NOT EDIT. // Input file: avdl/keybase1/notify_service.avdl package keybase1 @@ -46,11 +46,11 @@ func NotifyServiceProtocol(i NotifyServiceInterface) rpc.Protocol { Name: "keybase.1.NotifyService", Methods: map[string]rpc.ServeHandlerDescription{ "HTTPSrvInfoUpdate": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]HTTPSrvInfoUpdateArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]HTTPSrvInfoUpdateArg) if !ok { err = rpc.NewTypeError((*[1]HTTPSrvInfoUpdateArg)(nil), args) @@ -61,11 +61,11 @@ func NotifyServiceProtocol(i NotifyServiceInterface) rpc.Protocol { }, }, "handleKeybaseLink": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]HandleKeybaseLinkArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]HandleKeybaseLinkArg) if !ok { err = rpc.NewTypeError((*[1]HandleKeybaseLinkArg)(nil), args) @@ -76,11 +76,11 @@ func NotifyServiceProtocol(i NotifyServiceInterface) rpc.Protocol { }, }, "shutdown": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]ShutdownArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]ShutdownArg) if !ok { err = rpc.NewTypeError((*[1]ShutdownArg)(nil), args) @@ -100,17 +100,17 @@ type NotifyServiceClient struct { func (c NotifyServiceClient) HTTPSrvInfoUpdate(ctx context.Context, info HttpSrvInfo) (err error) { __arg := HTTPSrvInfoUpdateArg{Info: info} - err = c.Cli.Notify(ctx, "keybase.1.NotifyService.HTTPSrvInfoUpdate", []interface{}{__arg}, 0*time.Millisecond) + err = c.Cli.Notify(ctx, "keybase.1.NotifyService.HTTPSrvInfoUpdate", []any{__arg}, 0*time.Millisecond) return } func (c NotifyServiceClient) HandleKeybaseLink(ctx context.Context, __arg HandleKeybaseLinkArg) (err error) { - err = c.Cli.Notify(ctx, "keybase.1.NotifyService.handleKeybaseLink", []interface{}{__arg}, 0*time.Millisecond) + err = c.Cli.Notify(ctx, "keybase.1.NotifyService.handleKeybaseLink", []any{__arg}, 0*time.Millisecond) return } func (c NotifyServiceClient) Shutdown(ctx context.Context, code int) (err error) { __arg := ShutdownArg{Code: code} - err = c.Cli.Call(ctx, "keybase.1.NotifyService.shutdown", []interface{}{__arg}, nil, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.NotifyService.shutdown", []any{__arg}, nil, 0*time.Millisecond) return } diff --git a/go/protocol/keybase1/notify_session.go b/go/protocol/keybase1/notify_session.go index 66703dc28ea8..0aca0ca39fcc 100644 --- a/go/protocol/keybase1/notify_session.go +++ b/go/protocol/keybase1/notify_session.go @@ -1,4 +1,4 @@ -// Auto-generated to Go types and interfaces using avdl-compiler v1.4.10 (https://github.com/keybase/node-avdl-compiler) +// Code generated to Go types and interfaces using avdl-compiler v1.4.10 (https://github.com/keybase/node-avdl-compiler). DO NOT EDIT. // Input file: avdl/keybase1/notify_session.avdl package keybase1 @@ -10,7 +10,8 @@ import ( "github.com/keybase/go-framed-msgpack-rpc/rpc" ) -type LoggedOutArg struct{} +type LoggedOutArg struct { +} type LoggedInArg struct { Username string `codec:"username" json:"username"` @@ -34,21 +35,21 @@ func NotifySessionProtocol(i NotifySessionInterface) rpc.Protocol { Name: "keybase.1.NotifySession", Methods: map[string]rpc.ServeHandlerDescription{ "loggedOut": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]LoggedOutArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { err = i.LoggedOut(ctx) return }, }, "loggedIn": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]LoggedInArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]LoggedInArg) if !ok { err = rpc.NewTypeError((*[1]LoggedInArg)(nil), args) @@ -59,11 +60,11 @@ func NotifySessionProtocol(i NotifySessionInterface) rpc.Protocol { }, }, "clientOutOfDate": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]ClientOutOfDateArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]ClientOutOfDateArg) if !ok { err = rpc.NewTypeError((*[1]ClientOutOfDateArg)(nil), args) @@ -82,16 +83,16 @@ type NotifySessionClient struct { } func (c NotifySessionClient) LoggedOut(ctx context.Context) (err error) { - err = c.Cli.Notify(ctx, "keybase.1.NotifySession.loggedOut", []interface{}{LoggedOutArg{}}, 0*time.Millisecond) + err = c.Cli.Notify(ctx, "keybase.1.NotifySession.loggedOut", []any{LoggedOutArg{}}, 0*time.Millisecond) return } func (c NotifySessionClient) LoggedIn(ctx context.Context, __arg LoggedInArg) (err error) { - err = c.Cli.Call(ctx, "keybase.1.NotifySession.loggedIn", []interface{}{__arg}, nil, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.NotifySession.loggedIn", []any{__arg}, nil, 0*time.Millisecond) return } func (c NotifySessionClient) ClientOutOfDate(ctx context.Context, __arg ClientOutOfDateArg) (err error) { - err = c.Cli.Call(ctx, "keybase.1.NotifySession.clientOutOfDate", []interface{}{__arg}, nil, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.NotifySession.clientOutOfDate", []any{__arg}, nil, 0*time.Millisecond) return } diff --git a/go/protocol/keybase1/notify_simple_fs.go b/go/protocol/keybase1/notify_simple_fs.go index be88e501b498..19741d59bb30 100644 --- a/go/protocol/keybase1/notify_simple_fs.go +++ b/go/protocol/keybase1/notify_simple_fs.go @@ -1,4 +1,4 @@ -// Auto-generated to Go types and interfaces using avdl-compiler v1.4.10 (https://github.com/keybase/node-avdl-compiler) +// Code generated to Go types and interfaces using avdl-compiler v1.4.10 (https://github.com/keybase/node-avdl-compiler). DO NOT EDIT. // Input file: avdl/keybase1/notify_simple_fs.avdl package keybase1 @@ -23,11 +23,11 @@ func NotifySimpleFSProtocol(i NotifySimpleFSInterface) rpc.Protocol { Name: "keybase.1.NotifySimpleFS", Methods: map[string]rpc.ServeHandlerDescription{ "simpleFSArchiveStatusChanged": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]SimpleFSArchiveStatusChangedArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]SimpleFSArchiveStatusChangedArg) if !ok { err = rpc.NewTypeError((*[1]SimpleFSArchiveStatusChangedArg)(nil), args) @@ -47,6 +47,6 @@ type NotifySimpleFSClient struct { func (c NotifySimpleFSClient) SimpleFSArchiveStatusChanged(ctx context.Context, status SimpleFSArchiveStatus) (err error) { __arg := SimpleFSArchiveStatusChangedArg{Status: status} - err = c.Cli.Notify(ctx, "keybase.1.NotifySimpleFS.simpleFSArchiveStatusChanged", []interface{}{__arg}, 0*time.Millisecond) + err = c.Cli.Notify(ctx, "keybase.1.NotifySimpleFS.simpleFSArchiveStatusChanged", []any{__arg}, 0*time.Millisecond) return } diff --git a/go/protocol/keybase1/notify_team.go b/go/protocol/keybase1/notify_team.go index da7a9b9d5da7..5ef25aef0436 100644 --- a/go/protocol/keybase1/notify_team.go +++ b/go/protocol/keybase1/notify_team.go @@ -1,4 +1,4 @@ -// Auto-generated to Go types and interfaces using avdl-compiler v1.4.10 (https://github.com/keybase/node-avdl-compiler) +// Code generated to Go types and interfaces using avdl-compiler v1.4.10 (https://github.com/keybase/node-avdl-compiler). DO NOT EDIT. // Input file: avdl/keybase1/notify_team.avdl package keybase1 @@ -131,7 +131,8 @@ type AvatarUpdatedArg struct { Typ AvatarUpdateType `codec:"typ" json:"typ"` } -type TeamMetadataUpdateArg struct{} +type TeamMetadataUpdateArg struct { +} type TeamTreeMembershipsPartialArg struct { Membership TeamTreeMembership `codec:"membership" json:"membership"` @@ -160,11 +161,11 @@ func NotifyTeamProtocol(i NotifyTeamInterface) rpc.Protocol { Name: "keybase.1.NotifyTeam", Methods: map[string]rpc.ServeHandlerDescription{ "teamChangedByID": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]TeamChangedByIDArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]TeamChangedByIDArg) if !ok { err = rpc.NewTypeError((*[1]TeamChangedByIDArg)(nil), args) @@ -175,11 +176,11 @@ func NotifyTeamProtocol(i NotifyTeamInterface) rpc.Protocol { }, }, "teamChangedByName": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]TeamChangedByNameArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]TeamChangedByNameArg) if !ok { err = rpc.NewTypeError((*[1]TeamChangedByNameArg)(nil), args) @@ -190,11 +191,11 @@ func NotifyTeamProtocol(i NotifyTeamInterface) rpc.Protocol { }, }, "teamDeleted": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]TeamDeletedArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]TeamDeletedArg) if !ok { err = rpc.NewTypeError((*[1]TeamDeletedArg)(nil), args) @@ -205,11 +206,11 @@ func NotifyTeamProtocol(i NotifyTeamInterface) rpc.Protocol { }, }, "teamAbandoned": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]TeamAbandonedArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]TeamAbandonedArg) if !ok { err = rpc.NewTypeError((*[1]TeamAbandonedArg)(nil), args) @@ -220,11 +221,11 @@ func NotifyTeamProtocol(i NotifyTeamInterface) rpc.Protocol { }, }, "teamExit": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]TeamExitArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]TeamExitArg) if !ok { err = rpc.NewTypeError((*[1]TeamExitArg)(nil), args) @@ -235,11 +236,11 @@ func NotifyTeamProtocol(i NotifyTeamInterface) rpc.Protocol { }, }, "newlyAddedToTeam": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]NewlyAddedToTeamArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]NewlyAddedToTeamArg) if !ok { err = rpc.NewTypeError((*[1]NewlyAddedToTeamArg)(nil), args) @@ -250,11 +251,11 @@ func NotifyTeamProtocol(i NotifyTeamInterface) rpc.Protocol { }, }, "teamRoleMapChanged": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]TeamRoleMapChangedArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]TeamRoleMapChangedArg) if !ok { err = rpc.NewTypeError((*[1]TeamRoleMapChangedArg)(nil), args) @@ -265,11 +266,11 @@ func NotifyTeamProtocol(i NotifyTeamInterface) rpc.Protocol { }, }, "avatarUpdated": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]AvatarUpdatedArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]AvatarUpdatedArg) if !ok { err = rpc.NewTypeError((*[1]AvatarUpdatedArg)(nil), args) @@ -280,21 +281,21 @@ func NotifyTeamProtocol(i NotifyTeamInterface) rpc.Protocol { }, }, "teamMetadataUpdate": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]TeamMetadataUpdateArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { err = i.TeamMetadataUpdate(ctx) return }, }, "teamTreeMembershipsPartial": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]TeamTreeMembershipsPartialArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]TeamTreeMembershipsPartialArg) if !ok { err = rpc.NewTypeError((*[1]TeamTreeMembershipsPartialArg)(nil), args) @@ -305,11 +306,11 @@ func NotifyTeamProtocol(i NotifyTeamInterface) rpc.Protocol { }, }, "teamTreeMembershipsDone": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]TeamTreeMembershipsDoneArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]TeamTreeMembershipsDoneArg) if !ok { err = rpc.NewTypeError((*[1]TeamTreeMembershipsDoneArg)(nil), args) @@ -328,63 +329,63 @@ type NotifyTeamClient struct { } func (c NotifyTeamClient) TeamChangedByID(ctx context.Context, __arg TeamChangedByIDArg) (err error) { - err = c.Cli.Notify(ctx, "keybase.1.NotifyTeam.teamChangedByID", []interface{}{__arg}, 0*time.Millisecond) + err = c.Cli.Notify(ctx, "keybase.1.NotifyTeam.teamChangedByID", []any{__arg}, 0*time.Millisecond) return } func (c NotifyTeamClient) TeamChangedByName(ctx context.Context, __arg TeamChangedByNameArg) (err error) { - err = c.Cli.Notify(ctx, "keybase.1.NotifyTeam.teamChangedByName", []interface{}{__arg}, 0*time.Millisecond) + err = c.Cli.Notify(ctx, "keybase.1.NotifyTeam.teamChangedByName", []any{__arg}, 0*time.Millisecond) return } func (c NotifyTeamClient) TeamDeleted(ctx context.Context, teamID TeamID) (err error) { __arg := TeamDeletedArg{TeamID: teamID} - err = c.Cli.Notify(ctx, "keybase.1.NotifyTeam.teamDeleted", []interface{}{__arg}, 0*time.Millisecond) + err = c.Cli.Notify(ctx, "keybase.1.NotifyTeam.teamDeleted", []any{__arg}, 0*time.Millisecond) return } func (c NotifyTeamClient) TeamAbandoned(ctx context.Context, teamID TeamID) (err error) { __arg := TeamAbandonedArg{TeamID: teamID} - err = c.Cli.Notify(ctx, "keybase.1.NotifyTeam.teamAbandoned", []interface{}{__arg}, 0*time.Millisecond) + err = c.Cli.Notify(ctx, "keybase.1.NotifyTeam.teamAbandoned", []any{__arg}, 0*time.Millisecond) return } func (c NotifyTeamClient) TeamExit(ctx context.Context, teamID TeamID) (err error) { __arg := TeamExitArg{TeamID: teamID} - err = c.Cli.Notify(ctx, "keybase.1.NotifyTeam.teamExit", []interface{}{__arg}, 0*time.Millisecond) + err = c.Cli.Notify(ctx, "keybase.1.NotifyTeam.teamExit", []any{__arg}, 0*time.Millisecond) return } func (c NotifyTeamClient) NewlyAddedToTeam(ctx context.Context, teamID TeamID) (err error) { __arg := NewlyAddedToTeamArg{TeamID: teamID} - err = c.Cli.Notify(ctx, "keybase.1.NotifyTeam.newlyAddedToTeam", []interface{}{__arg}, 0*time.Millisecond) + err = c.Cli.Notify(ctx, "keybase.1.NotifyTeam.newlyAddedToTeam", []any{__arg}, 0*time.Millisecond) return } func (c NotifyTeamClient) TeamRoleMapChanged(ctx context.Context, newVersion UserTeamVersion) (err error) { __arg := TeamRoleMapChangedArg{NewVersion: newVersion} - err = c.Cli.Notify(ctx, "keybase.1.NotifyTeam.teamRoleMapChanged", []interface{}{__arg}, 0*time.Millisecond) + err = c.Cli.Notify(ctx, "keybase.1.NotifyTeam.teamRoleMapChanged", []any{__arg}, 0*time.Millisecond) return } func (c NotifyTeamClient) AvatarUpdated(ctx context.Context, __arg AvatarUpdatedArg) (err error) { - err = c.Cli.Notify(ctx, "keybase.1.NotifyTeam.avatarUpdated", []interface{}{__arg}, 0*time.Millisecond) + err = c.Cli.Notify(ctx, "keybase.1.NotifyTeam.avatarUpdated", []any{__arg}, 0*time.Millisecond) return } func (c NotifyTeamClient) TeamMetadataUpdate(ctx context.Context) (err error) { - err = c.Cli.Notify(ctx, "keybase.1.NotifyTeam.teamMetadataUpdate", []interface{}{TeamMetadataUpdateArg{}}, 0*time.Millisecond) + err = c.Cli.Notify(ctx, "keybase.1.NotifyTeam.teamMetadataUpdate", []any{TeamMetadataUpdateArg{}}, 0*time.Millisecond) return } func (c NotifyTeamClient) TeamTreeMembershipsPartial(ctx context.Context, membership TeamTreeMembership) (err error) { __arg := TeamTreeMembershipsPartialArg{Membership: membership} - err = c.Cli.Notify(ctx, "keybase.1.NotifyTeam.teamTreeMembershipsPartial", []interface{}{__arg}, 0*time.Millisecond) + err = c.Cli.Notify(ctx, "keybase.1.NotifyTeam.teamTreeMembershipsPartial", []any{__arg}, 0*time.Millisecond) return } func (c NotifyTeamClient) TeamTreeMembershipsDone(ctx context.Context, result TeamTreeMembershipsDoneResult) (err error) { __arg := TeamTreeMembershipsDoneArg{Result: result} - err = c.Cli.Notify(ctx, "keybase.1.NotifyTeam.teamTreeMembershipsDone", []interface{}{__arg}, 0*time.Millisecond) + err = c.Cli.Notify(ctx, "keybase.1.NotifyTeam.teamTreeMembershipsDone", []any{__arg}, 0*time.Millisecond) return } diff --git a/go/protocol/keybase1/notify_teambot.go b/go/protocol/keybase1/notify_teambot.go index 32e1fd547b94..4207fc8cc101 100644 --- a/go/protocol/keybase1/notify_teambot.go +++ b/go/protocol/keybase1/notify_teambot.go @@ -1,4 +1,4 @@ -// Auto-generated to Go types and interfaces using avdl-compiler v1.4.10 (https://github.com/keybase/node-avdl-compiler) +// Code generated to Go types and interfaces using avdl-compiler v1.4.10 (https://github.com/keybase/node-avdl-compiler). DO NOT EDIT. // Input file: avdl/keybase1/notify_teambot.avdl package keybase1 @@ -33,11 +33,11 @@ func NotifyTeambotProtocol(i NotifyTeambotInterface) rpc.Protocol { Name: "keybase.1.NotifyTeambot", Methods: map[string]rpc.ServeHandlerDescription{ "newTeambotKey": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]NewTeambotKeyArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]NewTeambotKeyArg) if !ok { err = rpc.NewTypeError((*[1]NewTeambotKeyArg)(nil), args) @@ -48,11 +48,11 @@ func NotifyTeambotProtocol(i NotifyTeambotInterface) rpc.Protocol { }, }, "teambotKeyNeeded": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]TeambotKeyNeededArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]TeambotKeyNeededArg) if !ok { err = rpc.NewTypeError((*[1]TeambotKeyNeededArg)(nil), args) @@ -71,11 +71,11 @@ type NotifyTeambotClient struct { } func (c NotifyTeambotClient) NewTeambotKey(ctx context.Context, __arg NewTeambotKeyArg) (err error) { - err = c.Cli.Notify(ctx, "keybase.1.NotifyTeambot.newTeambotKey", []interface{}{__arg}, 0*time.Millisecond) + err = c.Cli.Notify(ctx, "keybase.1.NotifyTeambot.newTeambotKey", []any{__arg}, 0*time.Millisecond) return } func (c NotifyTeambotClient) TeambotKeyNeeded(ctx context.Context, __arg TeambotKeyNeededArg) (err error) { - err = c.Cli.Call(ctx, "keybase.1.NotifyTeambot.teambotKeyNeeded", []interface{}{__arg}, nil, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.NotifyTeambot.teambotKeyNeeded", []any{__arg}, nil, 0*time.Millisecond) return } diff --git a/go/protocol/keybase1/notify_tracking.go b/go/protocol/keybase1/notify_tracking.go index 2d438033df70..da95f0b506e8 100644 --- a/go/protocol/keybase1/notify_tracking.go +++ b/go/protocol/keybase1/notify_tracking.go @@ -1,4 +1,4 @@ -// Auto-generated to Go types and interfaces using avdl-compiler v1.4.10 (https://github.com/keybase/node-avdl-compiler) +// Code generated to Go types and interfaces using avdl-compiler v1.4.10 (https://github.com/keybase/node-avdl-compiler). DO NOT EDIT. // Input file: avdl/keybase1/notify_tracking.avdl package keybase1 @@ -37,11 +37,11 @@ func NotifyTrackingProtocol(i NotifyTrackingInterface) rpc.Protocol { Name: "keybase.1.NotifyTracking", Methods: map[string]rpc.ServeHandlerDescription{ "trackingChanged": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]TrackingChangedArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]TrackingChangedArg) if !ok { err = rpc.NewTypeError((*[1]TrackingChangedArg)(nil), args) @@ -52,11 +52,11 @@ func NotifyTrackingProtocol(i NotifyTrackingInterface) rpc.Protocol { }, }, "trackingInfo": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]TrackingInfoArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]TrackingInfoArg) if !ok { err = rpc.NewTypeError((*[1]TrackingInfoArg)(nil), args) @@ -67,11 +67,11 @@ func NotifyTrackingProtocol(i NotifyTrackingInterface) rpc.Protocol { }, }, "notifyUserBlocked": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]NotifyUserBlockedArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]NotifyUserBlockedArg) if !ok { err = rpc.NewTypeError((*[1]NotifyUserBlockedArg)(nil), args) @@ -90,17 +90,17 @@ type NotifyTrackingClient struct { } func (c NotifyTrackingClient) TrackingChanged(ctx context.Context, __arg TrackingChangedArg) (err error) { - err = c.Cli.Notify(ctx, "keybase.1.NotifyTracking.trackingChanged", []interface{}{__arg}, 0*time.Millisecond) + err = c.Cli.Notify(ctx, "keybase.1.NotifyTracking.trackingChanged", []any{__arg}, 0*time.Millisecond) return } func (c NotifyTrackingClient) TrackingInfo(ctx context.Context, __arg TrackingInfoArg) (err error) { - err = c.Cli.Notify(ctx, "keybase.1.NotifyTracking.trackingInfo", []interface{}{__arg}, 0*time.Millisecond) + err = c.Cli.Notify(ctx, "keybase.1.NotifyTracking.trackingInfo", []any{__arg}, 0*time.Millisecond) return } func (c NotifyTrackingClient) NotifyUserBlocked(ctx context.Context, b UserBlockedSummary) (err error) { __arg := NotifyUserBlockedArg{B: b} - err = c.Cli.Notify(ctx, "keybase.1.NotifyTracking.notifyUserBlocked", []interface{}{__arg}, 0*time.Millisecond) + err = c.Cli.Notify(ctx, "keybase.1.NotifyTracking.notifyUserBlocked", []any{__arg}, 0*time.Millisecond) return } diff --git a/go/protocol/keybase1/notify_users.go b/go/protocol/keybase1/notify_users.go index 45cd052ae104..4bf5e2f6783a 100644 --- a/go/protocol/keybase1/notify_users.go +++ b/go/protocol/keybase1/notify_users.go @@ -1,4 +1,4 @@ -// Auto-generated to Go types and interfaces using avdl-compiler v1.4.10 (https://github.com/keybase/node-avdl-compiler) +// Code generated to Go types and interfaces using avdl-compiler v1.4.10 (https://github.com/keybase/node-avdl-compiler). DO NOT EDIT. // Input file: avdl/keybase1/notify_users.avdl package keybase1 @@ -39,11 +39,11 @@ func NotifyUsersProtocol(i NotifyUsersInterface) rpc.Protocol { Name: "keybase.1.NotifyUsers", Methods: map[string]rpc.ServeHandlerDescription{ "userChanged": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]UserChangedArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]UserChangedArg) if !ok { err = rpc.NewTypeError((*[1]UserChangedArg)(nil), args) @@ -54,11 +54,11 @@ func NotifyUsersProtocol(i NotifyUsersInterface) rpc.Protocol { }, }, "webOfTrustChanged": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]WebOfTrustChangedArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]WebOfTrustChangedArg) if !ok { err = rpc.NewTypeError((*[1]WebOfTrustChangedArg)(nil), args) @@ -69,11 +69,11 @@ func NotifyUsersProtocol(i NotifyUsersInterface) rpc.Protocol { }, }, "passwordChanged": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]PasswordChangedArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]PasswordChangedArg) if !ok { err = rpc.NewTypeError((*[1]PasswordChangedArg)(nil), args) @@ -84,11 +84,11 @@ func NotifyUsersProtocol(i NotifyUsersInterface) rpc.Protocol { }, }, "identifyUpdate": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]IdentifyUpdateArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]IdentifyUpdateArg) if !ok { err = rpc.NewTypeError((*[1]IdentifyUpdateArg)(nil), args) @@ -108,23 +108,23 @@ type NotifyUsersClient struct { func (c NotifyUsersClient) UserChanged(ctx context.Context, uid UID) (err error) { __arg := UserChangedArg{Uid: uid} - err = c.Cli.Notify(ctx, "keybase.1.NotifyUsers.userChanged", []interface{}{__arg}, 0*time.Millisecond) + err = c.Cli.Notify(ctx, "keybase.1.NotifyUsers.userChanged", []any{__arg}, 0*time.Millisecond) return } func (c NotifyUsersClient) WebOfTrustChanged(ctx context.Context, username string) (err error) { __arg := WebOfTrustChangedArg{Username: username} - err = c.Cli.Notify(ctx, "keybase.1.NotifyUsers.webOfTrustChanged", []interface{}{__arg}, 0*time.Millisecond) + err = c.Cli.Notify(ctx, "keybase.1.NotifyUsers.webOfTrustChanged", []any{__arg}, 0*time.Millisecond) return } func (c NotifyUsersClient) PasswordChanged(ctx context.Context, state PassphraseState) (err error) { __arg := PasswordChangedArg{State: state} - err = c.Cli.Notify(ctx, "keybase.1.NotifyUsers.passwordChanged", []interface{}{__arg}, 0*time.Millisecond) + err = c.Cli.Notify(ctx, "keybase.1.NotifyUsers.passwordChanged", []any{__arg}, 0*time.Millisecond) return } func (c NotifyUsersClient) IdentifyUpdate(ctx context.Context, __arg IdentifyUpdateArg) (err error) { - err = c.Cli.Notify(ctx, "keybase.1.NotifyUsers.identifyUpdate", []interface{}{__arg}, 0*time.Millisecond) + err = c.Cli.Notify(ctx, "keybase.1.NotifyUsers.identifyUpdate", []any{__arg}, 0*time.Millisecond) return } diff --git a/go/protocol/keybase1/os.go b/go/protocol/keybase1/os.go index fb17b380bad5..614286b887a1 100644 --- a/go/protocol/keybase1/os.go +++ b/go/protocol/keybase1/os.go @@ -1,4 +1,4 @@ -// Auto-generated to Go types and interfaces using avdl-compiler v1.4.10 (https://github.com/keybase/node-avdl-compiler) +// Code generated to Go types and interfaces using avdl-compiler v1.4.10 (https://github.com/keybase/node-avdl-compiler). DO NOT EDIT. // Input file: avdl/keybase1/os.avdl package keybase1 @@ -41,7 +41,8 @@ func (o RuntimeGroup) String() string { return fmt.Sprintf("%v", int(o)) } -type RuntimeInterface interface{} +type RuntimeInterface interface { +} func RuntimeProtocol(i RuntimeInterface) rpc.Protocol { return rpc.Protocol{ diff --git a/go/protocol/keybase1/paperprovision.go b/go/protocol/keybase1/paperprovision.go index 9ce45750b547..9964a77018f0 100644 --- a/go/protocol/keybase1/paperprovision.go +++ b/go/protocol/keybase1/paperprovision.go @@ -1,4 +1,4 @@ -// Auto-generated to Go types and interfaces using avdl-compiler v1.4.10 (https://github.com/keybase/node-avdl-compiler) +// Code generated to Go types and interfaces using avdl-compiler v1.4.10 (https://github.com/keybase/node-avdl-compiler). DO NOT EDIT. // Input file: avdl/keybase1/paperprovision.avdl package keybase1 @@ -29,11 +29,11 @@ func PaperprovisionProtocol(i PaperprovisionInterface) rpc.Protocol { Name: "keybase.1.paperprovision", Methods: map[string]rpc.ServeHandlerDescription{ "paperProvision": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]PaperProvisionArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]PaperProvisionArg) if !ok { err = rpc.NewTypeError((*[1]PaperProvisionArg)(nil), args) @@ -55,6 +55,6 @@ type PaperprovisionClient struct { // If the current device isn't provisioned, this function will // provision it. func (c PaperprovisionClient) PaperProvision(ctx context.Context, __arg PaperProvisionArg) (err error) { - err = c.Cli.Call(ctx, "keybase.1.paperprovision.paperProvision", []interface{}{__arg}, nil, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.paperprovision.paperProvision", []any{__arg}, nil, 0*time.Millisecond) return } diff --git a/go/protocol/keybase1/passphrase_common.go b/go/protocol/keybase1/passphrase_common.go index 924b6dab6e11..8edf32733e0b 100644 --- a/go/protocol/keybase1/passphrase_common.go +++ b/go/protocol/keybase1/passphrase_common.go @@ -1,4 +1,4 @@ -// Auto-generated to Go types and interfaces using avdl-compiler v1.4.10 (https://github.com/keybase/node-avdl-compiler) +// Code generated to Go types and interfaces using avdl-compiler v1.4.10 (https://github.com/keybase/node-avdl-compiler). DO NOT EDIT. // Input file: avdl/keybase1/passphrase_common.avdl package keybase1 @@ -103,7 +103,8 @@ func (o GetPassphraseRes) DeepCopy() GetPassphraseRes { } } -type PassphraseCommonInterface interface{} +type PassphraseCommonInterface interface { +} func PassphraseCommonProtocol(i PassphraseCommonInterface) rpc.Protocol { return rpc.Protocol{ diff --git a/go/protocol/keybase1/pgp.go b/go/protocol/keybase1/pgp.go index 64157ba55bfa..b682093a41f1 100644 --- a/go/protocol/keybase1/pgp.go +++ b/go/protocol/keybase1/pgp.go @@ -1,4 +1,4 @@ -// Auto-generated to Go types and interfaces using avdl-compiler v1.4.10 (https://github.com/keybase/node-avdl-compiler) +// Code generated to Go types and interfaces using avdl-compiler v1.4.10 (https://github.com/keybase/node-avdl-compiler). DO NOT EDIT. // Input file: avdl/keybase1/pgp.avdl package keybase1 @@ -360,11 +360,11 @@ func PGPProtocol(i PGPInterface) rpc.Protocol { Name: "keybase.1.pgp", Methods: map[string]rpc.ServeHandlerDescription{ "pgpSign": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]PGPSignArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]PGPSignArg) if !ok { err = rpc.NewTypeError((*[1]PGPSignArg)(nil), args) @@ -375,11 +375,11 @@ func PGPProtocol(i PGPInterface) rpc.Protocol { }, }, "pgpPull": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]PGPPullArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]PGPPullArg) if !ok { err = rpc.NewTypeError((*[1]PGPPullArg)(nil), args) @@ -390,11 +390,11 @@ func PGPProtocol(i PGPInterface) rpc.Protocol { }, }, "pgpEncrypt": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]PGPEncryptArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]PGPEncryptArg) if !ok { err = rpc.NewTypeError((*[1]PGPEncryptArg)(nil), args) @@ -405,11 +405,11 @@ func PGPProtocol(i PGPInterface) rpc.Protocol { }, }, "pgpDecrypt": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]PGPDecryptArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]PGPDecryptArg) if !ok { err = rpc.NewTypeError((*[1]PGPDecryptArg)(nil), args) @@ -420,11 +420,11 @@ func PGPProtocol(i PGPInterface) rpc.Protocol { }, }, "pgpVerify": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]PGPVerifyArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]PGPVerifyArg) if !ok { err = rpc.NewTypeError((*[1]PGPVerifyArg)(nil), args) @@ -435,11 +435,11 @@ func PGPProtocol(i PGPInterface) rpc.Protocol { }, }, "pgpImport": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]PGPImportArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]PGPImportArg) if !ok { err = rpc.NewTypeError((*[1]PGPImportArg)(nil), args) @@ -450,11 +450,11 @@ func PGPProtocol(i PGPInterface) rpc.Protocol { }, }, "pgpExport": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]PGPExportArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]PGPExportArg) if !ok { err = rpc.NewTypeError((*[1]PGPExportArg)(nil), args) @@ -465,11 +465,11 @@ func PGPProtocol(i PGPInterface) rpc.Protocol { }, }, "pgpExportByFingerprint": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]PGPExportByFingerprintArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]PGPExportByFingerprintArg) if !ok { err = rpc.NewTypeError((*[1]PGPExportByFingerprintArg)(nil), args) @@ -480,11 +480,11 @@ func PGPProtocol(i PGPInterface) rpc.Protocol { }, }, "pgpExportByKID": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]PGPExportByKIDArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]PGPExportByKIDArg) if !ok { err = rpc.NewTypeError((*[1]PGPExportByKIDArg)(nil), args) @@ -495,11 +495,11 @@ func PGPProtocol(i PGPInterface) rpc.Protocol { }, }, "pgpKeyGen": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]PGPKeyGenArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]PGPKeyGenArg) if !ok { err = rpc.NewTypeError((*[1]PGPKeyGenArg)(nil), args) @@ -510,11 +510,11 @@ func PGPProtocol(i PGPInterface) rpc.Protocol { }, }, "pgpKeyGenDefault": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]PGPKeyGenDefaultArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]PGPKeyGenDefaultArg) if !ok { err = rpc.NewTypeError((*[1]PGPKeyGenDefaultArg)(nil), args) @@ -525,11 +525,11 @@ func PGPProtocol(i PGPInterface) rpc.Protocol { }, }, "pgpDeletePrimary": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]PGPDeletePrimaryArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]PGPDeletePrimaryArg) if !ok { err = rpc.NewTypeError((*[1]PGPDeletePrimaryArg)(nil), args) @@ -540,11 +540,11 @@ func PGPProtocol(i PGPInterface) rpc.Protocol { }, }, "pgpSelect": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]PGPSelectArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]PGPSelectArg) if !ok { err = rpc.NewTypeError((*[1]PGPSelectArg)(nil), args) @@ -555,11 +555,11 @@ func PGPProtocol(i PGPInterface) rpc.Protocol { }, }, "pgpUpdate": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]PGPUpdateArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]PGPUpdateArg) if !ok { err = rpc.NewTypeError((*[1]PGPUpdateArg)(nil), args) @@ -570,11 +570,11 @@ func PGPProtocol(i PGPInterface) rpc.Protocol { }, }, "pgpPurge": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]PGPPurgeArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]PGPPurgeArg) if !ok { err = rpc.NewTypeError((*[1]PGPPurgeArg)(nil), args) @@ -585,11 +585,11 @@ func PGPProtocol(i PGPInterface) rpc.Protocol { }, }, "pgpStorageDismiss": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]PGPStorageDismissArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]PGPStorageDismissArg) if !ok { err = rpc.NewTypeError((*[1]PGPStorageDismissArg)(nil), args) @@ -600,11 +600,11 @@ func PGPProtocol(i PGPInterface) rpc.Protocol { }, }, "pgpPushPrivate": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]PGPPushPrivateArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]PGPPushPrivateArg) if !ok { err = rpc.NewTypeError((*[1]PGPPushPrivateArg)(nil), args) @@ -615,11 +615,11 @@ func PGPProtocol(i PGPInterface) rpc.Protocol { }, }, "pgpPullPrivate": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]PGPPullPrivateArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]PGPPullPrivateArg) if !ok { err = rpc.NewTypeError((*[1]PGPPullPrivateArg)(nil), args) @@ -638,103 +638,103 @@ type PGPClient struct { } func (c PGPClient) PGPSign(ctx context.Context, __arg PGPSignArg) (err error) { - err = c.Cli.Call(ctx, "keybase.1.pgp.pgpSign", []interface{}{__arg}, nil, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.pgp.pgpSign", []any{__arg}, nil, 0*time.Millisecond) return } // Download PGP keys for tracked users and update the local GPG keyring. // If usernames is nonempty, update only those users. func (c PGPClient) PGPPull(ctx context.Context, __arg PGPPullArg) (err error) { - err = c.Cli.Call(ctx, "keybase.1.pgp.pgpPull", []interface{}{__arg}, nil, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.pgp.pgpPull", []any{__arg}, nil, 0*time.Millisecond) return } func (c PGPClient) PGPEncrypt(ctx context.Context, __arg PGPEncryptArg) (err error) { - err = c.Cli.Call(ctx, "keybase.1.pgp.pgpEncrypt", []interface{}{__arg}, nil, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.pgp.pgpEncrypt", []any{__arg}, nil, 0*time.Millisecond) return } func (c PGPClient) PGPDecrypt(ctx context.Context, __arg PGPDecryptArg) (res PGPSigVerification, err error) { - err = c.Cli.Call(ctx, "keybase.1.pgp.pgpDecrypt", []interface{}{__arg}, &res, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.pgp.pgpDecrypt", []any{__arg}, &res, 0*time.Millisecond) return } func (c PGPClient) PGPVerify(ctx context.Context, __arg PGPVerifyArg) (res PGPSigVerification, err error) { - err = c.Cli.Call(ctx, "keybase.1.pgp.pgpVerify", []interface{}{__arg}, &res, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.pgp.pgpVerify", []any{__arg}, &res, 0*time.Millisecond) return } func (c PGPClient) PGPImport(ctx context.Context, __arg PGPImportArg) (err error) { - err = c.Cli.Call(ctx, "keybase.1.pgp.pgpImport", []interface{}{__arg}, nil, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.pgp.pgpImport", []any{__arg}, nil, 0*time.Millisecond) return } // Exports active PGP keys. Only allows armored export. func (c PGPClient) PGPExport(ctx context.Context, __arg PGPExportArg) (res []KeyInfo, err error) { - err = c.Cli.Call(ctx, "keybase.1.pgp.pgpExport", []interface{}{__arg}, &res, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.pgp.pgpExport", []any{__arg}, &res, 0*time.Millisecond) return } func (c PGPClient) PGPExportByFingerprint(ctx context.Context, __arg PGPExportByFingerprintArg) (res []KeyInfo, err error) { - err = c.Cli.Call(ctx, "keybase.1.pgp.pgpExportByFingerprint", []interface{}{__arg}, &res, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.pgp.pgpExportByFingerprint", []any{__arg}, &res, 0*time.Millisecond) return } func (c PGPClient) PGPExportByKID(ctx context.Context, __arg PGPExportByKIDArg) (res []KeyInfo, err error) { - err = c.Cli.Call(ctx, "keybase.1.pgp.pgpExportByKID", []interface{}{__arg}, &res, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.pgp.pgpExportByKID", []any{__arg}, &res, 0*time.Millisecond) return } func (c PGPClient) PGPKeyGen(ctx context.Context, __arg PGPKeyGenArg) (err error) { - err = c.Cli.Call(ctx, "keybase.1.pgp.pgpKeyGen", []interface{}{__arg}, nil, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.pgp.pgpKeyGen", []any{__arg}, nil, 0*time.Millisecond) return } func (c PGPClient) PGPKeyGenDefault(ctx context.Context, __arg PGPKeyGenDefaultArg) (err error) { - err = c.Cli.Call(ctx, "keybase.1.pgp.pgpKeyGenDefault", []interface{}{__arg}, nil, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.pgp.pgpKeyGenDefault", []any{__arg}, nil, 0*time.Millisecond) return } func (c PGPClient) PGPDeletePrimary(ctx context.Context, sessionID int) (err error) { __arg := PGPDeletePrimaryArg{SessionID: sessionID} - err = c.Cli.Call(ctx, "keybase.1.pgp.pgpDeletePrimary", []interface{}{__arg}, nil, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.pgp.pgpDeletePrimary", []any{__arg}, nil, 0*time.Millisecond) return } // Select an existing key and add to Keybase. func (c PGPClient) PGPSelect(ctx context.Context, __arg PGPSelectArg) (err error) { - err = c.Cli.Call(ctx, "keybase.1.pgp.pgpSelect", []interface{}{__arg}, nil, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.pgp.pgpSelect", []any{__arg}, nil, 0*time.Millisecond) return } // Push updated key(s) to the server. func (c PGPClient) PGPUpdate(ctx context.Context, __arg PGPUpdateArg) (err error) { - err = c.Cli.Call(ctx, "keybase.1.pgp.pgpUpdate", []interface{}{__arg}, nil, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.pgp.pgpUpdate", []any{__arg}, nil, 0*time.Millisecond) return } func (c PGPClient) PGPPurge(ctx context.Context, __arg PGPPurgeArg) (res PGPPurgeRes, err error) { - err = c.Cli.Call(ctx, "keybase.1.pgp.pgpPurge", []interface{}{__arg}, &res, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.pgp.pgpPurge", []any{__arg}, &res, 0*time.Millisecond) return } // Dismiss the PGP unlock via secret_store_file notification. func (c PGPClient) PGPStorageDismiss(ctx context.Context, sessionID int) (err error) { __arg := PGPStorageDismissArg{SessionID: sessionID} - err = c.Cli.Call(ctx, "keybase.1.pgp.pgpStorageDismiss", []interface{}{__arg}, nil, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.pgp.pgpStorageDismiss", []any{__arg}, nil, 0*time.Millisecond) return } // push the PGP key that matches the given fingerprints from GnuPG to KBFS. If it is empty, then // push all matching PGP keys in the user's sigchain. func (c PGPClient) PGPPushPrivate(ctx context.Context, __arg PGPPushPrivateArg) (err error) { - err = c.Cli.Call(ctx, "keybase.1.pgp.pgpPushPrivate", []interface{}{__arg}, nil, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.pgp.pgpPushPrivate", []any{__arg}, nil, 0*time.Millisecond) return } // pull the given PGP keys from KBFS to the local GnuPG keychain. If it is empty, then // attempt to pull all matching PGP keys in the user's sigchain. func (c PGPClient) PGPPullPrivate(ctx context.Context, __arg PGPPullPrivateArg) (err error) { - err = c.Cli.Call(ctx, "keybase.1.pgp.pgpPullPrivate", []interface{}{__arg}, nil, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.pgp.pgpPullPrivate", []any{__arg}, nil, 0*time.Millisecond) return } diff --git a/go/protocol/keybase1/pgp_ui.go b/go/protocol/keybase1/pgp_ui.go index 941140b37085..0b6f0c13bf74 100644 --- a/go/protocol/keybase1/pgp_ui.go +++ b/go/protocol/keybase1/pgp_ui.go @@ -1,4 +1,4 @@ -// Auto-generated to Go types and interfaces using avdl-compiler v1.4.10 (https://github.com/keybase/node-avdl-compiler) +// Code generated to Go types and interfaces using avdl-compiler v1.4.10 (https://github.com/keybase/node-avdl-compiler). DO NOT EDIT. // Input file: avdl/keybase1/pgp_ui.avdl package keybase1 @@ -59,11 +59,11 @@ func PGPUiProtocol(i PGPUiInterface) rpc.Protocol { Name: "keybase.1.pgpUi", Methods: map[string]rpc.ServeHandlerDescription{ "outputPGPWarning": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]OutputPGPWarningArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]OutputPGPWarningArg) if !ok { err = rpc.NewTypeError((*[1]OutputPGPWarningArg)(nil), args) @@ -74,11 +74,11 @@ func PGPUiProtocol(i PGPUiInterface) rpc.Protocol { }, }, "outputSignatureSuccess": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]OutputSignatureSuccessArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]OutputSignatureSuccessArg) if !ok { err = rpc.NewTypeError((*[1]OutputSignatureSuccessArg)(nil), args) @@ -89,11 +89,11 @@ func PGPUiProtocol(i PGPUiInterface) rpc.Protocol { }, }, "outputSignatureNonKeybase": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]OutputSignatureNonKeybaseArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]OutputSignatureNonKeybaseArg) if !ok { err = rpc.NewTypeError((*[1]OutputSignatureNonKeybaseArg)(nil), args) @@ -104,11 +104,11 @@ func PGPUiProtocol(i PGPUiInterface) rpc.Protocol { }, }, "keyGenerated": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]KeyGeneratedArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]KeyGeneratedArg) if !ok { err = rpc.NewTypeError((*[1]KeyGeneratedArg)(nil), args) @@ -119,11 +119,11 @@ func PGPUiProtocol(i PGPUiInterface) rpc.Protocol { }, }, "shouldPushPrivate": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]ShouldPushPrivateArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]ShouldPushPrivateArg) if !ok { err = rpc.NewTypeError((*[1]ShouldPushPrivateArg)(nil), args) @@ -134,11 +134,11 @@ func PGPUiProtocol(i PGPUiInterface) rpc.Protocol { }, }, "finished": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]FinishedArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]FinishedArg) if !ok { err = rpc.NewTypeError((*[1]FinishedArg)(nil), args) @@ -157,32 +157,32 @@ type PGPUiClient struct { } func (c PGPUiClient) OutputPGPWarning(ctx context.Context, __arg OutputPGPWarningArg) (err error) { - err = c.Cli.Call(ctx, "keybase.1.pgpUi.outputPGPWarning", []interface{}{__arg}, nil, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.pgpUi.outputPGPWarning", []any{__arg}, nil, 0*time.Millisecond) return } func (c PGPUiClient) OutputSignatureSuccess(ctx context.Context, __arg OutputSignatureSuccessArg) (err error) { - err = c.Cli.Call(ctx, "keybase.1.pgpUi.outputSignatureSuccess", []interface{}{__arg}, nil, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.pgpUi.outputSignatureSuccess", []any{__arg}, nil, 0*time.Millisecond) return } func (c PGPUiClient) OutputSignatureNonKeybase(ctx context.Context, __arg OutputSignatureNonKeybaseArg) (err error) { - err = c.Cli.Call(ctx, "keybase.1.pgpUi.outputSignatureNonKeybase", []interface{}{__arg}, nil, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.pgpUi.outputSignatureNonKeybase", []any{__arg}, nil, 0*time.Millisecond) return } func (c PGPUiClient) KeyGenerated(ctx context.Context, __arg KeyGeneratedArg) (err error) { - err = c.Cli.Call(ctx, "keybase.1.pgpUi.keyGenerated", []interface{}{__arg}, nil, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.pgpUi.keyGenerated", []any{__arg}, nil, 0*time.Millisecond) return } func (c PGPUiClient) ShouldPushPrivate(ctx context.Context, __arg ShouldPushPrivateArg) (res bool, err error) { - err = c.Cli.Call(ctx, "keybase.1.pgpUi.shouldPushPrivate", []interface{}{__arg}, &res, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.pgpUi.shouldPushPrivate", []any{__arg}, &res, 0*time.Millisecond) return } func (c PGPUiClient) Finished(ctx context.Context, sessionID int) (err error) { __arg := FinishedArg{SessionID: sessionID} - err = c.Cli.Call(ctx, "keybase.1.pgpUi.finished", []interface{}{__arg}, nil, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.pgpUi.finished", []any{__arg}, nil, 0*time.Millisecond) return } diff --git a/go/protocol/keybase1/phone_numbers.go b/go/protocol/keybase1/phone_numbers.go index 9b2ccdd45869..9a4760dbaed2 100644 --- a/go/protocol/keybase1/phone_numbers.go +++ b/go/protocol/keybase1/phone_numbers.go @@ -1,4 +1,4 @@ -// Auto-generated to Go types and interfaces using avdl-compiler v1.4.10 (https://github.com/keybase/node-avdl-compiler) +// Code generated to Go types and interfaces using avdl-compiler v1.4.10 (https://github.com/keybase/node-avdl-compiler). DO NOT EDIT. // Input file: avdl/keybase1/phone_numbers.avdl package keybase1 @@ -127,11 +127,11 @@ func PhoneNumbersProtocol(i PhoneNumbersInterface) rpc.Protocol { Name: "keybase.1.phoneNumbers", Methods: map[string]rpc.ServeHandlerDescription{ "addPhoneNumber": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]AddPhoneNumberArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]AddPhoneNumberArg) if !ok { err = rpc.NewTypeError((*[1]AddPhoneNumberArg)(nil), args) @@ -142,11 +142,11 @@ func PhoneNumbersProtocol(i PhoneNumbersInterface) rpc.Protocol { }, }, "editPhoneNumber": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]EditPhoneNumberArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]EditPhoneNumberArg) if !ok { err = rpc.NewTypeError((*[1]EditPhoneNumberArg)(nil), args) @@ -157,11 +157,11 @@ func PhoneNumbersProtocol(i PhoneNumbersInterface) rpc.Protocol { }, }, "verifyPhoneNumber": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]VerifyPhoneNumberArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]VerifyPhoneNumberArg) if !ok { err = rpc.NewTypeError((*[1]VerifyPhoneNumberArg)(nil), args) @@ -172,11 +172,11 @@ func PhoneNumbersProtocol(i PhoneNumbersInterface) rpc.Protocol { }, }, "resendVerificationForPhoneNumber": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]ResendVerificationForPhoneNumberArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]ResendVerificationForPhoneNumberArg) if !ok { err = rpc.NewTypeError((*[1]ResendVerificationForPhoneNumberArg)(nil), args) @@ -187,11 +187,11 @@ func PhoneNumbersProtocol(i PhoneNumbersInterface) rpc.Protocol { }, }, "getPhoneNumbers": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]GetPhoneNumbersArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]GetPhoneNumbersArg) if !ok { err = rpc.NewTypeError((*[1]GetPhoneNumbersArg)(nil), args) @@ -202,11 +202,11 @@ func PhoneNumbersProtocol(i PhoneNumbersInterface) rpc.Protocol { }, }, "deletePhoneNumber": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]DeletePhoneNumberArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]DeletePhoneNumberArg) if !ok { err = rpc.NewTypeError((*[1]DeletePhoneNumberArg)(nil), args) @@ -217,11 +217,11 @@ func PhoneNumbersProtocol(i PhoneNumbersInterface) rpc.Protocol { }, }, "setVisibilityPhoneNumber": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]SetVisibilityPhoneNumberArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]SetVisibilityPhoneNumberArg) if !ok { err = rpc.NewTypeError((*[1]SetVisibilityPhoneNumberArg)(nil), args) @@ -232,11 +232,11 @@ func PhoneNumbersProtocol(i PhoneNumbersInterface) rpc.Protocol { }, }, "setVisibilityAllPhoneNumber": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]SetVisibilityAllPhoneNumberArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]SetVisibilityAllPhoneNumberArg) if !ok { err = rpc.NewTypeError((*[1]SetVisibilityAllPhoneNumberArg)(nil), args) @@ -255,42 +255,42 @@ type PhoneNumbersClient struct { } func (c PhoneNumbersClient) AddPhoneNumber(ctx context.Context, __arg AddPhoneNumberArg) (err error) { - err = c.Cli.Call(ctx, "keybase.1.phoneNumbers.addPhoneNumber", []interface{}{__arg}, nil, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.phoneNumbers.addPhoneNumber", []any{__arg}, nil, 0*time.Millisecond) return } func (c PhoneNumbersClient) EditPhoneNumber(ctx context.Context, __arg EditPhoneNumberArg) (err error) { - err = c.Cli.Call(ctx, "keybase.1.phoneNumbers.editPhoneNumber", []interface{}{__arg}, nil, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.phoneNumbers.editPhoneNumber", []any{__arg}, nil, 0*time.Millisecond) return } func (c PhoneNumbersClient) VerifyPhoneNumber(ctx context.Context, __arg VerifyPhoneNumberArg) (err error) { - err = c.Cli.Call(ctx, "keybase.1.phoneNumbers.verifyPhoneNumber", []interface{}{__arg}, nil, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.phoneNumbers.verifyPhoneNumber", []any{__arg}, nil, 0*time.Millisecond) return } func (c PhoneNumbersClient) ResendVerificationForPhoneNumber(ctx context.Context, __arg ResendVerificationForPhoneNumberArg) (err error) { - err = c.Cli.Call(ctx, "keybase.1.phoneNumbers.resendVerificationForPhoneNumber", []interface{}{__arg}, nil, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.phoneNumbers.resendVerificationForPhoneNumber", []any{__arg}, nil, 0*time.Millisecond) return } func (c PhoneNumbersClient) GetPhoneNumbers(ctx context.Context, sessionID int) (res []UserPhoneNumber, err error) { __arg := GetPhoneNumbersArg{SessionID: sessionID} - err = c.Cli.Call(ctx, "keybase.1.phoneNumbers.getPhoneNumbers", []interface{}{__arg}, &res, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.phoneNumbers.getPhoneNumbers", []any{__arg}, &res, 0*time.Millisecond) return } func (c PhoneNumbersClient) DeletePhoneNumber(ctx context.Context, __arg DeletePhoneNumberArg) (err error) { - err = c.Cli.Call(ctx, "keybase.1.phoneNumbers.deletePhoneNumber", []interface{}{__arg}, nil, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.phoneNumbers.deletePhoneNumber", []any{__arg}, nil, 0*time.Millisecond) return } func (c PhoneNumbersClient) SetVisibilityPhoneNumber(ctx context.Context, __arg SetVisibilityPhoneNumberArg) (err error) { - err = c.Cli.Call(ctx, "keybase.1.phoneNumbers.setVisibilityPhoneNumber", []interface{}{__arg}, nil, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.phoneNumbers.setVisibilityPhoneNumber", []any{__arg}, nil, 0*time.Millisecond) return } func (c PhoneNumbersClient) SetVisibilityAllPhoneNumber(ctx context.Context, __arg SetVisibilityAllPhoneNumberArg) (err error) { - err = c.Cli.Call(ctx, "keybase.1.phoneNumbers.setVisibilityAllPhoneNumber", []interface{}{__arg}, nil, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.phoneNumbers.setVisibilityAllPhoneNumber", []any{__arg}, nil, 0*time.Millisecond) return } diff --git a/go/protocol/keybase1/pprof.go b/go/protocol/keybase1/pprof.go index f95da0ff0b7c..bf3490e6d40a 100644 --- a/go/protocol/keybase1/pprof.go +++ b/go/protocol/keybase1/pprof.go @@ -1,4 +1,4 @@ -// Auto-generated to Go types and interfaces using avdl-compiler v1.4.10 (https://github.com/keybase/node-avdl-compiler) +// Code generated to Go types and interfaces using avdl-compiler v1.4.10 (https://github.com/keybase/node-avdl-compiler). DO NOT EDIT. // Input file: avdl/keybase1/pprof.avdl package keybase1 @@ -52,11 +52,11 @@ func PprofProtocol(i PprofInterface) rpc.Protocol { Name: "keybase.1.pprof", Methods: map[string]rpc.ServeHandlerDescription{ "processorProfile": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]ProcessorProfileArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]ProcessorProfileArg) if !ok { err = rpc.NewTypeError((*[1]ProcessorProfileArg)(nil), args) @@ -67,11 +67,11 @@ func PprofProtocol(i PprofInterface) rpc.Protocol { }, }, "heapProfile": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]HeapProfileArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]HeapProfileArg) if !ok { err = rpc.NewTypeError((*[1]HeapProfileArg)(nil), args) @@ -82,11 +82,11 @@ func PprofProtocol(i PprofInterface) rpc.Protocol { }, }, "logProcessorProfile": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]LogProcessorProfileArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]LogProcessorProfileArg) if !ok { err = rpc.NewTypeError((*[1]LogProcessorProfileArg)(nil), args) @@ -97,11 +97,11 @@ func PprofProtocol(i PprofInterface) rpc.Protocol { }, }, "trace": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]TraceArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]TraceArg) if !ok { err = rpc.NewTypeError((*[1]TraceArg)(nil), args) @@ -112,11 +112,11 @@ func PprofProtocol(i PprofInterface) rpc.Protocol { }, }, "logTrace": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]LogTraceArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]LogTraceArg) if !ok { err = rpc.NewTypeError((*[1]LogTraceArg)(nil), args) @@ -135,26 +135,26 @@ type PprofClient struct { } func (c PprofClient) ProcessorProfile(ctx context.Context, __arg ProcessorProfileArg) (err error) { - err = c.Cli.Call(ctx, "keybase.1.pprof.processorProfile", []interface{}{__arg}, nil, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.pprof.processorProfile", []any{__arg}, nil, 0*time.Millisecond) return } func (c PprofClient) HeapProfile(ctx context.Context, __arg HeapProfileArg) (err error) { - err = c.Cli.Call(ctx, "keybase.1.pprof.heapProfile", []interface{}{__arg}, nil, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.pprof.heapProfile", []any{__arg}, nil, 0*time.Millisecond) return } func (c PprofClient) LogProcessorProfile(ctx context.Context, __arg LogProcessorProfileArg) (err error) { - err = c.Cli.Call(ctx, "keybase.1.pprof.logProcessorProfile", []interface{}{__arg}, nil, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.pprof.logProcessorProfile", []any{__arg}, nil, 0*time.Millisecond) return } func (c PprofClient) Trace(ctx context.Context, __arg TraceArg) (err error) { - err = c.Cli.Call(ctx, "keybase.1.pprof.trace", []interface{}{__arg}, nil, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.pprof.trace", []any{__arg}, nil, 0*time.Millisecond) return } func (c PprofClient) LogTrace(ctx context.Context, __arg LogTraceArg) (err error) { - err = c.Cli.Call(ctx, "keybase.1.pprof.logTrace", []interface{}{__arg}, nil, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.pprof.logTrace", []any{__arg}, nil, 0*time.Millisecond) return } diff --git a/go/protocol/keybase1/process.go b/go/protocol/keybase1/process.go index 384789694c93..1b6b8a4a4a14 100644 --- a/go/protocol/keybase1/process.go +++ b/go/protocol/keybase1/process.go @@ -1,4 +1,4 @@ -// Auto-generated to Go types and interfaces using avdl-compiler v1.4.10 (https://github.com/keybase/node-avdl-compiler) +// Code generated to Go types and interfaces using avdl-compiler v1.4.10 (https://github.com/keybase/node-avdl-compiler). DO NOT EDIT. // Input file: avdl/keybase1/process.avdl package keybase1 @@ -74,7 +74,8 @@ func (o Process) DeepCopy() Process { } } -type ProcessInterface interface{} +type ProcessInterface interface { +} func ProcessProtocol(i ProcessInterface) rpc.Protocol { return rpc.Protocol{ diff --git a/go/protocol/keybase1/prove.go b/go/protocol/keybase1/prove.go index 2dbb26a5be6d..fc220b2644f5 100644 --- a/go/protocol/keybase1/prove.go +++ b/go/protocol/keybase1/prove.go @@ -1,4 +1,4 @@ -// Auto-generated to Go types and interfaces using avdl-compiler v1.4.10 (https://github.com/keybase/node-avdl-compiler) +// Code generated to Go types and interfaces using avdl-compiler v1.4.10 (https://github.com/keybase/node-avdl-compiler). DO NOT EDIT. // Input file: avdl/keybase1/prove.avdl package keybase1 @@ -51,9 +51,11 @@ type CheckProofArg struct { SigID SigID `codec:"sigID" json:"sigID"` } -type ListSomeProofServicesArg struct{} +type ListSomeProofServicesArg struct { +} -type ListProofServicesArg struct{} +type ListProofServicesArg struct { +} type ValidateUsernameArg struct { SessionID int `codec:"sessionID" json:"sessionID"` @@ -74,11 +76,11 @@ func ProveProtocol(i ProveInterface) rpc.Protocol { Name: "keybase.1.prove", Methods: map[string]rpc.ServeHandlerDescription{ "startProof": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]StartProofArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]StartProofArg) if !ok { err = rpc.NewTypeError((*[1]StartProofArg)(nil), args) @@ -89,11 +91,11 @@ func ProveProtocol(i ProveInterface) rpc.Protocol { }, }, "checkProof": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]CheckProofArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]CheckProofArg) if !ok { err = rpc.NewTypeError((*[1]CheckProofArg)(nil), args) @@ -104,31 +106,31 @@ func ProveProtocol(i ProveInterface) rpc.Protocol { }, }, "listSomeProofServices": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]ListSomeProofServicesArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { ret, err = i.ListSomeProofServices(ctx) return }, }, "listProofServices": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]ListProofServicesArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { ret, err = i.ListProofServices(ctx) return }, }, "validateUsername": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]ValidateUsernameArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]ValidateUsernameArg) if !ok { err = rpc.NewTypeError((*[1]ValidateUsernameArg)(nil), args) @@ -147,26 +149,26 @@ type ProveClient struct { } func (c ProveClient) StartProof(ctx context.Context, __arg StartProofArg) (res StartProofResult, err error) { - err = c.Cli.Call(ctx, "keybase.1.prove.startProof", []interface{}{__arg}, &res, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.prove.startProof", []any{__arg}, &res, 0*time.Millisecond) return } func (c ProveClient) CheckProof(ctx context.Context, __arg CheckProofArg) (res CheckProofStatus, err error) { - err = c.Cli.Call(ctx, "keybase.1.prove.checkProof", []interface{}{__arg}, &res, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.prove.checkProof", []any{__arg}, &res, 0*time.Millisecond) return } func (c ProveClient) ListSomeProofServices(ctx context.Context) (res []string, err error) { - err = c.Cli.Call(ctx, "keybase.1.prove.listSomeProofServices", []interface{}{ListSomeProofServicesArg{}}, &res, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.prove.listSomeProofServices", []any{ListSomeProofServicesArg{}}, &res, 0*time.Millisecond) return } func (c ProveClient) ListProofServices(ctx context.Context) (res []string, err error) { - err = c.Cli.Call(ctx, "keybase.1.prove.listProofServices", []interface{}{ListProofServicesArg{}}, &res, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.prove.listProofServices", []any{ListProofServicesArg{}}, &res, 0*time.Millisecond) return } func (c ProveClient) ValidateUsername(ctx context.Context, __arg ValidateUsernameArg) (err error) { - err = c.Cli.Call(ctx, "keybase.1.prove.validateUsername", []interface{}{__arg}, nil, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.prove.validateUsername", []any{__arg}, nil, 0*time.Millisecond) return } diff --git a/go/protocol/keybase1/prove_common.go b/go/protocol/keybase1/prove_common.go index 988526ea4231..56ea542e584e 100644 --- a/go/protocol/keybase1/prove_common.go +++ b/go/protocol/keybase1/prove_common.go @@ -1,4 +1,4 @@ -// Auto-generated to Go types and interfaces using avdl-compiler v1.4.10 (https://github.com/keybase/node-avdl-compiler) +// Code generated to Go types and interfaces using avdl-compiler v1.4.10 (https://github.com/keybase/node-avdl-compiler). DO NOT EDIT. // Input file: avdl/keybase1/prove_common.avdl package keybase1 @@ -418,7 +418,8 @@ func (o ExternalServiceConfig) DeepCopy() ExternalServiceConfig { } } -type ProveCommonInterface interface{} +type ProveCommonInterface interface { +} func ProveCommonProtocol(i ProveCommonInterface) rpc.Protocol { return rpc.Protocol{ diff --git a/go/protocol/keybase1/prove_ui.go b/go/protocol/keybase1/prove_ui.go index b25ccbf77612..c4847d4571a5 100644 --- a/go/protocol/keybase1/prove_ui.go +++ b/go/protocol/keybase1/prove_ui.go @@ -1,4 +1,4 @@ -// Auto-generated to Go types and interfaces using avdl-compiler v1.4.10 (https://github.com/keybase/node-avdl-compiler) +// Code generated to Go types and interfaces using avdl-compiler v1.4.10 (https://github.com/keybase/node-avdl-compiler). DO NOT EDIT. // Input file: avdl/keybase1/prove_ui.avdl package keybase1 @@ -156,11 +156,11 @@ func ProveUiProtocol(i ProveUiInterface) rpc.Protocol { Name: "keybase.1.proveUi", Methods: map[string]rpc.ServeHandlerDescription{ "promptOverwrite": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]PromptOverwriteArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]PromptOverwriteArg) if !ok { err = rpc.NewTypeError((*[1]PromptOverwriteArg)(nil), args) @@ -171,11 +171,11 @@ func ProveUiProtocol(i ProveUiInterface) rpc.Protocol { }, }, "promptUsername": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]PromptUsernameArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]PromptUsernameArg) if !ok { err = rpc.NewTypeError((*[1]PromptUsernameArg)(nil), args) @@ -186,11 +186,11 @@ func ProveUiProtocol(i ProveUiInterface) rpc.Protocol { }, }, "outputPrechecks": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]OutputPrechecksArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]OutputPrechecksArg) if !ok { err = rpc.NewTypeError((*[1]OutputPrechecksArg)(nil), args) @@ -201,11 +201,11 @@ func ProveUiProtocol(i ProveUiInterface) rpc.Protocol { }, }, "preProofWarning": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]PreProofWarningArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]PreProofWarningArg) if !ok { err = rpc.NewTypeError((*[1]PreProofWarningArg)(nil), args) @@ -216,11 +216,11 @@ func ProveUiProtocol(i ProveUiInterface) rpc.Protocol { }, }, "outputInstructions": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]OutputInstructionsArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]OutputInstructionsArg) if !ok { err = rpc.NewTypeError((*[1]OutputInstructionsArg)(nil), args) @@ -231,11 +231,11 @@ func ProveUiProtocol(i ProveUiInterface) rpc.Protocol { }, }, "okToCheck": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]OkToCheckArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]OkToCheckArg) if !ok { err = rpc.NewTypeError((*[1]OkToCheckArg)(nil), args) @@ -246,11 +246,11 @@ func ProveUiProtocol(i ProveUiInterface) rpc.Protocol { }, }, "checking": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]CheckingArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]CheckingArg) if !ok { err = rpc.NewTypeError((*[1]CheckingArg)(nil), args) @@ -261,11 +261,11 @@ func ProveUiProtocol(i ProveUiInterface) rpc.Protocol { }, }, "continueChecking": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]ContinueCheckingArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]ContinueCheckingArg) if !ok { err = rpc.NewTypeError((*[1]ContinueCheckingArg)(nil), args) @@ -276,11 +276,11 @@ func ProveUiProtocol(i ProveUiInterface) rpc.Protocol { }, }, "displayRecheckWarning": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]DisplayRecheckWarningArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]DisplayRecheckWarningArg) if !ok { err = rpc.NewTypeError((*[1]DisplayRecheckWarningArg)(nil), args) @@ -299,47 +299,47 @@ type ProveUiClient struct { } func (c ProveUiClient) PromptOverwrite(ctx context.Context, __arg PromptOverwriteArg) (res bool, err error) { - err = c.Cli.Call(ctx, "keybase.1.proveUi.promptOverwrite", []interface{}{__arg}, &res, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.proveUi.promptOverwrite", []any{__arg}, &res, 0*time.Millisecond) return } func (c ProveUiClient) PromptUsername(ctx context.Context, __arg PromptUsernameArg) (res string, err error) { - err = c.Cli.Call(ctx, "keybase.1.proveUi.promptUsername", []interface{}{__arg}, &res, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.proveUi.promptUsername", []any{__arg}, &res, 0*time.Millisecond) return } func (c ProveUiClient) OutputPrechecks(ctx context.Context, __arg OutputPrechecksArg) (err error) { - err = c.Cli.Call(ctx, "keybase.1.proveUi.outputPrechecks", []interface{}{__arg}, nil, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.proveUi.outputPrechecks", []any{__arg}, nil, 0*time.Millisecond) return } func (c ProveUiClient) PreProofWarning(ctx context.Context, __arg PreProofWarningArg) (res bool, err error) { - err = c.Cli.Call(ctx, "keybase.1.proveUi.preProofWarning", []interface{}{__arg}, &res, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.proveUi.preProofWarning", []any{__arg}, &res, 0*time.Millisecond) return } func (c ProveUiClient) OutputInstructions(ctx context.Context, __arg OutputInstructionsArg) (err error) { - err = c.Cli.Call(ctx, "keybase.1.proveUi.outputInstructions", []interface{}{__arg}, nil, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.proveUi.outputInstructions", []any{__arg}, nil, 0*time.Millisecond) return } func (c ProveUiClient) OkToCheck(ctx context.Context, __arg OkToCheckArg) (res bool, err error) { - err = c.Cli.Call(ctx, "keybase.1.proveUi.okToCheck", []interface{}{__arg}, &res, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.proveUi.okToCheck", []any{__arg}, &res, 0*time.Millisecond) return } func (c ProveUiClient) Checking(ctx context.Context, __arg CheckingArg) (err error) { - err = c.Cli.Call(ctx, "keybase.1.proveUi.checking", []interface{}{__arg}, nil, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.proveUi.checking", []any{__arg}, nil, 0*time.Millisecond) return } func (c ProveUiClient) ContinueChecking(ctx context.Context, sessionID int) (res bool, err error) { __arg := ContinueCheckingArg{SessionID: sessionID} - err = c.Cli.Call(ctx, "keybase.1.proveUi.continueChecking", []interface{}{__arg}, &res, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.proveUi.continueChecking", []any{__arg}, &res, 0*time.Millisecond) return } func (c ProveUiClient) DisplayRecheckWarning(ctx context.Context, __arg DisplayRecheckWarningArg) (err error) { - err = c.Cli.Call(ctx, "keybase.1.proveUi.displayRecheckWarning", []interface{}{__arg}, nil, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.proveUi.displayRecheckWarning", []any{__arg}, nil, 0*time.Millisecond) return } diff --git a/go/protocol/keybase1/provision_ui.go b/go/protocol/keybase1/provision_ui.go index 795eb8d8bed9..2d225edb8817 100644 --- a/go/protocol/keybase1/provision_ui.go +++ b/go/protocol/keybase1/provision_ui.go @@ -1,4 +1,4 @@ -// Auto-generated to Go types and interfaces using avdl-compiler v1.4.10 (https://github.com/keybase/node-avdl-compiler) +// Code generated to Go types and interfaces using avdl-compiler v1.4.10 (https://github.com/keybase/node-avdl-compiler). DO NOT EDIT. // Input file: avdl/keybase1/provision_ui.avdl package keybase1 @@ -228,11 +228,11 @@ func ProvisionUiProtocol(i ProvisionUiInterface) rpc.Protocol { Name: "keybase.1.provisionUi", Methods: map[string]rpc.ServeHandlerDescription{ "chooseProvisioningMethod": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]ChooseProvisioningMethodArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]ChooseProvisioningMethodArg) if !ok { err = rpc.NewTypeError((*[1]ChooseProvisioningMethodArg)(nil), args) @@ -243,11 +243,11 @@ func ProvisionUiProtocol(i ProvisionUiInterface) rpc.Protocol { }, }, "chooseGPGMethod": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]ChooseGPGMethodArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]ChooseGPGMethodArg) if !ok { err = rpc.NewTypeError((*[1]ChooseGPGMethodArg)(nil), args) @@ -258,11 +258,11 @@ func ProvisionUiProtocol(i ProvisionUiInterface) rpc.Protocol { }, }, "switchToGPGSignOK": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]SwitchToGPGSignOKArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]SwitchToGPGSignOKArg) if !ok { err = rpc.NewTypeError((*[1]SwitchToGPGSignOKArg)(nil), args) @@ -273,11 +273,11 @@ func ProvisionUiProtocol(i ProvisionUiInterface) rpc.Protocol { }, }, "chooseDevice": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]ChooseDeviceArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]ChooseDeviceArg) if !ok { err = rpc.NewTypeError((*[1]ChooseDeviceArg)(nil), args) @@ -288,11 +288,11 @@ func ProvisionUiProtocol(i ProvisionUiInterface) rpc.Protocol { }, }, "chooseDeviceType": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]ChooseDeviceTypeArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]ChooseDeviceTypeArg) if !ok { err = rpc.NewTypeError((*[1]ChooseDeviceTypeArg)(nil), args) @@ -303,11 +303,11 @@ func ProvisionUiProtocol(i ProvisionUiInterface) rpc.Protocol { }, }, "DisplayAndPromptSecret": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]DisplayAndPromptSecretArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]DisplayAndPromptSecretArg) if !ok { err = rpc.NewTypeError((*[1]DisplayAndPromptSecretArg)(nil), args) @@ -318,11 +318,11 @@ func ProvisionUiProtocol(i ProvisionUiInterface) rpc.Protocol { }, }, "DisplaySecretExchanged": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]DisplaySecretExchangedArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]DisplaySecretExchangedArg) if !ok { err = rpc.NewTypeError((*[1]DisplaySecretExchangedArg)(nil), args) @@ -333,11 +333,11 @@ func ProvisionUiProtocol(i ProvisionUiInterface) rpc.Protocol { }, }, "PromptNewDeviceName": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]PromptNewDeviceNameArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]PromptNewDeviceNameArg) if !ok { err = rpc.NewTypeError((*[1]PromptNewDeviceNameArg)(nil), args) @@ -348,11 +348,11 @@ func ProvisionUiProtocol(i ProvisionUiInterface) rpc.Protocol { }, }, "ProvisioneeSuccess": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]ProvisioneeSuccessArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]ProvisioneeSuccessArg) if !ok { err = rpc.NewTypeError((*[1]ProvisioneeSuccessArg)(nil), args) @@ -363,11 +363,11 @@ func ProvisionUiProtocol(i ProvisionUiInterface) rpc.Protocol { }, }, "ProvisionerSuccess": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]ProvisionerSuccessArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]ProvisionerSuccessArg) if !ok { err = rpc.NewTypeError((*[1]ProvisionerSuccessArg)(nil), args) @@ -390,7 +390,7 @@ type ProvisionUiClient struct { // method for provisioning. gpgOption will be true if GPG // should be offered as an option. func (c ProvisionUiClient) ChooseProvisioningMethod(ctx context.Context, __arg ChooseProvisioningMethodArg) (res ProvisionMethod, err error) { - err = c.Cli.Call(ctx, "keybase.1.provisionUi.chooseProvisioningMethod", []interface{}{__arg}, &res, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.provisionUi.chooseProvisioningMethod", []any{__arg}, &res, 0*time.Millisecond) return } @@ -406,7 +406,7 @@ func (c ProvisionUiClient) ChooseProvisioningMethod(ctx context.Context, __arg C // After this, gpg_ui.selectKey will be called (if there are // multiple keys available). func (c ProvisionUiClient) ChooseGPGMethod(ctx context.Context, __arg ChooseGPGMethodArg) (res GPGMethod, err error) { - err = c.Cli.Call(ctx, "keybase.1.provisionUi.chooseGPGMethod", []interface{}{__arg}, &res, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.provisionUi.chooseGPGMethod", []any{__arg}, &res, 0*time.Millisecond) return } @@ -415,12 +415,12 @@ func (c ProvisionUiClient) ChooseGPGMethod(ctx context.Context, __arg ChooseGPGM // with this key. Return true to switch to GPG signing, // false to abort provisioning. func (c ProvisionUiClient) SwitchToGPGSignOK(ctx context.Context, __arg SwitchToGPGSignOKArg) (res bool, err error) { - err = c.Cli.Call(ctx, "keybase.1.provisionUi.switchToGPGSignOK", []interface{}{__arg}, &res, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.provisionUi.switchToGPGSignOK", []any{__arg}, &res, 0*time.Millisecond) return } func (c ProvisionUiClient) ChooseDevice(ctx context.Context, __arg ChooseDeviceArg) (res DeviceID, err error) { - err = c.Cli.Call(ctx, "keybase.1.provisionUi.chooseDevice", []interface{}{__arg}, &res, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.provisionUi.chooseDevice", []any{__arg}, &res, 0*time.Millisecond) return } @@ -428,7 +428,7 @@ func (c ProvisionUiClient) ChooseDevice(ctx context.Context, __arg ChooseDeviceA // If selecting the existing device type, set kind to EXISTING_DEVICE_0. // If selecting the new device type, set kind to NEW_DEVICE_1. func (c ProvisionUiClient) ChooseDeviceType(ctx context.Context, __arg ChooseDeviceTypeArg) (res DeviceType, err error) { - err = c.Cli.Call(ctx, "keybase.1.provisionUi.chooseDeviceType", []interface{}{__arg}, &res, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.provisionUi.chooseDeviceType", []any{__arg}, &res, 0*time.Millisecond) return } @@ -437,7 +437,7 @@ func (c ProvisionUiClient) ChooseDeviceType(ctx context.Context, __arg ChooseDev // If it does not return a secret, it will be canceled when this device receives the secret via kex2. // If there is an error in the phrase, then previousErr will be set when this is called again. func (c ProvisionUiClient) DisplayAndPromptSecret(ctx context.Context, __arg DisplayAndPromptSecretArg) (res SecretResponse, err error) { - err = c.Cli.Call(ctx, "keybase.1.provisionUi.DisplayAndPromptSecret", []interface{}{__arg}, &res, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.provisionUi.DisplayAndPromptSecret", []any{__arg}, &res, 0*time.Millisecond) return } @@ -445,7 +445,7 @@ func (c ProvisionUiClient) DisplayAndPromptSecret(ctx context.Context, __arg Dis // devices. func (c ProvisionUiClient) DisplaySecretExchanged(ctx context.Context, sessionID int) (err error) { __arg := DisplaySecretExchangedArg{SessionID: sessionID} - err = c.Cli.Call(ctx, "keybase.1.provisionUi.DisplaySecretExchanged", []interface{}{__arg}, nil, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.provisionUi.DisplaySecretExchanged", []any{__arg}, nil, 0*time.Millisecond) return } @@ -454,18 +454,18 @@ func (c ProvisionUiClient) DisplaySecretExchanged(ctx context.Context, sessionID // names for the user. If the device name returned to the service is invalid or already // taken, it will call this again with an error message in errorMessage. func (c ProvisionUiClient) PromptNewDeviceName(ctx context.Context, __arg PromptNewDeviceNameArg) (res string, err error) { - err = c.Cli.Call(ctx, "keybase.1.provisionUi.PromptNewDeviceName", []interface{}{__arg}, &res, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.provisionUi.PromptNewDeviceName", []any{__arg}, &res, 0*time.Millisecond) return } // ProvisioneeSuccess is called on provisionee when it is successfully provisioned. func (c ProvisionUiClient) ProvisioneeSuccess(ctx context.Context, __arg ProvisioneeSuccessArg) (err error) { - err = c.Cli.Call(ctx, "keybase.1.provisionUi.ProvisioneeSuccess", []interface{}{__arg}, nil, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.provisionUi.ProvisioneeSuccess", []any{__arg}, nil, 0*time.Millisecond) return } // ProvisionerSuccess is called on provisioner when it successfully provisions another device. func (c ProvisionUiClient) ProvisionerSuccess(ctx context.Context, __arg ProvisionerSuccessArg) (err error) { - err = c.Cli.Call(ctx, "keybase.1.provisionUi.ProvisionerSuccess", []interface{}{__arg}, nil, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.provisionUi.ProvisionerSuccess", []any{__arg}, nil, 0*time.Millisecond) return } diff --git a/go/protocol/keybase1/quota.go b/go/protocol/keybase1/quota.go index 92bc3f356811..9b61f72a4c9d 100644 --- a/go/protocol/keybase1/quota.go +++ b/go/protocol/keybase1/quota.go @@ -1,4 +1,4 @@ -// Auto-generated to Go types and interfaces using avdl-compiler v1.4.10 (https://github.com/keybase/node-avdl-compiler) +// Code generated to Go types and interfaces using avdl-compiler v1.4.10 (https://github.com/keybase/node-avdl-compiler). DO NOT EDIT. // Input file: avdl/keybase1/quota.avdl package keybase1 @@ -39,11 +39,11 @@ func QuotaProtocol(i QuotaInterface) rpc.Protocol { Name: "keybase.1.quota", Methods: map[string]rpc.ServeHandlerDescription{ "verifySession": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]VerifySessionArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]VerifySessionArg) if !ok { err = rpc.NewTypeError((*[1]VerifySessionArg)(nil), args) @@ -63,6 +63,6 @@ type QuotaClient struct { func (c QuotaClient) VerifySession(ctx context.Context, session string) (res VerifySessionRes, err error) { __arg := VerifySessionArg{Session: session} - err = c.Cli.Call(ctx, "keybase.1.quota.verifySession", []interface{}{__arg}, &res, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.quota.verifySession", []any{__arg}, &res, 0*time.Millisecond) return } diff --git a/go/protocol/keybase1/reachability.go b/go/protocol/keybase1/reachability.go index 8106e5ebdd01..23383632d468 100644 --- a/go/protocol/keybase1/reachability.go +++ b/go/protocol/keybase1/reachability.go @@ -1,4 +1,4 @@ -// Auto-generated to Go types and interfaces using avdl-compiler v1.4.10 (https://github.com/keybase/node-avdl-compiler) +// Code generated to Go types and interfaces using avdl-compiler v1.4.10 (https://github.com/keybase/node-avdl-compiler). DO NOT EDIT. // Input file: avdl/keybase1/reachability.avdl package keybase1 @@ -54,9 +54,11 @@ type ReachabilityChangedArg struct { Reachability Reachability `codec:"reachability" json:"reachability"` } -type StartReachabilityArg struct{} +type StartReachabilityArg struct { +} -type CheckReachabilityArg struct{} +type CheckReachabilityArg struct { +} type ReachabilityInterface interface { ReachabilityChanged(context.Context, Reachability) error @@ -72,11 +74,11 @@ func ReachabilityProtocol(i ReachabilityInterface) rpc.Protocol { Name: "keybase.1.reachability", Methods: map[string]rpc.ServeHandlerDescription{ "reachabilityChanged": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]ReachabilityChangedArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]ReachabilityChangedArg) if !ok { err = rpc.NewTypeError((*[1]ReachabilityChangedArg)(nil), args) @@ -87,21 +89,21 @@ func ReachabilityProtocol(i ReachabilityInterface) rpc.Protocol { }, }, "startReachability": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]StartReachabilityArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { ret, err = i.StartReachability(ctx) return }, }, "checkReachability": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]CheckReachabilityArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { ret, err = i.CheckReachability(ctx) return }, @@ -116,19 +118,19 @@ type ReachabilityClient struct { func (c ReachabilityClient) ReachabilityChanged(ctx context.Context, reachability Reachability) (err error) { __arg := ReachabilityChangedArg{Reachability: reachability} - err = c.Cli.Notify(ctx, "keybase.1.reachability.reachabilityChanged", []interface{}{__arg}, 0*time.Millisecond) + err = c.Cli.Notify(ctx, "keybase.1.reachability.reachabilityChanged", []any{__arg}, 0*time.Millisecond) return } // Start reachability checks and return current status, which // may be cached. func (c ReachabilityClient) StartReachability(ctx context.Context) (res Reachability, err error) { - err = c.Cli.Call(ctx, "keybase.1.reachability.startReachability", []interface{}{StartReachabilityArg{}}, &res, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.reachability.startReachability", []any{StartReachabilityArg{}}, &res, 0*time.Millisecond) return } // Performs a reachability check. This is not a cached response. func (c ReachabilityClient) CheckReachability(ctx context.Context) (res Reachability, err error) { - err = c.Cli.Call(ctx, "keybase.1.reachability.checkReachability", []interface{}{CheckReachabilityArg{}}, &res, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.reachability.checkReachability", []any{CheckReachabilityArg{}}, &res, 0*time.Millisecond) return } diff --git a/go/protocol/keybase1/rekey.go b/go/protocol/keybase1/rekey.go index d23abe2ea577..c9bb01feacf3 100644 --- a/go/protocol/keybase1/rekey.go +++ b/go/protocol/keybase1/rekey.go @@ -1,4 +1,4 @@ -// Auto-generated to Go types and interfaces using avdl-compiler v1.4.10 (https://github.com/keybase/node-avdl-compiler) +// Code generated to Go types and interfaces using avdl-compiler v1.4.10 (https://github.com/keybase/node-avdl-compiler). DO NOT EDIT. // Input file: avdl/keybase1/rekey.avdl package keybase1 @@ -225,11 +225,11 @@ func RekeyProtocol(i RekeyInterface) rpc.Protocol { Name: "keybase.1.rekey", Methods: map[string]rpc.ServeHandlerDescription{ "showPendingRekeyStatus": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]ShowPendingRekeyStatusArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]ShowPendingRekeyStatusArg) if !ok { err = rpc.NewTypeError((*[1]ShowPendingRekeyStatusArg)(nil), args) @@ -240,11 +240,11 @@ func RekeyProtocol(i RekeyInterface) rpc.Protocol { }, }, "getPendingRekeyStatus": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]GetPendingRekeyStatusArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]GetPendingRekeyStatusArg) if !ok { err = rpc.NewTypeError((*[1]GetPendingRekeyStatusArg)(nil), args) @@ -255,11 +255,11 @@ func RekeyProtocol(i RekeyInterface) rpc.Protocol { }, }, "debugShowRekeyStatus": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]DebugShowRekeyStatusArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]DebugShowRekeyStatusArg) if !ok { err = rpc.NewTypeError((*[1]DebugShowRekeyStatusArg)(nil), args) @@ -270,11 +270,11 @@ func RekeyProtocol(i RekeyInterface) rpc.Protocol { }, }, "rekeyStatusFinish": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]RekeyStatusFinishArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]RekeyStatusFinishArg) if !ok { err = rpc.NewTypeError((*[1]RekeyStatusFinishArg)(nil), args) @@ -285,11 +285,11 @@ func RekeyProtocol(i RekeyInterface) rpc.Protocol { }, }, "rekeySync": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]RekeySyncArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]RekeySyncArg) if !ok { err = rpc.NewTypeError((*[1]RekeySyncArg)(nil), args) @@ -300,11 +300,11 @@ func RekeyProtocol(i RekeyInterface) rpc.Protocol { }, }, "getRevokeWarning": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]GetRevokeWarningArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]GetRevokeWarningArg) if !ok { err = rpc.NewTypeError((*[1]GetRevokeWarningArg)(nil), args) @@ -326,14 +326,14 @@ type RekeyClient struct { // or nothing if none were pending. func (c RekeyClient) ShowPendingRekeyStatus(ctx context.Context, sessionID int) (err error) { __arg := ShowPendingRekeyStatusArg{SessionID: sessionID} - err = c.Cli.Call(ctx, "keybase.1.rekey.showPendingRekeyStatus", []interface{}{__arg}, nil, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.rekey.showPendingRekeyStatus", []any{__arg}, nil, 0*time.Millisecond) return } // GetPendingRekeyStatus returns the pending ProblemSetDevices. func (c RekeyClient) GetPendingRekeyStatus(ctx context.Context, sessionID int) (res ProblemSetDevices, err error) { __arg := GetPendingRekeyStatusArg{SessionID: sessionID} - err = c.Cli.Call(ctx, "keybase.1.rekey.getPendingRekeyStatus", []interface{}{__arg}, &res, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.rekey.getPendingRekeyStatus", []any{__arg}, &res, 0*time.Millisecond) return } @@ -341,7 +341,7 @@ func (c RekeyClient) GetPendingRekeyStatus(ctx context.Context, sessionID int) ( // the current user. func (c RekeyClient) DebugShowRekeyStatus(ctx context.Context, sessionID int) (err error) { __arg := DebugShowRekeyStatusArg{SessionID: sessionID} - err = c.Cli.Call(ctx, "keybase.1.rekey.debugShowRekeyStatus", []interface{}{__arg}, nil, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.rekey.debugShowRekeyStatus", []any{__arg}, nil, 0*time.Millisecond) return } @@ -349,7 +349,7 @@ func (c RekeyClient) DebugShowRekeyStatus(ctx context.Context, sessionID int) (e // can be Fixed or Ignored. func (c RekeyClient) RekeyStatusFinish(ctx context.Context, sessionID int) (res Outcome, err error) { __arg := RekeyStatusFinishArg{SessionID: sessionID} - err = c.Cli.Call(ctx, "keybase.1.rekey.rekeyStatusFinish", []interface{}{__arg}, &res, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.rekey.rekeyStatusFinish", []any{__arg}, &res, 0*time.Millisecond) return } @@ -357,13 +357,13 @@ func (c RekeyClient) RekeyStatusFinish(ctx context.Context, sessionID int) (res // to assert state. Good for race-free testing, not very useful in production. // Force overrides a long-snooze. func (c RekeyClient) RekeySync(ctx context.Context, __arg RekeySyncArg) (err error) { - err = c.Cli.Call(ctx, "keybase.1.rekey.rekeySync", []interface{}{__arg}, nil, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.rekey.rekeySync", []any{__arg}, nil, 0*time.Millisecond) return } // GetRevokeWarning computes the TLFs that will be endangered if actingDevice // revokes targetDevice. func (c RekeyClient) GetRevokeWarning(ctx context.Context, __arg GetRevokeWarningArg) (res RevokeWarning, err error) { - err = c.Cli.Call(ctx, "keybase.1.rekey.getRevokeWarning", []interface{}{__arg}, &res, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.rekey.getRevokeWarning", []any{__arg}, &res, 0*time.Millisecond) return } diff --git a/go/protocol/keybase1/rekey_ui.go b/go/protocol/keybase1/rekey_ui.go index 390666ef1a40..3650486b3a31 100644 --- a/go/protocol/keybase1/rekey_ui.go +++ b/go/protocol/keybase1/rekey_ui.go @@ -1,4 +1,4 @@ -// Auto-generated to Go types and interfaces using avdl-compiler v1.4.10 (https://github.com/keybase/node-avdl-compiler) +// Code generated to Go types and interfaces using avdl-compiler v1.4.10 (https://github.com/keybase/node-avdl-compiler). DO NOT EDIT. // Input file: avdl/keybase1/rekey_ui.avdl package keybase1 @@ -70,7 +70,8 @@ func (o RekeyEvent) DeepCopy() RekeyEvent { } } -type DelegateRekeyUIArg struct{} +type DelegateRekeyUIArg struct { +} type RefreshArg struct { SessionID int `codec:"sessionID" json:"sessionID"` @@ -97,21 +98,21 @@ func RekeyUIProtocol(i RekeyUIInterface) rpc.Protocol { Name: "keybase.1.rekeyUI", Methods: map[string]rpc.ServeHandlerDescription{ "delegateRekeyUI": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]DelegateRekeyUIArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { ret, err = i.DelegateRekeyUI(ctx) return }, }, "refresh": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]RefreshArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]RefreshArg) if !ok { err = rpc.NewTypeError((*[1]RefreshArg)(nil), args) @@ -122,11 +123,11 @@ func RekeyUIProtocol(i RekeyUIInterface) rpc.Protocol { }, }, "rekeySendEvent": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]RekeySendEventArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]RekeySendEventArg) if !ok { err = rpc.NewTypeError((*[1]RekeySendEventArg)(nil), args) @@ -145,20 +146,20 @@ type RekeyUIClient struct { } func (c RekeyUIClient) DelegateRekeyUI(ctx context.Context) (res int, err error) { - err = c.Cli.Call(ctx, "keybase.1.rekeyUI.delegateRekeyUI", []interface{}{DelegateRekeyUIArg{}}, &res, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.rekeyUI.delegateRekeyUI", []any{DelegateRekeyUIArg{}}, &res, 0*time.Millisecond) return } // Refresh is called whenever Electron should refresh the UI, either // because a change came in, or because there was a timeout poll. func (c RekeyUIClient) Refresh(ctx context.Context, __arg RefreshArg) (err error) { - err = c.Cli.Call(ctx, "keybase.1.rekeyUI.refresh", []interface{}{__arg}, nil, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.rekeyUI.refresh", []any{__arg}, nil, 0*time.Millisecond) return } // RekeySendEvent sends updates as to what's going on in the rekey // thread. This is mainly useful in testing. func (c RekeyUIClient) RekeySendEvent(ctx context.Context, __arg RekeySendEventArg) (err error) { - err = c.Cli.Notify(ctx, "keybase.1.rekeyUI.rekeySendEvent", []interface{}{__arg}, 0*time.Millisecond) + err = c.Cli.Notify(ctx, "keybase.1.rekeyUI.rekeySendEvent", []any{__arg}, 0*time.Millisecond) return } diff --git a/go/protocol/keybase1/reset.go b/go/protocol/keybase1/reset.go index 8c25956f5f26..ea3491332a4d 100644 --- a/go/protocol/keybase1/reset.go +++ b/go/protocol/keybase1/reset.go @@ -1,4 +1,4 @@ -// Auto-generated to Go types and interfaces using avdl-compiler v1.4.10 (https://github.com/keybase/node-avdl-compiler) +// Code generated to Go types and interfaces using avdl-compiler v1.4.10 (https://github.com/keybase/node-avdl-compiler). DO NOT EDIT. // Input file: avdl/keybase1/reset.avdl package keybase1 @@ -119,7 +119,8 @@ func (o ResetSummary) DeepCopy() ResetSummary { } } -type ResetInterface interface{} +type ResetInterface interface { +} func ResetProtocol(i ResetInterface) rpc.Protocol { return rpc.Protocol{ diff --git a/go/protocol/keybase1/revoke.go b/go/protocol/keybase1/revoke.go index 9755c5cee186..01cd22bc8e72 100644 --- a/go/protocol/keybase1/revoke.go +++ b/go/protocol/keybase1/revoke.go @@ -1,4 +1,4 @@ -// Auto-generated to Go types and interfaces using avdl-compiler v1.4.10 (https://github.com/keybase/node-avdl-compiler) +// Code generated to Go types and interfaces using avdl-compiler v1.4.10 (https://github.com/keybase/node-avdl-compiler). DO NOT EDIT. // Input file: avdl/keybase1/revoke.avdl package keybase1 @@ -38,11 +38,11 @@ func RevokeProtocol(i RevokeInterface) rpc.Protocol { Name: "keybase.1.revoke", Methods: map[string]rpc.ServeHandlerDescription{ "revokeKey": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]RevokeKeyArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]RevokeKeyArg) if !ok { err = rpc.NewTypeError((*[1]RevokeKeyArg)(nil), args) @@ -53,11 +53,11 @@ func RevokeProtocol(i RevokeInterface) rpc.Protocol { }, }, "revokeDevice": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]RevokeDeviceArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]RevokeDeviceArg) if !ok { err = rpc.NewTypeError((*[1]RevokeDeviceArg)(nil), args) @@ -68,11 +68,11 @@ func RevokeProtocol(i RevokeInterface) rpc.Protocol { }, }, "revokeSigs": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]RevokeSigsArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]RevokeSigsArg) if !ok { err = rpc.NewTypeError((*[1]RevokeSigsArg)(nil), args) @@ -91,16 +91,16 @@ type RevokeClient struct { } func (c RevokeClient) RevokeKey(ctx context.Context, __arg RevokeKeyArg) (err error) { - err = c.Cli.Call(ctx, "keybase.1.revoke.revokeKey", []interface{}{__arg}, nil, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.revoke.revokeKey", []any{__arg}, nil, 0*time.Millisecond) return } func (c RevokeClient) RevokeDevice(ctx context.Context, __arg RevokeDeviceArg) (err error) { - err = c.Cli.Call(ctx, "keybase.1.revoke.revokeDevice", []interface{}{__arg}, nil, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.revoke.revokeDevice", []any{__arg}, nil, 0*time.Millisecond) return } func (c RevokeClient) RevokeSigs(ctx context.Context, __arg RevokeSigsArg) (err error) { - err = c.Cli.Call(ctx, "keybase.1.revoke.revokeSigs", []interface{}{__arg}, nil, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.revoke.revokeSigs", []any{__arg}, nil, 0*time.Millisecond) return } diff --git a/go/protocol/keybase1/saltpack.go b/go/protocol/keybase1/saltpack.go index 57b4930ec234..35e3cbedd216 100644 --- a/go/protocol/keybase1/saltpack.go +++ b/go/protocol/keybase1/saltpack.go @@ -1,4 +1,4 @@ -// Auto-generated to Go types and interfaces using avdl-compiler v1.4.10 (https://github.com/keybase/node-avdl-compiler) +// Code generated to Go types and interfaces using avdl-compiler v1.4.10 (https://github.com/keybase/node-avdl-compiler). DO NOT EDIT. // Input file: avdl/keybase1/saltpack.avdl package keybase1 @@ -404,11 +404,11 @@ func SaltpackProtocol(i SaltpackInterface) rpc.Protocol { Name: "keybase.1.saltpack", Methods: map[string]rpc.ServeHandlerDescription{ "saltpackEncrypt": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]SaltpackEncryptArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]SaltpackEncryptArg) if !ok { err = rpc.NewTypeError((*[1]SaltpackEncryptArg)(nil), args) @@ -419,11 +419,11 @@ func SaltpackProtocol(i SaltpackInterface) rpc.Protocol { }, }, "saltpackDecrypt": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]SaltpackDecryptArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]SaltpackDecryptArg) if !ok { err = rpc.NewTypeError((*[1]SaltpackDecryptArg)(nil), args) @@ -434,11 +434,11 @@ func SaltpackProtocol(i SaltpackInterface) rpc.Protocol { }, }, "saltpackSign": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]SaltpackSignArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]SaltpackSignArg) if !ok { err = rpc.NewTypeError((*[1]SaltpackSignArg)(nil), args) @@ -449,11 +449,11 @@ func SaltpackProtocol(i SaltpackInterface) rpc.Protocol { }, }, "saltpackVerify": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]SaltpackVerifyArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]SaltpackVerifyArg) if !ok { err = rpc.NewTypeError((*[1]SaltpackVerifyArg)(nil), args) @@ -464,11 +464,11 @@ func SaltpackProtocol(i SaltpackInterface) rpc.Protocol { }, }, "saltpackEncryptString": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]SaltpackEncryptStringArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]SaltpackEncryptStringArg) if !ok { err = rpc.NewTypeError((*[1]SaltpackEncryptStringArg)(nil), args) @@ -479,11 +479,11 @@ func SaltpackProtocol(i SaltpackInterface) rpc.Protocol { }, }, "saltpackEncryptStringToTextFile": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]SaltpackEncryptStringToTextFileArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]SaltpackEncryptStringToTextFileArg) if !ok { err = rpc.NewTypeError((*[1]SaltpackEncryptStringToTextFileArg)(nil), args) @@ -494,11 +494,11 @@ func SaltpackProtocol(i SaltpackInterface) rpc.Protocol { }, }, "saltpackEncryptFile": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]SaltpackEncryptFileArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]SaltpackEncryptFileArg) if !ok { err = rpc.NewTypeError((*[1]SaltpackEncryptFileArg)(nil), args) @@ -509,11 +509,11 @@ func SaltpackProtocol(i SaltpackInterface) rpc.Protocol { }, }, "saltpackDecryptString": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]SaltpackDecryptStringArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]SaltpackDecryptStringArg) if !ok { err = rpc.NewTypeError((*[1]SaltpackDecryptStringArg)(nil), args) @@ -524,11 +524,11 @@ func SaltpackProtocol(i SaltpackInterface) rpc.Protocol { }, }, "saltpackDecryptFile": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]SaltpackDecryptFileArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]SaltpackDecryptFileArg) if !ok { err = rpc.NewTypeError((*[1]SaltpackDecryptFileArg)(nil), args) @@ -539,11 +539,11 @@ func SaltpackProtocol(i SaltpackInterface) rpc.Protocol { }, }, "saltpackSignString": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]SaltpackSignStringArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]SaltpackSignStringArg) if !ok { err = rpc.NewTypeError((*[1]SaltpackSignStringArg)(nil), args) @@ -554,11 +554,11 @@ func SaltpackProtocol(i SaltpackInterface) rpc.Protocol { }, }, "saltpackSignStringToTextFile": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]SaltpackSignStringToTextFileArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]SaltpackSignStringToTextFileArg) if !ok { err = rpc.NewTypeError((*[1]SaltpackSignStringToTextFileArg)(nil), args) @@ -569,11 +569,11 @@ func SaltpackProtocol(i SaltpackInterface) rpc.Protocol { }, }, "saltpackSignFile": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]SaltpackSignFileArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]SaltpackSignFileArg) if !ok { err = rpc.NewTypeError((*[1]SaltpackSignFileArg)(nil), args) @@ -584,11 +584,11 @@ func SaltpackProtocol(i SaltpackInterface) rpc.Protocol { }, }, "saltpackSaveCiphertextToFile": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]SaltpackSaveCiphertextToFileArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]SaltpackSaveCiphertextToFileArg) if !ok { err = rpc.NewTypeError((*[1]SaltpackSaveCiphertextToFileArg)(nil), args) @@ -599,11 +599,11 @@ func SaltpackProtocol(i SaltpackInterface) rpc.Protocol { }, }, "saltpackSaveSignedMsgToFile": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]SaltpackSaveSignedMsgToFileArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]SaltpackSaveSignedMsgToFileArg) if !ok { err = rpc.NewTypeError((*[1]SaltpackSaveSignedMsgToFileArg)(nil), args) @@ -614,11 +614,11 @@ func SaltpackProtocol(i SaltpackInterface) rpc.Protocol { }, }, "saltpackVerifyString": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]SaltpackVerifyStringArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]SaltpackVerifyStringArg) if !ok { err = rpc.NewTypeError((*[1]SaltpackVerifyStringArg)(nil), args) @@ -629,11 +629,11 @@ func SaltpackProtocol(i SaltpackInterface) rpc.Protocol { }, }, "saltpackVerifyFile": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]SaltpackVerifyFileArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]SaltpackVerifyFileArg) if !ok { err = rpc.NewTypeError((*[1]SaltpackVerifyFileArg)(nil), args) @@ -652,81 +652,81 @@ type SaltpackClient struct { } func (c SaltpackClient) SaltpackEncrypt(ctx context.Context, __arg SaltpackEncryptArg) (res SaltpackEncryptResult, err error) { - err = c.Cli.Call(ctx, "keybase.1.saltpack.saltpackEncrypt", []interface{}{__arg}, &res, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.saltpack.saltpackEncrypt", []any{__arg}, &res, 0*time.Millisecond) return } func (c SaltpackClient) SaltpackDecrypt(ctx context.Context, __arg SaltpackDecryptArg) (res SaltpackEncryptedMessageInfo, err error) { - err = c.Cli.Call(ctx, "keybase.1.saltpack.saltpackDecrypt", []interface{}{__arg}, &res, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.saltpack.saltpackDecrypt", []any{__arg}, &res, 0*time.Millisecond) return } func (c SaltpackClient) SaltpackSign(ctx context.Context, __arg SaltpackSignArg) (err error) { - err = c.Cli.Call(ctx, "keybase.1.saltpack.saltpackSign", []interface{}{__arg}, nil, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.saltpack.saltpackSign", []any{__arg}, nil, 0*time.Millisecond) return } func (c SaltpackClient) SaltpackVerify(ctx context.Context, __arg SaltpackVerifyArg) (err error) { - err = c.Cli.Call(ctx, "keybase.1.saltpack.saltpackVerify", []interface{}{__arg}, nil, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.saltpack.saltpackVerify", []any{__arg}, nil, 0*time.Millisecond) return } func (c SaltpackClient) SaltpackEncryptString(ctx context.Context, __arg SaltpackEncryptStringArg) (res SaltpackEncryptStringResult, err error) { - err = c.Cli.Call(ctx, "keybase.1.saltpack.saltpackEncryptString", []interface{}{__arg}, &res, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.saltpack.saltpackEncryptString", []any{__arg}, &res, 0*time.Millisecond) return } func (c SaltpackClient) SaltpackEncryptStringToTextFile(ctx context.Context, __arg SaltpackEncryptStringToTextFileArg) (res SaltpackEncryptFileResult, err error) { - err = c.Cli.Call(ctx, "keybase.1.saltpack.saltpackEncryptStringToTextFile", []interface{}{__arg}, &res, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.saltpack.saltpackEncryptStringToTextFile", []any{__arg}, &res, 0*time.Millisecond) return } func (c SaltpackClient) SaltpackEncryptFile(ctx context.Context, __arg SaltpackEncryptFileArg) (res SaltpackEncryptFileResult, err error) { - err = c.Cli.Call(ctx, "keybase.1.saltpack.saltpackEncryptFile", []interface{}{__arg}, &res, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.saltpack.saltpackEncryptFile", []any{__arg}, &res, 0*time.Millisecond) return } func (c SaltpackClient) SaltpackDecryptString(ctx context.Context, __arg SaltpackDecryptStringArg) (res SaltpackPlaintextResult, err error) { - err = c.Cli.Call(ctx, "keybase.1.saltpack.saltpackDecryptString", []interface{}{__arg}, &res, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.saltpack.saltpackDecryptString", []any{__arg}, &res, 0*time.Millisecond) return } func (c SaltpackClient) SaltpackDecryptFile(ctx context.Context, __arg SaltpackDecryptFileArg) (res SaltpackFileResult, err error) { - err = c.Cli.Call(ctx, "keybase.1.saltpack.saltpackDecryptFile", []interface{}{__arg}, &res, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.saltpack.saltpackDecryptFile", []any{__arg}, &res, 0*time.Millisecond) return } func (c SaltpackClient) SaltpackSignString(ctx context.Context, __arg SaltpackSignStringArg) (res string, err error) { - err = c.Cli.Call(ctx, "keybase.1.saltpack.saltpackSignString", []interface{}{__arg}, &res, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.saltpack.saltpackSignString", []any{__arg}, &res, 0*time.Millisecond) return } func (c SaltpackClient) SaltpackSignStringToTextFile(ctx context.Context, __arg SaltpackSignStringToTextFileArg) (res string, err error) { - err = c.Cli.Call(ctx, "keybase.1.saltpack.saltpackSignStringToTextFile", []interface{}{__arg}, &res, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.saltpack.saltpackSignStringToTextFile", []any{__arg}, &res, 0*time.Millisecond) return } func (c SaltpackClient) SaltpackSignFile(ctx context.Context, __arg SaltpackSignFileArg) (res string, err error) { - err = c.Cli.Call(ctx, "keybase.1.saltpack.saltpackSignFile", []interface{}{__arg}, &res, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.saltpack.saltpackSignFile", []any{__arg}, &res, 0*time.Millisecond) return } func (c SaltpackClient) SaltpackSaveCiphertextToFile(ctx context.Context, __arg SaltpackSaveCiphertextToFileArg) (res string, err error) { - err = c.Cli.Call(ctx, "keybase.1.saltpack.saltpackSaveCiphertextToFile", []interface{}{__arg}, &res, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.saltpack.saltpackSaveCiphertextToFile", []any{__arg}, &res, 0*time.Millisecond) return } func (c SaltpackClient) SaltpackSaveSignedMsgToFile(ctx context.Context, __arg SaltpackSaveSignedMsgToFileArg) (res string, err error) { - err = c.Cli.Call(ctx, "keybase.1.saltpack.saltpackSaveSignedMsgToFile", []interface{}{__arg}, &res, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.saltpack.saltpackSaveSignedMsgToFile", []any{__arg}, &res, 0*time.Millisecond) return } func (c SaltpackClient) SaltpackVerifyString(ctx context.Context, __arg SaltpackVerifyStringArg) (res SaltpackVerifyResult, err error) { - err = c.Cli.Call(ctx, "keybase.1.saltpack.saltpackVerifyString", []interface{}{__arg}, &res, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.saltpack.saltpackVerifyString", []any{__arg}, &res, 0*time.Millisecond) return } func (c SaltpackClient) SaltpackVerifyFile(ctx context.Context, __arg SaltpackVerifyFileArg) (res SaltpackVerifyFileResult, err error) { - err = c.Cli.Call(ctx, "keybase.1.saltpack.saltpackVerifyFile", []interface{}{__arg}, &res, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.saltpack.saltpackVerifyFile", []any{__arg}, &res, 0*time.Millisecond) return } diff --git a/go/protocol/keybase1/saltpack_ui.go b/go/protocol/keybase1/saltpack_ui.go index 621a26ab77ac..2a7fb7375318 100644 --- a/go/protocol/keybase1/saltpack_ui.go +++ b/go/protocol/keybase1/saltpack_ui.go @@ -1,4 +1,4 @@ -// Auto-generated to Go types and interfaces using avdl-compiler v1.4.10 (https://github.com/keybase/node-avdl-compiler) +// Code generated to Go types and interfaces using avdl-compiler v1.4.10 (https://github.com/keybase/node-avdl-compiler). DO NOT EDIT. // Input file: avdl/keybase1/saltpack_ui.avdl package keybase1 @@ -102,11 +102,11 @@ func SaltpackUiProtocol(i SaltpackUiInterface) rpc.Protocol { Name: "keybase.1.saltpackUi", Methods: map[string]rpc.ServeHandlerDescription{ "saltpackPromptForDecrypt": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]SaltpackPromptForDecryptArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]SaltpackPromptForDecryptArg) if !ok { err = rpc.NewTypeError((*[1]SaltpackPromptForDecryptArg)(nil), args) @@ -117,11 +117,11 @@ func SaltpackUiProtocol(i SaltpackUiInterface) rpc.Protocol { }, }, "saltpackVerifySuccess": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]SaltpackVerifySuccessArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]SaltpackVerifySuccessArg) if !ok { err = rpc.NewTypeError((*[1]SaltpackVerifySuccessArg)(nil), args) @@ -132,11 +132,11 @@ func SaltpackUiProtocol(i SaltpackUiInterface) rpc.Protocol { }, }, "saltpackVerifyBadSender": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]SaltpackVerifyBadSenderArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]SaltpackVerifyBadSenderArg) if !ok { err = rpc.NewTypeError((*[1]SaltpackVerifyBadSenderArg)(nil), args) @@ -155,16 +155,16 @@ type SaltpackUiClient struct { } func (c SaltpackUiClient) SaltpackPromptForDecrypt(ctx context.Context, __arg SaltpackPromptForDecryptArg) (err error) { - err = c.Cli.Call(ctx, "keybase.1.saltpackUi.saltpackPromptForDecrypt", []interface{}{__arg}, nil, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.saltpackUi.saltpackPromptForDecrypt", []any{__arg}, nil, 0*time.Millisecond) return } func (c SaltpackUiClient) SaltpackVerifySuccess(ctx context.Context, __arg SaltpackVerifySuccessArg) (err error) { - err = c.Cli.Call(ctx, "keybase.1.saltpackUi.saltpackVerifySuccess", []interface{}{__arg}, nil, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.saltpackUi.saltpackVerifySuccess", []any{__arg}, nil, 0*time.Millisecond) return } func (c SaltpackUiClient) SaltpackVerifyBadSender(ctx context.Context, __arg SaltpackVerifyBadSenderArg) (err error) { - err = c.Cli.Call(ctx, "keybase.1.saltpackUi.saltpackVerifyBadSender", []interface{}{__arg}, nil, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.saltpackUi.saltpackVerifyBadSender", []any{__arg}, nil, 0*time.Millisecond) return } diff --git a/go/protocol/keybase1/scanproofs.go b/go/protocol/keybase1/scanproofs.go index 9ed67a7c5d64..8abf491fa341 100644 --- a/go/protocol/keybase1/scanproofs.go +++ b/go/protocol/keybase1/scanproofs.go @@ -1,4 +1,4 @@ -// Auto-generated to Go types and interfaces using avdl-compiler v1.4.10 (https://github.com/keybase/node-avdl-compiler) +// Code generated to Go types and interfaces using avdl-compiler v1.4.10 (https://github.com/keybase/node-avdl-compiler). DO NOT EDIT. // Input file: avdl/keybase1/scanproofs.avdl package keybase1 @@ -29,11 +29,11 @@ func ScanProofsProtocol(i ScanProofsInterface) rpc.Protocol { Name: "keybase.1.ScanProofs", Methods: map[string]rpc.ServeHandlerDescription{ "scanProofs": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]ScanProofsArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]ScanProofsArg) if !ok { err = rpc.NewTypeError((*[1]ScanProofsArg)(nil), args) @@ -52,6 +52,6 @@ type ScanProofsClient struct { } func (c ScanProofsClient) ScanProofs(ctx context.Context, __arg ScanProofsArg) (err error) { - err = c.Cli.Call(ctx, "keybase.1.ScanProofs.scanProofs", []interface{}{__arg}, nil, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.ScanProofs.scanProofs", []any{__arg}, nil, 0*time.Millisecond) return } diff --git a/go/protocol/keybase1/secret_ui.go b/go/protocol/keybase1/secret_ui.go index 5ebc77400712..f329dbc3b115 100644 --- a/go/protocol/keybase1/secret_ui.go +++ b/go/protocol/keybase1/secret_ui.go @@ -1,4 +1,4 @@ -// Auto-generated to Go types and interfaces using avdl-compiler v1.4.10 (https://github.com/keybase/node-avdl-compiler) +// Code generated to Go types and interfaces using avdl-compiler v1.4.10 (https://github.com/keybase/node-avdl-compiler). DO NOT EDIT. // Input file: avdl/keybase1/secret_ui.avdl package keybase1 @@ -61,11 +61,11 @@ func SecretUiProtocol(i SecretUiInterface) rpc.Protocol { Name: "keybase.1.secretUi", Methods: map[string]rpc.ServeHandlerDescription{ "getPassphrase": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]GetPassphraseArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]GetPassphraseArg) if !ok { err = rpc.NewTypeError((*[1]GetPassphraseArg)(nil), args) @@ -84,6 +84,6 @@ type SecretUiClient struct { } func (c SecretUiClient) GetPassphrase(ctx context.Context, __arg GetPassphraseArg) (res GetPassphraseRes, err error) { - err = c.Cli.Call(ctx, "keybase.1.secretUi.getPassphrase", []interface{}{__arg}, &res, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.secretUi.getPassphrase", []any{__arg}, &res, 0*time.Millisecond) return } diff --git a/go/protocol/keybase1/secretkeys.go b/go/protocol/keybase1/secretkeys.go index 749adee06021..55b1fdc80942 100644 --- a/go/protocol/keybase1/secretkeys.go +++ b/go/protocol/keybase1/secretkeys.go @@ -1,4 +1,4 @@ -// Auto-generated to Go types and interfaces using avdl-compiler v1.4.10 (https://github.com/keybase/node-avdl-compiler) +// Code generated to Go types and interfaces using avdl-compiler v1.4.10 (https://github.com/keybase/node-avdl-compiler). DO NOT EDIT. // Input file: avdl/keybase1/secretkeys.avdl package keybase1 @@ -67,11 +67,11 @@ func SecretKeysProtocol(i SecretKeysInterface) rpc.Protocol { Name: "keybase.1.SecretKeys", Methods: map[string]rpc.ServeHandlerDescription{ "getSecretKeys": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]GetSecretKeysArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]GetSecretKeysArg) if !ok { err = rpc.NewTypeError((*[1]GetSecretKeysArg)(nil), args) @@ -91,6 +91,6 @@ type SecretKeysClient struct { func (c SecretKeysClient) GetSecretKeys(ctx context.Context, sessionID int) (res SecretKeys, err error) { __arg := GetSecretKeysArg{SessionID: sessionID} - err = c.Cli.Call(ctx, "keybase.1.SecretKeys.getSecretKeys", []interface{}{__arg}, &res, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.SecretKeys.getSecretKeys", []any{__arg}, &res, 0*time.Millisecond) return } diff --git a/go/protocol/keybase1/selfprovision.go b/go/protocol/keybase1/selfprovision.go index 5bebfa1b19f1..5d59da7843a7 100644 --- a/go/protocol/keybase1/selfprovision.go +++ b/go/protocol/keybase1/selfprovision.go @@ -1,4 +1,4 @@ -// Auto-generated to Go types and interfaces using avdl-compiler v1.4.10 (https://github.com/keybase/node-avdl-compiler) +// Code generated to Go types and interfaces using avdl-compiler v1.4.10 (https://github.com/keybase/node-avdl-compiler). DO NOT EDIT. // Input file: avdl/keybase1/selfprovision.avdl package keybase1 @@ -26,11 +26,11 @@ func SelfprovisionProtocol(i SelfprovisionInterface) rpc.Protocol { Name: "keybase.1.selfprovision", Methods: map[string]rpc.ServeHandlerDescription{ "selfProvision": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]SelfProvisionArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]SelfProvisionArg) if !ok { err = rpc.NewTypeError((*[1]SelfProvisionArg)(nil), args) @@ -51,6 +51,6 @@ type SelfprovisionClient struct { // Performs self provision. If the current device is clone, this function // will provision it as a new device. func (c SelfprovisionClient) SelfProvision(ctx context.Context, __arg SelfProvisionArg) (err error) { - err = c.Cli.Call(ctx, "keybase.1.selfprovision.selfProvision", []interface{}{__arg}, nil, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.selfprovision.selfProvision", []any{__arg}, nil, 0*time.Millisecond) return } diff --git a/go/protocol/keybase1/session.go b/go/protocol/keybase1/session.go index 4db38f4cb30e..0e98140d7c8a 100644 --- a/go/protocol/keybase1/session.go +++ b/go/protocol/keybase1/session.go @@ -1,4 +1,4 @@ -// Auto-generated to Go types and interfaces using avdl-compiler v1.4.10 (https://github.com/keybase/node-avdl-compiler) +// Code generated to Go types and interfaces using avdl-compiler v1.4.10 (https://github.com/keybase/node-avdl-compiler). DO NOT EDIT. // Input file: avdl/keybase1/session.avdl package keybase1 @@ -32,7 +32,8 @@ type CurrentSessionArg struct { SessionID int `codec:"sessionID" json:"sessionID"` } -type SessionPingArg struct{} +type SessionPingArg struct { +} type SessionInterface interface { CurrentSession(context.Context, int) (Session, error) @@ -44,11 +45,11 @@ func SessionProtocol(i SessionInterface) rpc.Protocol { Name: "keybase.1.session", Methods: map[string]rpc.ServeHandlerDescription{ "currentSession": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]CurrentSessionArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]CurrentSessionArg) if !ok { err = rpc.NewTypeError((*[1]CurrentSessionArg)(nil), args) @@ -59,11 +60,11 @@ func SessionProtocol(i SessionInterface) rpc.Protocol { }, }, "sessionPing": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]SessionPingArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { err = i.SessionPing(ctx) return }, @@ -78,11 +79,11 @@ type SessionClient struct { func (c SessionClient) CurrentSession(ctx context.Context, sessionID int) (res Session, err error) { __arg := CurrentSessionArg{SessionID: sessionID} - err = c.Cli.Call(ctx, "keybase.1.session.currentSession", []interface{}{__arg}, &res, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.session.currentSession", []any{__arg}, &res, 0*time.Millisecond) return } func (c SessionClient) SessionPing(ctx context.Context) (err error) { - err = c.Cli.Call(ctx, "keybase.1.session.sessionPing", []interface{}{SessionPingArg{}}, nil, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.session.sessionPing", []any{SessionPingArg{}}, nil, 0*time.Millisecond) return } diff --git a/go/protocol/keybase1/signup.go b/go/protocol/keybase1/signup.go index 440a8c81265a..b91aaf8ed4e5 100644 --- a/go/protocol/keybase1/signup.go +++ b/go/protocol/keybase1/signup.go @@ -1,4 +1,4 @@ -// Auto-generated to Go types and interfaces using avdl-compiler v1.4.10 (https://github.com/keybase/node-avdl-compiler) +// Code generated to Go types and interfaces using avdl-compiler v1.4.10 (https://github.com/keybase/node-avdl-compiler). DO NOT EDIT. // Input file: avdl/keybase1/signup.avdl package keybase1 @@ -78,11 +78,11 @@ func SignupProtocol(i SignupInterface) rpc.Protocol { Name: "keybase.1.signup", Methods: map[string]rpc.ServeHandlerDescription{ "checkUsernameAvailable": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]CheckUsernameAvailableArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]CheckUsernameAvailableArg) if !ok { err = rpc.NewTypeError((*[1]CheckUsernameAvailableArg)(nil), args) @@ -93,11 +93,11 @@ func SignupProtocol(i SignupInterface) rpc.Protocol { }, }, "signup": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]SignupArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]SignupArg) if !ok { err = rpc.NewTypeError((*[1]SignupArg)(nil), args) @@ -108,11 +108,11 @@ func SignupProtocol(i SignupInterface) rpc.Protocol { }, }, "inviteRequest": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]InviteRequestArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]InviteRequestArg) if !ok { err = rpc.NewTypeError((*[1]InviteRequestArg)(nil), args) @@ -123,11 +123,11 @@ func SignupProtocol(i SignupInterface) rpc.Protocol { }, }, "checkInvitationCode": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]CheckInvitationCodeArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]CheckInvitationCodeArg) if !ok { err = rpc.NewTypeError((*[1]CheckInvitationCodeArg)(nil), args) @@ -138,11 +138,11 @@ func SignupProtocol(i SignupInterface) rpc.Protocol { }, }, "getInvitationCode": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]GetInvitationCodeArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]GetInvitationCodeArg) if !ok { err = rpc.NewTypeError((*[1]GetInvitationCodeArg)(nil), args) @@ -161,27 +161,27 @@ type SignupClient struct { } func (c SignupClient) CheckUsernameAvailable(ctx context.Context, __arg CheckUsernameAvailableArg) (err error) { - err = c.Cli.Call(ctx, "keybase.1.signup.checkUsernameAvailable", []interface{}{__arg}, nil, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.signup.checkUsernameAvailable", []any{__arg}, nil, 0*time.Millisecond) return } func (c SignupClient) Signup(ctx context.Context, __arg SignupArg) (res SignupRes, err error) { - err = c.Cli.Call(ctx, "keybase.1.signup.signup", []interface{}{__arg}, &res, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.signup.signup", []any{__arg}, &res, 0*time.Millisecond) return } func (c SignupClient) InviteRequest(ctx context.Context, __arg InviteRequestArg) (err error) { - err = c.Cli.Call(ctx, "keybase.1.signup.inviteRequest", []interface{}{__arg}, nil, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.signup.inviteRequest", []any{__arg}, nil, 0*time.Millisecond) return } func (c SignupClient) CheckInvitationCode(ctx context.Context, __arg CheckInvitationCodeArg) (err error) { - err = c.Cli.Call(ctx, "keybase.1.signup.checkInvitationCode", []interface{}{__arg}, nil, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.signup.checkInvitationCode", []any{__arg}, nil, 0*time.Millisecond) return } func (c SignupClient) GetInvitationCode(ctx context.Context, sessionID int) (res string, err error) { __arg := GetInvitationCodeArg{SessionID: sessionID} - err = c.Cli.Call(ctx, "keybase.1.signup.getInvitationCode", []interface{}{__arg}, &res, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.signup.getInvitationCode", []any{__arg}, &res, 0*time.Millisecond) return } diff --git a/go/protocol/keybase1/sigs.go b/go/protocol/keybase1/sigs.go index a2b5b4103321..2d25302cf707 100644 --- a/go/protocol/keybase1/sigs.go +++ b/go/protocol/keybase1/sigs.go @@ -1,4 +1,4 @@ -// Auto-generated to Go types and interfaces using avdl-compiler v1.4.10 (https://github.com/keybase/node-avdl-compiler) +// Code generated to Go types and interfaces using avdl-compiler v1.4.10 (https://github.com/keybase/node-avdl-compiler). DO NOT EDIT. // Input file: avdl/keybase1/sigs.avdl package keybase1 @@ -100,11 +100,11 @@ func SigsProtocol(i SigsInterface) rpc.Protocol { Name: "keybase.1.sigs", Methods: map[string]rpc.ServeHandlerDescription{ "sigList": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]SigListArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]SigListArg) if !ok { err = rpc.NewTypeError((*[1]SigListArg)(nil), args) @@ -115,11 +115,11 @@ func SigsProtocol(i SigsInterface) rpc.Protocol { }, }, "sigListJSON": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]SigListJSONArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]SigListJSONArg) if !ok { err = rpc.NewTypeError((*[1]SigListJSONArg)(nil), args) @@ -138,11 +138,11 @@ type SigsClient struct { } func (c SigsClient) SigList(ctx context.Context, __arg SigListArg) (res []Sig, err error) { - err = c.Cli.Call(ctx, "keybase.1.sigs.sigList", []interface{}{__arg}, &res, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.sigs.sigList", []any{__arg}, &res, 0*time.Millisecond) return } func (c SigsClient) SigListJSON(ctx context.Context, __arg SigListJSONArg) (res string, err error) { - err = c.Cli.Call(ctx, "keybase.1.sigs.sigListJSON", []interface{}{__arg}, &res, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.sigs.sigListJSON", []any{__arg}, &res, 0*time.Millisecond) return } diff --git a/go/protocol/keybase1/simple_fs.go b/go/protocol/keybase1/simple_fs.go index f986cff0e85d..255eab3569d1 100644 --- a/go/protocol/keybase1/simple_fs.go +++ b/go/protocol/keybase1/simple_fs.go @@ -1,4 +1,4 @@ -// Auto-generated to Go types and interfaces using avdl-compiler v1.4.10 (https://github.com/keybase/node-avdl-compiler) +// Code generated to Go types and interfaces using avdl-compiler v1.4.10 (https://github.com/keybase/node-avdl-compiler). DO NOT EDIT. // Input file: avdl/keybase1/simple_fs.avdl package keybase1 @@ -2230,7 +2230,8 @@ type SimpleFSReadRevisionsArg struct { OpID OpID `codec:"opID" json:"opID"` } -type SimpleFSMakeOpidArg struct{} +type SimpleFSMakeOpidArg struct { +} type SimpleFSCloseArg struct { OpID OpID `codec:"opID" json:"opID"` @@ -2244,13 +2245,15 @@ type SimpleFSCheckArg struct { OpID OpID `codec:"opID" json:"opID"` } -type SimpleFSGetOpsArg struct{} +type SimpleFSGetOpsArg struct { +} type SimpleFSWaitArg struct { OpID OpID `codec:"opID" json:"opID"` } -type SimpleFSDumpDebuggingInfoArg struct{} +type SimpleFSDumpDebuggingInfoArg struct { +} type SimpleFSClearConflictStateArg struct { Path Path `codec:"path" json:"path"` @@ -2268,15 +2271,18 @@ type SimpleFSSyncStatusArg struct { Filter ListFilter `codec:"filter" json:"filter"` } -type SimpleFSUserEditHistoryArg struct{} +type SimpleFSUserEditHistoryArg struct { +} type SimpleFSFolderEditHistoryArg struct { Path Path `codec:"path" json:"path"` } -type SimpleFSListFavoritesArg struct{} +type SimpleFSListFavoritesArg struct { +} -type SimpleFSGetUserQuotaUsageArg struct{} +type SimpleFSGetUserQuotaUsageArg struct { +} type SimpleFSGetTeamQuotaUsageArg struct { TeamName TeamName `codec:"teamName" json:"teamName"` @@ -2308,13 +2314,15 @@ type SimpleFSGetOnlineStatusArg struct { ClientID string `codec:"clientID" json:"clientID"` } -type SimpleFSCheckReachabilityArg struct{} +type SimpleFSCheckReachabilityArg struct { +} type SimpleFSSetDebugLevelArg struct { Level string `codec:"level" json:"level"` } -type SimpleFSSettingsArg struct{} +type SimpleFSSettingsArg struct { +} type SimpleFSSetNotificationThresholdArg struct { Threshold int64 `codec:"threshold" json:"threshold"` @@ -2336,7 +2344,8 @@ type SimpleFSDeobfuscatePathArg struct { Path Path `codec:"path" json:"path"` } -type SimpleFSGetStatsArg struct{} +type SimpleFSGetStatsArg struct { +} type SimpleFSSubscribePathArg struct { IdentifyBehavior *TLFIdentifyBehavior `codec:"identifyBehavior,omitempty" json:"identifyBehavior,omitempty"` @@ -2370,7 +2379,8 @@ type SimpleFSGetDownloadInfoArg struct { DownloadID string `codec:"downloadID" json:"downloadID"` } -type SimpleFSGetDownloadStatusArg struct{} +type SimpleFSGetDownloadStatusArg struct { +} type SimpleFSCancelDownloadArg struct { DownloadID string `codec:"downloadID" json:"downloadID"` @@ -2385,14 +2395,16 @@ type SimpleFSConfigureDownloadArg struct { DownloadDirOverride string `codec:"downloadDirOverride" json:"downloadDirOverride"` } -type SimpleFSMakeTempDirForUploadArg struct{} +type SimpleFSMakeTempDirForUploadArg struct { +} type SimpleFSStartUploadArg struct { SourceLocalPath string `codec:"sourceLocalPath" json:"sourceLocalPath"` TargetParentPath KBFSPath `codec:"targetParentPath" json:"targetParentPath"` } -type SimpleFSGetUploadStatusArg struct{} +type SimpleFSGetUploadStatusArg struct { +} type SimpleFSCancelUploadArg struct { UploadID string `codec:"uploadID" json:"uploadID"` @@ -2402,7 +2414,8 @@ type SimpleFSDismissUploadArg struct { UploadID string `codec:"uploadID" json:"uploadID"` } -type SimpleFSGetFilesTabBadgeArg struct{} +type SimpleFSGetFilesTabBadgeArg struct { +} type SimpleFSGetGUIFileContextArg struct { Path KBFSPath `codec:"path" json:"path"` @@ -2422,9 +2435,11 @@ type SimpleFSSearchArg struct { StartingFrom int `codec:"startingFrom" json:"startingFrom"` } -type SimpleFSResetIndexArg struct{} +type SimpleFSResetIndexArg struct { +} -type SimpleFSGetIndexProgressArg struct{} +type SimpleFSGetIndexProgressArg struct { +} type SimpleFSCancelJournalUploadsArg struct { Path KBFSPath `codec:"path" json:"path"` @@ -2440,7 +2455,8 @@ type SimpleFSArchiveCancelOrDismissJobArg struct { JobID string `codec:"jobID" json:"jobID"` } -type SimpleFSGetArchiveStatusArg struct{} +type SimpleFSGetArchiveStatusArg struct { +} type SimpleFSGetArchiveJobFreshnessArg struct { JobID string `codec:"jobID" json:"jobID"` @@ -2613,11 +2629,11 @@ func SimpleFSProtocol(i SimpleFSInterface) rpc.Protocol { Name: "keybase.1.SimpleFS", Methods: map[string]rpc.ServeHandlerDescription{ "simpleFSList": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]SimpleFSListArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]SimpleFSListArg) if !ok { err = rpc.NewTypeError((*[1]SimpleFSListArg)(nil), args) @@ -2628,11 +2644,11 @@ func SimpleFSProtocol(i SimpleFSInterface) rpc.Protocol { }, }, "simpleFSListRecursive": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]SimpleFSListRecursiveArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]SimpleFSListRecursiveArg) if !ok { err = rpc.NewTypeError((*[1]SimpleFSListRecursiveArg)(nil), args) @@ -2643,11 +2659,11 @@ func SimpleFSProtocol(i SimpleFSInterface) rpc.Protocol { }, }, "simpleFSListRecursiveToDepth": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]SimpleFSListRecursiveToDepthArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]SimpleFSListRecursiveToDepthArg) if !ok { err = rpc.NewTypeError((*[1]SimpleFSListRecursiveToDepthArg)(nil), args) @@ -2658,11 +2674,11 @@ func SimpleFSProtocol(i SimpleFSInterface) rpc.Protocol { }, }, "simpleFSReadList": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]SimpleFSReadListArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]SimpleFSReadListArg) if !ok { err = rpc.NewTypeError((*[1]SimpleFSReadListArg)(nil), args) @@ -2673,11 +2689,11 @@ func SimpleFSProtocol(i SimpleFSInterface) rpc.Protocol { }, }, "simpleFSCopy": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]SimpleFSCopyArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]SimpleFSCopyArg) if !ok { err = rpc.NewTypeError((*[1]SimpleFSCopyArg)(nil), args) @@ -2688,11 +2704,11 @@ func SimpleFSProtocol(i SimpleFSInterface) rpc.Protocol { }, }, "simpleFSSymlink": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]SimpleFSSymlinkArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]SimpleFSSymlinkArg) if !ok { err = rpc.NewTypeError((*[1]SimpleFSSymlinkArg)(nil), args) @@ -2703,11 +2719,11 @@ func SimpleFSProtocol(i SimpleFSInterface) rpc.Protocol { }, }, "simpleFSCopyRecursive": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]SimpleFSCopyRecursiveArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]SimpleFSCopyRecursiveArg) if !ok { err = rpc.NewTypeError((*[1]SimpleFSCopyRecursiveArg)(nil), args) @@ -2718,11 +2734,11 @@ func SimpleFSProtocol(i SimpleFSInterface) rpc.Protocol { }, }, "simpleFSMove": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]SimpleFSMoveArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]SimpleFSMoveArg) if !ok { err = rpc.NewTypeError((*[1]SimpleFSMoveArg)(nil), args) @@ -2733,11 +2749,11 @@ func SimpleFSProtocol(i SimpleFSInterface) rpc.Protocol { }, }, "simpleFSRename": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]SimpleFSRenameArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]SimpleFSRenameArg) if !ok { err = rpc.NewTypeError((*[1]SimpleFSRenameArg)(nil), args) @@ -2748,11 +2764,11 @@ func SimpleFSProtocol(i SimpleFSInterface) rpc.Protocol { }, }, "simpleFSOpen": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]SimpleFSOpenArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]SimpleFSOpenArg) if !ok { err = rpc.NewTypeError((*[1]SimpleFSOpenArg)(nil), args) @@ -2763,11 +2779,11 @@ func SimpleFSProtocol(i SimpleFSInterface) rpc.Protocol { }, }, "simpleFSSetStat": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]SimpleFSSetStatArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]SimpleFSSetStatArg) if !ok { err = rpc.NewTypeError((*[1]SimpleFSSetStatArg)(nil), args) @@ -2778,11 +2794,11 @@ func SimpleFSProtocol(i SimpleFSInterface) rpc.Protocol { }, }, "simpleFSRead": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]SimpleFSReadArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]SimpleFSReadArg) if !ok { err = rpc.NewTypeError((*[1]SimpleFSReadArg)(nil), args) @@ -2793,11 +2809,11 @@ func SimpleFSProtocol(i SimpleFSInterface) rpc.Protocol { }, }, "simpleFSWrite": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]SimpleFSWriteArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]SimpleFSWriteArg) if !ok { err = rpc.NewTypeError((*[1]SimpleFSWriteArg)(nil), args) @@ -2808,11 +2824,11 @@ func SimpleFSProtocol(i SimpleFSInterface) rpc.Protocol { }, }, "simpleFSRemove": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]SimpleFSRemoveArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]SimpleFSRemoveArg) if !ok { err = rpc.NewTypeError((*[1]SimpleFSRemoveArg)(nil), args) @@ -2823,11 +2839,11 @@ func SimpleFSProtocol(i SimpleFSInterface) rpc.Protocol { }, }, "simpleFSStat": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]SimpleFSStatArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]SimpleFSStatArg) if !ok { err = rpc.NewTypeError((*[1]SimpleFSStatArg)(nil), args) @@ -2838,11 +2854,11 @@ func SimpleFSProtocol(i SimpleFSInterface) rpc.Protocol { }, }, "simpleFSGetRevisions": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]SimpleFSGetRevisionsArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]SimpleFSGetRevisionsArg) if !ok { err = rpc.NewTypeError((*[1]SimpleFSGetRevisionsArg)(nil), args) @@ -2853,11 +2869,11 @@ func SimpleFSProtocol(i SimpleFSInterface) rpc.Protocol { }, }, "simpleFSReadRevisions": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]SimpleFSReadRevisionsArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]SimpleFSReadRevisionsArg) if !ok { err = rpc.NewTypeError((*[1]SimpleFSReadRevisionsArg)(nil), args) @@ -2868,21 +2884,21 @@ func SimpleFSProtocol(i SimpleFSInterface) rpc.Protocol { }, }, "simpleFSMakeOpid": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]SimpleFSMakeOpidArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { ret, err = i.SimpleFSMakeOpid(ctx) return }, }, "simpleFSClose": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]SimpleFSCloseArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]SimpleFSCloseArg) if !ok { err = rpc.NewTypeError((*[1]SimpleFSCloseArg)(nil), args) @@ -2893,11 +2909,11 @@ func SimpleFSProtocol(i SimpleFSInterface) rpc.Protocol { }, }, "simpleFSCancel": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]SimpleFSCancelArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]SimpleFSCancelArg) if !ok { err = rpc.NewTypeError((*[1]SimpleFSCancelArg)(nil), args) @@ -2908,11 +2924,11 @@ func SimpleFSProtocol(i SimpleFSInterface) rpc.Protocol { }, }, "simpleFSCheck": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]SimpleFSCheckArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]SimpleFSCheckArg) if !ok { err = rpc.NewTypeError((*[1]SimpleFSCheckArg)(nil), args) @@ -2923,21 +2939,21 @@ func SimpleFSProtocol(i SimpleFSInterface) rpc.Protocol { }, }, "simpleFSGetOps": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]SimpleFSGetOpsArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { ret, err = i.SimpleFSGetOps(ctx) return }, }, "simpleFSWait": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]SimpleFSWaitArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]SimpleFSWaitArg) if !ok { err = rpc.NewTypeError((*[1]SimpleFSWaitArg)(nil), args) @@ -2948,21 +2964,21 @@ func SimpleFSProtocol(i SimpleFSInterface) rpc.Protocol { }, }, "simpleFSDumpDebuggingInfo": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]SimpleFSDumpDebuggingInfoArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { err = i.SimpleFSDumpDebuggingInfo(ctx) return }, }, "simpleFSClearConflictState": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]SimpleFSClearConflictStateArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]SimpleFSClearConflictStateArg) if !ok { err = rpc.NewTypeError((*[1]SimpleFSClearConflictStateArg)(nil), args) @@ -2973,11 +2989,11 @@ func SimpleFSProtocol(i SimpleFSInterface) rpc.Protocol { }, }, "simpleFSFinishResolvingConflict": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]SimpleFSFinishResolvingConflictArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]SimpleFSFinishResolvingConflictArg) if !ok { err = rpc.NewTypeError((*[1]SimpleFSFinishResolvingConflictArg)(nil), args) @@ -2988,11 +3004,11 @@ func SimpleFSProtocol(i SimpleFSInterface) rpc.Protocol { }, }, "simpleFSForceStuckConflict": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]SimpleFSForceStuckConflictArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]SimpleFSForceStuckConflictArg) if !ok { err = rpc.NewTypeError((*[1]SimpleFSForceStuckConflictArg)(nil), args) @@ -3003,11 +3019,11 @@ func SimpleFSProtocol(i SimpleFSInterface) rpc.Protocol { }, }, "simpleFSSyncStatus": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]SimpleFSSyncStatusArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]SimpleFSSyncStatusArg) if !ok { err = rpc.NewTypeError((*[1]SimpleFSSyncStatusArg)(nil), args) @@ -3018,21 +3034,21 @@ func SimpleFSProtocol(i SimpleFSInterface) rpc.Protocol { }, }, "simpleFSUserEditHistory": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]SimpleFSUserEditHistoryArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { ret, err = i.SimpleFSUserEditHistory(ctx) return }, }, "simpleFSFolderEditHistory": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]SimpleFSFolderEditHistoryArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]SimpleFSFolderEditHistoryArg) if !ok { err = rpc.NewTypeError((*[1]SimpleFSFolderEditHistoryArg)(nil), args) @@ -3043,31 +3059,31 @@ func SimpleFSProtocol(i SimpleFSInterface) rpc.Protocol { }, }, "simpleFSListFavorites": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]SimpleFSListFavoritesArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { ret, err = i.SimpleFSListFavorites(ctx) return }, }, "simpleFSGetUserQuotaUsage": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]SimpleFSGetUserQuotaUsageArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { ret, err = i.SimpleFSGetUserQuotaUsage(ctx) return }, }, "simpleFSGetTeamQuotaUsage": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]SimpleFSGetTeamQuotaUsageArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]SimpleFSGetTeamQuotaUsageArg) if !ok { err = rpc.NewTypeError((*[1]SimpleFSGetTeamQuotaUsageArg)(nil), args) @@ -3078,11 +3094,11 @@ func SimpleFSProtocol(i SimpleFSInterface) rpc.Protocol { }, }, "simpleFSReset": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]SimpleFSResetArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]SimpleFSResetArg) if !ok { err = rpc.NewTypeError((*[1]SimpleFSResetArg)(nil), args) @@ -3093,11 +3109,11 @@ func SimpleFSProtocol(i SimpleFSInterface) rpc.Protocol { }, }, "simpleFSFolderSyncConfigAndStatus": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]SimpleFSFolderSyncConfigAndStatusArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]SimpleFSFolderSyncConfigAndStatusArg) if !ok { err = rpc.NewTypeError((*[1]SimpleFSFolderSyncConfigAndStatusArg)(nil), args) @@ -3108,11 +3124,11 @@ func SimpleFSProtocol(i SimpleFSInterface) rpc.Protocol { }, }, "simpleFSSetFolderSyncConfig": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]SimpleFSSetFolderSyncConfigArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]SimpleFSSetFolderSyncConfigArg) if !ok { err = rpc.NewTypeError((*[1]SimpleFSSetFolderSyncConfigArg)(nil), args) @@ -3123,11 +3139,11 @@ func SimpleFSProtocol(i SimpleFSInterface) rpc.Protocol { }, }, "simpleFSSyncConfigAndStatus": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]SimpleFSSyncConfigAndStatusArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]SimpleFSSyncConfigAndStatusArg) if !ok { err = rpc.NewTypeError((*[1]SimpleFSSyncConfigAndStatusArg)(nil), args) @@ -3138,11 +3154,11 @@ func SimpleFSProtocol(i SimpleFSInterface) rpc.Protocol { }, }, "simpleFSGetFolder": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]SimpleFSGetFolderArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]SimpleFSGetFolderArg) if !ok { err = rpc.NewTypeError((*[1]SimpleFSGetFolderArg)(nil), args) @@ -3153,11 +3169,11 @@ func SimpleFSProtocol(i SimpleFSInterface) rpc.Protocol { }, }, "simpleFSGetOnlineStatus": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]SimpleFSGetOnlineStatusArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]SimpleFSGetOnlineStatusArg) if !ok { err = rpc.NewTypeError((*[1]SimpleFSGetOnlineStatusArg)(nil), args) @@ -3168,21 +3184,21 @@ func SimpleFSProtocol(i SimpleFSInterface) rpc.Protocol { }, }, "simpleFSCheckReachability": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]SimpleFSCheckReachabilityArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { err = i.SimpleFSCheckReachability(ctx) return }, }, "simpleFSSetDebugLevel": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]SimpleFSSetDebugLevelArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]SimpleFSSetDebugLevelArg) if !ok { err = rpc.NewTypeError((*[1]SimpleFSSetDebugLevelArg)(nil), args) @@ -3193,21 +3209,21 @@ func SimpleFSProtocol(i SimpleFSInterface) rpc.Protocol { }, }, "simpleFSSettings": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]SimpleFSSettingsArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { ret, err = i.SimpleFSSettings(ctx) return }, }, "simpleFSSetNotificationThreshold": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]SimpleFSSetNotificationThresholdArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]SimpleFSSetNotificationThresholdArg) if !ok { err = rpc.NewTypeError((*[1]SimpleFSSetNotificationThresholdArg)(nil), args) @@ -3218,11 +3234,11 @@ func SimpleFSProtocol(i SimpleFSInterface) rpc.Protocol { }, }, "simpleFSSetSfmiBannerDismissed": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]SimpleFSSetSfmiBannerDismissedArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]SimpleFSSetSfmiBannerDismissedArg) if !ok { err = rpc.NewTypeError((*[1]SimpleFSSetSfmiBannerDismissedArg)(nil), args) @@ -3233,11 +3249,11 @@ func SimpleFSProtocol(i SimpleFSInterface) rpc.Protocol { }, }, "simpleFSSetSyncOnCellular": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]SimpleFSSetSyncOnCellularArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]SimpleFSSetSyncOnCellularArg) if !ok { err = rpc.NewTypeError((*[1]SimpleFSSetSyncOnCellularArg)(nil), args) @@ -3248,11 +3264,11 @@ func SimpleFSProtocol(i SimpleFSInterface) rpc.Protocol { }, }, "simpleFSObfuscatePath": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]SimpleFSObfuscatePathArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]SimpleFSObfuscatePathArg) if !ok { err = rpc.NewTypeError((*[1]SimpleFSObfuscatePathArg)(nil), args) @@ -3263,11 +3279,11 @@ func SimpleFSProtocol(i SimpleFSInterface) rpc.Protocol { }, }, "simpleFSDeobfuscatePath": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]SimpleFSDeobfuscatePathArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]SimpleFSDeobfuscatePathArg) if !ok { err = rpc.NewTypeError((*[1]SimpleFSDeobfuscatePathArg)(nil), args) @@ -3278,21 +3294,21 @@ func SimpleFSProtocol(i SimpleFSInterface) rpc.Protocol { }, }, "simpleFSGetStats": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]SimpleFSGetStatsArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { ret, err = i.SimpleFSGetStats(ctx) return }, }, "simpleFSSubscribePath": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]SimpleFSSubscribePathArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]SimpleFSSubscribePathArg) if !ok { err = rpc.NewTypeError((*[1]SimpleFSSubscribePathArg)(nil), args) @@ -3303,11 +3319,11 @@ func SimpleFSProtocol(i SimpleFSInterface) rpc.Protocol { }, }, "simpleFSSubscribeNonPath": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]SimpleFSSubscribeNonPathArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]SimpleFSSubscribeNonPathArg) if !ok { err = rpc.NewTypeError((*[1]SimpleFSSubscribeNonPathArg)(nil), args) @@ -3318,11 +3334,11 @@ func SimpleFSProtocol(i SimpleFSInterface) rpc.Protocol { }, }, "simpleFSUnsubscribe": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]SimpleFSUnsubscribeArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]SimpleFSUnsubscribeArg) if !ok { err = rpc.NewTypeError((*[1]SimpleFSUnsubscribeArg)(nil), args) @@ -3333,11 +3349,11 @@ func SimpleFSProtocol(i SimpleFSInterface) rpc.Protocol { }, }, "simpleFSStartDownload": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]SimpleFSStartDownloadArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]SimpleFSStartDownloadArg) if !ok { err = rpc.NewTypeError((*[1]SimpleFSStartDownloadArg)(nil), args) @@ -3348,11 +3364,11 @@ func SimpleFSProtocol(i SimpleFSInterface) rpc.Protocol { }, }, "simpleFSGetDownloadInfo": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]SimpleFSGetDownloadInfoArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]SimpleFSGetDownloadInfoArg) if !ok { err = rpc.NewTypeError((*[1]SimpleFSGetDownloadInfoArg)(nil), args) @@ -3363,21 +3379,21 @@ func SimpleFSProtocol(i SimpleFSInterface) rpc.Protocol { }, }, "simpleFSGetDownloadStatus": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]SimpleFSGetDownloadStatusArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { ret, err = i.SimpleFSGetDownloadStatus(ctx) return }, }, "simpleFSCancelDownload": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]SimpleFSCancelDownloadArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]SimpleFSCancelDownloadArg) if !ok { err = rpc.NewTypeError((*[1]SimpleFSCancelDownloadArg)(nil), args) @@ -3388,11 +3404,11 @@ func SimpleFSProtocol(i SimpleFSInterface) rpc.Protocol { }, }, "simpleFSDismissDownload": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]SimpleFSDismissDownloadArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]SimpleFSDismissDownloadArg) if !ok { err = rpc.NewTypeError((*[1]SimpleFSDismissDownloadArg)(nil), args) @@ -3403,11 +3419,11 @@ func SimpleFSProtocol(i SimpleFSInterface) rpc.Protocol { }, }, "simpleFSConfigureDownload": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]SimpleFSConfigureDownloadArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]SimpleFSConfigureDownloadArg) if !ok { err = rpc.NewTypeError((*[1]SimpleFSConfigureDownloadArg)(nil), args) @@ -3418,21 +3434,21 @@ func SimpleFSProtocol(i SimpleFSInterface) rpc.Protocol { }, }, "simpleFSMakeTempDirForUpload": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]SimpleFSMakeTempDirForUploadArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { ret, err = i.SimpleFSMakeTempDirForUpload(ctx) return }, }, "simpleFSStartUpload": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]SimpleFSStartUploadArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]SimpleFSStartUploadArg) if !ok { err = rpc.NewTypeError((*[1]SimpleFSStartUploadArg)(nil), args) @@ -3443,21 +3459,21 @@ func SimpleFSProtocol(i SimpleFSInterface) rpc.Protocol { }, }, "simpleFSGetUploadStatus": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]SimpleFSGetUploadStatusArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { ret, err = i.SimpleFSGetUploadStatus(ctx) return }, }, "simpleFSCancelUpload": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]SimpleFSCancelUploadArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]SimpleFSCancelUploadArg) if !ok { err = rpc.NewTypeError((*[1]SimpleFSCancelUploadArg)(nil), args) @@ -3468,11 +3484,11 @@ func SimpleFSProtocol(i SimpleFSInterface) rpc.Protocol { }, }, "simpleFSDismissUpload": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]SimpleFSDismissUploadArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]SimpleFSDismissUploadArg) if !ok { err = rpc.NewTypeError((*[1]SimpleFSDismissUploadArg)(nil), args) @@ -3483,21 +3499,21 @@ func SimpleFSProtocol(i SimpleFSInterface) rpc.Protocol { }, }, "simpleFSGetFilesTabBadge": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]SimpleFSGetFilesTabBadgeArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { ret, err = i.SimpleFSGetFilesTabBadge(ctx) return }, }, "simpleFSGetGUIFileContext": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]SimpleFSGetGUIFileContextArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]SimpleFSGetGUIFileContextArg) if !ok { err = rpc.NewTypeError((*[1]SimpleFSGetGUIFileContextArg)(nil), args) @@ -3508,11 +3524,11 @@ func SimpleFSProtocol(i SimpleFSInterface) rpc.Protocol { }, }, "simpleFSUserIn": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]SimpleFSUserInArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]SimpleFSUserInArg) if !ok { err = rpc.NewTypeError((*[1]SimpleFSUserInArg)(nil), args) @@ -3523,11 +3539,11 @@ func SimpleFSProtocol(i SimpleFSInterface) rpc.Protocol { }, }, "simpleFSUserOut": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]SimpleFSUserOutArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]SimpleFSUserOutArg) if !ok { err = rpc.NewTypeError((*[1]SimpleFSUserOutArg)(nil), args) @@ -3538,11 +3554,11 @@ func SimpleFSProtocol(i SimpleFSInterface) rpc.Protocol { }, }, "simpleFSSearch": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]SimpleFSSearchArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]SimpleFSSearchArg) if !ok { err = rpc.NewTypeError((*[1]SimpleFSSearchArg)(nil), args) @@ -3553,31 +3569,31 @@ func SimpleFSProtocol(i SimpleFSInterface) rpc.Protocol { }, }, "simpleFSResetIndex": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]SimpleFSResetIndexArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { err = i.SimpleFSResetIndex(ctx) return }, }, "simpleFSGetIndexProgress": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]SimpleFSGetIndexProgressArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { ret, err = i.SimpleFSGetIndexProgress(ctx) return }, }, "simpleFSCancelJournalUploads": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]SimpleFSCancelJournalUploadsArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]SimpleFSCancelJournalUploadsArg) if !ok { err = rpc.NewTypeError((*[1]SimpleFSCancelJournalUploadsArg)(nil), args) @@ -3588,11 +3604,11 @@ func SimpleFSProtocol(i SimpleFSInterface) rpc.Protocol { }, }, "simpleFSArchiveStart": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]SimpleFSArchiveStartArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]SimpleFSArchiveStartArg) if !ok { err = rpc.NewTypeError((*[1]SimpleFSArchiveStartArg)(nil), args) @@ -3603,11 +3619,11 @@ func SimpleFSProtocol(i SimpleFSInterface) rpc.Protocol { }, }, "simpleFSArchiveCancelOrDismissJob": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]SimpleFSArchiveCancelOrDismissJobArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]SimpleFSArchiveCancelOrDismissJobArg) if !ok { err = rpc.NewTypeError((*[1]SimpleFSArchiveCancelOrDismissJobArg)(nil), args) @@ -3618,21 +3634,21 @@ func SimpleFSProtocol(i SimpleFSInterface) rpc.Protocol { }, }, "simpleFSGetArchiveStatus": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]SimpleFSGetArchiveStatusArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { ret, err = i.SimpleFSGetArchiveStatus(ctx) return }, }, "simpleFSGetArchiveJobFreshness": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]SimpleFSGetArchiveJobFreshnessArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]SimpleFSGetArchiveJobFreshnessArg) if !ok { err = rpc.NewTypeError((*[1]SimpleFSGetArchiveJobFreshnessArg)(nil), args) @@ -3643,11 +3659,11 @@ func SimpleFSProtocol(i SimpleFSInterface) rpc.Protocol { }, }, "simpleFSArchiveCheckArchive": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]SimpleFSArchiveCheckArchiveArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]SimpleFSArchiveCheckArchiveArg) if !ok { err = rpc.NewTypeError((*[1]SimpleFSArchiveCheckArchiveArg)(nil), args) @@ -3658,11 +3674,11 @@ func SimpleFSProtocol(i SimpleFSInterface) rpc.Protocol { }, }, "simpleFSArchiveAllFiles": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]SimpleFSArchiveAllFilesArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]SimpleFSArchiveAllFilesArg) if !ok { err = rpc.NewTypeError((*[1]SimpleFSArchiveAllFilesArg)(nil), args) @@ -3673,11 +3689,11 @@ func SimpleFSProtocol(i SimpleFSInterface) rpc.Protocol { }, }, "simpleFSArchiveAllGitRepos": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]SimpleFSArchiveAllGitReposArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]SimpleFSArchiveAllGitReposArg) if !ok { err = rpc.NewTypeError((*[1]SimpleFSArchiveAllGitReposArg)(nil), args) @@ -3703,7 +3719,7 @@ type SimpleFSClient struct { // corresponding TLF, until another call refreshes the subscription on a // different TLF. func (c SimpleFSClient) SimpleFSList(ctx context.Context, __arg SimpleFSListArg) (err error) { - err = c.Cli.Call(ctx, "keybase.1.SimpleFS.simpleFSList", []interface{}{__arg}, nil, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.SimpleFS.simpleFSList", []any{__arg}, nil, 0*time.Millisecond) return } @@ -3713,13 +3729,13 @@ func (c SimpleFSClient) SimpleFSList(ctx context.Context, __arg SimpleFSListArg) // corresponding TLF, until another call refreshes the subscription on a // different TLF. func (c SimpleFSClient) SimpleFSListRecursive(ctx context.Context, __arg SimpleFSListRecursiveArg) (err error) { - err = c.Cli.Call(ctx, "keybase.1.SimpleFS.simpleFSListRecursive", []interface{}{__arg}, nil, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.SimpleFS.simpleFSListRecursive", []any{__arg}, nil, 0*time.Millisecond) return } // Begin recursive list of items in directory at path up to a given depth func (c SimpleFSClient) SimpleFSListRecursiveToDepth(ctx context.Context, __arg SimpleFSListRecursiveToDepthArg) (err error) { - err = c.Cli.Call(ctx, "keybase.1.SimpleFS.simpleFSListRecursiveToDepth", []interface{}{__arg}, nil, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.SimpleFS.simpleFSListRecursiveToDepth", []any{__arg}, nil, 0*time.Millisecond) return } @@ -3727,19 +3743,19 @@ func (c SimpleFSClient) SimpleFSListRecursiveToDepth(ctx context.Context, __arg // to get more entries. func (c SimpleFSClient) SimpleFSReadList(ctx context.Context, opID OpID) (res SimpleFSListResult, err error) { __arg := SimpleFSReadListArg{OpID: opID} - err = c.Cli.Call(ctx, "keybase.1.SimpleFS.simpleFSReadList", []interface{}{__arg}, &res, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.SimpleFS.simpleFSReadList", []any{__arg}, &res, 0*time.Millisecond) return } // Begin copy of file or directory. func (c SimpleFSClient) SimpleFSCopy(ctx context.Context, __arg SimpleFSCopyArg) (err error) { - err = c.Cli.Call(ctx, "keybase.1.SimpleFS.simpleFSCopy", []interface{}{__arg}, nil, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.SimpleFS.simpleFSCopy", []any{__arg}, nil, 0*time.Millisecond) return } // Make a symlink of file or directory func (c SimpleFSClient) SimpleFSSymlink(ctx context.Context, __arg SimpleFSSymlinkArg) (err error) { - err = c.Cli.Call(ctx, "keybase.1.SimpleFS.simpleFSSymlink", []interface{}{__arg}, nil, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.SimpleFS.simpleFSSymlink", []any{__arg}, nil, 0*time.Millisecond) return } @@ -3750,19 +3766,19 @@ func (c SimpleFSClient) SimpleFSSymlink(ctx context.Context, __arg SimpleFSSymli // returned in that case. For directories that share a name, the copy will // continue recursively into the directory without causing an error. func (c SimpleFSClient) SimpleFSCopyRecursive(ctx context.Context, __arg SimpleFSCopyRecursiveArg) (err error) { - err = c.Cli.Call(ctx, "keybase.1.SimpleFS.simpleFSCopyRecursive", []interface{}{__arg}, nil, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.SimpleFS.simpleFSCopyRecursive", []any{__arg}, nil, 0*time.Millisecond) return } // Begin move of file or directory, from/to KBFS only func (c SimpleFSClient) SimpleFSMove(ctx context.Context, __arg SimpleFSMoveArg) (err error) { - err = c.Cli.Call(ctx, "keybase.1.SimpleFS.simpleFSMove", []interface{}{__arg}, nil, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.SimpleFS.simpleFSMove", []any{__arg}, nil, 0*time.Millisecond) return } // Rename file or directory, KBFS side only func (c SimpleFSClient) SimpleFSRename(ctx context.Context, __arg SimpleFSRenameArg) (err error) { - err = c.Cli.Call(ctx, "keybase.1.SimpleFS.simpleFSRename", []interface{}{__arg}, nil, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.SimpleFS.simpleFSRename", []any{__arg}, nil, 0*time.Millisecond) return } @@ -3770,13 +3786,13 @@ func (c SimpleFSClient) SimpleFSRename(ctx context.Context, __arg SimpleFSRename // or create a directory // Files must be closed afterwards. func (c SimpleFSClient) SimpleFSOpen(ctx context.Context, __arg SimpleFSOpenArg) (err error) { - err = c.Cli.Call(ctx, "keybase.1.SimpleFS.simpleFSOpen", []interface{}{__arg}, nil, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.SimpleFS.simpleFSOpen", []any{__arg}, nil, 0*time.Millisecond) return } // Set/clear file bits - only executable for now func (c SimpleFSClient) SimpleFSSetStat(ctx context.Context, __arg SimpleFSSetStatArg) (err error) { - err = c.Cli.Call(ctx, "keybase.1.SimpleFS.simpleFSSetStat", []interface{}{__arg}, nil, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.SimpleFS.simpleFSSetStat", []any{__arg}, nil, 0*time.Millisecond) return } @@ -3785,32 +3801,32 @@ func (c SimpleFSClient) SimpleFSSetStat(ctx context.Context, __arg SimpleFSSetSt // Repeat until zero bytes are returned or error. // If size is zero, read an arbitrary amount. func (c SimpleFSClient) SimpleFSRead(ctx context.Context, __arg SimpleFSReadArg) (res FileContent, err error) { - err = c.Cli.Call(ctx, "keybase.1.SimpleFS.simpleFSRead", []interface{}{__arg}, &res, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.SimpleFS.simpleFSRead", []any{__arg}, &res, 0*time.Millisecond) return } // Append content to opened file. // May be repeated until OpID is closed. func (c SimpleFSClient) SimpleFSWrite(ctx context.Context, __arg SimpleFSWriteArg) (err error) { - err = c.Cli.Call(ctx, "keybase.1.SimpleFS.simpleFSWrite", []interface{}{__arg}, nil, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.SimpleFS.simpleFSWrite", []any{__arg}, nil, 0*time.Millisecond) return } // Remove file or directory from filesystem func (c SimpleFSClient) SimpleFSRemove(ctx context.Context, __arg SimpleFSRemoveArg) (err error) { - err = c.Cli.Call(ctx, "keybase.1.SimpleFS.simpleFSRemove", []interface{}{__arg}, nil, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.SimpleFS.simpleFSRemove", []any{__arg}, nil, 0*time.Millisecond) return } // Get info about file func (c SimpleFSClient) SimpleFSStat(ctx context.Context, __arg SimpleFSStatArg) (res Dirent, err error) { - err = c.Cli.Call(ctx, "keybase.1.SimpleFS.simpleFSStat", []interface{}{__arg}, &res, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.SimpleFS.simpleFSStat", []any{__arg}, &res, 0*time.Millisecond) return } // Get revision info for a directory entry func (c SimpleFSClient) SimpleFSGetRevisions(ctx context.Context, __arg SimpleFSGetRevisionsArg) (err error) { - err = c.Cli.Call(ctx, "keybase.1.SimpleFS.simpleFSGetRevisions", []interface{}{__arg}, nil, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.SimpleFS.simpleFSGetRevisions", []any{__arg}, nil, 0*time.Millisecond) return } @@ -3818,13 +3834,13 @@ func (c SimpleFSClient) SimpleFSGetRevisions(ctx context.Context, __arg SimpleFS // to get more revisions. func (c SimpleFSClient) SimpleFSReadRevisions(ctx context.Context, opID OpID) (res GetRevisionsResult, err error) { __arg := SimpleFSReadRevisionsArg{OpID: opID} - err = c.Cli.Call(ctx, "keybase.1.SimpleFS.simpleFSReadRevisions", []interface{}{__arg}, &res, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.SimpleFS.simpleFSReadRevisions", []any{__arg}, &res, 0*time.Millisecond) return } // Convenience helper for generating new random value func (c SimpleFSClient) SimpleFSMakeOpid(ctx context.Context) (res OpID, err error) { - err = c.Cli.Call(ctx, "keybase.1.SimpleFS.simpleFSMakeOpid", []interface{}{SimpleFSMakeOpidArg{}}, &res, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.SimpleFS.simpleFSMakeOpid", []any{SimpleFSMakeOpidArg{}}, &res, 0*time.Millisecond) return } @@ -3832,66 +3848,66 @@ func (c SimpleFSClient) SimpleFSMakeOpid(ctx context.Context) (res OpID, err err // Must be called after list/copy/remove func (c SimpleFSClient) SimpleFSClose(ctx context.Context, opID OpID) (err error) { __arg := SimpleFSCloseArg{OpID: opID} - err = c.Cli.Call(ctx, "keybase.1.SimpleFS.simpleFSClose", []interface{}{__arg}, nil, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.SimpleFS.simpleFSClose", []any{__arg}, nil, 0*time.Millisecond) return } // Cancels a running operation, like copy. func (c SimpleFSClient) SimpleFSCancel(ctx context.Context, opID OpID) (err error) { __arg := SimpleFSCancelArg{OpID: opID} - err = c.Cli.Call(ctx, "keybase.1.SimpleFS.simpleFSCancel", []interface{}{__arg}, nil, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.SimpleFS.simpleFSCancel", []any{__arg}, nil, 0*time.Millisecond) return } // Check progress of pending operation func (c SimpleFSClient) SimpleFSCheck(ctx context.Context, opID OpID) (res OpProgress, err error) { __arg := SimpleFSCheckArg{OpID: opID} - err = c.Cli.Call(ctx, "keybase.1.SimpleFS.simpleFSCheck", []interface{}{__arg}, &res, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.SimpleFS.simpleFSCheck", []any{__arg}, &res, 0*time.Millisecond) return } // Get all the outstanding operations func (c SimpleFSClient) SimpleFSGetOps(ctx context.Context) (res []OpDescription, err error) { - err = c.Cli.Call(ctx, "keybase.1.SimpleFS.simpleFSGetOps", []interface{}{SimpleFSGetOpsArg{}}, &res, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.SimpleFS.simpleFSGetOps", []any{SimpleFSGetOpsArg{}}, &res, 0*time.Millisecond) return } // Blocking wait for the pending operation to finish func (c SimpleFSClient) SimpleFSWait(ctx context.Context, opID OpID) (err error) { __arg := SimpleFSWaitArg{OpID: opID} - err = c.Cli.Call(ctx, "keybase.1.SimpleFS.simpleFSWait", []interface{}{__arg}, nil, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.SimpleFS.simpleFSWait", []any{__arg}, nil, 0*time.Millisecond) return } // Instructs KBFS to dump debugging info into its logs. func (c SimpleFSClient) SimpleFSDumpDebuggingInfo(ctx context.Context) (err error) { - err = c.Cli.Call(ctx, "keybase.1.SimpleFS.simpleFSDumpDebuggingInfo", []interface{}{SimpleFSDumpDebuggingInfoArg{}}, nil, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.SimpleFS.simpleFSDumpDebuggingInfo", []any{SimpleFSDumpDebuggingInfoArg{}}, nil, 0*time.Millisecond) return } func (c SimpleFSClient) SimpleFSClearConflictState(ctx context.Context, path Path) (err error) { __arg := SimpleFSClearConflictStateArg{Path: path} - err = c.Cli.Call(ctx, "keybase.1.SimpleFS.simpleFSClearConflictState", []interface{}{__arg}, nil, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.SimpleFS.simpleFSClearConflictState", []any{__arg}, nil, 0*time.Millisecond) return } func (c SimpleFSClient) SimpleFSFinishResolvingConflict(ctx context.Context, path Path) (err error) { __arg := SimpleFSFinishResolvingConflictArg{Path: path} - err = c.Cli.Call(ctx, "keybase.1.SimpleFS.simpleFSFinishResolvingConflict", []interface{}{__arg}, nil, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.SimpleFS.simpleFSFinishResolvingConflict", []any{__arg}, nil, 0*time.Millisecond) return } // Force a TLF into a stuck conflict state (for testing). func (c SimpleFSClient) SimpleFSForceStuckConflict(ctx context.Context, path Path) (err error) { __arg := SimpleFSForceStuckConflictArg{Path: path} - err = c.Cli.Call(ctx, "keybase.1.SimpleFS.simpleFSForceStuckConflict", []interface{}{__arg}, nil, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.SimpleFS.simpleFSForceStuckConflict", []any{__arg}, nil, 0*time.Millisecond) return } // Get sync status. func (c SimpleFSClient) SimpleFSSyncStatus(ctx context.Context, filter ListFilter) (res FSSyncStatus, err error) { __arg := SimpleFSSyncStatusArg{Filter: filter} - err = c.Cli.Call(ctx, "keybase.1.SimpleFS.simpleFSSyncStatus", []interface{}{__arg}, &res, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.SimpleFS.simpleFSSyncStatus", []any{__arg}, &res, 0*time.Millisecond) return } @@ -3900,7 +3916,7 @@ func (c SimpleFSClient) SimpleFSSyncStatus(ctx context.Context, filter ListFilte // writer-TLF pair. They are in descending order by the modification time // (as recorded by the server) of the most recent edit in each history. func (c SimpleFSClient) SimpleFSUserEditHistory(ctx context.Context) (res []FSFolderEditHistory, err error) { - err = c.Cli.Call(ctx, "keybase.1.SimpleFS.simpleFSUserEditHistory", []interface{}{SimpleFSUserEditHistoryArg{}}, &res, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.SimpleFS.simpleFSUserEditHistory", []any{SimpleFSUserEditHistoryArg{}}, &res, 0*time.Millisecond) return } @@ -3910,21 +3926,21 @@ func (c SimpleFSClient) SimpleFSUserEditHistory(ctx context.Context) (res []FSFo // recorded by the server) of their most recent edit. func (c SimpleFSClient) SimpleFSFolderEditHistory(ctx context.Context, path Path) (res FSFolderEditHistory, err error) { __arg := SimpleFSFolderEditHistoryArg{Path: path} - err = c.Cli.Call(ctx, "keybase.1.SimpleFS.simpleFSFolderEditHistory", []interface{}{__arg}, &res, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.SimpleFS.simpleFSFolderEditHistory", []any{__arg}, &res, 0*time.Millisecond) return } // simpleFSListFavorites gets the current favorites, ignored folders, and new // folders from the KBFS cache. func (c SimpleFSClient) SimpleFSListFavorites(ctx context.Context) (res FavoritesResult, err error) { - err = c.Cli.Call(ctx, "keybase.1.SimpleFS.simpleFSListFavorites", []interface{}{SimpleFSListFavoritesArg{}}, &res, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.SimpleFS.simpleFSListFavorites", []any{SimpleFSListFavoritesArg{}}, &res, 0*time.Millisecond) return } // simpleFSGetUserQuotaUsage returns the quota usage for the logged-in // user. Any usage includes local journal usage as well. func (c SimpleFSClient) SimpleFSGetUserQuotaUsage(ctx context.Context) (res SimpleFSQuotaUsage, err error) { - err = c.Cli.Call(ctx, "keybase.1.SimpleFS.simpleFSGetUserQuotaUsage", []interface{}{SimpleFSGetUserQuotaUsageArg{}}, &res, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.SimpleFS.simpleFSGetUserQuotaUsage", []any{SimpleFSGetUserQuotaUsageArg{}}, &res, 0*time.Millisecond) return } @@ -3933,250 +3949,250 @@ func (c SimpleFSClient) SimpleFSGetUserQuotaUsage(ctx context.Context) (res Simp // local journal usage as well. func (c SimpleFSClient) SimpleFSGetTeamQuotaUsage(ctx context.Context, teamName TeamName) (res SimpleFSQuotaUsage, err error) { __arg := SimpleFSGetTeamQuotaUsageArg{TeamName: teamName} - err = c.Cli.Call(ctx, "keybase.1.SimpleFS.simpleFSGetTeamQuotaUsage", []interface{}{__arg}, &res, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.SimpleFS.simpleFSGetTeamQuotaUsage", []any{__arg}, &res, 0*time.Millisecond) return } // simpleFSReset completely resets the KBFS folder referenced in `path`. // It should only be called after explicit user confirmation. func (c SimpleFSClient) SimpleFSReset(ctx context.Context, __arg SimpleFSResetArg) (err error) { - err = c.Cli.Call(ctx, "keybase.1.SimpleFS.simpleFSReset", []interface{}{__arg}, nil, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.SimpleFS.simpleFSReset", []any{__arg}, nil, 0*time.Millisecond) return } func (c SimpleFSClient) SimpleFSFolderSyncConfigAndStatus(ctx context.Context, path Path) (res FolderSyncConfigAndStatus, err error) { __arg := SimpleFSFolderSyncConfigAndStatusArg{Path: path} - err = c.Cli.Call(ctx, "keybase.1.SimpleFS.simpleFSFolderSyncConfigAndStatus", []interface{}{__arg}, &res, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.SimpleFS.simpleFSFolderSyncConfigAndStatus", []any{__arg}, &res, 0*time.Millisecond) return } func (c SimpleFSClient) SimpleFSSetFolderSyncConfig(ctx context.Context, __arg SimpleFSSetFolderSyncConfigArg) (err error) { - err = c.Cli.Call(ctx, "keybase.1.SimpleFS.simpleFSSetFolderSyncConfig", []interface{}{__arg}, nil, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.SimpleFS.simpleFSSetFolderSyncConfig", []any{__arg}, nil, 0*time.Millisecond) return } func (c SimpleFSClient) SimpleFSSyncConfigAndStatus(ctx context.Context, identifyBehavior *TLFIdentifyBehavior) (res SyncConfigAndStatusRes, err error) { __arg := SimpleFSSyncConfigAndStatusArg{IdentifyBehavior: identifyBehavior} - err = c.Cli.Call(ctx, "keybase.1.SimpleFS.simpleFSSyncConfigAndStatus", []interface{}{__arg}, &res, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.SimpleFS.simpleFSSyncConfigAndStatus", []any{__arg}, &res, 0*time.Millisecond) return } func (c SimpleFSClient) SimpleFSGetFolder(ctx context.Context, path KBFSPath) (res FolderWithFavFlags, err error) { __arg := SimpleFSGetFolderArg{Path: path} - err = c.Cli.Call(ctx, "keybase.1.SimpleFS.simpleFSGetFolder", []interface{}{__arg}, &res, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.SimpleFS.simpleFSGetFolder", []any{__arg}, &res, 0*time.Millisecond) return } func (c SimpleFSClient) SimpleFSGetOnlineStatus(ctx context.Context, clientID string) (res KbfsOnlineStatus, err error) { __arg := SimpleFSGetOnlineStatusArg{ClientID: clientID} - err = c.Cli.Call(ctx, "keybase.1.SimpleFS.simpleFSGetOnlineStatus", []interface{}{__arg}, &res, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.SimpleFS.simpleFSGetOnlineStatus", []any{__arg}, &res, 0*time.Millisecond) return } func (c SimpleFSClient) SimpleFSCheckReachability(ctx context.Context) (err error) { - err = c.Cli.Call(ctx, "keybase.1.SimpleFS.simpleFSCheckReachability", []interface{}{SimpleFSCheckReachabilityArg{}}, nil, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.SimpleFS.simpleFSCheckReachability", []any{SimpleFSCheckReachabilityArg{}}, nil, 0*time.Millisecond) return } func (c SimpleFSClient) SimpleFSSetDebugLevel(ctx context.Context, level string) (err error) { __arg := SimpleFSSetDebugLevelArg{Level: level} - err = c.Cli.Call(ctx, "keybase.1.SimpleFS.simpleFSSetDebugLevel", []interface{}{__arg}, nil, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.SimpleFS.simpleFSSetDebugLevel", []any{__arg}, nil, 0*time.Millisecond) return } func (c SimpleFSClient) SimpleFSSettings(ctx context.Context) (res FSSettings, err error) { - err = c.Cli.Call(ctx, "keybase.1.SimpleFS.simpleFSSettings", []interface{}{SimpleFSSettingsArg{}}, &res, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.SimpleFS.simpleFSSettings", []any{SimpleFSSettingsArg{}}, &res, 0*time.Millisecond) return } func (c SimpleFSClient) SimpleFSSetNotificationThreshold(ctx context.Context, threshold int64) (err error) { __arg := SimpleFSSetNotificationThresholdArg{Threshold: threshold} - err = c.Cli.Call(ctx, "keybase.1.SimpleFS.simpleFSSetNotificationThreshold", []interface{}{__arg}, nil, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.SimpleFS.simpleFSSetNotificationThreshold", []any{__arg}, nil, 0*time.Millisecond) return } func (c SimpleFSClient) SimpleFSSetSfmiBannerDismissed(ctx context.Context, dismissed bool) (err error) { __arg := SimpleFSSetSfmiBannerDismissedArg{Dismissed: dismissed} - err = c.Cli.Call(ctx, "keybase.1.SimpleFS.simpleFSSetSfmiBannerDismissed", []interface{}{__arg}, nil, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.SimpleFS.simpleFSSetSfmiBannerDismissed", []any{__arg}, nil, 0*time.Millisecond) return } func (c SimpleFSClient) SimpleFSSetSyncOnCellular(ctx context.Context, syncOnCellular bool) (err error) { __arg := SimpleFSSetSyncOnCellularArg{SyncOnCellular: syncOnCellular} - err = c.Cli.Call(ctx, "keybase.1.SimpleFS.simpleFSSetSyncOnCellular", []interface{}{__arg}, nil, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.SimpleFS.simpleFSSetSyncOnCellular", []any{__arg}, nil, 0*time.Millisecond) return } func (c SimpleFSClient) SimpleFSObfuscatePath(ctx context.Context, path Path) (res string, err error) { __arg := SimpleFSObfuscatePathArg{Path: path} - err = c.Cli.Call(ctx, "keybase.1.SimpleFS.simpleFSObfuscatePath", []interface{}{__arg}, &res, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.SimpleFS.simpleFSObfuscatePath", []any{__arg}, &res, 0*time.Millisecond) return } func (c SimpleFSClient) SimpleFSDeobfuscatePath(ctx context.Context, path Path) (res []string, err error) { __arg := SimpleFSDeobfuscatePathArg{Path: path} - err = c.Cli.Call(ctx, "keybase.1.SimpleFS.simpleFSDeobfuscatePath", []interface{}{__arg}, &res, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.SimpleFS.simpleFSDeobfuscatePath", []any{__arg}, &res, 0*time.Millisecond) return } func (c SimpleFSClient) SimpleFSGetStats(ctx context.Context) (res SimpleFSStats, err error) { - err = c.Cli.Call(ctx, "keybase.1.SimpleFS.simpleFSGetStats", []interface{}{SimpleFSGetStatsArg{}}, &res, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.SimpleFS.simpleFSGetStats", []any{SimpleFSGetStatsArg{}}, &res, 0*time.Millisecond) return } func (c SimpleFSClient) SimpleFSSubscribePath(ctx context.Context, __arg SimpleFSSubscribePathArg) (err error) { - err = c.Cli.Call(ctx, "keybase.1.SimpleFS.simpleFSSubscribePath", []interface{}{__arg}, nil, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.SimpleFS.simpleFSSubscribePath", []any{__arg}, nil, 0*time.Millisecond) return } func (c SimpleFSClient) SimpleFSSubscribeNonPath(ctx context.Context, __arg SimpleFSSubscribeNonPathArg) (err error) { - err = c.Cli.Call(ctx, "keybase.1.SimpleFS.simpleFSSubscribeNonPath", []interface{}{__arg}, nil, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.SimpleFS.simpleFSSubscribeNonPath", []any{__arg}, nil, 0*time.Millisecond) return } func (c SimpleFSClient) SimpleFSUnsubscribe(ctx context.Context, __arg SimpleFSUnsubscribeArg) (err error) { - err = c.Cli.Call(ctx, "keybase.1.SimpleFS.simpleFSUnsubscribe", []interface{}{__arg}, nil, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.SimpleFS.simpleFSUnsubscribe", []any{__arg}, nil, 0*time.Millisecond) return } func (c SimpleFSClient) SimpleFSStartDownload(ctx context.Context, __arg SimpleFSStartDownloadArg) (res string, err error) { - err = c.Cli.Call(ctx, "keybase.1.SimpleFS.simpleFSStartDownload", []interface{}{__arg}, &res, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.SimpleFS.simpleFSStartDownload", []any{__arg}, &res, 0*time.Millisecond) return } func (c SimpleFSClient) SimpleFSGetDownloadInfo(ctx context.Context, downloadID string) (res DownloadInfo, err error) { __arg := SimpleFSGetDownloadInfoArg{DownloadID: downloadID} - err = c.Cli.Call(ctx, "keybase.1.SimpleFS.simpleFSGetDownloadInfo", []interface{}{__arg}, &res, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.SimpleFS.simpleFSGetDownloadInfo", []any{__arg}, &res, 0*time.Millisecond) return } func (c SimpleFSClient) SimpleFSGetDownloadStatus(ctx context.Context) (res DownloadStatus, err error) { - err = c.Cli.Call(ctx, "keybase.1.SimpleFS.simpleFSGetDownloadStatus", []interface{}{SimpleFSGetDownloadStatusArg{}}, &res, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.SimpleFS.simpleFSGetDownloadStatus", []any{SimpleFSGetDownloadStatusArg{}}, &res, 0*time.Millisecond) return } func (c SimpleFSClient) SimpleFSCancelDownload(ctx context.Context, downloadID string) (err error) { __arg := SimpleFSCancelDownloadArg{DownloadID: downloadID} - err = c.Cli.Call(ctx, "keybase.1.SimpleFS.simpleFSCancelDownload", []interface{}{__arg}, nil, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.SimpleFS.simpleFSCancelDownload", []any{__arg}, nil, 0*time.Millisecond) return } func (c SimpleFSClient) SimpleFSDismissDownload(ctx context.Context, downloadID string) (err error) { __arg := SimpleFSDismissDownloadArg{DownloadID: downloadID} - err = c.Cli.Call(ctx, "keybase.1.SimpleFS.simpleFSDismissDownload", []interface{}{__arg}, nil, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.SimpleFS.simpleFSDismissDownload", []any{__arg}, nil, 0*time.Millisecond) return } func (c SimpleFSClient) SimpleFSConfigureDownload(ctx context.Context, __arg SimpleFSConfigureDownloadArg) (err error) { - err = c.Cli.Call(ctx, "keybase.1.SimpleFS.simpleFSConfigureDownload", []interface{}{__arg}, nil, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.SimpleFS.simpleFSConfigureDownload", []any{__arg}, nil, 0*time.Millisecond) return } func (c SimpleFSClient) SimpleFSMakeTempDirForUpload(ctx context.Context) (res string, err error) { - err = c.Cli.Call(ctx, "keybase.1.SimpleFS.simpleFSMakeTempDirForUpload", []interface{}{SimpleFSMakeTempDirForUploadArg{}}, &res, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.SimpleFS.simpleFSMakeTempDirForUpload", []any{SimpleFSMakeTempDirForUploadArg{}}, &res, 0*time.Millisecond) return } func (c SimpleFSClient) SimpleFSStartUpload(ctx context.Context, __arg SimpleFSStartUploadArg) (res string, err error) { - err = c.Cli.Call(ctx, "keybase.1.SimpleFS.simpleFSStartUpload", []interface{}{__arg}, &res, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.SimpleFS.simpleFSStartUpload", []any{__arg}, &res, 0*time.Millisecond) return } func (c SimpleFSClient) SimpleFSGetUploadStatus(ctx context.Context) (res []UploadState, err error) { - err = c.Cli.Call(ctx, "keybase.1.SimpleFS.simpleFSGetUploadStatus", []interface{}{SimpleFSGetUploadStatusArg{}}, &res, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.SimpleFS.simpleFSGetUploadStatus", []any{SimpleFSGetUploadStatusArg{}}, &res, 0*time.Millisecond) return } func (c SimpleFSClient) SimpleFSCancelUpload(ctx context.Context, uploadID string) (err error) { __arg := SimpleFSCancelUploadArg{UploadID: uploadID} - err = c.Cli.Call(ctx, "keybase.1.SimpleFS.simpleFSCancelUpload", []interface{}{__arg}, nil, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.SimpleFS.simpleFSCancelUpload", []any{__arg}, nil, 0*time.Millisecond) return } func (c SimpleFSClient) SimpleFSDismissUpload(ctx context.Context, uploadID string) (err error) { __arg := SimpleFSDismissUploadArg{UploadID: uploadID} - err = c.Cli.Call(ctx, "keybase.1.SimpleFS.simpleFSDismissUpload", []interface{}{__arg}, nil, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.SimpleFS.simpleFSDismissUpload", []any{__arg}, nil, 0*time.Millisecond) return } func (c SimpleFSClient) SimpleFSGetFilesTabBadge(ctx context.Context) (res FilesTabBadge, err error) { - err = c.Cli.Call(ctx, "keybase.1.SimpleFS.simpleFSGetFilesTabBadge", []interface{}{SimpleFSGetFilesTabBadgeArg{}}, &res, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.SimpleFS.simpleFSGetFilesTabBadge", []any{SimpleFSGetFilesTabBadgeArg{}}, &res, 0*time.Millisecond) return } func (c SimpleFSClient) SimpleFSGetGUIFileContext(ctx context.Context, path KBFSPath) (res GUIFileContext, err error) { __arg := SimpleFSGetGUIFileContextArg{Path: path} - err = c.Cli.Call(ctx, "keybase.1.SimpleFS.simpleFSGetGUIFileContext", []interface{}{__arg}, &res, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.SimpleFS.simpleFSGetGUIFileContext", []any{__arg}, &res, 0*time.Millisecond) return } func (c SimpleFSClient) SimpleFSUserIn(ctx context.Context, clientID string) (err error) { __arg := SimpleFSUserInArg{ClientID: clientID} - err = c.Cli.Call(ctx, "keybase.1.SimpleFS.simpleFSUserIn", []interface{}{__arg}, nil, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.SimpleFS.simpleFSUserIn", []any{__arg}, nil, 0*time.Millisecond) return } func (c SimpleFSClient) SimpleFSUserOut(ctx context.Context, clientID string) (err error) { __arg := SimpleFSUserOutArg{ClientID: clientID} - err = c.Cli.Call(ctx, "keybase.1.SimpleFS.simpleFSUserOut", []interface{}{__arg}, nil, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.SimpleFS.simpleFSUserOut", []any{__arg}, nil, 0*time.Millisecond) return } func (c SimpleFSClient) SimpleFSSearch(ctx context.Context, __arg SimpleFSSearchArg) (res SimpleFSSearchResults, err error) { - err = c.Cli.Call(ctx, "keybase.1.SimpleFS.simpleFSSearch", []interface{}{__arg}, &res, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.SimpleFS.simpleFSSearch", []any{__arg}, &res, 0*time.Millisecond) return } func (c SimpleFSClient) SimpleFSResetIndex(ctx context.Context) (err error) { - err = c.Cli.Call(ctx, "keybase.1.SimpleFS.simpleFSResetIndex", []interface{}{SimpleFSResetIndexArg{}}, nil, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.SimpleFS.simpleFSResetIndex", []any{SimpleFSResetIndexArg{}}, nil, 0*time.Millisecond) return } func (c SimpleFSClient) SimpleFSGetIndexProgress(ctx context.Context) (res SimpleFSIndexProgress, err error) { - err = c.Cli.Call(ctx, "keybase.1.SimpleFS.simpleFSGetIndexProgress", []interface{}{SimpleFSGetIndexProgressArg{}}, &res, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.SimpleFS.simpleFSGetIndexProgress", []any{SimpleFSGetIndexProgressArg{}}, &res, 0*time.Millisecond) return } func (c SimpleFSClient) SimpleFSCancelJournalUploads(ctx context.Context, path KBFSPath) (err error) { __arg := SimpleFSCancelJournalUploadsArg{Path: path} - err = c.Cli.Call(ctx, "keybase.1.SimpleFS.simpleFSCancelJournalUploads", []interface{}{__arg}, nil, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.SimpleFS.simpleFSCancelJournalUploads", []any{__arg}, nil, 0*time.Millisecond) return } func (c SimpleFSClient) SimpleFSArchiveStart(ctx context.Context, __arg SimpleFSArchiveStartArg) (res SimpleFSArchiveJobDesc, err error) { - err = c.Cli.Call(ctx, "keybase.1.SimpleFS.simpleFSArchiveStart", []interface{}{__arg}, &res, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.SimpleFS.simpleFSArchiveStart", []any{__arg}, &res, 0*time.Millisecond) return } func (c SimpleFSClient) SimpleFSArchiveCancelOrDismissJob(ctx context.Context, jobID string) (err error) { __arg := SimpleFSArchiveCancelOrDismissJobArg{JobID: jobID} - err = c.Cli.Call(ctx, "keybase.1.SimpleFS.simpleFSArchiveCancelOrDismissJob", []interface{}{__arg}, nil, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.SimpleFS.simpleFSArchiveCancelOrDismissJob", []any{__arg}, nil, 0*time.Millisecond) return } func (c SimpleFSClient) SimpleFSGetArchiveStatus(ctx context.Context) (res SimpleFSArchiveStatus, err error) { - err = c.Cli.Call(ctx, "keybase.1.SimpleFS.simpleFSGetArchiveStatus", []interface{}{SimpleFSGetArchiveStatusArg{}}, &res, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.SimpleFS.simpleFSGetArchiveStatus", []any{SimpleFSGetArchiveStatusArg{}}, &res, 0*time.Millisecond) return } func (c SimpleFSClient) SimpleFSGetArchiveJobFreshness(ctx context.Context, jobID string) (res SimpleFSArchiveJobFreshness, err error) { __arg := SimpleFSGetArchiveJobFreshnessArg{JobID: jobID} - err = c.Cli.Call(ctx, "keybase.1.SimpleFS.simpleFSGetArchiveJobFreshness", []interface{}{__arg}, &res, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.SimpleFS.simpleFSGetArchiveJobFreshness", []any{__arg}, &res, 0*time.Millisecond) return } func (c SimpleFSClient) SimpleFSArchiveCheckArchive(ctx context.Context, archiveZipFilePath string) (res SimpleFSArchiveCheckArchiveResult, err error) { __arg := SimpleFSArchiveCheckArchiveArg{ArchiveZipFilePath: archiveZipFilePath} - err = c.Cli.Call(ctx, "keybase.1.SimpleFS.simpleFSArchiveCheckArchive", []interface{}{__arg}, &res, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.SimpleFS.simpleFSArchiveCheckArchive", []any{__arg}, &res, 0*time.Millisecond) return } func (c SimpleFSClient) SimpleFSArchiveAllFiles(ctx context.Context, __arg SimpleFSArchiveAllFilesArg) (res SimpleFSArchiveAllFilesResult, err error) { - err = c.Cli.Call(ctx, "keybase.1.SimpleFS.simpleFSArchiveAllFiles", []interface{}{__arg}, &res, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.SimpleFS.simpleFSArchiveAllFiles", []any{__arg}, &res, 0*time.Millisecond) return } func (c SimpleFSClient) SimpleFSArchiveAllGitRepos(ctx context.Context, __arg SimpleFSArchiveAllGitReposArg) (res SimpleFSArchiveAllGitReposResult, err error) { - err = c.Cli.Call(ctx, "keybase.1.SimpleFS.simpleFSArchiveAllGitRepos", []interface{}{__arg}, &res, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.SimpleFS.simpleFSArchiveAllGitRepos", []any{__arg}, &res, 0*time.Millisecond) return } diff --git a/go/protocol/keybase1/stream_ui.go b/go/protocol/keybase1/stream_ui.go index b5fd5db28872..232be1c31114 100644 --- a/go/protocol/keybase1/stream_ui.go +++ b/go/protocol/keybase1/stream_ui.go @@ -1,4 +1,4 @@ -// Auto-generated to Go types and interfaces using avdl-compiler v1.4.10 (https://github.com/keybase/node-avdl-compiler) +// Code generated to Go types and interfaces using avdl-compiler v1.4.10 (https://github.com/keybase/node-avdl-compiler). DO NOT EDIT. // Input file: avdl/keybase1/stream_ui.avdl package keybase1 @@ -44,11 +44,11 @@ func StreamUiProtocol(i StreamUiInterface) rpc.Protocol { Name: "keybase.1.streamUi", Methods: map[string]rpc.ServeHandlerDescription{ "close": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]CloseArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]CloseArg) if !ok { err = rpc.NewTypeError((*[1]CloseArg)(nil), args) @@ -59,11 +59,11 @@ func StreamUiProtocol(i StreamUiInterface) rpc.Protocol { }, }, "read": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]ReadArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]ReadArg) if !ok { err = rpc.NewTypeError((*[1]ReadArg)(nil), args) @@ -74,11 +74,11 @@ func StreamUiProtocol(i StreamUiInterface) rpc.Protocol { }, }, "reset": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]ResetArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]ResetArg) if !ok { err = rpc.NewTypeError((*[1]ResetArg)(nil), args) @@ -89,11 +89,11 @@ func StreamUiProtocol(i StreamUiInterface) rpc.Protocol { }, }, "write": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]WriteArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]WriteArg) if !ok { err = rpc.NewTypeError((*[1]WriteArg)(nil), args) @@ -112,21 +112,21 @@ type StreamUiClient struct { } func (c StreamUiClient) Close(ctx context.Context, __arg CloseArg) (err error) { - err = c.Cli.Call(ctx, "keybase.1.streamUi.close", []interface{}{__arg}, nil, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.streamUi.close", []any{__arg}, nil, 0*time.Millisecond) return } func (c StreamUiClient) Read(ctx context.Context, __arg ReadArg) (res []byte, err error) { - err = c.Cli.Call(ctx, "keybase.1.streamUi.read", []interface{}{__arg}, &res, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.streamUi.read", []any{__arg}, &res, 0*time.Millisecond) return } func (c StreamUiClient) Reset(ctx context.Context, __arg ResetArg) (err error) { - err = c.Cli.Call(ctx, "keybase.1.streamUi.reset", []interface{}{__arg}, nil, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.streamUi.reset", []any{__arg}, nil, 0*time.Millisecond) return } func (c StreamUiClient) Write(ctx context.Context, __arg WriteArg) (res int, err error) { - err = c.Cli.Call(ctx, "keybase.1.streamUi.write", []interface{}{__arg}, &res, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.streamUi.write", []any{__arg}, &res, 0*time.Millisecond) return } diff --git a/go/protocol/keybase1/teambot.go b/go/protocol/keybase1/teambot.go index 782f4d699f55..fe1968d49419 100644 --- a/go/protocol/keybase1/teambot.go +++ b/go/protocol/keybase1/teambot.go @@ -1,4 +1,4 @@ -// Auto-generated to Go types and interfaces using avdl-compiler v1.4.10 (https://github.com/keybase/node-avdl-compiler) +// Code generated to Go types and interfaces using avdl-compiler v1.4.10 (https://github.com/keybase/node-avdl-compiler). DO NOT EDIT. // Input file: avdl/keybase1/teambot.avdl package keybase1 @@ -55,7 +55,8 @@ func (o TeambotKey) DeepCopy() TeambotKey { } } -type TeambotInterface interface{} +type TeambotInterface interface { +} func TeambotProtocol(i TeambotInterface) rpc.Protocol { return rpc.Protocol{ diff --git a/go/protocol/keybase1/teams.go b/go/protocol/keybase1/teams.go index 8a84a35c22d1..e41a3e578bc1 100644 --- a/go/protocol/keybase1/teams.go +++ b/go/protocol/keybase1/teams.go @@ -1,4 +1,4 @@ -// Auto-generated to Go types and interfaces using avdl-compiler v1.4.10 (https://github.com/keybase/node-avdl-compiler) +// Code generated to Go types and interfaces using avdl-compiler v1.4.10 (https://github.com/keybase/node-avdl-compiler). DO NOT EDIT. // Input file: avdl/keybase1/teams.avdl package keybase1 @@ -4915,7 +4915,8 @@ type FtlArg struct { Arg FastTeamLoadArg `codec:"arg" json:"arg"` } -type GetTeamRoleMapArg struct{} +type GetTeamRoleMapArg struct { +} type GetAnnotatedTeamArg struct { TeamID TeamID `codec:"teamID" json:"teamID"` @@ -5030,11 +5031,11 @@ func TeamsProtocol(i TeamsInterface) rpc.Protocol { Name: "keybase.1.teams", Methods: map[string]rpc.ServeHandlerDescription{ "getUntrustedTeamInfo": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]GetUntrustedTeamInfoArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]GetUntrustedTeamInfoArg) if !ok { err = rpc.NewTypeError((*[1]GetUntrustedTeamInfoArg)(nil), args) @@ -5045,11 +5046,11 @@ func TeamsProtocol(i TeamsInterface) rpc.Protocol { }, }, "teamCreate": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]TeamCreateArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]TeamCreateArg) if !ok { err = rpc.NewTypeError((*[1]TeamCreateArg)(nil), args) @@ -5060,11 +5061,11 @@ func TeamsProtocol(i TeamsInterface) rpc.Protocol { }, }, "teamCreateWithSettings": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]TeamCreateWithSettingsArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]TeamCreateWithSettingsArg) if !ok { err = rpc.NewTypeError((*[1]TeamCreateWithSettingsArg)(nil), args) @@ -5075,11 +5076,11 @@ func TeamsProtocol(i TeamsInterface) rpc.Protocol { }, }, "teamCreateFancy": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]TeamCreateFancyArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]TeamCreateFancyArg) if !ok { err = rpc.NewTypeError((*[1]TeamCreateFancyArg)(nil), args) @@ -5090,11 +5091,11 @@ func TeamsProtocol(i TeamsInterface) rpc.Protocol { }, }, "teamGetByID": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]TeamGetByIDArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]TeamGetByIDArg) if !ok { err = rpc.NewTypeError((*[1]TeamGetByIDArg)(nil), args) @@ -5105,11 +5106,11 @@ func TeamsProtocol(i TeamsInterface) rpc.Protocol { }, }, "teamGet": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]TeamGetArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]TeamGetArg) if !ok { err = rpc.NewTypeError((*[1]TeamGetArg)(nil), args) @@ -5120,11 +5121,11 @@ func TeamsProtocol(i TeamsInterface) rpc.Protocol { }, }, "teamGetMembersByID": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]TeamGetMembersByIDArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]TeamGetMembersByIDArg) if !ok { err = rpc.NewTypeError((*[1]TeamGetMembersByIDArg)(nil), args) @@ -5135,11 +5136,11 @@ func TeamsProtocol(i TeamsInterface) rpc.Protocol { }, }, "teamListUnverified": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]TeamListUnverifiedArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]TeamListUnverifiedArg) if !ok { err = rpc.NewTypeError((*[1]TeamListUnverifiedArg)(nil), args) @@ -5150,11 +5151,11 @@ func TeamsProtocol(i TeamsInterface) rpc.Protocol { }, }, "teamListTeammates": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]TeamListTeammatesArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]TeamListTeammatesArg) if !ok { err = rpc.NewTypeError((*[1]TeamListTeammatesArg)(nil), args) @@ -5165,11 +5166,11 @@ func TeamsProtocol(i TeamsInterface) rpc.Protocol { }, }, "teamListVerified": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]TeamListVerifiedArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]TeamListVerifiedArg) if !ok { err = rpc.NewTypeError((*[1]TeamListVerifiedArg)(nil), args) @@ -5180,11 +5181,11 @@ func TeamsProtocol(i TeamsInterface) rpc.Protocol { }, }, "teamListSubteamsRecursive": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]TeamListSubteamsRecursiveArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]TeamListSubteamsRecursiveArg) if !ok { err = rpc.NewTypeError((*[1]TeamListSubteamsRecursiveArg)(nil), args) @@ -5195,11 +5196,11 @@ func TeamsProtocol(i TeamsInterface) rpc.Protocol { }, }, "teamAddMember": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]TeamAddMemberArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]TeamAddMemberArg) if !ok { err = rpc.NewTypeError((*[1]TeamAddMemberArg)(nil), args) @@ -5210,11 +5211,11 @@ func TeamsProtocol(i TeamsInterface) rpc.Protocol { }, }, "teamAddMembers": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]TeamAddMembersArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]TeamAddMembersArg) if !ok { err = rpc.NewTypeError((*[1]TeamAddMembersArg)(nil), args) @@ -5225,11 +5226,11 @@ func TeamsProtocol(i TeamsInterface) rpc.Protocol { }, }, "teamAddMembersMultiRole": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]TeamAddMembersMultiRoleArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]TeamAddMembersMultiRoleArg) if !ok { err = rpc.NewTypeError((*[1]TeamAddMembersMultiRoleArg)(nil), args) @@ -5240,11 +5241,11 @@ func TeamsProtocol(i TeamsInterface) rpc.Protocol { }, }, "teamRemoveMember": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]TeamRemoveMemberArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]TeamRemoveMemberArg) if !ok { err = rpc.NewTypeError((*[1]TeamRemoveMemberArg)(nil), args) @@ -5255,11 +5256,11 @@ func TeamsProtocol(i TeamsInterface) rpc.Protocol { }, }, "teamRemoveMembers": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]TeamRemoveMembersArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]TeamRemoveMembersArg) if !ok { err = rpc.NewTypeError((*[1]TeamRemoveMembersArg)(nil), args) @@ -5270,11 +5271,11 @@ func TeamsProtocol(i TeamsInterface) rpc.Protocol { }, }, "teamLeave": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]TeamLeaveArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]TeamLeaveArg) if !ok { err = rpc.NewTypeError((*[1]TeamLeaveArg)(nil), args) @@ -5285,11 +5286,11 @@ func TeamsProtocol(i TeamsInterface) rpc.Protocol { }, }, "teamEditMember": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]TeamEditMemberArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]TeamEditMemberArg) if !ok { err = rpc.NewTypeError((*[1]TeamEditMemberArg)(nil), args) @@ -5300,11 +5301,11 @@ func TeamsProtocol(i TeamsInterface) rpc.Protocol { }, }, "teamEditMembers": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]TeamEditMembersArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]TeamEditMembersArg) if !ok { err = rpc.NewTypeError((*[1]TeamEditMembersArg)(nil), args) @@ -5315,11 +5316,11 @@ func TeamsProtocol(i TeamsInterface) rpc.Protocol { }, }, "teamGetBotSettings": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]TeamGetBotSettingsArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]TeamGetBotSettingsArg) if !ok { err = rpc.NewTypeError((*[1]TeamGetBotSettingsArg)(nil), args) @@ -5330,11 +5331,11 @@ func TeamsProtocol(i TeamsInterface) rpc.Protocol { }, }, "teamSetBotSettings": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]TeamSetBotSettingsArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]TeamSetBotSettingsArg) if !ok { err = rpc.NewTypeError((*[1]TeamSetBotSettingsArg)(nil), args) @@ -5345,11 +5346,11 @@ func TeamsProtocol(i TeamsInterface) rpc.Protocol { }, }, "untrustedTeamExists": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]UntrustedTeamExistsArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]UntrustedTeamExistsArg) if !ok { err = rpc.NewTypeError((*[1]UntrustedTeamExistsArg)(nil), args) @@ -5360,11 +5361,11 @@ func TeamsProtocol(i TeamsInterface) rpc.Protocol { }, }, "teamRename": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]TeamRenameArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]TeamRenameArg) if !ok { err = rpc.NewTypeError((*[1]TeamRenameArg)(nil), args) @@ -5375,11 +5376,11 @@ func TeamsProtocol(i TeamsInterface) rpc.Protocol { }, }, "teamAcceptInvite": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]TeamAcceptInviteArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]TeamAcceptInviteArg) if !ok { err = rpc.NewTypeError((*[1]TeamAcceptInviteArg)(nil), args) @@ -5390,11 +5391,11 @@ func TeamsProtocol(i TeamsInterface) rpc.Protocol { }, }, "teamRequestAccess": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]TeamRequestAccessArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]TeamRequestAccessArg) if !ok { err = rpc.NewTypeError((*[1]TeamRequestAccessArg)(nil), args) @@ -5405,11 +5406,11 @@ func TeamsProtocol(i TeamsInterface) rpc.Protocol { }, }, "teamAcceptInviteOrRequestAccess": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]TeamAcceptInviteOrRequestAccessArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]TeamAcceptInviteOrRequestAccessArg) if !ok { err = rpc.NewTypeError((*[1]TeamAcceptInviteOrRequestAccessArg)(nil), args) @@ -5420,11 +5421,11 @@ func TeamsProtocol(i TeamsInterface) rpc.Protocol { }, }, "teamListRequests": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]TeamListRequestsArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]TeamListRequestsArg) if !ok { err = rpc.NewTypeError((*[1]TeamListRequestsArg)(nil), args) @@ -5435,11 +5436,11 @@ func TeamsProtocol(i TeamsInterface) rpc.Protocol { }, }, "teamListMyAccessRequests": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]TeamListMyAccessRequestsArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]TeamListMyAccessRequestsArg) if !ok { err = rpc.NewTypeError((*[1]TeamListMyAccessRequestsArg)(nil), args) @@ -5450,11 +5451,11 @@ func TeamsProtocol(i TeamsInterface) rpc.Protocol { }, }, "teamIgnoreRequest": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]TeamIgnoreRequestArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]TeamIgnoreRequestArg) if !ok { err = rpc.NewTypeError((*[1]TeamIgnoreRequestArg)(nil), args) @@ -5465,11 +5466,11 @@ func TeamsProtocol(i TeamsInterface) rpc.Protocol { }, }, "teamTreeUnverified": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]TeamTreeUnverifiedArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]TeamTreeUnverifiedArg) if !ok { err = rpc.NewTypeError((*[1]TeamTreeUnverifiedArg)(nil), args) @@ -5480,11 +5481,11 @@ func TeamsProtocol(i TeamsInterface) rpc.Protocol { }, }, "teamGetSubteamsUnverified": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]TeamGetSubteamsUnverifiedArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]TeamGetSubteamsUnverifiedArg) if !ok { err = rpc.NewTypeError((*[1]TeamGetSubteamsUnverifiedArg)(nil), args) @@ -5495,11 +5496,11 @@ func TeamsProtocol(i TeamsInterface) rpc.Protocol { }, }, "teamDelete": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]TeamDeleteArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]TeamDeleteArg) if !ok { err = rpc.NewTypeError((*[1]TeamDeleteArg)(nil), args) @@ -5510,11 +5511,11 @@ func TeamsProtocol(i TeamsInterface) rpc.Protocol { }, }, "teamSetSettings": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]TeamSetSettingsArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]TeamSetSettingsArg) if !ok { err = rpc.NewTypeError((*[1]TeamSetSettingsArg)(nil), args) @@ -5525,11 +5526,11 @@ func TeamsProtocol(i TeamsInterface) rpc.Protocol { }, }, "teamCreateSeitanToken": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]TeamCreateSeitanTokenArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]TeamCreateSeitanTokenArg) if !ok { err = rpc.NewTypeError((*[1]TeamCreateSeitanTokenArg)(nil), args) @@ -5540,11 +5541,11 @@ func TeamsProtocol(i TeamsInterface) rpc.Protocol { }, }, "teamCreateSeitanTokenV2": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]TeamCreateSeitanTokenV2Arg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]TeamCreateSeitanTokenV2Arg) if !ok { err = rpc.NewTypeError((*[1]TeamCreateSeitanTokenV2Arg)(nil), args) @@ -5555,11 +5556,11 @@ func TeamsProtocol(i TeamsInterface) rpc.Protocol { }, }, "teamCreateSeitanInvitelink": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]TeamCreateSeitanInvitelinkArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]TeamCreateSeitanInvitelinkArg) if !ok { err = rpc.NewTypeError((*[1]TeamCreateSeitanInvitelinkArg)(nil), args) @@ -5570,11 +5571,11 @@ func TeamsProtocol(i TeamsInterface) rpc.Protocol { }, }, "teamCreateSeitanInvitelinkWithDuration": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]TeamCreateSeitanInvitelinkWithDurationArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]TeamCreateSeitanInvitelinkWithDurationArg) if !ok { err = rpc.NewTypeError((*[1]TeamCreateSeitanInvitelinkWithDurationArg)(nil), args) @@ -5585,11 +5586,11 @@ func TeamsProtocol(i TeamsInterface) rpc.Protocol { }, }, "getInviteLinkDetails": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]GetInviteLinkDetailsArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]GetInviteLinkDetailsArg) if !ok { err = rpc.NewTypeError((*[1]GetInviteLinkDetailsArg)(nil), args) @@ -5600,11 +5601,11 @@ func TeamsProtocol(i TeamsInterface) rpc.Protocol { }, }, "teamAddEmailsBulk": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]TeamAddEmailsBulkArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]TeamAddEmailsBulkArg) if !ok { err = rpc.NewTypeError((*[1]TeamAddEmailsBulkArg)(nil), args) @@ -5615,11 +5616,11 @@ func TeamsProtocol(i TeamsInterface) rpc.Protocol { }, }, "lookupImplicitTeam": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]LookupImplicitTeamArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]LookupImplicitTeamArg) if !ok { err = rpc.NewTypeError((*[1]LookupImplicitTeamArg)(nil), args) @@ -5630,11 +5631,11 @@ func TeamsProtocol(i TeamsInterface) rpc.Protocol { }, }, "lookupOrCreateImplicitTeam": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]LookupOrCreateImplicitTeamArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]LookupOrCreateImplicitTeamArg) if !ok { err = rpc.NewTypeError((*[1]LookupOrCreateImplicitTeamArg)(nil), args) @@ -5645,11 +5646,11 @@ func TeamsProtocol(i TeamsInterface) rpc.Protocol { }, }, "teamReAddMemberAfterReset": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]TeamReAddMemberAfterResetArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]TeamReAddMemberAfterResetArg) if !ok { err = rpc.NewTypeError((*[1]TeamReAddMemberAfterResetArg)(nil), args) @@ -5660,11 +5661,11 @@ func TeamsProtocol(i TeamsInterface) rpc.Protocol { }, }, "loadTeamPlusApplicationKeys": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]LoadTeamPlusApplicationKeysArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]LoadTeamPlusApplicationKeysArg) if !ok { err = rpc.NewTypeError((*[1]LoadTeamPlusApplicationKeysArg)(nil), args) @@ -5675,11 +5676,11 @@ func TeamsProtocol(i TeamsInterface) rpc.Protocol { }, }, "getTeamRootID": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]GetTeamRootIDArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]GetTeamRootIDArg) if !ok { err = rpc.NewTypeError((*[1]GetTeamRootIDArg)(nil), args) @@ -5690,11 +5691,11 @@ func TeamsProtocol(i TeamsInterface) rpc.Protocol { }, }, "getTeamShowcase": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]GetTeamShowcaseArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]GetTeamShowcaseArg) if !ok { err = rpc.NewTypeError((*[1]GetTeamShowcaseArg)(nil), args) @@ -5705,11 +5706,11 @@ func TeamsProtocol(i TeamsInterface) rpc.Protocol { }, }, "getTeamAndMemberShowcase": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]GetTeamAndMemberShowcaseArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]GetTeamAndMemberShowcaseArg) if !ok { err = rpc.NewTypeError((*[1]GetTeamAndMemberShowcaseArg)(nil), args) @@ -5720,11 +5721,11 @@ func TeamsProtocol(i TeamsInterface) rpc.Protocol { }, }, "setTeamShowcase": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]SetTeamShowcaseArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]SetTeamShowcaseArg) if !ok { err = rpc.NewTypeError((*[1]SetTeamShowcaseArg)(nil), args) @@ -5735,11 +5736,11 @@ func TeamsProtocol(i TeamsInterface) rpc.Protocol { }, }, "setTeamMemberShowcase": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]SetTeamMemberShowcaseArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]SetTeamMemberShowcaseArg) if !ok { err = rpc.NewTypeError((*[1]SetTeamMemberShowcaseArg)(nil), args) @@ -5750,11 +5751,11 @@ func TeamsProtocol(i TeamsInterface) rpc.Protocol { }, }, "canUserPerform": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]CanUserPerformArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]CanUserPerformArg) if !ok { err = rpc.NewTypeError((*[1]CanUserPerformArg)(nil), args) @@ -5765,11 +5766,11 @@ func TeamsProtocol(i TeamsInterface) rpc.Protocol { }, }, "teamRotateKey": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]TeamRotateKeyArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]TeamRotateKeyArg) if !ok { err = rpc.NewTypeError((*[1]TeamRotateKeyArg)(nil), args) @@ -5780,11 +5781,11 @@ func TeamsProtocol(i TeamsInterface) rpc.Protocol { }, }, "teamDebug": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]TeamDebugArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]TeamDebugArg) if !ok { err = rpc.NewTypeError((*[1]TeamDebugArg)(nil), args) @@ -5795,11 +5796,11 @@ func TeamsProtocol(i TeamsInterface) rpc.Protocol { }, }, "getTarsDisabled": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]GetTarsDisabledArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]GetTarsDisabledArg) if !ok { err = rpc.NewTypeError((*[1]GetTarsDisabledArg)(nil), args) @@ -5810,11 +5811,11 @@ func TeamsProtocol(i TeamsInterface) rpc.Protocol { }, }, "setTarsDisabled": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]SetTarsDisabledArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]SetTarsDisabledArg) if !ok { err = rpc.NewTypeError((*[1]SetTarsDisabledArg)(nil), args) @@ -5825,11 +5826,11 @@ func TeamsProtocol(i TeamsInterface) rpc.Protocol { }, }, "teamProfileAddList": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]TeamProfileAddListArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]TeamProfileAddListArg) if !ok { err = rpc.NewTypeError((*[1]TeamProfileAddListArg)(nil), args) @@ -5840,11 +5841,11 @@ func TeamsProtocol(i TeamsInterface) rpc.Protocol { }, }, "uploadTeamAvatar": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]UploadTeamAvatarArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]UploadTeamAvatarArg) if !ok { err = rpc.NewTypeError((*[1]UploadTeamAvatarArg)(nil), args) @@ -5855,11 +5856,11 @@ func TeamsProtocol(i TeamsInterface) rpc.Protocol { }, }, "tryDecryptWithTeamKey": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]TryDecryptWithTeamKeyArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]TryDecryptWithTeamKeyArg) if !ok { err = rpc.NewTypeError((*[1]TryDecryptWithTeamKeyArg)(nil), args) @@ -5870,11 +5871,11 @@ func TeamsProtocol(i TeamsInterface) rpc.Protocol { }, }, "findNextMerkleRootAfterTeamRemoval": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]FindNextMerkleRootAfterTeamRemovalArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]FindNextMerkleRootAfterTeamRemovalArg) if !ok { err = rpc.NewTypeError((*[1]FindNextMerkleRootAfterTeamRemovalArg)(nil), args) @@ -5885,11 +5886,11 @@ func TeamsProtocol(i TeamsInterface) rpc.Protocol { }, }, "findNextMerkleRootAfterTeamRemovalBySigningKey": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]FindNextMerkleRootAfterTeamRemovalBySigningKeyArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]FindNextMerkleRootAfterTeamRemovalBySigningKeyArg) if !ok { err = rpc.NewTypeError((*[1]FindNextMerkleRootAfterTeamRemovalBySigningKeyArg)(nil), args) @@ -5900,11 +5901,11 @@ func TeamsProtocol(i TeamsInterface) rpc.Protocol { }, }, "profileTeamLoad": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]ProfileTeamLoadArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]ProfileTeamLoadArg) if !ok { err = rpc.NewTypeError((*[1]ProfileTeamLoadArg)(nil), args) @@ -5915,11 +5916,11 @@ func TeamsProtocol(i TeamsInterface) rpc.Protocol { }, }, "getTeamID": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]GetTeamIDArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]GetTeamIDArg) if !ok { err = rpc.NewTypeError((*[1]GetTeamIDArg)(nil), args) @@ -5930,11 +5931,11 @@ func TeamsProtocol(i TeamsInterface) rpc.Protocol { }, }, "getTeamName": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]GetTeamNameArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]GetTeamNameArg) if !ok { err = rpc.NewTypeError((*[1]GetTeamNameArg)(nil), args) @@ -5945,11 +5946,11 @@ func TeamsProtocol(i TeamsInterface) rpc.Protocol { }, }, "ftl": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]FtlArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]FtlArg) if !ok { err = rpc.NewTypeError((*[1]FtlArg)(nil), args) @@ -5960,21 +5961,21 @@ func TeamsProtocol(i TeamsInterface) rpc.Protocol { }, }, "getTeamRoleMap": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]GetTeamRoleMapArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { ret, err = i.GetTeamRoleMap(ctx) return }, }, "getAnnotatedTeam": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]GetAnnotatedTeamArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]GetAnnotatedTeamArg) if !ok { err = rpc.NewTypeError((*[1]GetAnnotatedTeamArg)(nil), args) @@ -5985,11 +5986,11 @@ func TeamsProtocol(i TeamsInterface) rpc.Protocol { }, }, "getAnnotatedTeamByName": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]GetAnnotatedTeamByNameArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]GetAnnotatedTeamByNameArg) if !ok { err = rpc.NewTypeError((*[1]GetAnnotatedTeamByNameArg)(nil), args) @@ -6000,11 +6001,11 @@ func TeamsProtocol(i TeamsInterface) rpc.Protocol { }, }, "loadTeamTreeMembershipsAsync": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]LoadTeamTreeMembershipsAsyncArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]LoadTeamTreeMembershipsAsyncArg) if !ok { err = rpc.NewTypeError((*[1]LoadTeamTreeMembershipsAsyncArg)(nil), args) @@ -6015,11 +6016,11 @@ func TeamsProtocol(i TeamsInterface) rpc.Protocol { }, }, "findAssertionsInTeamNoResolve": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]FindAssertionsInTeamNoResolveArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]FindAssertionsInTeamNoResolveArg) if !ok { err = rpc.NewTypeError((*[1]FindAssertionsInTeamNoResolveArg)(nil), args) @@ -6039,214 +6040,214 @@ type TeamsClient struct { func (c TeamsClient) GetUntrustedTeamInfo(ctx context.Context, teamName TeamName) (res UntrustedTeamInfo, err error) { __arg := GetUntrustedTeamInfoArg{TeamName: teamName} - err = c.Cli.Call(ctx, "keybase.1.teams.getUntrustedTeamInfo", []interface{}{__arg}, &res, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.teams.getUntrustedTeamInfo", []any{__arg}, &res, 0*time.Millisecond) return } func (c TeamsClient) TeamCreate(ctx context.Context, __arg TeamCreateArg) (res TeamCreateResult, err error) { - err = c.Cli.Call(ctx, "keybase.1.teams.teamCreate", []interface{}{__arg}, &res, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.teams.teamCreate", []any{__arg}, &res, 0*time.Millisecond) return } func (c TeamsClient) TeamCreateWithSettings(ctx context.Context, __arg TeamCreateWithSettingsArg) (res TeamCreateResult, err error) { - err = c.Cli.Call(ctx, "keybase.1.teams.teamCreateWithSettings", []interface{}{__arg}, &res, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.teams.teamCreateWithSettings", []any{__arg}, &res, 0*time.Millisecond) return } func (c TeamsClient) TeamCreateFancy(ctx context.Context, __arg TeamCreateFancyArg) (res TeamID, err error) { - err = c.Cli.Call(ctx, "keybase.1.teams.teamCreateFancy", []interface{}{__arg}, &res, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.teams.teamCreateFancy", []any{__arg}, &res, 0*time.Millisecond) return } func (c TeamsClient) TeamGetByID(ctx context.Context, __arg TeamGetByIDArg) (res TeamDetails, err error) { - err = c.Cli.Call(ctx, "keybase.1.teams.teamGetByID", []interface{}{__arg}, &res, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.teams.teamGetByID", []any{__arg}, &res, 0*time.Millisecond) return } func (c TeamsClient) TeamGet(ctx context.Context, __arg TeamGetArg) (res TeamDetails, err error) { - err = c.Cli.Call(ctx, "keybase.1.teams.teamGet", []interface{}{__arg}, &res, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.teams.teamGet", []any{__arg}, &res, 0*time.Millisecond) return } func (c TeamsClient) TeamGetMembersByID(ctx context.Context, __arg TeamGetMembersByIDArg) (res []TeamMemberDetails, err error) { - err = c.Cli.Call(ctx, "keybase.1.teams.teamGetMembersByID", []interface{}{__arg}, &res, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.teams.teamGetMembersByID", []any{__arg}, &res, 0*time.Millisecond) return } func (c TeamsClient) TeamListUnverified(ctx context.Context, __arg TeamListUnverifiedArg) (res AnnotatedTeamList, err error) { - err = c.Cli.Call(ctx, "keybase.1.teams.teamListUnverified", []interface{}{__arg}, &res, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.teams.teamListUnverified", []any{__arg}, &res, 0*time.Millisecond) return } func (c TeamsClient) TeamListTeammates(ctx context.Context, __arg TeamListTeammatesArg) (res AnnotatedTeamList, err error) { - err = c.Cli.Call(ctx, "keybase.1.teams.teamListTeammates", []interface{}{__arg}, &res, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.teams.teamListTeammates", []any{__arg}, &res, 0*time.Millisecond) return } func (c TeamsClient) TeamListVerified(ctx context.Context, __arg TeamListVerifiedArg) (res AnnotatedTeamList, err error) { - err = c.Cli.Call(ctx, "keybase.1.teams.teamListVerified", []interface{}{__arg}, &res, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.teams.teamListVerified", []any{__arg}, &res, 0*time.Millisecond) return } func (c TeamsClient) TeamListSubteamsRecursive(ctx context.Context, __arg TeamListSubteamsRecursiveArg) (res []TeamIDAndName, err error) { - err = c.Cli.Call(ctx, "keybase.1.teams.teamListSubteamsRecursive", []interface{}{__arg}, &res, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.teams.teamListSubteamsRecursive", []any{__arg}, &res, 0*time.Millisecond) return } func (c TeamsClient) TeamAddMember(ctx context.Context, __arg TeamAddMemberArg) (res TeamAddMemberResult, err error) { - err = c.Cli.Call(ctx, "keybase.1.teams.teamAddMember", []interface{}{__arg}, &res, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.teams.teamAddMember", []any{__arg}, &res, 0*time.Millisecond) return } func (c TeamsClient) TeamAddMembers(ctx context.Context, __arg TeamAddMembersArg) (res TeamAddMembersResult, err error) { - err = c.Cli.Call(ctx, "keybase.1.teams.teamAddMembers", []interface{}{__arg}, &res, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.teams.teamAddMembers", []any{__arg}, &res, 0*time.Millisecond) return } func (c TeamsClient) TeamAddMembersMultiRole(ctx context.Context, __arg TeamAddMembersMultiRoleArg) (res TeamAddMembersResult, err error) { - err = c.Cli.Call(ctx, "keybase.1.teams.teamAddMembersMultiRole", []interface{}{__arg}, &res, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.teams.teamAddMembersMultiRole", []any{__arg}, &res, 0*time.Millisecond) return } func (c TeamsClient) TeamRemoveMember(ctx context.Context, __arg TeamRemoveMemberArg) (err error) { - err = c.Cli.Call(ctx, "keybase.1.teams.teamRemoveMember", []interface{}{__arg}, nil, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.teams.teamRemoveMember", []any{__arg}, nil, 0*time.Millisecond) return } func (c TeamsClient) TeamRemoveMembers(ctx context.Context, __arg TeamRemoveMembersArg) (res TeamRemoveMembersResult, err error) { - err = c.Cli.Call(ctx, "keybase.1.teams.teamRemoveMembers", []interface{}{__arg}, &res, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.teams.teamRemoveMembers", []any{__arg}, &res, 0*time.Millisecond) return } func (c TeamsClient) TeamLeave(ctx context.Context, __arg TeamLeaveArg) (err error) { - err = c.Cli.Call(ctx, "keybase.1.teams.teamLeave", []interface{}{__arg}, nil, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.teams.teamLeave", []any{__arg}, nil, 0*time.Millisecond) return } func (c TeamsClient) TeamEditMember(ctx context.Context, __arg TeamEditMemberArg) (err error) { - err = c.Cli.Call(ctx, "keybase.1.teams.teamEditMember", []interface{}{__arg}, nil, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.teams.teamEditMember", []any{__arg}, nil, 0*time.Millisecond) return } func (c TeamsClient) TeamEditMembers(ctx context.Context, __arg TeamEditMembersArg) (res TeamEditMembersResult, err error) { - err = c.Cli.Call(ctx, "keybase.1.teams.teamEditMembers", []interface{}{__arg}, &res, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.teams.teamEditMembers", []any{__arg}, &res, 0*time.Millisecond) return } func (c TeamsClient) TeamGetBotSettings(ctx context.Context, __arg TeamGetBotSettingsArg) (res TeamBotSettings, err error) { - err = c.Cli.Call(ctx, "keybase.1.teams.teamGetBotSettings", []interface{}{__arg}, &res, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.teams.teamGetBotSettings", []any{__arg}, &res, 0*time.Millisecond) return } func (c TeamsClient) TeamSetBotSettings(ctx context.Context, __arg TeamSetBotSettingsArg) (err error) { - err = c.Cli.Call(ctx, "keybase.1.teams.teamSetBotSettings", []interface{}{__arg}, nil, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.teams.teamSetBotSettings", []any{__arg}, nil, 0*time.Millisecond) return } func (c TeamsClient) UntrustedTeamExists(ctx context.Context, teamName TeamName) (res UntrustedTeamExistsResult, err error) { __arg := UntrustedTeamExistsArg{TeamName: teamName} - err = c.Cli.Call(ctx, "keybase.1.teams.untrustedTeamExists", []interface{}{__arg}, &res, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.teams.untrustedTeamExists", []any{__arg}, &res, 0*time.Millisecond) return } func (c TeamsClient) TeamRename(ctx context.Context, __arg TeamRenameArg) (err error) { - err = c.Cli.Call(ctx, "keybase.1.teams.teamRename", []interface{}{__arg}, nil, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.teams.teamRename", []any{__arg}, nil, 0*time.Millisecond) return } func (c TeamsClient) TeamAcceptInvite(ctx context.Context, __arg TeamAcceptInviteArg) (err error) { - err = c.Cli.Call(ctx, "keybase.1.teams.teamAcceptInvite", []interface{}{__arg}, nil, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.teams.teamAcceptInvite", []any{__arg}, nil, 0*time.Millisecond) return } func (c TeamsClient) TeamRequestAccess(ctx context.Context, __arg TeamRequestAccessArg) (res TeamRequestAccessResult, err error) { - err = c.Cli.Call(ctx, "keybase.1.teams.teamRequestAccess", []interface{}{__arg}, &res, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.teams.teamRequestAccess", []any{__arg}, &res, 0*time.Millisecond) return } func (c TeamsClient) TeamAcceptInviteOrRequestAccess(ctx context.Context, __arg TeamAcceptInviteOrRequestAccessArg) (res TeamAcceptOrRequestResult, err error) { - err = c.Cli.Call(ctx, "keybase.1.teams.teamAcceptInviteOrRequestAccess", []interface{}{__arg}, &res, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.teams.teamAcceptInviteOrRequestAccess", []any{__arg}, &res, 0*time.Millisecond) return } func (c TeamsClient) TeamListRequests(ctx context.Context, __arg TeamListRequestsArg) (res []TeamJoinRequest, err error) { - err = c.Cli.Call(ctx, "keybase.1.teams.teamListRequests", []interface{}{__arg}, &res, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.teams.teamListRequests", []any{__arg}, &res, 0*time.Millisecond) return } func (c TeamsClient) TeamListMyAccessRequests(ctx context.Context, __arg TeamListMyAccessRequestsArg) (res []TeamName, err error) { - err = c.Cli.Call(ctx, "keybase.1.teams.teamListMyAccessRequests", []interface{}{__arg}, &res, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.teams.teamListMyAccessRequests", []any{__arg}, &res, 0*time.Millisecond) return } func (c TeamsClient) TeamIgnoreRequest(ctx context.Context, __arg TeamIgnoreRequestArg) (err error) { - err = c.Cli.Call(ctx, "keybase.1.teams.teamIgnoreRequest", []interface{}{__arg}, nil, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.teams.teamIgnoreRequest", []any{__arg}, nil, 0*time.Millisecond) return } func (c TeamsClient) TeamTreeUnverified(ctx context.Context, __arg TeamTreeUnverifiedArg) (res TeamTreeResult, err error) { - err = c.Cli.Call(ctx, "keybase.1.teams.teamTreeUnverified", []interface{}{__arg}, &res, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.teams.teamTreeUnverified", []any{__arg}, &res, 0*time.Millisecond) return } func (c TeamsClient) TeamGetSubteamsUnverified(ctx context.Context, __arg TeamGetSubteamsUnverifiedArg) (res SubteamListResult, err error) { - err = c.Cli.Call(ctx, "keybase.1.teams.teamGetSubteamsUnverified", []interface{}{__arg}, &res, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.teams.teamGetSubteamsUnverified", []any{__arg}, &res, 0*time.Millisecond) return } func (c TeamsClient) TeamDelete(ctx context.Context, __arg TeamDeleteArg) (err error) { - err = c.Cli.Call(ctx, "keybase.1.teams.teamDelete", []interface{}{__arg}, nil, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.teams.teamDelete", []any{__arg}, nil, 0*time.Millisecond) return } func (c TeamsClient) TeamSetSettings(ctx context.Context, __arg TeamSetSettingsArg) (err error) { - err = c.Cli.Call(ctx, "keybase.1.teams.teamSetSettings", []interface{}{__arg}, nil, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.teams.teamSetSettings", []any{__arg}, nil, 0*time.Millisecond) return } func (c TeamsClient) TeamCreateSeitanToken(ctx context.Context, __arg TeamCreateSeitanTokenArg) (res SeitanIKey, err error) { - err = c.Cli.Call(ctx, "keybase.1.teams.teamCreateSeitanToken", []interface{}{__arg}, &res, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.teams.teamCreateSeitanToken", []any{__arg}, &res, 0*time.Millisecond) return } func (c TeamsClient) TeamCreateSeitanTokenV2(ctx context.Context, __arg TeamCreateSeitanTokenV2Arg) (res SeitanIKeyV2, err error) { - err = c.Cli.Call(ctx, "keybase.1.teams.teamCreateSeitanTokenV2", []interface{}{__arg}, &res, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.teams.teamCreateSeitanTokenV2", []any{__arg}, &res, 0*time.Millisecond) return } func (c TeamsClient) TeamCreateSeitanInvitelink(ctx context.Context, __arg TeamCreateSeitanInvitelinkArg) (res Invitelink, err error) { - err = c.Cli.Call(ctx, "keybase.1.teams.teamCreateSeitanInvitelink", []interface{}{__arg}, &res, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.teams.teamCreateSeitanInvitelink", []any{__arg}, &res, 0*time.Millisecond) return } func (c TeamsClient) TeamCreateSeitanInvitelinkWithDuration(ctx context.Context, __arg TeamCreateSeitanInvitelinkWithDurationArg) (res Invitelink, err error) { - err = c.Cli.Call(ctx, "keybase.1.teams.teamCreateSeitanInvitelinkWithDuration", []interface{}{__arg}, &res, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.teams.teamCreateSeitanInvitelinkWithDuration", []any{__arg}, &res, 0*time.Millisecond) return } func (c TeamsClient) GetInviteLinkDetails(ctx context.Context, inviteID TeamInviteID) (res InviteLinkDetails, err error) { __arg := GetInviteLinkDetailsArg{InviteID: inviteID} - err = c.Cli.Call(ctx, "keybase.1.teams.getInviteLinkDetails", []interface{}{__arg}, &res, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.teams.getInviteLinkDetails", []any{__arg}, &res, 0*time.Millisecond) return } func (c TeamsClient) TeamAddEmailsBulk(ctx context.Context, __arg TeamAddEmailsBulkArg) (res BulkRes, err error) { - err = c.Cli.Call(ctx, "keybase.1.teams.teamAddEmailsBulk", []interface{}{__arg}, &res, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.teams.teamAddEmailsBulk", []any{__arg}, &res, 0*time.Millisecond) return } func (c TeamsClient) LookupImplicitTeam(ctx context.Context, __arg LookupImplicitTeamArg) (res LookupImplicitTeamRes, err error) { - err = c.Cli.Call(ctx, "keybase.1.teams.lookupImplicitTeam", []interface{}{__arg}, &res, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.teams.lookupImplicitTeam", []any{__arg}, &res, 0*time.Millisecond) return } func (c TeamsClient) LookupOrCreateImplicitTeam(ctx context.Context, __arg LookupOrCreateImplicitTeamArg) (res LookupImplicitTeamRes, err error) { - err = c.Cli.Call(ctx, "keybase.1.teams.lookupOrCreateImplicitTeam", []interface{}{__arg}, &res, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.teams.lookupOrCreateImplicitTeam", []any{__arg}, &res, 0*time.Millisecond) return } func (c TeamsClient) TeamReAddMemberAfterReset(ctx context.Context, __arg TeamReAddMemberAfterResetArg) (err error) { - err = c.Cli.Call(ctx, "keybase.1.teams.teamReAddMemberAfterReset", []interface{}{__arg}, nil, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.teams.teamReAddMemberAfterReset", []any{__arg}, nil, 0*time.Millisecond) return } @@ -6256,78 +6257,78 @@ func (c TeamsClient) TeamReAddMemberAfterReset(ctx context.Context, __arg TeamRe // * client is currently offline (or thinks it's offline), then the refreshers are overridden // * and ignored, and stale data might still be returned. func (c TeamsClient) LoadTeamPlusApplicationKeys(ctx context.Context, __arg LoadTeamPlusApplicationKeysArg) (res TeamPlusApplicationKeys, err error) { - err = c.Cli.Call(ctx, "keybase.1.teams.loadTeamPlusApplicationKeys", []interface{}{__arg}, &res, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.teams.loadTeamPlusApplicationKeys", []any{__arg}, &res, 0*time.Millisecond) return } func (c TeamsClient) GetTeamRootID(ctx context.Context, id TeamID) (res TeamID, err error) { __arg := GetTeamRootIDArg{Id: id} - err = c.Cli.Call(ctx, "keybase.1.teams.getTeamRootID", []interface{}{__arg}, &res, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.teams.getTeamRootID", []any{__arg}, &res, 0*time.Millisecond) return } func (c TeamsClient) GetTeamShowcase(ctx context.Context, teamID TeamID) (res TeamShowcase, err error) { __arg := GetTeamShowcaseArg{TeamID: teamID} - err = c.Cli.Call(ctx, "keybase.1.teams.getTeamShowcase", []interface{}{__arg}, &res, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.teams.getTeamShowcase", []any{__arg}, &res, 0*time.Millisecond) return } func (c TeamsClient) GetTeamAndMemberShowcase(ctx context.Context, teamID TeamID) (res TeamAndMemberShowcase, err error) { __arg := GetTeamAndMemberShowcaseArg{TeamID: teamID} - err = c.Cli.Call(ctx, "keybase.1.teams.getTeamAndMemberShowcase", []interface{}{__arg}, &res, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.teams.getTeamAndMemberShowcase", []any{__arg}, &res, 0*time.Millisecond) return } func (c TeamsClient) SetTeamShowcase(ctx context.Context, __arg SetTeamShowcaseArg) (err error) { - err = c.Cli.Call(ctx, "keybase.1.teams.setTeamShowcase", []interface{}{__arg}, nil, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.teams.setTeamShowcase", []any{__arg}, nil, 0*time.Millisecond) return } func (c TeamsClient) SetTeamMemberShowcase(ctx context.Context, __arg SetTeamMemberShowcaseArg) (err error) { - err = c.Cli.Call(ctx, "keybase.1.teams.setTeamMemberShowcase", []interface{}{__arg}, nil, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.teams.setTeamMemberShowcase", []any{__arg}, nil, 0*time.Millisecond) return } func (c TeamsClient) CanUserPerform(ctx context.Context, name string) (res TeamOperation, err error) { __arg := CanUserPerformArg{Name: name} - err = c.Cli.Call(ctx, "keybase.1.teams.canUserPerform", []interface{}{__arg}, &res, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.teams.canUserPerform", []any{__arg}, &res, 0*time.Millisecond) return } func (c TeamsClient) TeamRotateKey(ctx context.Context, __arg TeamRotateKeyArg) (err error) { - err = c.Cli.Call(ctx, "keybase.1.teams.teamRotateKey", []interface{}{__arg}, nil, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.teams.teamRotateKey", []any{__arg}, nil, 0*time.Millisecond) return } func (c TeamsClient) TeamDebug(ctx context.Context, teamID TeamID) (res TeamDebugRes, err error) { __arg := TeamDebugArg{TeamID: teamID} - err = c.Cli.Call(ctx, "keybase.1.teams.teamDebug", []interface{}{__arg}, &res, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.teams.teamDebug", []any{__arg}, &res, 0*time.Millisecond) return } func (c TeamsClient) GetTarsDisabled(ctx context.Context, teamID TeamID) (res bool, err error) { __arg := GetTarsDisabledArg{TeamID: teamID} - err = c.Cli.Call(ctx, "keybase.1.teams.getTarsDisabled", []interface{}{__arg}, &res, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.teams.getTarsDisabled", []any{__arg}, &res, 0*time.Millisecond) return } func (c TeamsClient) SetTarsDisabled(ctx context.Context, __arg SetTarsDisabledArg) (err error) { - err = c.Cli.Call(ctx, "keybase.1.teams.setTarsDisabled", []interface{}{__arg}, nil, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.teams.setTarsDisabled", []any{__arg}, nil, 0*time.Millisecond) return } func (c TeamsClient) TeamProfileAddList(ctx context.Context, __arg TeamProfileAddListArg) (res []TeamProfileAddEntry, err error) { - err = c.Cli.Call(ctx, "keybase.1.teams.teamProfileAddList", []interface{}{__arg}, &res, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.teams.teamProfileAddList", []any{__arg}, &res, 0*time.Millisecond) return } func (c TeamsClient) UploadTeamAvatar(ctx context.Context, __arg UploadTeamAvatarArg) (err error) { - err = c.Cli.Call(ctx, "keybase.1.teams.uploadTeamAvatar", []interface{}{__arg}, nil, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.teams.uploadTeamAvatar", []any{__arg}, nil, 0*time.Millisecond) return } func (c TeamsClient) TryDecryptWithTeamKey(ctx context.Context, __arg TryDecryptWithTeamKeyArg) (res []byte, err error) { - err = c.Cli.Call(ctx, "keybase.1.teams.tryDecryptWithTeamKey", []interface{}{__arg}, &res, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.teams.tryDecryptWithTeamKey", []any{__arg}, &res, 0*time.Millisecond) return } @@ -6335,7 +6336,7 @@ func (c TeamsClient) TryDecryptWithTeamKey(ctx context.Context, __arg TryDecrypt // removed from the team at that given seqno in the team's chain. You should pass in a previous // Merkle root as a starting point for the binary search. func (c TeamsClient) FindNextMerkleRootAfterTeamRemoval(ctx context.Context, __arg FindNextMerkleRootAfterTeamRemovalArg) (res NextMerkleRootRes, err error) { - err = c.Cli.Call(ctx, "keybase.1.teams.findNextMerkleRootAfterTeamRemoval", []interface{}{__arg}, &res, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.teams.findNextMerkleRootAfterTeamRemoval", []any{__arg}, &res, 0*time.Millisecond) return } @@ -6344,7 +6345,7 @@ func (c TeamsClient) FindNextMerkleRootAfterTeamRemoval(ctx context.Context, __a // we will return just the last one. When anyRoleAllowed is false, the team removal is any drop in // permissions from Writer (or above) to Reader (or below). func (c TeamsClient) FindNextMerkleRootAfterTeamRemovalBySigningKey(ctx context.Context, __arg FindNextMerkleRootAfterTeamRemovalBySigningKeyArg) (res NextMerkleRootRes, err error) { - err = c.Cli.Call(ctx, "keybase.1.teams.findNextMerkleRootAfterTeamRemovalBySigningKey", []interface{}{__arg}, &res, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.teams.findNextMerkleRootAfterTeamRemovalBySigningKey", []any{__arg}, &res, 0*time.Millisecond) return } @@ -6352,7 +6353,7 @@ func (c TeamsClient) FindNextMerkleRootAfterTeamRemovalBySigningKey(ctx context. // the team load machinery. func (c TeamsClient) ProfileTeamLoad(ctx context.Context, arg LoadTeamArg) (res ProfileTeamLoadRes, err error) { __arg := ProfileTeamLoadArg{Arg: arg} - err = c.Cli.Call(ctx, "keybase.1.teams.profileTeamLoad", []interface{}{__arg}, &res, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.teams.profileTeamLoad", []any{__arg}, &res, 0*time.Millisecond) return } @@ -6360,7 +6361,7 @@ func (c TeamsClient) ProfileTeamLoad(ctx context.Context, arg LoadTeamArg) (res // current user can't read the team. func (c TeamsClient) GetTeamID(ctx context.Context, teamName string) (res TeamID, err error) { __arg := GetTeamIDArg{TeamName: teamName} - err = c.Cli.Call(ctx, "keybase.1.teams.getTeamID", []interface{}{__arg}, &res, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.teams.getTeamID", []any{__arg}, &res, 0*time.Millisecond) return } @@ -6368,39 +6369,39 @@ func (c TeamsClient) GetTeamID(ctx context.Context, teamName string) (res TeamID // current user can't read the team. func (c TeamsClient) GetTeamName(ctx context.Context, teamID TeamID) (res TeamName, err error) { __arg := GetTeamNameArg{TeamID: teamID} - err = c.Cli.Call(ctx, "keybase.1.teams.getTeamName", []interface{}{__arg}, &res, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.teams.getTeamName", []any{__arg}, &res, 0*time.Millisecond) return } func (c TeamsClient) Ftl(ctx context.Context, arg FastTeamLoadArg) (res FastTeamLoadRes, err error) { __arg := FtlArg{Arg: arg} - err = c.Cli.Call(ctx, "keybase.1.teams.ftl", []interface{}{__arg}, &res, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.teams.ftl", []any{__arg}, &res, 0*time.Millisecond) return } func (c TeamsClient) GetTeamRoleMap(ctx context.Context) (res TeamRoleMapAndVersion, err error) { - err = c.Cli.Call(ctx, "keybase.1.teams.getTeamRoleMap", []interface{}{GetTeamRoleMapArg{}}, &res, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.teams.getTeamRoleMap", []any{GetTeamRoleMapArg{}}, &res, 0*time.Millisecond) return } func (c TeamsClient) GetAnnotatedTeam(ctx context.Context, teamID TeamID) (res AnnotatedTeam, err error) { __arg := GetAnnotatedTeamArg{TeamID: teamID} - err = c.Cli.Call(ctx, "keybase.1.teams.getAnnotatedTeam", []interface{}{__arg}, &res, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.teams.getAnnotatedTeam", []any{__arg}, &res, 0*time.Millisecond) return } func (c TeamsClient) GetAnnotatedTeamByName(ctx context.Context, teamName string) (res AnnotatedTeam, err error) { __arg := GetAnnotatedTeamByNameArg{TeamName: teamName} - err = c.Cli.Call(ctx, "keybase.1.teams.getAnnotatedTeamByName", []interface{}{__arg}, &res, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.teams.getAnnotatedTeamByName", []any{__arg}, &res, 0*time.Millisecond) return } func (c TeamsClient) LoadTeamTreeMembershipsAsync(ctx context.Context, __arg LoadTeamTreeMembershipsAsyncArg) (res TeamTreeInitial, err error) { - err = c.Cli.Call(ctx, "keybase.1.teams.loadTeamTreeMembershipsAsync", []interface{}{__arg}, &res, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.teams.loadTeamTreeMembershipsAsync", []any{__arg}, &res, 0*time.Millisecond) return } func (c TeamsClient) FindAssertionsInTeamNoResolve(ctx context.Context, __arg FindAssertionsInTeamNoResolveArg) (res []string, err error) { - err = c.Cli.Call(ctx, "keybase.1.teams.findAssertionsInTeamNoResolve", []interface{}{__arg}, &res, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.teams.findAssertionsInTeamNoResolve", []any{__arg}, &res, 0*time.Millisecond) return } diff --git a/go/protocol/keybase1/teams_ui.go b/go/protocol/keybase1/teams_ui.go index 6cdf4df944d1..897d5a35e7b1 100644 --- a/go/protocol/keybase1/teams_ui.go +++ b/go/protocol/keybase1/teams_ui.go @@ -1,4 +1,4 @@ -// Auto-generated to Go types and interfaces using avdl-compiler v1.4.10 (https://github.com/keybase/node-avdl-compiler) +// Code generated to Go types and interfaces using avdl-compiler v1.4.10 (https://github.com/keybase/node-avdl-compiler). DO NOT EDIT. // Input file: avdl/keybase1/teams_ui.avdl package keybase1 @@ -36,11 +36,11 @@ func TeamsUiProtocol(i TeamsUiInterface) rpc.Protocol { Name: "keybase.1.teamsUi", Methods: map[string]rpc.ServeHandlerDescription{ "confirmRootTeamDelete": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]ConfirmRootTeamDeleteArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]ConfirmRootTeamDeleteArg) if !ok { err = rpc.NewTypeError((*[1]ConfirmRootTeamDeleteArg)(nil), args) @@ -51,11 +51,11 @@ func TeamsUiProtocol(i TeamsUiInterface) rpc.Protocol { }, }, "confirmSubteamDelete": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]ConfirmSubteamDeleteArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]ConfirmSubteamDeleteArg) if !ok { err = rpc.NewTypeError((*[1]ConfirmSubteamDeleteArg)(nil), args) @@ -66,11 +66,11 @@ func TeamsUiProtocol(i TeamsUiInterface) rpc.Protocol { }, }, "confirmInviteLinkAccept": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]ConfirmInviteLinkAcceptArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]ConfirmInviteLinkAcceptArg) if !ok { err = rpc.NewTypeError((*[1]ConfirmInviteLinkAcceptArg)(nil), args) @@ -89,16 +89,16 @@ type TeamsUiClient struct { } func (c TeamsUiClient) ConfirmRootTeamDelete(ctx context.Context, __arg ConfirmRootTeamDeleteArg) (res bool, err error) { - err = c.Cli.Call(ctx, "keybase.1.teamsUi.confirmRootTeamDelete", []interface{}{__arg}, &res, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.teamsUi.confirmRootTeamDelete", []any{__arg}, &res, 0*time.Millisecond) return } func (c TeamsUiClient) ConfirmSubteamDelete(ctx context.Context, __arg ConfirmSubteamDeleteArg) (res bool, err error) { - err = c.Cli.Call(ctx, "keybase.1.teamsUi.confirmSubteamDelete", []interface{}{__arg}, &res, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.teamsUi.confirmSubteamDelete", []any{__arg}, &res, 0*time.Millisecond) return } func (c TeamsUiClient) ConfirmInviteLinkAccept(ctx context.Context, __arg ConfirmInviteLinkAcceptArg) (res bool, err error) { - err = c.Cli.Call(ctx, "keybase.1.teamsUi.confirmInviteLinkAccept", []interface{}{__arg}, &res, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.teamsUi.confirmInviteLinkAccept", []any{__arg}, &res, 0*time.Millisecond) return } diff --git a/go/protocol/keybase1/teamsearch.go b/go/protocol/keybase1/teamsearch.go index 0c4b13737166..0f61bc314883 100644 --- a/go/protocol/keybase1/teamsearch.go +++ b/go/protocol/keybase1/teamsearch.go @@ -1,4 +1,4 @@ -// Auto-generated to Go types and interfaces using avdl-compiler v1.4.10 (https://github.com/keybase/node-avdl-compiler) +// Code generated to Go types and interfaces using avdl-compiler v1.4.10 (https://github.com/keybase/node-avdl-compiler). DO NOT EDIT. // Input file: avdl/keybase1/teamsearch.avdl package keybase1 @@ -107,11 +107,11 @@ func TeamSearchProtocol(i TeamSearchInterface) rpc.Protocol { Name: "keybase.1.teamSearch", Methods: map[string]rpc.ServeHandlerDescription{ "teamSearch": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]TeamSearchArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]TeamSearchArg) if !ok { err = rpc.NewTypeError((*[1]TeamSearchArg)(nil), args) @@ -130,6 +130,6 @@ type TeamSearchClient struct { } func (c TeamSearchClient) TeamSearch(ctx context.Context, __arg TeamSearchArg) (res TeamSearchRes, err error) { - err = c.Cli.Call(ctx, "keybase.1.teamSearch.teamSearch", []interface{}{__arg}, &res, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.teamSearch.teamSearch", []any{__arg}, &res, 0*time.Millisecond) return } diff --git a/go/protocol/keybase1/test.go b/go/protocol/keybase1/test.go index 50db0195a901..fdb6a4a54785 100644 --- a/go/protocol/keybase1/test.go +++ b/go/protocol/keybase1/test.go @@ -1,4 +1,4 @@ -// Auto-generated to Go types and interfaces using avdl-compiler v1.4.10 (https://github.com/keybase/node-avdl-compiler) +// Code generated to Go types and interfaces using avdl-compiler v1.4.10 (https://github.com/keybase/node-avdl-compiler). DO NOT EDIT. // Input file: avdl/keybase1/test.avdl package keybase1 @@ -84,7 +84,8 @@ type PanicArg struct { Message string `codec:"message" json:"message"` } -type TestAirdropRegArg struct{} +type TestAirdropRegArg struct { +} type EchoArg struct { Arg Generic `codec:"arg" json:"arg"` @@ -110,11 +111,11 @@ func TestProtocol(i TestInterface) rpc.Protocol { Name: "keybase.1.test", Methods: map[string]rpc.ServeHandlerDescription{ "test": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]TestArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]TestArg) if !ok { err = rpc.NewTypeError((*[1]TestArg)(nil), args) @@ -125,11 +126,11 @@ func TestProtocol(i TestInterface) rpc.Protocol { }, }, "testCallback": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]TestCallbackArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]TestCallbackArg) if !ok { err = rpc.NewTypeError((*[1]TestCallbackArg)(nil), args) @@ -140,11 +141,11 @@ func TestProtocol(i TestInterface) rpc.Protocol { }, }, "panic": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]PanicArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]PanicArg) if !ok { err = rpc.NewTypeError((*[1]PanicArg)(nil), args) @@ -155,21 +156,21 @@ func TestProtocol(i TestInterface) rpc.Protocol { }, }, "testAirdropReg": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]TestAirdropRegArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { err = i.TestAirdropReg(ctx) return }, }, "echo": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]EchoArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]EchoArg) if !ok { err = rpc.NewTypeError((*[1]EchoArg)(nil), args) @@ -191,32 +192,32 @@ type TestClient struct { // Will trigger the testCallback method, whose result will be set in the // returned Test object, reply property. func (c TestClient) Test(ctx context.Context, __arg TestArg) (res Test, err error) { - err = c.Cli.Call(ctx, "keybase.1.test.test", []interface{}{__arg}, &res, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.test.test", []any{__arg}, &res, 0*time.Millisecond) return } // This is a service callback triggered from test(..). // The name param is what was passed into test. func (c TestClient) TestCallback(ctx context.Context, __arg TestCallbackArg) (res string, err error) { - err = c.Cli.Call(ctx, "keybase.1.test.testCallback", []interface{}{__arg}, &res, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.test.testCallback", []any{__arg}, &res, 0*time.Millisecond) return } // For testing crashes. func (c TestClient) Panic(ctx context.Context, message string) (err error) { __arg := PanicArg{Message: message} - err = c.Cli.Call(ctx, "keybase.1.test.panic", []interface{}{__arg}, nil, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.test.panic", []any{__arg}, nil, 0*time.Millisecond) return } // For testing airdrop reg. func (c TestClient) TestAirdropReg(ctx context.Context) (err error) { - err = c.Cli.Call(ctx, "keybase.1.test.testAirdropReg", []interface{}{TestAirdropRegArg{}}, nil, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.test.testAirdropReg", []any{TestAirdropRegArg{}}, nil, 0*time.Millisecond) return } func (c TestClient) Echo(ctx context.Context, arg Generic) (res Generic, err error) { __arg := EchoArg{Arg: arg} - err = c.Cli.Call(ctx, "keybase.1.test.echo", []interface{}{__arg}, &res, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.test.echo", []any{__arg}, &res, 0*time.Millisecond) return } diff --git a/go/protocol/keybase1/tlf.go b/go/protocol/keybase1/tlf.go index 21c5159326b9..f974708e3273 100644 --- a/go/protocol/keybase1/tlf.go +++ b/go/protocol/keybase1/tlf.go @@ -1,4 +1,4 @@ -// Auto-generated to Go types and interfaces using avdl-compiler v1.4.10 (https://github.com/keybase/node-avdl-compiler) +// Code generated to Go types and interfaces using avdl-compiler v1.4.10 (https://github.com/keybase/node-avdl-compiler). DO NOT EDIT. // Input file: avdl/keybase1/tlf.avdl package keybase1 @@ -36,11 +36,11 @@ func TlfProtocol(i TlfInterface) rpc.Protocol { Name: "keybase.1.tlf", Methods: map[string]rpc.ServeHandlerDescription{ "CryptKeys": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]CryptKeysArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]CryptKeysArg) if !ok { err = rpc.NewTypeError((*[1]CryptKeysArg)(nil), args) @@ -51,11 +51,11 @@ func TlfProtocol(i TlfInterface) rpc.Protocol { }, }, "publicCanonicalTLFNameAndID": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]PublicCanonicalTLFNameAndIDArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]PublicCanonicalTLFNameAndIDArg) if !ok { err = rpc.NewTypeError((*[1]PublicCanonicalTLFNameAndIDArg)(nil), args) @@ -66,11 +66,11 @@ func TlfProtocol(i TlfInterface) rpc.Protocol { }, }, "completeAndCanonicalizePrivateTlfName": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]CompleteAndCanonicalizePrivateTlfNameArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]CompleteAndCanonicalizePrivateTlfNameArg) if !ok { err = rpc.NewTypeError((*[1]CompleteAndCanonicalizePrivateTlfNameArg)(nil), args) @@ -91,7 +91,7 @@ type TlfClient struct { // CryptKeys returns TLF crypt keys from all generations. func (c TlfClient) CryptKeys(ctx context.Context, query TLFQuery) (res GetTLFCryptKeysRes, err error) { __arg := CryptKeysArg{Query: query} - err = c.Cli.Call(ctx, "keybase.1.tlf.CryptKeys", []interface{}{__arg}, &res, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.tlf.CryptKeys", []any{__arg}, &res, 0*time.Millisecond) return } @@ -99,12 +99,12 @@ func (c TlfClient) CryptKeys(ctx context.Context, query TLFQuery) (res GetTLFCry // * TLFID should not be cached or stored persistently. func (c TlfClient) PublicCanonicalTLFNameAndID(ctx context.Context, query TLFQuery) (res CanonicalTLFNameAndIDWithBreaks, err error) { __arg := PublicCanonicalTLFNameAndIDArg{Query: query} - err = c.Cli.Call(ctx, "keybase.1.tlf.publicCanonicalTLFNameAndID", []interface{}{__arg}, &res, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.tlf.publicCanonicalTLFNameAndID", []any{__arg}, &res, 0*time.Millisecond) return } func (c TlfClient) CompleteAndCanonicalizePrivateTlfName(ctx context.Context, query TLFQuery) (res CanonicalTLFNameAndIDWithBreaks, err error) { __arg := CompleteAndCanonicalizePrivateTlfNameArg{Query: query} - err = c.Cli.Call(ctx, "keybase.1.tlf.completeAndCanonicalizePrivateTlfName", []interface{}{__arg}, &res, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.tlf.completeAndCanonicalizePrivateTlfName", []any{__arg}, &res, 0*time.Millisecond) return } diff --git a/go/protocol/keybase1/tlf_keys.go b/go/protocol/keybase1/tlf_keys.go index 4e1c064df616..f3140b2c2428 100644 --- a/go/protocol/keybase1/tlf_keys.go +++ b/go/protocol/keybase1/tlf_keys.go @@ -1,4 +1,4 @@ -// Auto-generated to Go types and interfaces using avdl-compiler v1.4.10 (https://github.com/keybase/node-avdl-compiler) +// Code generated to Go types and interfaces using avdl-compiler v1.4.10 (https://github.com/keybase/node-avdl-compiler). DO NOT EDIT. // Input file: avdl/keybase1/tlf_keys.avdl package keybase1 @@ -205,11 +205,11 @@ func TlfKeysProtocol(i TlfKeysInterface) rpc.Protocol { Name: "keybase.1.tlfKeys", Methods: map[string]rpc.ServeHandlerDescription{ "getTLFCryptKeys": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]GetTLFCryptKeysArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]GetTLFCryptKeysArg) if !ok { err = rpc.NewTypeError((*[1]GetTLFCryptKeysArg)(nil), args) @@ -220,11 +220,11 @@ func TlfKeysProtocol(i TlfKeysInterface) rpc.Protocol { }, }, "getPublicCanonicalTLFNameAndID": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]GetPublicCanonicalTLFNameAndIDArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]GetPublicCanonicalTLFNameAndIDArg) if !ok { err = rpc.NewTypeError((*[1]GetPublicCanonicalTLFNameAndIDArg)(nil), args) @@ -246,7 +246,7 @@ type TlfKeysClient struct { // TLF ID should not be cached or stored persistently. func (c TlfKeysClient) GetTLFCryptKeys(ctx context.Context, query TLFQuery) (res GetTLFCryptKeysRes, err error) { __arg := GetTLFCryptKeysArg{Query: query} - err = c.Cli.Call(ctx, "keybase.1.tlfKeys.getTLFCryptKeys", []interface{}{__arg}, &res, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.tlfKeys.getTLFCryptKeys", []any{__arg}, &res, 0*time.Millisecond) return } @@ -254,6 +254,6 @@ func (c TlfKeysClient) GetTLFCryptKeys(ctx context.Context, query TLFQuery) (res // TLF ID should not be cached or stored persistently. func (c TlfKeysClient) GetPublicCanonicalTLFNameAndID(ctx context.Context, query TLFQuery) (res CanonicalTLFNameAndIDWithBreaks, err error) { __arg := GetPublicCanonicalTLFNameAndIDArg{Query: query} - err = c.Cli.Call(ctx, "keybase.1.tlfKeys.getPublicCanonicalTLFNameAndID", []interface{}{__arg}, &res, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.tlfKeys.getPublicCanonicalTLFNameAndID", []any{__arg}, &res, 0*time.Millisecond) return } diff --git a/go/protocol/keybase1/track.go b/go/protocol/keybase1/track.go index ac922bd3e49a..2eae2812a3c0 100644 --- a/go/protocol/keybase1/track.go +++ b/go/protocol/keybase1/track.go @@ -1,4 +1,4 @@ -// Auto-generated to Go types and interfaces using avdl-compiler v1.4.10 (https://github.com/keybase/node-avdl-compiler) +// Code generated to Go types and interfaces using avdl-compiler v1.4.10 (https://github.com/keybase/node-avdl-compiler). DO NOT EDIT. // Input file: avdl/keybase1/track.avdl package keybase1 @@ -62,11 +62,11 @@ func TrackProtocol(i TrackInterface) rpc.Protocol { Name: "keybase.1.track", Methods: map[string]rpc.ServeHandlerDescription{ "track": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]TrackArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]TrackArg) if !ok { err = rpc.NewTypeError((*[1]TrackArg)(nil), args) @@ -77,11 +77,11 @@ func TrackProtocol(i TrackInterface) rpc.Protocol { }, }, "trackWithToken": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]TrackWithTokenArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]TrackWithTokenArg) if !ok { err = rpc.NewTypeError((*[1]TrackWithTokenArg)(nil), args) @@ -92,11 +92,11 @@ func TrackProtocol(i TrackInterface) rpc.Protocol { }, }, "dismissWithToken": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]DismissWithTokenArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]DismissWithTokenArg) if !ok { err = rpc.NewTypeError((*[1]DismissWithTokenArg)(nil), args) @@ -107,11 +107,11 @@ func TrackProtocol(i TrackInterface) rpc.Protocol { }, }, "untrack": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]UntrackArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]UntrackArg) if !ok { err = rpc.NewTypeError((*[1]UntrackArg)(nil), args) @@ -122,11 +122,11 @@ func TrackProtocol(i TrackInterface) rpc.Protocol { }, }, "checkTracking": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]CheckTrackingArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]CheckTrackingArg) if !ok { err = rpc.NewTypeError((*[1]CheckTrackingArg)(nil), args) @@ -137,11 +137,11 @@ func TrackProtocol(i TrackInterface) rpc.Protocol { }, }, "fakeTrackingChanged": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]FakeTrackingChangedArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]FakeTrackingChangedArg) if !ok { err = rpc.NewTypeError((*[1]FakeTrackingChangedArg)(nil), args) @@ -163,34 +163,34 @@ type TrackClient struct { // If forceRemoteCheck is true, we force all remote proofs to be checked // (otherwise a cache is used). func (c TrackClient) Track(ctx context.Context, __arg TrackArg) (res ConfirmResult, err error) { - err = c.Cli.Call(ctx, "keybase.1.track.track", []interface{}{__arg}, &res, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.track.track", []any{__arg}, &res, 0*time.Millisecond) return } // Track with token returned from identify. func (c TrackClient) TrackWithToken(ctx context.Context, __arg TrackWithTokenArg) (err error) { - err = c.Cli.Call(ctx, "keybase.1.track.trackWithToken", []interface{}{__arg}, nil, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.track.trackWithToken", []any{__arg}, nil, 0*time.Millisecond) return } // Called by the UI when the user decides *not* to track, to e.g. dismiss gregor items. func (c TrackClient) DismissWithToken(ctx context.Context, __arg DismissWithTokenArg) (err error) { - err = c.Cli.Call(ctx, "keybase.1.track.dismissWithToken", []interface{}{__arg}, nil, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.track.dismissWithToken", []any{__arg}, nil, 0*time.Millisecond) return } func (c TrackClient) Untrack(ctx context.Context, __arg UntrackArg) (err error) { - err = c.Cli.Call(ctx, "keybase.1.track.untrack", []interface{}{__arg}, nil, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.track.untrack", []any{__arg}, nil, 0*time.Millisecond) return } func (c TrackClient) CheckTracking(ctx context.Context, sessionID int) (err error) { __arg := CheckTrackingArg{SessionID: sessionID} - err = c.Cli.Call(ctx, "keybase.1.track.checkTracking", []interface{}{__arg}, nil, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.track.checkTracking", []any{__arg}, nil, 0*time.Millisecond) return } func (c TrackClient) FakeTrackingChanged(ctx context.Context, __arg FakeTrackingChangedArg) (err error) { - err = c.Cli.Call(ctx, "keybase.1.track.fakeTrackingChanged", []interface{}{__arg}, nil, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.track.fakeTrackingChanged", []any{__arg}, nil, 0*time.Millisecond) return } diff --git a/go/protocol/keybase1/ui.go b/go/protocol/keybase1/ui.go index fc67465f2e8b..1ade9e30a73b 100644 --- a/go/protocol/keybase1/ui.go +++ b/go/protocol/keybase1/ui.go @@ -1,4 +1,4 @@ -// Auto-generated to Go types and interfaces using avdl-compiler v1.4.10 (https://github.com/keybase/node-avdl-compiler) +// Code generated to Go types and interfaces using avdl-compiler v1.4.10 (https://github.com/keybase/node-avdl-compiler). DO NOT EDIT. // Input file: avdl/keybase1/ui.avdl package keybase1 @@ -55,11 +55,11 @@ func UiProtocol(i UiInterface) rpc.Protocol { Name: "keybase.1.ui", Methods: map[string]rpc.ServeHandlerDescription{ "promptYesNo": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]PromptYesNoArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]PromptYesNoArg) if !ok { err = rpc.NewTypeError((*[1]PromptYesNoArg)(nil), args) @@ -78,6 +78,6 @@ type UiClient struct { } func (c UiClient) PromptYesNo(ctx context.Context, __arg PromptYesNoArg) (res bool, err error) { - err = c.Cli.Call(ctx, "keybase.1.ui.promptYesNo", []interface{}{__arg}, &res, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.ui.promptYesNo", []any{__arg}, &res, 0*time.Millisecond) return } diff --git a/go/protocol/keybase1/upk.go b/go/protocol/keybase1/upk.go index b6c2b98902c7..45c85e9c1b85 100644 --- a/go/protocol/keybase1/upk.go +++ b/go/protocol/keybase1/upk.go @@ -1,4 +1,4 @@ -// Auto-generated to Go types and interfaces using avdl-compiler v1.4.10 (https://github.com/keybase/node-avdl-compiler) +// Code generated to Go types and interfaces using avdl-compiler v1.4.10 (https://github.com/keybase/node-avdl-compiler). DO NOT EDIT. // Input file: avdl/keybase1/upk.avdl package keybase1 @@ -627,7 +627,8 @@ func (o UPKLiteV1AllIncarnations) DeepCopy() UPKLiteV1AllIncarnations { } } -type UPKInterface interface{} +type UPKInterface interface { +} func UPKProtocol(i UPKInterface) rpc.Protocol { return rpc.Protocol{ diff --git a/go/protocol/keybase1/user.go b/go/protocol/keybase1/user.go index a7a5f39f98ff..0866221f645f 100644 --- a/go/protocol/keybase1/user.go +++ b/go/protocol/keybase1/user.go @@ -1,4 +1,4 @@ -// Auto-generated to Go types and interfaces using avdl-compiler v1.4.10 (https://github.com/keybase/node-avdl-compiler) +// Code generated to Go types and interfaces using avdl-compiler v1.4.10 (https://github.com/keybase/node-avdl-compiler). DO NOT EDIT. // Input file: avdl/keybase1/user.avdl package keybase1 @@ -794,11 +794,11 @@ func UserProtocol(i UserInterface) rpc.Protocol { Name: "keybase.1.user", Methods: map[string]rpc.ServeHandlerDescription{ "listTracking": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]ListTrackingArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]ListTrackingArg) if !ok { err = rpc.NewTypeError((*[1]ListTrackingArg)(nil), args) @@ -809,11 +809,11 @@ func UserProtocol(i UserInterface) rpc.Protocol { }, }, "listTrackingJSON": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]ListTrackingJSONArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]ListTrackingJSONArg) if !ok { err = rpc.NewTypeError((*[1]ListTrackingJSONArg)(nil), args) @@ -824,11 +824,11 @@ func UserProtocol(i UserInterface) rpc.Protocol { }, }, "listTrackersUnverified": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]ListTrackersUnverifiedArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]ListTrackersUnverifiedArg) if !ok { err = rpc.NewTypeError((*[1]ListTrackersUnverifiedArg)(nil), args) @@ -839,11 +839,11 @@ func UserProtocol(i UserInterface) rpc.Protocol { }, }, "loadUser": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]LoadUserArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]LoadUserArg) if !ok { err = rpc.NewTypeError((*[1]LoadUserArg)(nil), args) @@ -854,11 +854,11 @@ func UserProtocol(i UserInterface) rpc.Protocol { }, }, "loadUserByName": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]LoadUserByNameArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]LoadUserByNameArg) if !ok { err = rpc.NewTypeError((*[1]LoadUserByNameArg)(nil), args) @@ -869,11 +869,11 @@ func UserProtocol(i UserInterface) rpc.Protocol { }, }, "loadUserPlusKeys": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]LoadUserPlusKeysArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]LoadUserPlusKeysArg) if !ok { err = rpc.NewTypeError((*[1]LoadUserPlusKeysArg)(nil), args) @@ -884,11 +884,11 @@ func UserProtocol(i UserInterface) rpc.Protocol { }, }, "loadUserPlusKeysV2": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]LoadUserPlusKeysV2Arg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]LoadUserPlusKeysV2Arg) if !ok { err = rpc.NewTypeError((*[1]LoadUserPlusKeysV2Arg)(nil), args) @@ -899,11 +899,11 @@ func UserProtocol(i UserInterface) rpc.Protocol { }, }, "loadPublicKeys": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]LoadPublicKeysArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]LoadPublicKeysArg) if !ok { err = rpc.NewTypeError((*[1]LoadPublicKeysArg)(nil), args) @@ -914,11 +914,11 @@ func UserProtocol(i UserInterface) rpc.Protocol { }, }, "loadMyPublicKeys": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]LoadMyPublicKeysArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]LoadMyPublicKeysArg) if !ok { err = rpc.NewTypeError((*[1]LoadMyPublicKeysArg)(nil), args) @@ -929,11 +929,11 @@ func UserProtocol(i UserInterface) rpc.Protocol { }, }, "loadMySettings": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]LoadMySettingsArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]LoadMySettingsArg) if !ok { err = rpc.NewTypeError((*[1]LoadMySettingsArg)(nil), args) @@ -944,11 +944,11 @@ func UserProtocol(i UserInterface) rpc.Protocol { }, }, "loadAllPublicKeysUnverified": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]LoadAllPublicKeysUnverifiedArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]LoadAllPublicKeysUnverifiedArg) if !ok { err = rpc.NewTypeError((*[1]LoadAllPublicKeysUnverifiedArg)(nil), args) @@ -959,11 +959,11 @@ func UserProtocol(i UserInterface) rpc.Protocol { }, }, "profileEdit": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]ProfileEditArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]ProfileEditArg) if !ok { err = rpc.NewTypeError((*[1]ProfileEditArg)(nil), args) @@ -974,11 +974,11 @@ func UserProtocol(i UserInterface) rpc.Protocol { }, }, "interestingPeople": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]InterestingPeopleArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]InterestingPeopleArg) if !ok { err = rpc.NewTypeError((*[1]InterestingPeopleArg)(nil), args) @@ -989,11 +989,11 @@ func UserProtocol(i UserInterface) rpc.Protocol { }, }, "meUserVersion": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]MeUserVersionArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]MeUserVersionArg) if !ok { err = rpc.NewTypeError((*[1]MeUserVersionArg)(nil), args) @@ -1004,11 +1004,11 @@ func UserProtocol(i UserInterface) rpc.Protocol { }, }, "getUPAK": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]GetUPAKArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]GetUPAKArg) if !ok { err = rpc.NewTypeError((*[1]GetUPAKArg)(nil), args) @@ -1019,11 +1019,11 @@ func UserProtocol(i UserInterface) rpc.Protocol { }, }, "getUPAKLite": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]GetUPAKLiteArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]GetUPAKLiteArg) if !ok { err = rpc.NewTypeError((*[1]GetUPAKLiteArg)(nil), args) @@ -1034,11 +1034,11 @@ func UserProtocol(i UserInterface) rpc.Protocol { }, }, "uploadUserAvatar": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]UploadUserAvatarArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]UploadUserAvatarArg) if !ok { err = rpc.NewTypeError((*[1]UploadUserAvatarArg)(nil), args) @@ -1049,11 +1049,11 @@ func UserProtocol(i UserInterface) rpc.Protocol { }, }, "proofSuggestions": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]ProofSuggestionsArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]ProofSuggestionsArg) if !ok { err = rpc.NewTypeError((*[1]ProofSuggestionsArg)(nil), args) @@ -1064,11 +1064,11 @@ func UserProtocol(i UserInterface) rpc.Protocol { }, }, "findNextMerkleRootAfterRevoke": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]FindNextMerkleRootAfterRevokeArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]FindNextMerkleRootAfterRevokeArg) if !ok { err = rpc.NewTypeError((*[1]FindNextMerkleRootAfterRevokeArg)(nil), args) @@ -1079,11 +1079,11 @@ func UserProtocol(i UserInterface) rpc.Protocol { }, }, "findNextMerkleRootAfterReset": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]FindNextMerkleRootAfterResetArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]FindNextMerkleRootAfterResetArg) if !ok { err = rpc.NewTypeError((*[1]FindNextMerkleRootAfterResetArg)(nil), args) @@ -1094,11 +1094,11 @@ func UserProtocol(i UserInterface) rpc.Protocol { }, }, "canLogout": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]CanLogoutArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]CanLogoutArg) if !ok { err = rpc.NewTypeError((*[1]CanLogoutArg)(nil), args) @@ -1109,11 +1109,11 @@ func UserProtocol(i UserInterface) rpc.Protocol { }, }, "loadPassphraseState": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]LoadPassphraseStateArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]LoadPassphraseStateArg) if !ok { err = rpc.NewTypeError((*[1]LoadPassphraseStateArg)(nil), args) @@ -1124,11 +1124,11 @@ func UserProtocol(i UserInterface) rpc.Protocol { }, }, "userCard": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]UserCardArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]UserCardArg) if !ok { err = rpc.NewTypeError((*[1]UserCardArg)(nil), args) @@ -1139,11 +1139,11 @@ func UserProtocol(i UserInterface) rpc.Protocol { }, }, "setUserBlocks": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]SetUserBlocksArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]SetUserBlocksArg) if !ok { err = rpc.NewTypeError((*[1]SetUserBlocksArg)(nil), args) @@ -1154,11 +1154,11 @@ func UserProtocol(i UserInterface) rpc.Protocol { }, }, "getUserBlocks": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]GetUserBlocksArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]GetUserBlocksArg) if !ok { err = rpc.NewTypeError((*[1]GetUserBlocksArg)(nil), args) @@ -1169,11 +1169,11 @@ func UserProtocol(i UserInterface) rpc.Protocol { }, }, "reportUser": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]ReportUserArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]ReportUserArg) if !ok { err = rpc.NewTypeError((*[1]ReportUserArg)(nil), args) @@ -1184,11 +1184,11 @@ func UserProtocol(i UserInterface) rpc.Protocol { }, }, "dismissBlockButtons": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]DismissBlockButtonsArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]DismissBlockButtonsArg) if !ok { err = rpc.NewTypeError((*[1]DismissBlockButtonsArg)(nil), args) @@ -1199,11 +1199,11 @@ func UserProtocol(i UserInterface) rpc.Protocol { }, }, "blockUser": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]BlockUserArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]BlockUserArg) if !ok { err = rpc.NewTypeError((*[1]BlockUserArg)(nil), args) @@ -1214,11 +1214,11 @@ func UserProtocol(i UserInterface) rpc.Protocol { }, }, "unblockUser": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]UnblockUserArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]UnblockUserArg) if !ok { err = rpc.NewTypeError((*[1]UnblockUserArg)(nil), args) @@ -1229,11 +1229,11 @@ func UserProtocol(i UserInterface) rpc.Protocol { }, }, "getTeamBlocks": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]GetTeamBlocksArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]GetTeamBlocksArg) if !ok { err = rpc.NewTypeError((*[1]GetTeamBlocksArg)(nil), args) @@ -1257,107 +1257,107 @@ type UserClient struct { // // If assertion is empty, it will use the current logged in user. func (c UserClient) ListTracking(ctx context.Context, __arg ListTrackingArg) (res UserSummarySet, err error) { - err = c.Cli.Call(ctx, "keybase.1.user.listTracking", []interface{}{__arg}, &res, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.user.listTracking", []any{__arg}, &res, 0*time.Millisecond) return } func (c UserClient) ListTrackingJSON(ctx context.Context, __arg ListTrackingJSONArg) (res string, err error) { - err = c.Cli.Call(ctx, "keybase.1.user.listTrackingJSON", []interface{}{__arg}, &res, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.user.listTrackingJSON", []any{__arg}, &res, 0*time.Millisecond) return } // listTrackersUnverified returns the users following the given user, and is unverified // and server-trust. func (c UserClient) ListTrackersUnverified(ctx context.Context, __arg ListTrackersUnverifiedArg) (res UserSummarySet, err error) { - err = c.Cli.Call(ctx, "keybase.1.user.listTrackersUnverified", []interface{}{__arg}, &res, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.user.listTrackersUnverified", []any{__arg}, &res, 0*time.Millisecond) return } // Load a user from the server. func (c UserClient) LoadUser(ctx context.Context, __arg LoadUserArg) (res User, err error) { - err = c.Cli.Call(ctx, "keybase.1.user.loadUser", []interface{}{__arg}, &res, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.user.loadUser", []any{__arg}, &res, 0*time.Millisecond) return } func (c UserClient) LoadUserByName(ctx context.Context, __arg LoadUserByNameArg) (res User, err error) { - err = c.Cli.Call(ctx, "keybase.1.user.loadUserByName", []interface{}{__arg}, &res, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.user.loadUserByName", []any{__arg}, &res, 0*time.Millisecond) return } // Load a user + device keys from the server. func (c UserClient) LoadUserPlusKeys(ctx context.Context, __arg LoadUserPlusKeysArg) (res UserPlusKeys, err error) { - err = c.Cli.Call(ctx, "keybase.1.user.loadUserPlusKeys", []interface{}{__arg}, &res, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.user.loadUserPlusKeys", []any{__arg}, &res, 0*time.Millisecond) return } func (c UserClient) LoadUserPlusKeysV2(ctx context.Context, __arg LoadUserPlusKeysV2Arg) (res UserPlusKeysV2AllIncarnations, err error) { - err = c.Cli.Call(ctx, "keybase.1.user.loadUserPlusKeysV2", []interface{}{__arg}, &res, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.user.loadUserPlusKeysV2", []any{__arg}, &res, 0*time.Millisecond) return } // Load public keys for a user. func (c UserClient) LoadPublicKeys(ctx context.Context, __arg LoadPublicKeysArg) (res []PublicKey, err error) { - err = c.Cli.Call(ctx, "keybase.1.user.loadPublicKeys", []interface{}{__arg}, &res, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.user.loadPublicKeys", []any{__arg}, &res, 0*time.Millisecond) return } // Load my public keys (for logged in user). func (c UserClient) LoadMyPublicKeys(ctx context.Context, sessionID int) (res []PublicKey, err error) { __arg := LoadMyPublicKeysArg{SessionID: sessionID} - err = c.Cli.Call(ctx, "keybase.1.user.loadMyPublicKeys", []interface{}{__arg}, &res, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.user.loadMyPublicKeys", []any{__arg}, &res, 0*time.Millisecond) return } // Load user settings (for logged in user). func (c UserClient) LoadMySettings(ctx context.Context, sessionID int) (res UserSettings, err error) { __arg := LoadMySettingsArg{SessionID: sessionID} - err = c.Cli.Call(ctx, "keybase.1.user.loadMySettings", []interface{}{__arg}, &res, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.user.loadMySettings", []any{__arg}, &res, 0*time.Millisecond) return } // Load all the user's public keys (even those in reset key families) // from the server with no verification func (c UserClient) LoadAllPublicKeysUnverified(ctx context.Context, __arg LoadAllPublicKeysUnverifiedArg) (res []PublicKey, err error) { - err = c.Cli.Call(ctx, "keybase.1.user.loadAllPublicKeysUnverified", []interface{}{__arg}, &res, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.user.loadAllPublicKeysUnverified", []any{__arg}, &res, 0*time.Millisecond) return } func (c UserClient) ProfileEdit(ctx context.Context, __arg ProfileEditArg) (err error) { - err = c.Cli.Call(ctx, "keybase.1.user.profileEdit", []interface{}{__arg}, nil, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.user.profileEdit", []any{__arg}, nil, 0*time.Millisecond) return } func (c UserClient) InterestingPeople(ctx context.Context, __arg InterestingPeopleArg) (res []InterestingPerson, err error) { - err = c.Cli.Call(ctx, "keybase.1.user.interestingPeople", []interface{}{__arg}, &res, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.user.interestingPeople", []any{__arg}, &res, 0*time.Millisecond) return } func (c UserClient) MeUserVersion(ctx context.Context, __arg MeUserVersionArg) (res UserVersion, err error) { - err = c.Cli.Call(ctx, "keybase.1.user.meUserVersion", []interface{}{__arg}, &res, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.user.meUserVersion", []any{__arg}, &res, 0*time.Millisecond) return } // getUPAK returns a UPAK. Used mainly for debugging. func (c UserClient) GetUPAK(ctx context.Context, __arg GetUPAKArg) (res UPAKVersioned, err error) { - err = c.Cli.Call(ctx, "keybase.1.user.getUPAK", []interface{}{__arg}, &res, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.user.getUPAK", []any{__arg}, &res, 0*time.Millisecond) return } // getUPAKLite returns a UPKLiteV1AllIncarnations. Used mainly for debugging. func (c UserClient) GetUPAKLite(ctx context.Context, uid UID) (res UPKLiteV1AllIncarnations, err error) { __arg := GetUPAKLiteArg{Uid: uid} - err = c.Cli.Call(ctx, "keybase.1.user.getUPAKLite", []interface{}{__arg}, &res, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.user.getUPAKLite", []any{__arg}, &res, 0*time.Millisecond) return } func (c UserClient) UploadUserAvatar(ctx context.Context, __arg UploadUserAvatarArg) (err error) { - err = c.Cli.Call(ctx, "keybase.1.user.uploadUserAvatar", []interface{}{__arg}, nil, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.user.uploadUserAvatar", []any{__arg}, nil, 0*time.Millisecond) return } func (c UserClient) ProofSuggestions(ctx context.Context, sessionID int) (res ProofSuggestionsRes, err error) { __arg := ProofSuggestionsArg{SessionID: sessionID} - err = c.Cli.Call(ctx, "keybase.1.user.proofSuggestions", []interface{}{__arg}, &res, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.user.proofSuggestions", []any{__arg}, &res, 0*time.Millisecond) return } @@ -1365,7 +1365,7 @@ func (c UserClient) ProofSuggestions(ctx context.Context, sessionID int) (res Pr // revocation at the given SigChainLocataion. The MerkleRootV2 prev is a hint as to where // we'll start our search. Usually it's the next one, but not always func (c UserClient) FindNextMerkleRootAfterRevoke(ctx context.Context, __arg FindNextMerkleRootAfterRevokeArg) (res NextMerkleRootRes, err error) { - err = c.Cli.Call(ctx, "keybase.1.user.findNextMerkleRootAfterRevoke", []interface{}{__arg}, &res, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.user.findNextMerkleRootAfterRevoke", []any{__arg}, &res, 0*time.Millisecond) return } @@ -1373,62 +1373,62 @@ func (c UserClient) FindNextMerkleRootAfterRevoke(ctx context.Context, __arg Fin // at resetSeqno. You should pass it prev, which was the last known Merkle root at the time of // the reset. Usually, we'll just turn up the next Merkle root, but not always. func (c UserClient) FindNextMerkleRootAfterReset(ctx context.Context, __arg FindNextMerkleRootAfterResetArg) (res NextMerkleRootRes, err error) { - err = c.Cli.Call(ctx, "keybase.1.user.findNextMerkleRootAfterReset", []interface{}{__arg}, &res, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.user.findNextMerkleRootAfterReset", []any{__arg}, &res, 0*time.Millisecond) return } func (c UserClient) CanLogout(ctx context.Context, sessionID int) (res CanLogoutRes, err error) { __arg := CanLogoutArg{SessionID: sessionID} - err = c.Cli.Call(ctx, "keybase.1.user.canLogout", []interface{}{__arg}, &res, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.user.canLogout", []any{__arg}, &res, 0*time.Millisecond) return } func (c UserClient) LoadPassphraseState(ctx context.Context, sessionID int) (res PassphraseState, err error) { __arg := LoadPassphraseStateArg{SessionID: sessionID} - err = c.Cli.Call(ctx, "keybase.1.user.loadPassphraseState", []interface{}{__arg}, &res, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.user.loadPassphraseState", []any{__arg}, &res, 0*time.Millisecond) return } func (c UserClient) UserCard(ctx context.Context, __arg UserCardArg) (res *UserCard, err error) { - err = c.Cli.Call(ctx, "keybase.1.user.userCard", []interface{}{__arg}, &res, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.user.userCard", []any{__arg}, &res, 0*time.Millisecond) return } func (c UserClient) SetUserBlocks(ctx context.Context, __arg SetUserBlocksArg) (err error) { - err = c.Cli.Call(ctx, "keybase.1.user.setUserBlocks", []interface{}{__arg}, nil, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.user.setUserBlocks", []any{__arg}, nil, 0*time.Millisecond) return } func (c UserClient) GetUserBlocks(ctx context.Context, __arg GetUserBlocksArg) (res []UserBlock, err error) { - err = c.Cli.Call(ctx, "keybase.1.user.getUserBlocks", []interface{}{__arg}, &res, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.user.getUserBlocks", []any{__arg}, &res, 0*time.Millisecond) return } func (c UserClient) ReportUser(ctx context.Context, __arg ReportUserArg) (err error) { - err = c.Cli.Call(ctx, "keybase.1.user.reportUser", []interface{}{__arg}, nil, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.user.reportUser", []any{__arg}, nil, 0*time.Millisecond) return } func (c UserClient) DismissBlockButtons(ctx context.Context, tlfID TLFID) (err error) { __arg := DismissBlockButtonsArg{TlfID: tlfID} - err = c.Cli.Call(ctx, "keybase.1.user.dismissBlockButtons", []interface{}{__arg}, nil, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.user.dismissBlockButtons", []any{__arg}, nil, 0*time.Millisecond) return } func (c UserClient) BlockUser(ctx context.Context, username string) (err error) { __arg := BlockUserArg{Username: username} - err = c.Cli.Call(ctx, "keybase.1.user.blockUser", []interface{}{__arg}, nil, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.user.blockUser", []any{__arg}, nil, 0*time.Millisecond) return } func (c UserClient) UnblockUser(ctx context.Context, username string) (err error) { __arg := UnblockUserArg{Username: username} - err = c.Cli.Call(ctx, "keybase.1.user.unblockUser", []interface{}{__arg}, nil, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.user.unblockUser", []any{__arg}, nil, 0*time.Millisecond) return } func (c UserClient) GetTeamBlocks(ctx context.Context, sessionID int) (res []TeamBlock, err error) { __arg := GetTeamBlocksArg{SessionID: sessionID} - err = c.Cli.Call(ctx, "keybase.1.user.getTeamBlocks", []interface{}{__arg}, &res, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.user.getTeamBlocks", []any{__arg}, &res, 0*time.Millisecond) return } diff --git a/go/protocol/keybase1/usersearch.go b/go/protocol/keybase1/usersearch.go index a01e0b0ed47e..88102f487a63 100644 --- a/go/protocol/keybase1/usersearch.go +++ b/go/protocol/keybase1/usersearch.go @@ -1,4 +1,4 @@ -// Auto-generated to Go types and interfaces using avdl-compiler v1.4.10 (https://github.com/keybase/node-avdl-compiler) +// Code generated to Go types and interfaces using avdl-compiler v1.4.10 (https://github.com/keybase/node-avdl-compiler). DO NOT EDIT. // Input file: avdl/keybase1/usersearch.avdl package keybase1 @@ -305,11 +305,11 @@ func UserSearchProtocol(i UserSearchInterface) rpc.Protocol { Name: "keybase.1.userSearch", Methods: map[string]rpc.ServeHandlerDescription{ "getNonUserDetails": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]GetNonUserDetailsArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]GetNonUserDetailsArg) if !ok { err = rpc.NewTypeError((*[1]GetNonUserDetailsArg)(nil), args) @@ -320,11 +320,11 @@ func UserSearchProtocol(i UserSearchInterface) rpc.Protocol { }, }, "userSearch": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]UserSearchArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]UserSearchArg) if !ok { err = rpc.NewTypeError((*[1]UserSearchArg)(nil), args) @@ -335,11 +335,11 @@ func UserSearchProtocol(i UserSearchInterface) rpc.Protocol { }, }, "bulkEmailOrPhoneSearch": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]BulkEmailOrPhoneSearchArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]BulkEmailOrPhoneSearchArg) if !ok { err = rpc.NewTypeError((*[1]BulkEmailOrPhoneSearchArg)(nil), args) @@ -358,16 +358,16 @@ type UserSearchClient struct { } func (c UserSearchClient) GetNonUserDetails(ctx context.Context, __arg GetNonUserDetailsArg) (res NonUserDetails, err error) { - err = c.Cli.Call(ctx, "keybase.1.userSearch.getNonUserDetails", []interface{}{__arg}, &res, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.userSearch.getNonUserDetails", []any{__arg}, &res, 0*time.Millisecond) return } func (c UserSearchClient) UserSearch(ctx context.Context, __arg UserSearchArg) (res []APIUserSearchResult, err error) { - err = c.Cli.Call(ctx, "keybase.1.userSearch.userSearch", []interface{}{__arg}, &res, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.userSearch.userSearch", []any{__arg}, &res, 0*time.Millisecond) return } func (c UserSearchClient) BulkEmailOrPhoneSearch(ctx context.Context, __arg BulkEmailOrPhoneSearchArg) (res []EmailOrPhoneNumberSearchResult, err error) { - err = c.Cli.Call(ctx, "keybase.1.userSearch.bulkEmailOrPhoneSearch", []interface{}{__arg}, &res, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.userSearch.bulkEmailOrPhoneSearch", []any{__arg}, &res, 0*time.Millisecond) return } diff --git a/go/protocol/keybase1/wot.go b/go/protocol/keybase1/wot.go index e8cadfe134e4..99cc76051158 100644 --- a/go/protocol/keybase1/wot.go +++ b/go/protocol/keybase1/wot.go @@ -1,4 +1,4 @@ -// Auto-generated to Go types and interfaces using avdl-compiler v1.4.10 (https://github.com/keybase/node-avdl-compiler) +// Code generated to Go types and interfaces using avdl-compiler v1.4.10 (https://github.com/keybase/node-avdl-compiler). DO NOT EDIT. // Input file: avdl/keybase1/wot.avdl package keybase1 @@ -209,11 +209,11 @@ func WotProtocol(i WotInterface) rpc.Protocol { Name: "keybase.1.wot", Methods: map[string]rpc.ServeHandlerDescription{ "wotVouch": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]WotVouchArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]WotVouchArg) if !ok { err = rpc.NewTypeError((*[1]WotVouchArg)(nil), args) @@ -224,11 +224,11 @@ func WotProtocol(i WotInterface) rpc.Protocol { }, }, "wotVouchCLI": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]WotVouchCLIArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]WotVouchCLIArg) if !ok { err = rpc.NewTypeError((*[1]WotVouchCLIArg)(nil), args) @@ -239,11 +239,11 @@ func WotProtocol(i WotInterface) rpc.Protocol { }, }, "wotReact": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]WotReactArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]WotReactArg) if !ok { err = rpc.NewTypeError((*[1]WotReactArg)(nil), args) @@ -254,11 +254,11 @@ func WotProtocol(i WotInterface) rpc.Protocol { }, }, "dismissWotNotifications": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]DismissWotNotificationsArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]DismissWotNotificationsArg) if !ok { err = rpc.NewTypeError((*[1]DismissWotNotificationsArg)(nil), args) @@ -269,11 +269,11 @@ func WotProtocol(i WotInterface) rpc.Protocol { }, }, "wotFetchVouches": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]WotFetchVouchesArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]WotFetchVouchesArg) if !ok { err = rpc.NewTypeError((*[1]WotFetchVouchesArg)(nil), args) @@ -292,26 +292,26 @@ type WotClient struct { } func (c WotClient) WotVouch(ctx context.Context, __arg WotVouchArg) (err error) { - err = c.Cli.Call(ctx, "keybase.1.wot.wotVouch", []interface{}{__arg}, nil, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.wot.wotVouch", []any{__arg}, nil, 0*time.Millisecond) return } func (c WotClient) WotVouchCLI(ctx context.Context, __arg WotVouchCLIArg) (err error) { - err = c.Cli.Call(ctx, "keybase.1.wot.wotVouchCLI", []interface{}{__arg}, nil, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.wot.wotVouchCLI", []any{__arg}, nil, 0*time.Millisecond) return } func (c WotClient) WotReact(ctx context.Context, __arg WotReactArg) (err error) { - err = c.Cli.Call(ctx, "keybase.1.wot.wotReact", []interface{}{__arg}, nil, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.wot.wotReact", []any{__arg}, nil, 0*time.Millisecond) return } func (c WotClient) DismissWotNotifications(ctx context.Context, __arg DismissWotNotificationsArg) (err error) { - err = c.Cli.Call(ctx, "keybase.1.wot.dismissWotNotifications", []interface{}{__arg}, nil, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.wot.dismissWotNotifications", []any{__arg}, nil, 0*time.Millisecond) return } func (c WotClient) WotFetchVouches(ctx context.Context, __arg WotFetchVouchesArg) (res []WotVouch, err error) { - err = c.Cli.Call(ctx, "keybase.1.wot.wotFetchVouches", []interface{}{__arg}, &res, 0*time.Millisecond) + err = c.Cli.Call(ctx, "keybase.1.wot.wotFetchVouches", []any{__arg}, &res, 0*time.Millisecond) return } diff --git a/go/protocol/stellar1/bundle.go b/go/protocol/stellar1/bundle.go index 4da45252d5f4..1fe6bdea04f8 100644 --- a/go/protocol/stellar1/bundle.go +++ b/go/protocol/stellar1/bundle.go @@ -1,4 +1,4 @@ -// Auto-generated to Go types and interfaces using avdl-compiler v1.4.10 (https://github.com/keybase/node-avdl-compiler) +// Code generated to Go types and interfaces using avdl-compiler v1.4.10 (https://github.com/keybase/node-avdl-compiler). DO NOT EDIT. // Input file: avdl/stellar1/bundle.avdl package stellar1 @@ -480,7 +480,8 @@ func (o BundleSecretEntryV2) DeepCopy() BundleSecretEntryV2 { } } -type BundleSecretUnsupported struct{} +type BundleSecretUnsupported struct { +} func (o BundleSecretUnsupported) DeepCopy() BundleSecretUnsupported { return BundleSecretUnsupported{} @@ -895,7 +896,8 @@ func (o AccountBundleSecretV1) DeepCopy() AccountBundleSecretV1 { } } -type AccountBundleSecretUnsupported struct{} +type AccountBundleSecretUnsupported struct { +} func (o AccountBundleSecretUnsupported) DeepCopy() AccountBundleSecretUnsupported { return AccountBundleSecretUnsupported{} @@ -986,7 +988,8 @@ func (o AccountBundle) DeepCopy() AccountBundle { } } -type BundleInterface interface{} +type BundleInterface interface { +} func BundleProtocol(i BundleInterface) rpc.Protocol { return rpc.Protocol{ diff --git a/go/protocol/stellar1/common.go b/go/protocol/stellar1/common.go index 6762694f40cd..99ee1565d65b 100644 --- a/go/protocol/stellar1/common.go +++ b/go/protocol/stellar1/common.go @@ -1,4 +1,4 @@ -// Auto-generated to Go types and interfaces using avdl-compiler v1.4.10 (https://github.com/keybase/node-avdl-compiler) +// Code generated to Go types and interfaces using avdl-compiler v1.4.10 (https://github.com/keybase/node-avdl-compiler). DO NOT EDIT. // Input file: avdl/stellar1/common.avdl package stellar1 @@ -550,7 +550,8 @@ func (o PaymentPath) DeepCopy() PaymentPath { } } -type CommonInterface interface{} +type CommonInterface interface { +} func CommonProtocol(i CommonInterface) rpc.Protocol { return rpc.Protocol{ diff --git a/go/protocol/stellar1/gregor.go b/go/protocol/stellar1/gregor.go index 3023094c78e6..3bdf8949d279 100644 --- a/go/protocol/stellar1/gregor.go +++ b/go/protocol/stellar1/gregor.go @@ -1,4 +1,4 @@ -// Auto-generated to Go types and interfaces using avdl-compiler v1.4.10 (https://github.com/keybase/node-avdl-compiler) +// Code generated to Go types and interfaces using avdl-compiler v1.4.10 (https://github.com/keybase/node-avdl-compiler). DO NOT EDIT. // Input file: avdl/stellar1/gregor.avdl package stellar1 @@ -43,7 +43,8 @@ func (o PaymentNotificationMsg) DeepCopy() PaymentNotificationMsg { } } -type GregorInterface interface{} +type GregorInterface interface { +} func GregorProtocol(i GregorInterface) rpc.Protocol { return rpc.Protocol{ diff --git a/go/protocol/stellar1/local.go b/go/protocol/stellar1/local.go index 76a6dd43bdeb..6fc9d8090ec0 100644 --- a/go/protocol/stellar1/local.go +++ b/go/protocol/stellar1/local.go @@ -1,4 +1,4 @@ -// Auto-generated to Go types and interfaces using avdl-compiler v1.4.10 (https://github.com/keybase/node-avdl-compiler) +// Code generated to Go types and interfaces using avdl-compiler v1.4.10 (https://github.com/keybase/node-avdl-compiler). DO NOT EDIT. // Input file: avdl/stellar1/local.avdl package stellar1 @@ -1670,11 +1670,14 @@ type PaymentDetailCLILocalArg struct { TxID string `codec:"txID" json:"txID"` } -type WalletInitLocalArg struct{} +type WalletInitLocalArg struct { +} -type WalletDumpLocalArg struct{} +type WalletDumpLocalArg struct { +} -type WalletGetAccountsCLILocalArg struct{} +type WalletGetAccountsCLILocalArg struct { +} type OwnAccountLocalArg struct { AccountID AccountID `codec:"accountID" json:"accountID"` @@ -1699,7 +1702,8 @@ type ExchangeRateLocalArg struct { Currency OutsideCurrencyCode `codec:"currency" json:"currency"` } -type GetAvailableLocalCurrenciesArg struct{} +type GetAvailableLocalCurrenciesArg struct { +} type FormatLocalCurrencyStringArg struct { Amount string `codec:"amount" json:"amount"` @@ -1759,7 +1763,8 @@ type SignTransactionXdrLocalArg struct { Submit bool `codec:"submit" json:"submit"` } -type GetStaticConfigLocalArg struct{} +type GetStaticConfigLocalArg struct { +} type LocalInterface interface { GetWalletAccountsLocal(context.Context, int) ([]WalletAccountLocal, error) @@ -1850,11 +1855,11 @@ func LocalProtocol(i LocalInterface) rpc.Protocol { Name: "stellar.1.local", Methods: map[string]rpc.ServeHandlerDescription{ "getWalletAccountsLocal": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]GetWalletAccountsLocalArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]GetWalletAccountsLocalArg) if !ok { err = rpc.NewTypeError((*[1]GetWalletAccountsLocalArg)(nil), args) @@ -1865,11 +1870,11 @@ func LocalProtocol(i LocalInterface) rpc.Protocol { }, }, "getWalletAccountLocal": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]GetWalletAccountLocalArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]GetWalletAccountLocalArg) if !ok { err = rpc.NewTypeError((*[1]GetWalletAccountLocalArg)(nil), args) @@ -1880,11 +1885,11 @@ func LocalProtocol(i LocalInterface) rpc.Protocol { }, }, "getAccountAssetsLocal": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]GetAccountAssetsLocalArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]GetAccountAssetsLocalArg) if !ok { err = rpc.NewTypeError((*[1]GetAccountAssetsLocalArg)(nil), args) @@ -1895,11 +1900,11 @@ func LocalProtocol(i LocalInterface) rpc.Protocol { }, }, "getPaymentsLocal": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]GetPaymentsLocalArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]GetPaymentsLocalArg) if !ok { err = rpc.NewTypeError((*[1]GetPaymentsLocalArg)(nil), args) @@ -1910,11 +1915,11 @@ func LocalProtocol(i LocalInterface) rpc.Protocol { }, }, "getPendingPaymentsLocal": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]GetPendingPaymentsLocalArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]GetPendingPaymentsLocalArg) if !ok { err = rpc.NewTypeError((*[1]GetPendingPaymentsLocalArg)(nil), args) @@ -1925,11 +1930,11 @@ func LocalProtocol(i LocalInterface) rpc.Protocol { }, }, "markAsReadLocal": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]MarkAsReadLocalArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]MarkAsReadLocalArg) if !ok { err = rpc.NewTypeError((*[1]MarkAsReadLocalArg)(nil), args) @@ -1940,11 +1945,11 @@ func LocalProtocol(i LocalInterface) rpc.Protocol { }, }, "getPaymentDetailsLocal": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]GetPaymentDetailsLocalArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]GetPaymentDetailsLocalArg) if !ok { err = rpc.NewTypeError((*[1]GetPaymentDetailsLocalArg)(nil), args) @@ -1955,11 +1960,11 @@ func LocalProtocol(i LocalInterface) rpc.Protocol { }, }, "getGenericPaymentDetailsLocal": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]GetGenericPaymentDetailsLocalArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]GetGenericPaymentDetailsLocalArg) if !ok { err = rpc.NewTypeError((*[1]GetGenericPaymentDetailsLocalArg)(nil), args) @@ -1970,11 +1975,11 @@ func LocalProtocol(i LocalInterface) rpc.Protocol { }, }, "getDisplayCurrenciesLocal": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]GetDisplayCurrenciesLocalArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]GetDisplayCurrenciesLocalArg) if !ok { err = rpc.NewTypeError((*[1]GetDisplayCurrenciesLocalArg)(nil), args) @@ -1985,11 +1990,11 @@ func LocalProtocol(i LocalInterface) rpc.Protocol { }, }, "validateAccountIDLocal": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]ValidateAccountIDLocalArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]ValidateAccountIDLocalArg) if !ok { err = rpc.NewTypeError((*[1]ValidateAccountIDLocalArg)(nil), args) @@ -2000,11 +2005,11 @@ func LocalProtocol(i LocalInterface) rpc.Protocol { }, }, "validateSecretKeyLocal": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]ValidateSecretKeyLocalArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]ValidateSecretKeyLocalArg) if !ok { err = rpc.NewTypeError((*[1]ValidateSecretKeyLocalArg)(nil), args) @@ -2015,11 +2020,11 @@ func LocalProtocol(i LocalInterface) rpc.Protocol { }, }, "validateAccountNameLocal": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]ValidateAccountNameLocalArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]ValidateAccountNameLocalArg) if !ok { err = rpc.NewTypeError((*[1]ValidateAccountNameLocalArg)(nil), args) @@ -2030,11 +2035,11 @@ func LocalProtocol(i LocalInterface) rpc.Protocol { }, }, "changeWalletAccountNameLocal": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]ChangeWalletAccountNameLocalArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]ChangeWalletAccountNameLocalArg) if !ok { err = rpc.NewTypeError((*[1]ChangeWalletAccountNameLocalArg)(nil), args) @@ -2045,11 +2050,11 @@ func LocalProtocol(i LocalInterface) rpc.Protocol { }, }, "setWalletAccountAsDefaultLocal": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]SetWalletAccountAsDefaultLocalArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]SetWalletAccountAsDefaultLocalArg) if !ok { err = rpc.NewTypeError((*[1]SetWalletAccountAsDefaultLocalArg)(nil), args) @@ -2060,11 +2065,11 @@ func LocalProtocol(i LocalInterface) rpc.Protocol { }, }, "deleteWalletAccountLocal": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]DeleteWalletAccountLocalArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]DeleteWalletAccountLocalArg) if !ok { err = rpc.NewTypeError((*[1]DeleteWalletAccountLocalArg)(nil), args) @@ -2075,11 +2080,11 @@ func LocalProtocol(i LocalInterface) rpc.Protocol { }, }, "linkNewWalletAccountLocal": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]LinkNewWalletAccountLocalArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]LinkNewWalletAccountLocalArg) if !ok { err = rpc.NewTypeError((*[1]LinkNewWalletAccountLocalArg)(nil), args) @@ -2090,11 +2095,11 @@ func LocalProtocol(i LocalInterface) rpc.Protocol { }, }, "createWalletAccountLocal": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]CreateWalletAccountLocalArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]CreateWalletAccountLocalArg) if !ok { err = rpc.NewTypeError((*[1]CreateWalletAccountLocalArg)(nil), args) @@ -2105,11 +2110,11 @@ func LocalProtocol(i LocalInterface) rpc.Protocol { }, }, "changeDisplayCurrencyLocal": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]ChangeDisplayCurrencyLocalArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]ChangeDisplayCurrencyLocalArg) if !ok { err = rpc.NewTypeError((*[1]ChangeDisplayCurrencyLocalArg)(nil), args) @@ -2120,11 +2125,11 @@ func LocalProtocol(i LocalInterface) rpc.Protocol { }, }, "getDisplayCurrencyLocal": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]GetDisplayCurrencyLocalArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]GetDisplayCurrencyLocalArg) if !ok { err = rpc.NewTypeError((*[1]GetDisplayCurrencyLocalArg)(nil), args) @@ -2135,11 +2140,11 @@ func LocalProtocol(i LocalInterface) rpc.Protocol { }, }, "hasAcceptedDisclaimerLocal": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]HasAcceptedDisclaimerLocalArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]HasAcceptedDisclaimerLocalArg) if !ok { err = rpc.NewTypeError((*[1]HasAcceptedDisclaimerLocalArg)(nil), args) @@ -2150,11 +2155,11 @@ func LocalProtocol(i LocalInterface) rpc.Protocol { }, }, "acceptDisclaimerLocal": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]AcceptDisclaimerLocalArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]AcceptDisclaimerLocalArg) if !ok { err = rpc.NewTypeError((*[1]AcceptDisclaimerLocalArg)(nil), args) @@ -2165,11 +2170,11 @@ func LocalProtocol(i LocalInterface) rpc.Protocol { }, }, "getWalletAccountPublicKeyLocal": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]GetWalletAccountPublicKeyLocalArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]GetWalletAccountPublicKeyLocalArg) if !ok { err = rpc.NewTypeError((*[1]GetWalletAccountPublicKeyLocalArg)(nil), args) @@ -2180,11 +2185,11 @@ func LocalProtocol(i LocalInterface) rpc.Protocol { }, }, "getWalletAccountSecretKeyLocal": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]GetWalletAccountSecretKeyLocalArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]GetWalletAccountSecretKeyLocalArg) if !ok { err = rpc.NewTypeError((*[1]GetWalletAccountSecretKeyLocalArg)(nil), args) @@ -2195,11 +2200,11 @@ func LocalProtocol(i LocalInterface) rpc.Protocol { }, }, "getSendAssetChoicesLocal": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]GetSendAssetChoicesLocalArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]GetSendAssetChoicesLocalArg) if !ok { err = rpc.NewTypeError((*[1]GetSendAssetChoicesLocalArg)(nil), args) @@ -2210,11 +2215,11 @@ func LocalProtocol(i LocalInterface) rpc.Protocol { }, }, "startBuildPaymentLocal": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]StartBuildPaymentLocalArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]StartBuildPaymentLocalArg) if !ok { err = rpc.NewTypeError((*[1]StartBuildPaymentLocalArg)(nil), args) @@ -2225,11 +2230,11 @@ func LocalProtocol(i LocalInterface) rpc.Protocol { }, }, "stopBuildPaymentLocal": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]StopBuildPaymentLocalArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]StopBuildPaymentLocalArg) if !ok { err = rpc.NewTypeError((*[1]StopBuildPaymentLocalArg)(nil), args) @@ -2240,11 +2245,11 @@ func LocalProtocol(i LocalInterface) rpc.Protocol { }, }, "buildPaymentLocal": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]BuildPaymentLocalArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]BuildPaymentLocalArg) if !ok { err = rpc.NewTypeError((*[1]BuildPaymentLocalArg)(nil), args) @@ -2255,11 +2260,11 @@ func LocalProtocol(i LocalInterface) rpc.Protocol { }, }, "reviewPaymentLocal": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]ReviewPaymentLocalArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]ReviewPaymentLocalArg) if !ok { err = rpc.NewTypeError((*[1]ReviewPaymentLocalArg)(nil), args) @@ -2270,11 +2275,11 @@ func LocalProtocol(i LocalInterface) rpc.Protocol { }, }, "sendPaymentLocal": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]SendPaymentLocalArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]SendPaymentLocalArg) if !ok { err = rpc.NewTypeError((*[1]SendPaymentLocalArg)(nil), args) @@ -2285,11 +2290,11 @@ func LocalProtocol(i LocalInterface) rpc.Protocol { }, }, "sendPathLocal": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]SendPathLocalArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]SendPathLocalArg) if !ok { err = rpc.NewTypeError((*[1]SendPathLocalArg)(nil), args) @@ -2300,11 +2305,11 @@ func LocalProtocol(i LocalInterface) rpc.Protocol { }, }, "buildRequestLocal": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]BuildRequestLocalArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]BuildRequestLocalArg) if !ok { err = rpc.NewTypeError((*[1]BuildRequestLocalArg)(nil), args) @@ -2315,11 +2320,11 @@ func LocalProtocol(i LocalInterface) rpc.Protocol { }, }, "getRequestDetailsLocal": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]GetRequestDetailsLocalArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]GetRequestDetailsLocalArg) if !ok { err = rpc.NewTypeError((*[1]GetRequestDetailsLocalArg)(nil), args) @@ -2330,11 +2335,11 @@ func LocalProtocol(i LocalInterface) rpc.Protocol { }, }, "cancelRequestLocal": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]CancelRequestLocalArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]CancelRequestLocalArg) if !ok { err = rpc.NewTypeError((*[1]CancelRequestLocalArg)(nil), args) @@ -2345,11 +2350,11 @@ func LocalProtocol(i LocalInterface) rpc.Protocol { }, }, "makeRequestLocal": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]MakeRequestLocalArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]MakeRequestLocalArg) if !ok { err = rpc.NewTypeError((*[1]MakeRequestLocalArg)(nil), args) @@ -2360,11 +2365,11 @@ func LocalProtocol(i LocalInterface) rpc.Protocol { }, }, "setAccountMobileOnlyLocal": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]SetAccountMobileOnlyLocalArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]SetAccountMobileOnlyLocalArg) if !ok { err = rpc.NewTypeError((*[1]SetAccountMobileOnlyLocalArg)(nil), args) @@ -2375,11 +2380,11 @@ func LocalProtocol(i LocalInterface) rpc.Protocol { }, }, "setAccountAllDevicesLocal": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]SetAccountAllDevicesLocalArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]SetAccountAllDevicesLocalArg) if !ok { err = rpc.NewTypeError((*[1]SetAccountAllDevicesLocalArg)(nil), args) @@ -2390,11 +2395,11 @@ func LocalProtocol(i LocalInterface) rpc.Protocol { }, }, "isAccountMobileOnlyLocal": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]IsAccountMobileOnlyLocalArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]IsAccountMobileOnlyLocalArg) if !ok { err = rpc.NewTypeError((*[1]IsAccountMobileOnlyLocalArg)(nil), args) @@ -2405,11 +2410,11 @@ func LocalProtocol(i LocalInterface) rpc.Protocol { }, }, "cancelPaymentLocal": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]CancelPaymentLocalArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]CancelPaymentLocalArg) if !ok { err = rpc.NewTypeError((*[1]CancelPaymentLocalArg)(nil), args) @@ -2420,11 +2425,11 @@ func LocalProtocol(i LocalInterface) rpc.Protocol { }, }, "getPredefinedInflationDestinationsLocal": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]GetPredefinedInflationDestinationsLocalArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]GetPredefinedInflationDestinationsLocalArg) if !ok { err = rpc.NewTypeError((*[1]GetPredefinedInflationDestinationsLocalArg)(nil), args) @@ -2435,11 +2440,11 @@ func LocalProtocol(i LocalInterface) rpc.Protocol { }, }, "setInflationDestinationLocal": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]SetInflationDestinationLocalArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]SetInflationDestinationLocalArg) if !ok { err = rpc.NewTypeError((*[1]SetInflationDestinationLocalArg)(nil), args) @@ -2450,11 +2455,11 @@ func LocalProtocol(i LocalInterface) rpc.Protocol { }, }, "getInflationDestinationLocal": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]GetInflationDestinationLocalArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]GetInflationDestinationLocalArg) if !ok { err = rpc.NewTypeError((*[1]GetInflationDestinationLocalArg)(nil), args) @@ -2465,11 +2470,11 @@ func LocalProtocol(i LocalInterface) rpc.Protocol { }, }, "airdropDetailsLocal": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]AirdropDetailsLocalArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]AirdropDetailsLocalArg) if !ok { err = rpc.NewTypeError((*[1]AirdropDetailsLocalArg)(nil), args) @@ -2480,11 +2485,11 @@ func LocalProtocol(i LocalInterface) rpc.Protocol { }, }, "airdropStatusLocal": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]AirdropStatusLocalArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]AirdropStatusLocalArg) if !ok { err = rpc.NewTypeError((*[1]AirdropStatusLocalArg)(nil), args) @@ -2495,11 +2500,11 @@ func LocalProtocol(i LocalInterface) rpc.Protocol { }, }, "airdropRegisterLocal": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]AirdropRegisterLocalArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]AirdropRegisterLocalArg) if !ok { err = rpc.NewTypeError((*[1]AirdropRegisterLocalArg)(nil), args) @@ -2510,11 +2515,11 @@ func LocalProtocol(i LocalInterface) rpc.Protocol { }, }, "fuzzyAssetSearchLocal": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]FuzzyAssetSearchLocalArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]FuzzyAssetSearchLocalArg) if !ok { err = rpc.NewTypeError((*[1]FuzzyAssetSearchLocalArg)(nil), args) @@ -2525,11 +2530,11 @@ func LocalProtocol(i LocalInterface) rpc.Protocol { }, }, "listPopularAssetsLocal": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]ListPopularAssetsLocalArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]ListPopularAssetsLocalArg) if !ok { err = rpc.NewTypeError((*[1]ListPopularAssetsLocalArg)(nil), args) @@ -2540,11 +2545,11 @@ func LocalProtocol(i LocalInterface) rpc.Protocol { }, }, "addTrustlineLocal": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]AddTrustlineLocalArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]AddTrustlineLocalArg) if !ok { err = rpc.NewTypeError((*[1]AddTrustlineLocalArg)(nil), args) @@ -2555,11 +2560,11 @@ func LocalProtocol(i LocalInterface) rpc.Protocol { }, }, "deleteTrustlineLocal": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]DeleteTrustlineLocalArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]DeleteTrustlineLocalArg) if !ok { err = rpc.NewTypeError((*[1]DeleteTrustlineLocalArg)(nil), args) @@ -2570,11 +2575,11 @@ func LocalProtocol(i LocalInterface) rpc.Protocol { }, }, "changeTrustlineLimitLocal": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]ChangeTrustlineLimitLocalArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]ChangeTrustlineLimitLocalArg) if !ok { err = rpc.NewTypeError((*[1]ChangeTrustlineLimitLocalArg)(nil), args) @@ -2585,11 +2590,11 @@ func LocalProtocol(i LocalInterface) rpc.Protocol { }, }, "getTrustlinesLocal": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]GetTrustlinesLocalArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]GetTrustlinesLocalArg) if !ok { err = rpc.NewTypeError((*[1]GetTrustlinesLocalArg)(nil), args) @@ -2600,11 +2605,11 @@ func LocalProtocol(i LocalInterface) rpc.Protocol { }, }, "getTrustlinesForRecipientLocal": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]GetTrustlinesForRecipientLocalArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]GetTrustlinesForRecipientLocalArg) if !ok { err = rpc.NewTypeError((*[1]GetTrustlinesForRecipientLocalArg)(nil), args) @@ -2615,11 +2620,11 @@ func LocalProtocol(i LocalInterface) rpc.Protocol { }, }, "findPaymentPathLocal": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]FindPaymentPathLocalArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]FindPaymentPathLocalArg) if !ok { err = rpc.NewTypeError((*[1]FindPaymentPathLocalArg)(nil), args) @@ -2630,11 +2635,11 @@ func LocalProtocol(i LocalInterface) rpc.Protocol { }, }, "assetDepositLocal": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]AssetDepositLocalArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]AssetDepositLocalArg) if !ok { err = rpc.NewTypeError((*[1]AssetDepositLocalArg)(nil), args) @@ -2645,11 +2650,11 @@ func LocalProtocol(i LocalInterface) rpc.Protocol { }, }, "assetWithdrawLocal": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]AssetWithdrawLocalArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]AssetWithdrawLocalArg) if !ok { err = rpc.NewTypeError((*[1]AssetWithdrawLocalArg)(nil), args) @@ -2660,11 +2665,11 @@ func LocalProtocol(i LocalInterface) rpc.Protocol { }, }, "balancesLocal": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]BalancesLocalArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]BalancesLocalArg) if !ok { err = rpc.NewTypeError((*[1]BalancesLocalArg)(nil), args) @@ -2675,11 +2680,11 @@ func LocalProtocol(i LocalInterface) rpc.Protocol { }, }, "sendCLILocal": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]SendCLILocalArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]SendCLILocalArg) if !ok { err = rpc.NewTypeError((*[1]SendCLILocalArg)(nil), args) @@ -2690,11 +2695,11 @@ func LocalProtocol(i LocalInterface) rpc.Protocol { }, }, "sendPathCLILocal": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]SendPathCLILocalArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]SendPathCLILocalArg) if !ok { err = rpc.NewTypeError((*[1]SendPathCLILocalArg)(nil), args) @@ -2705,11 +2710,11 @@ func LocalProtocol(i LocalInterface) rpc.Protocol { }, }, "accountMergeCLILocal": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]AccountMergeCLILocalArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]AccountMergeCLILocalArg) if !ok { err = rpc.NewTypeError((*[1]AccountMergeCLILocalArg)(nil), args) @@ -2720,11 +2725,11 @@ func LocalProtocol(i LocalInterface) rpc.Protocol { }, }, "claimCLILocal": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]ClaimCLILocalArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]ClaimCLILocalArg) if !ok { err = rpc.NewTypeError((*[1]ClaimCLILocalArg)(nil), args) @@ -2735,11 +2740,11 @@ func LocalProtocol(i LocalInterface) rpc.Protocol { }, }, "recentPaymentsCLILocal": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]RecentPaymentsCLILocalArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]RecentPaymentsCLILocalArg) if !ok { err = rpc.NewTypeError((*[1]RecentPaymentsCLILocalArg)(nil), args) @@ -2750,11 +2755,11 @@ func LocalProtocol(i LocalInterface) rpc.Protocol { }, }, "paymentDetailCLILocal": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]PaymentDetailCLILocalArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]PaymentDetailCLILocalArg) if !ok { err = rpc.NewTypeError((*[1]PaymentDetailCLILocalArg)(nil), args) @@ -2765,41 +2770,41 @@ func LocalProtocol(i LocalInterface) rpc.Protocol { }, }, "walletInitLocal": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]WalletInitLocalArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { err = i.WalletInitLocal(ctx) return }, }, "walletDumpLocal": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]WalletDumpLocalArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { ret, err = i.WalletDumpLocal(ctx) return }, }, "walletGetAccountsCLILocal": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]WalletGetAccountsCLILocalArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { ret, err = i.WalletGetAccountsCLILocal(ctx) return }, }, "ownAccountLocal": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]OwnAccountLocalArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]OwnAccountLocalArg) if !ok { err = rpc.NewTypeError((*[1]OwnAccountLocalArg)(nil), args) @@ -2810,11 +2815,11 @@ func LocalProtocol(i LocalInterface) rpc.Protocol { }, }, "importSecretKeyLocal": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]ImportSecretKeyLocalArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]ImportSecretKeyLocalArg) if !ok { err = rpc.NewTypeError((*[1]ImportSecretKeyLocalArg)(nil), args) @@ -2825,11 +2830,11 @@ func LocalProtocol(i LocalInterface) rpc.Protocol { }, }, "exportSecretKeyLocal": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]ExportSecretKeyLocalArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]ExportSecretKeyLocalArg) if !ok { err = rpc.NewTypeError((*[1]ExportSecretKeyLocalArg)(nil), args) @@ -2840,11 +2845,11 @@ func LocalProtocol(i LocalInterface) rpc.Protocol { }, }, "setDisplayCurrency": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]SetDisplayCurrencyArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]SetDisplayCurrencyArg) if !ok { err = rpc.NewTypeError((*[1]SetDisplayCurrencyArg)(nil), args) @@ -2855,11 +2860,11 @@ func LocalProtocol(i LocalInterface) rpc.Protocol { }, }, "exchangeRateLocal": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]ExchangeRateLocalArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]ExchangeRateLocalArg) if !ok { err = rpc.NewTypeError((*[1]ExchangeRateLocalArg)(nil), args) @@ -2870,21 +2875,21 @@ func LocalProtocol(i LocalInterface) rpc.Protocol { }, }, "getAvailableLocalCurrencies": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]GetAvailableLocalCurrenciesArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { ret, err = i.GetAvailableLocalCurrencies(ctx) return }, }, "formatLocalCurrencyString": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]FormatLocalCurrencyStringArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]FormatLocalCurrencyStringArg) if !ok { err = rpc.NewTypeError((*[1]FormatLocalCurrencyStringArg)(nil), args) @@ -2895,11 +2900,11 @@ func LocalProtocol(i LocalInterface) rpc.Protocol { }, }, "makeRequestCLILocal": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]MakeRequestCLILocalArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]MakeRequestCLILocalArg) if !ok { err = rpc.NewTypeError((*[1]MakeRequestCLILocalArg)(nil), args) @@ -2910,11 +2915,11 @@ func LocalProtocol(i LocalInterface) rpc.Protocol { }, }, "lookupCLILocal": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]LookupCLILocalArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]LookupCLILocalArg) if !ok { err = rpc.NewTypeError((*[1]LookupCLILocalArg)(nil), args) @@ -2925,11 +2930,11 @@ func LocalProtocol(i LocalInterface) rpc.Protocol { }, }, "batchLocal": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]BatchLocalArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]BatchLocalArg) if !ok { err = rpc.NewTypeError((*[1]BatchLocalArg)(nil), args) @@ -2940,11 +2945,11 @@ func LocalProtocol(i LocalInterface) rpc.Protocol { }, }, "validateStellarURILocal": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]ValidateStellarURILocalArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]ValidateStellarURILocalArg) if !ok { err = rpc.NewTypeError((*[1]ValidateStellarURILocalArg)(nil), args) @@ -2955,11 +2960,11 @@ func LocalProtocol(i LocalInterface) rpc.Protocol { }, }, "approveTxURILocal": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]ApproveTxURILocalArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]ApproveTxURILocalArg) if !ok { err = rpc.NewTypeError((*[1]ApproveTxURILocalArg)(nil), args) @@ -2970,11 +2975,11 @@ func LocalProtocol(i LocalInterface) rpc.Protocol { }, }, "approvePayURILocal": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]ApprovePayURILocalArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]ApprovePayURILocalArg) if !ok { err = rpc.NewTypeError((*[1]ApprovePayURILocalArg)(nil), args) @@ -2985,11 +2990,11 @@ func LocalProtocol(i LocalInterface) rpc.Protocol { }, }, "approvePathURILocal": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]ApprovePathURILocalArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]ApprovePathURILocalArg) if !ok { err = rpc.NewTypeError((*[1]ApprovePathURILocalArg)(nil), args) @@ -3000,11 +3005,11 @@ func LocalProtocol(i LocalInterface) rpc.Protocol { }, }, "getPartnerUrlsLocal": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]GetPartnerUrlsLocalArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]GetPartnerUrlsLocalArg) if !ok { err = rpc.NewTypeError((*[1]GetPartnerUrlsLocalArg)(nil), args) @@ -3015,11 +3020,11 @@ func LocalProtocol(i LocalInterface) rpc.Protocol { }, }, "signTransactionXdrLocal": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]SignTransactionXdrLocalArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]SignTransactionXdrLocalArg) if !ok { err = rpc.NewTypeError((*[1]SignTransactionXdrLocalArg)(nil), args) @@ -3030,11 +3035,11 @@ func LocalProtocol(i LocalInterface) rpc.Protocol { }, }, "getStaticConfigLocal": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]GetStaticConfigLocalArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { ret, err = i.GetStaticConfigLocal(ctx) return }, @@ -3049,422 +3054,422 @@ type LocalClient struct { func (c LocalClient) GetWalletAccountsLocal(ctx context.Context, sessionID int) (res []WalletAccountLocal, err error) { __arg := GetWalletAccountsLocalArg{SessionID: sessionID} - err = c.Cli.Call(ctx, "stellar.1.local.getWalletAccountsLocal", []interface{}{__arg}, &res, 0*time.Millisecond) + err = c.Cli.Call(ctx, "stellar.1.local.getWalletAccountsLocal", []any{__arg}, &res, 0*time.Millisecond) return } func (c LocalClient) GetWalletAccountLocal(ctx context.Context, __arg GetWalletAccountLocalArg) (res WalletAccountLocal, err error) { - err = c.Cli.Call(ctx, "stellar.1.local.getWalletAccountLocal", []interface{}{__arg}, &res, 0*time.Millisecond) + err = c.Cli.Call(ctx, "stellar.1.local.getWalletAccountLocal", []any{__arg}, &res, 0*time.Millisecond) return } func (c LocalClient) GetAccountAssetsLocal(ctx context.Context, __arg GetAccountAssetsLocalArg) (res []AccountAssetLocal, err error) { - err = c.Cli.Call(ctx, "stellar.1.local.getAccountAssetsLocal", []interface{}{__arg}, &res, 0*time.Millisecond) + err = c.Cli.Call(ctx, "stellar.1.local.getAccountAssetsLocal", []any{__arg}, &res, 0*time.Millisecond) return } func (c LocalClient) GetPaymentsLocal(ctx context.Context, __arg GetPaymentsLocalArg) (res PaymentsPageLocal, err error) { - err = c.Cli.Call(ctx, "stellar.1.local.getPaymentsLocal", []interface{}{__arg}, &res, 0*time.Millisecond) + err = c.Cli.Call(ctx, "stellar.1.local.getPaymentsLocal", []any{__arg}, &res, 0*time.Millisecond) return } func (c LocalClient) GetPendingPaymentsLocal(ctx context.Context, __arg GetPendingPaymentsLocalArg) (res []PaymentOrErrorLocal, err error) { - err = c.Cli.Call(ctx, "stellar.1.local.getPendingPaymentsLocal", []interface{}{__arg}, &res, 0*time.Millisecond) + err = c.Cli.Call(ctx, "stellar.1.local.getPendingPaymentsLocal", []any{__arg}, &res, 0*time.Millisecond) return } func (c LocalClient) MarkAsReadLocal(ctx context.Context, __arg MarkAsReadLocalArg) (err error) { - err = c.Cli.Call(ctx, "stellar.1.local.markAsReadLocal", []interface{}{__arg}, nil, 0*time.Millisecond) + err = c.Cli.Call(ctx, "stellar.1.local.markAsReadLocal", []any{__arg}, nil, 0*time.Millisecond) return } func (c LocalClient) GetPaymentDetailsLocal(ctx context.Context, __arg GetPaymentDetailsLocalArg) (res PaymentDetailsLocal, err error) { - err = c.Cli.Call(ctx, "stellar.1.local.getPaymentDetailsLocal", []interface{}{__arg}, &res, 0*time.Millisecond) + err = c.Cli.Call(ctx, "stellar.1.local.getPaymentDetailsLocal", []any{__arg}, &res, 0*time.Millisecond) return } func (c LocalClient) GetGenericPaymentDetailsLocal(ctx context.Context, __arg GetGenericPaymentDetailsLocalArg) (res PaymentDetailsLocal, err error) { - err = c.Cli.Call(ctx, "stellar.1.local.getGenericPaymentDetailsLocal", []interface{}{__arg}, &res, 0*time.Millisecond) + err = c.Cli.Call(ctx, "stellar.1.local.getGenericPaymentDetailsLocal", []any{__arg}, &res, 0*time.Millisecond) return } func (c LocalClient) GetDisplayCurrenciesLocal(ctx context.Context, sessionID int) (res []CurrencyLocal, err error) { __arg := GetDisplayCurrenciesLocalArg{SessionID: sessionID} - err = c.Cli.Call(ctx, "stellar.1.local.getDisplayCurrenciesLocal", []interface{}{__arg}, &res, 0*time.Millisecond) + err = c.Cli.Call(ctx, "stellar.1.local.getDisplayCurrenciesLocal", []any{__arg}, &res, 0*time.Millisecond) return } func (c LocalClient) ValidateAccountIDLocal(ctx context.Context, __arg ValidateAccountIDLocalArg) (err error) { - err = c.Cli.Call(ctx, "stellar.1.local.validateAccountIDLocal", []interface{}{__arg}, nil, 0*time.Millisecond) + err = c.Cli.Call(ctx, "stellar.1.local.validateAccountIDLocal", []any{__arg}, nil, 0*time.Millisecond) return } func (c LocalClient) ValidateSecretKeyLocal(ctx context.Context, __arg ValidateSecretKeyLocalArg) (err error) { - err = c.Cli.Call(ctx, "stellar.1.local.validateSecretKeyLocal", []interface{}{__arg}, nil, 0*time.Millisecond) + err = c.Cli.Call(ctx, "stellar.1.local.validateSecretKeyLocal", []any{__arg}, nil, 0*time.Millisecond) return } func (c LocalClient) ValidateAccountNameLocal(ctx context.Context, __arg ValidateAccountNameLocalArg) (err error) { - err = c.Cli.Call(ctx, "stellar.1.local.validateAccountNameLocal", []interface{}{__arg}, nil, 0*time.Millisecond) + err = c.Cli.Call(ctx, "stellar.1.local.validateAccountNameLocal", []any{__arg}, nil, 0*time.Millisecond) return } func (c LocalClient) ChangeWalletAccountNameLocal(ctx context.Context, __arg ChangeWalletAccountNameLocalArg) (res WalletAccountLocal, err error) { - err = c.Cli.Call(ctx, "stellar.1.local.changeWalletAccountNameLocal", []interface{}{__arg}, &res, 0*time.Millisecond) + err = c.Cli.Call(ctx, "stellar.1.local.changeWalletAccountNameLocal", []any{__arg}, &res, 0*time.Millisecond) return } func (c LocalClient) SetWalletAccountAsDefaultLocal(ctx context.Context, __arg SetWalletAccountAsDefaultLocalArg) (res []WalletAccountLocal, err error) { - err = c.Cli.Call(ctx, "stellar.1.local.setWalletAccountAsDefaultLocal", []interface{}{__arg}, &res, 0*time.Millisecond) + err = c.Cli.Call(ctx, "stellar.1.local.setWalletAccountAsDefaultLocal", []any{__arg}, &res, 0*time.Millisecond) return } func (c LocalClient) DeleteWalletAccountLocal(ctx context.Context, __arg DeleteWalletAccountLocalArg) (err error) { - err = c.Cli.Call(ctx, "stellar.1.local.deleteWalletAccountLocal", []interface{}{__arg}, nil, 0*time.Millisecond) + err = c.Cli.Call(ctx, "stellar.1.local.deleteWalletAccountLocal", []any{__arg}, nil, 0*time.Millisecond) return } func (c LocalClient) LinkNewWalletAccountLocal(ctx context.Context, __arg LinkNewWalletAccountLocalArg) (res AccountID, err error) { - err = c.Cli.Call(ctx, "stellar.1.local.linkNewWalletAccountLocal", []interface{}{__arg}, &res, 0*time.Millisecond) + err = c.Cli.Call(ctx, "stellar.1.local.linkNewWalletAccountLocal", []any{__arg}, &res, 0*time.Millisecond) return } func (c LocalClient) CreateWalletAccountLocal(ctx context.Context, __arg CreateWalletAccountLocalArg) (res AccountID, err error) { - err = c.Cli.Call(ctx, "stellar.1.local.createWalletAccountLocal", []interface{}{__arg}, &res, 0*time.Millisecond) + err = c.Cli.Call(ctx, "stellar.1.local.createWalletAccountLocal", []any{__arg}, &res, 0*time.Millisecond) return } func (c LocalClient) ChangeDisplayCurrencyLocal(ctx context.Context, __arg ChangeDisplayCurrencyLocalArg) (res CurrencyLocal, err error) { - err = c.Cli.Call(ctx, "stellar.1.local.changeDisplayCurrencyLocal", []interface{}{__arg}, &res, 0*time.Millisecond) + err = c.Cli.Call(ctx, "stellar.1.local.changeDisplayCurrencyLocal", []any{__arg}, &res, 0*time.Millisecond) return } func (c LocalClient) GetDisplayCurrencyLocal(ctx context.Context, __arg GetDisplayCurrencyLocalArg) (res CurrencyLocal, err error) { - err = c.Cli.Call(ctx, "stellar.1.local.getDisplayCurrencyLocal", []interface{}{__arg}, &res, 0*time.Millisecond) + err = c.Cli.Call(ctx, "stellar.1.local.getDisplayCurrencyLocal", []any{__arg}, &res, 0*time.Millisecond) return } func (c LocalClient) HasAcceptedDisclaimerLocal(ctx context.Context, sessionID int) (res bool, err error) { __arg := HasAcceptedDisclaimerLocalArg{SessionID: sessionID} - err = c.Cli.Call(ctx, "stellar.1.local.hasAcceptedDisclaimerLocal", []interface{}{__arg}, &res, 0*time.Millisecond) + err = c.Cli.Call(ctx, "stellar.1.local.hasAcceptedDisclaimerLocal", []any{__arg}, &res, 0*time.Millisecond) return } func (c LocalClient) AcceptDisclaimerLocal(ctx context.Context, sessionID int) (err error) { __arg := AcceptDisclaimerLocalArg{SessionID: sessionID} - err = c.Cli.Call(ctx, "stellar.1.local.acceptDisclaimerLocal", []interface{}{__arg}, nil, 0*time.Millisecond) + err = c.Cli.Call(ctx, "stellar.1.local.acceptDisclaimerLocal", []any{__arg}, nil, 0*time.Millisecond) return } func (c LocalClient) GetWalletAccountPublicKeyLocal(ctx context.Context, __arg GetWalletAccountPublicKeyLocalArg) (res string, err error) { - err = c.Cli.Call(ctx, "stellar.1.local.getWalletAccountPublicKeyLocal", []interface{}{__arg}, &res, 0*time.Millisecond) + err = c.Cli.Call(ctx, "stellar.1.local.getWalletAccountPublicKeyLocal", []any{__arg}, &res, 0*time.Millisecond) return } func (c LocalClient) GetWalletAccountSecretKeyLocal(ctx context.Context, __arg GetWalletAccountSecretKeyLocalArg) (res SecretKey, err error) { - err = c.Cli.Call(ctx, "stellar.1.local.getWalletAccountSecretKeyLocal", []interface{}{__arg}, &res, 0*time.Millisecond) + err = c.Cli.Call(ctx, "stellar.1.local.getWalletAccountSecretKeyLocal", []any{__arg}, &res, 0*time.Millisecond) return } func (c LocalClient) GetSendAssetChoicesLocal(ctx context.Context, __arg GetSendAssetChoicesLocalArg) (res []SendAssetChoiceLocal, err error) { - err = c.Cli.Call(ctx, "stellar.1.local.getSendAssetChoicesLocal", []interface{}{__arg}, &res, 0*time.Millisecond) + err = c.Cli.Call(ctx, "stellar.1.local.getSendAssetChoicesLocal", []any{__arg}, &res, 0*time.Millisecond) return } func (c LocalClient) StartBuildPaymentLocal(ctx context.Context, sessionID int) (res BuildPaymentID, err error) { __arg := StartBuildPaymentLocalArg{SessionID: sessionID} - err = c.Cli.Call(ctx, "stellar.1.local.startBuildPaymentLocal", []interface{}{__arg}, &res, 0*time.Millisecond) + err = c.Cli.Call(ctx, "stellar.1.local.startBuildPaymentLocal", []any{__arg}, &res, 0*time.Millisecond) return } func (c LocalClient) StopBuildPaymentLocal(ctx context.Context, __arg StopBuildPaymentLocalArg) (err error) { - err = c.Cli.Call(ctx, "stellar.1.local.stopBuildPaymentLocal", []interface{}{__arg}, nil, 0*time.Millisecond) + err = c.Cli.Call(ctx, "stellar.1.local.stopBuildPaymentLocal", []any{__arg}, nil, 0*time.Millisecond) return } func (c LocalClient) BuildPaymentLocal(ctx context.Context, __arg BuildPaymentLocalArg) (res BuildPaymentResLocal, err error) { - err = c.Cli.Call(ctx, "stellar.1.local.buildPaymentLocal", []interface{}{__arg}, &res, 0*time.Millisecond) + err = c.Cli.Call(ctx, "stellar.1.local.buildPaymentLocal", []any{__arg}, &res, 0*time.Millisecond) return } func (c LocalClient) ReviewPaymentLocal(ctx context.Context, __arg ReviewPaymentLocalArg) (err error) { - err = c.Cli.Call(ctx, "stellar.1.local.reviewPaymentLocal", []interface{}{__arg}, nil, 0*time.Millisecond) + err = c.Cli.Call(ctx, "stellar.1.local.reviewPaymentLocal", []any{__arg}, nil, 0*time.Millisecond) return } func (c LocalClient) SendPaymentLocal(ctx context.Context, __arg SendPaymentLocalArg) (res SendPaymentResLocal, err error) { - err = c.Cli.Call(ctx, "stellar.1.local.sendPaymentLocal", []interface{}{__arg}, &res, 0*time.Millisecond) + err = c.Cli.Call(ctx, "stellar.1.local.sendPaymentLocal", []any{__arg}, &res, 0*time.Millisecond) return } func (c LocalClient) SendPathLocal(ctx context.Context, __arg SendPathLocalArg) (res SendPaymentResLocal, err error) { - err = c.Cli.Call(ctx, "stellar.1.local.sendPathLocal", []interface{}{__arg}, &res, 0*time.Millisecond) + err = c.Cli.Call(ctx, "stellar.1.local.sendPathLocal", []any{__arg}, &res, 0*time.Millisecond) return } func (c LocalClient) BuildRequestLocal(ctx context.Context, __arg BuildRequestLocalArg) (res BuildRequestResLocal, err error) { - err = c.Cli.Call(ctx, "stellar.1.local.buildRequestLocal", []interface{}{__arg}, &res, 0*time.Millisecond) + err = c.Cli.Call(ctx, "stellar.1.local.buildRequestLocal", []any{__arg}, &res, 0*time.Millisecond) return } func (c LocalClient) GetRequestDetailsLocal(ctx context.Context, __arg GetRequestDetailsLocalArg) (res RequestDetailsLocal, err error) { - err = c.Cli.Call(ctx, "stellar.1.local.getRequestDetailsLocal", []interface{}{__arg}, &res, 0*time.Millisecond) + err = c.Cli.Call(ctx, "stellar.1.local.getRequestDetailsLocal", []any{__arg}, &res, 0*time.Millisecond) return } func (c LocalClient) CancelRequestLocal(ctx context.Context, __arg CancelRequestLocalArg) (err error) { - err = c.Cli.Call(ctx, "stellar.1.local.cancelRequestLocal", []interface{}{__arg}, nil, 0*time.Millisecond) + err = c.Cli.Call(ctx, "stellar.1.local.cancelRequestLocal", []any{__arg}, nil, 0*time.Millisecond) return } func (c LocalClient) MakeRequestLocal(ctx context.Context, __arg MakeRequestLocalArg) (res KeybaseRequestID, err error) { - err = c.Cli.Call(ctx, "stellar.1.local.makeRequestLocal", []interface{}{__arg}, &res, 0*time.Millisecond) + err = c.Cli.Call(ctx, "stellar.1.local.makeRequestLocal", []any{__arg}, &res, 0*time.Millisecond) return } func (c LocalClient) SetAccountMobileOnlyLocal(ctx context.Context, __arg SetAccountMobileOnlyLocalArg) (err error) { - err = c.Cli.Call(ctx, "stellar.1.local.setAccountMobileOnlyLocal", []interface{}{__arg}, nil, 0*time.Millisecond) + err = c.Cli.Call(ctx, "stellar.1.local.setAccountMobileOnlyLocal", []any{__arg}, nil, 0*time.Millisecond) return } func (c LocalClient) SetAccountAllDevicesLocal(ctx context.Context, __arg SetAccountAllDevicesLocalArg) (err error) { - err = c.Cli.Call(ctx, "stellar.1.local.setAccountAllDevicesLocal", []interface{}{__arg}, nil, 0*time.Millisecond) + err = c.Cli.Call(ctx, "stellar.1.local.setAccountAllDevicesLocal", []any{__arg}, nil, 0*time.Millisecond) return } func (c LocalClient) IsAccountMobileOnlyLocal(ctx context.Context, __arg IsAccountMobileOnlyLocalArg) (res bool, err error) { - err = c.Cli.Call(ctx, "stellar.1.local.isAccountMobileOnlyLocal", []interface{}{__arg}, &res, 0*time.Millisecond) + err = c.Cli.Call(ctx, "stellar.1.local.isAccountMobileOnlyLocal", []any{__arg}, &res, 0*time.Millisecond) return } func (c LocalClient) CancelPaymentLocal(ctx context.Context, __arg CancelPaymentLocalArg) (res RelayClaimResult, err error) { - err = c.Cli.Call(ctx, "stellar.1.local.cancelPaymentLocal", []interface{}{__arg}, &res, 0*time.Millisecond) + err = c.Cli.Call(ctx, "stellar.1.local.cancelPaymentLocal", []any{__arg}, &res, 0*time.Millisecond) return } func (c LocalClient) GetPredefinedInflationDestinationsLocal(ctx context.Context, sessionID int) (res []PredefinedInflationDestination, err error) { __arg := GetPredefinedInflationDestinationsLocalArg{SessionID: sessionID} - err = c.Cli.Call(ctx, "stellar.1.local.getPredefinedInflationDestinationsLocal", []interface{}{__arg}, &res, 0*time.Millisecond) + err = c.Cli.Call(ctx, "stellar.1.local.getPredefinedInflationDestinationsLocal", []any{__arg}, &res, 0*time.Millisecond) return } func (c LocalClient) SetInflationDestinationLocal(ctx context.Context, __arg SetInflationDestinationLocalArg) (err error) { - err = c.Cli.Call(ctx, "stellar.1.local.setInflationDestinationLocal", []interface{}{__arg}, nil, 0*time.Millisecond) + err = c.Cli.Call(ctx, "stellar.1.local.setInflationDestinationLocal", []any{__arg}, nil, 0*time.Millisecond) return } func (c LocalClient) GetInflationDestinationLocal(ctx context.Context, __arg GetInflationDestinationLocalArg) (res InflationDestinationResultLocal, err error) { - err = c.Cli.Call(ctx, "stellar.1.local.getInflationDestinationLocal", []interface{}{__arg}, &res, 0*time.Millisecond) + err = c.Cli.Call(ctx, "stellar.1.local.getInflationDestinationLocal", []any{__arg}, &res, 0*time.Millisecond) return } func (c LocalClient) AirdropDetailsLocal(ctx context.Context, sessionID int) (res AirdropDetails, err error) { __arg := AirdropDetailsLocalArg{SessionID: sessionID} - err = c.Cli.Call(ctx, "stellar.1.local.airdropDetailsLocal", []interface{}{__arg}, &res, 0*time.Millisecond) + err = c.Cli.Call(ctx, "stellar.1.local.airdropDetailsLocal", []any{__arg}, &res, 0*time.Millisecond) return } func (c LocalClient) AirdropStatusLocal(ctx context.Context, sessionID int) (res AirdropStatus, err error) { __arg := AirdropStatusLocalArg{SessionID: sessionID} - err = c.Cli.Call(ctx, "stellar.1.local.airdropStatusLocal", []interface{}{__arg}, &res, 0*time.Millisecond) + err = c.Cli.Call(ctx, "stellar.1.local.airdropStatusLocal", []any{__arg}, &res, 0*time.Millisecond) return } func (c LocalClient) AirdropRegisterLocal(ctx context.Context, __arg AirdropRegisterLocalArg) (err error) { - err = c.Cli.Call(ctx, "stellar.1.local.airdropRegisterLocal", []interface{}{__arg}, nil, 0*time.Millisecond) + err = c.Cli.Call(ctx, "stellar.1.local.airdropRegisterLocal", []any{__arg}, nil, 0*time.Millisecond) return } func (c LocalClient) FuzzyAssetSearchLocal(ctx context.Context, __arg FuzzyAssetSearchLocalArg) (res []Asset, err error) { - err = c.Cli.Call(ctx, "stellar.1.local.fuzzyAssetSearchLocal", []interface{}{__arg}, &res, 0*time.Millisecond) + err = c.Cli.Call(ctx, "stellar.1.local.fuzzyAssetSearchLocal", []any{__arg}, &res, 0*time.Millisecond) return } func (c LocalClient) ListPopularAssetsLocal(ctx context.Context, sessionID int) (res AssetListResult, err error) { __arg := ListPopularAssetsLocalArg{SessionID: sessionID} - err = c.Cli.Call(ctx, "stellar.1.local.listPopularAssetsLocal", []interface{}{__arg}, &res, 0*time.Millisecond) + err = c.Cli.Call(ctx, "stellar.1.local.listPopularAssetsLocal", []any{__arg}, &res, 0*time.Millisecond) return } func (c LocalClient) AddTrustlineLocal(ctx context.Context, __arg AddTrustlineLocalArg) (err error) { - err = c.Cli.Call(ctx, "stellar.1.local.addTrustlineLocal", []interface{}{__arg}, nil, 0*time.Millisecond) + err = c.Cli.Call(ctx, "stellar.1.local.addTrustlineLocal", []any{__arg}, nil, 0*time.Millisecond) return } func (c LocalClient) DeleteTrustlineLocal(ctx context.Context, __arg DeleteTrustlineLocalArg) (err error) { - err = c.Cli.Call(ctx, "stellar.1.local.deleteTrustlineLocal", []interface{}{__arg}, nil, 0*time.Millisecond) + err = c.Cli.Call(ctx, "stellar.1.local.deleteTrustlineLocal", []any{__arg}, nil, 0*time.Millisecond) return } func (c LocalClient) ChangeTrustlineLimitLocal(ctx context.Context, __arg ChangeTrustlineLimitLocalArg) (err error) { - err = c.Cli.Call(ctx, "stellar.1.local.changeTrustlineLimitLocal", []interface{}{__arg}, nil, 0*time.Millisecond) + err = c.Cli.Call(ctx, "stellar.1.local.changeTrustlineLimitLocal", []any{__arg}, nil, 0*time.Millisecond) return } func (c LocalClient) GetTrustlinesLocal(ctx context.Context, __arg GetTrustlinesLocalArg) (res []Balance, err error) { - err = c.Cli.Call(ctx, "stellar.1.local.getTrustlinesLocal", []interface{}{__arg}, &res, 0*time.Millisecond) + err = c.Cli.Call(ctx, "stellar.1.local.getTrustlinesLocal", []any{__arg}, &res, 0*time.Millisecond) return } func (c LocalClient) GetTrustlinesForRecipientLocal(ctx context.Context, __arg GetTrustlinesForRecipientLocalArg) (res RecipientTrustlinesLocal, err error) { - err = c.Cli.Call(ctx, "stellar.1.local.getTrustlinesForRecipientLocal", []interface{}{__arg}, &res, 0*time.Millisecond) + err = c.Cli.Call(ctx, "stellar.1.local.getTrustlinesForRecipientLocal", []any{__arg}, &res, 0*time.Millisecond) return } func (c LocalClient) FindPaymentPathLocal(ctx context.Context, __arg FindPaymentPathLocalArg) (res PaymentPathLocal, err error) { - err = c.Cli.Call(ctx, "stellar.1.local.findPaymentPathLocal", []interface{}{__arg}, &res, 0*time.Millisecond) + err = c.Cli.Call(ctx, "stellar.1.local.findPaymentPathLocal", []any{__arg}, &res, 0*time.Millisecond) return } func (c LocalClient) AssetDepositLocal(ctx context.Context, __arg AssetDepositLocalArg) (res AssetActionResultLocal, err error) { - err = c.Cli.Call(ctx, "stellar.1.local.assetDepositLocal", []interface{}{__arg}, &res, 0*time.Millisecond) + err = c.Cli.Call(ctx, "stellar.1.local.assetDepositLocal", []any{__arg}, &res, 0*time.Millisecond) return } func (c LocalClient) AssetWithdrawLocal(ctx context.Context, __arg AssetWithdrawLocalArg) (res AssetActionResultLocal, err error) { - err = c.Cli.Call(ctx, "stellar.1.local.assetWithdrawLocal", []interface{}{__arg}, &res, 0*time.Millisecond) + err = c.Cli.Call(ctx, "stellar.1.local.assetWithdrawLocal", []any{__arg}, &res, 0*time.Millisecond) return } func (c LocalClient) BalancesLocal(ctx context.Context, accountID AccountID) (res []Balance, err error) { __arg := BalancesLocalArg{AccountID: accountID} - err = c.Cli.Call(ctx, "stellar.1.local.balancesLocal", []interface{}{__arg}, &res, 0*time.Millisecond) + err = c.Cli.Call(ctx, "stellar.1.local.balancesLocal", []any{__arg}, &res, 0*time.Millisecond) return } func (c LocalClient) SendCLILocal(ctx context.Context, __arg SendCLILocalArg) (res SendResultCLILocal, err error) { - err = c.Cli.Call(ctx, "stellar.1.local.sendCLILocal", []interface{}{__arg}, &res, 0*time.Millisecond) + err = c.Cli.Call(ctx, "stellar.1.local.sendCLILocal", []any{__arg}, &res, 0*time.Millisecond) return } func (c LocalClient) SendPathCLILocal(ctx context.Context, __arg SendPathCLILocalArg) (res SendResultCLILocal, err error) { - err = c.Cli.Call(ctx, "stellar.1.local.sendPathCLILocal", []interface{}{__arg}, &res, 0*time.Millisecond) + err = c.Cli.Call(ctx, "stellar.1.local.sendPathCLILocal", []any{__arg}, &res, 0*time.Millisecond) return } func (c LocalClient) AccountMergeCLILocal(ctx context.Context, __arg AccountMergeCLILocalArg) (res TransactionID, err error) { - err = c.Cli.Call(ctx, "stellar.1.local.accountMergeCLILocal", []interface{}{__arg}, &res, 0*time.Millisecond) + err = c.Cli.Call(ctx, "stellar.1.local.accountMergeCLILocal", []any{__arg}, &res, 0*time.Millisecond) return } func (c LocalClient) ClaimCLILocal(ctx context.Context, __arg ClaimCLILocalArg) (res RelayClaimResult, err error) { - err = c.Cli.Call(ctx, "stellar.1.local.claimCLILocal", []interface{}{__arg}, &res, 0*time.Millisecond) + err = c.Cli.Call(ctx, "stellar.1.local.claimCLILocal", []any{__arg}, &res, 0*time.Millisecond) return } func (c LocalClient) RecentPaymentsCLILocal(ctx context.Context, accountID *AccountID) (res []PaymentOrErrorCLILocal, err error) { __arg := RecentPaymentsCLILocalArg{AccountID: accountID} - err = c.Cli.Call(ctx, "stellar.1.local.recentPaymentsCLILocal", []interface{}{__arg}, &res, 0*time.Millisecond) + err = c.Cli.Call(ctx, "stellar.1.local.recentPaymentsCLILocal", []any{__arg}, &res, 0*time.Millisecond) return } func (c LocalClient) PaymentDetailCLILocal(ctx context.Context, txID string) (res PaymentCLILocal, err error) { __arg := PaymentDetailCLILocalArg{TxID: txID} - err = c.Cli.Call(ctx, "stellar.1.local.paymentDetailCLILocal", []interface{}{__arg}, &res, 0*time.Millisecond) + err = c.Cli.Call(ctx, "stellar.1.local.paymentDetailCLILocal", []any{__arg}, &res, 0*time.Millisecond) return } func (c LocalClient) WalletInitLocal(ctx context.Context) (err error) { - err = c.Cli.Call(ctx, "stellar.1.local.walletInitLocal", []interface{}{WalletInitLocalArg{}}, nil, 0*time.Millisecond) + err = c.Cli.Call(ctx, "stellar.1.local.walletInitLocal", []any{WalletInitLocalArg{}}, nil, 0*time.Millisecond) return } func (c LocalClient) WalletDumpLocal(ctx context.Context) (res Bundle, err error) { - err = c.Cli.Call(ctx, "stellar.1.local.walletDumpLocal", []interface{}{WalletDumpLocalArg{}}, &res, 0*time.Millisecond) + err = c.Cli.Call(ctx, "stellar.1.local.walletDumpLocal", []any{WalletDumpLocalArg{}}, &res, 0*time.Millisecond) return } func (c LocalClient) WalletGetAccountsCLILocal(ctx context.Context) (res []OwnAccountCLILocal, err error) { - err = c.Cli.Call(ctx, "stellar.1.local.walletGetAccountsCLILocal", []interface{}{WalletGetAccountsCLILocalArg{}}, &res, 0*time.Millisecond) + err = c.Cli.Call(ctx, "stellar.1.local.walletGetAccountsCLILocal", []any{WalletGetAccountsCLILocalArg{}}, &res, 0*time.Millisecond) return } func (c LocalClient) OwnAccountLocal(ctx context.Context, accountID AccountID) (res bool, err error) { __arg := OwnAccountLocalArg{AccountID: accountID} - err = c.Cli.Call(ctx, "stellar.1.local.ownAccountLocal", []interface{}{__arg}, &res, 0*time.Millisecond) + err = c.Cli.Call(ctx, "stellar.1.local.ownAccountLocal", []any{__arg}, &res, 0*time.Millisecond) return } func (c LocalClient) ImportSecretKeyLocal(ctx context.Context, __arg ImportSecretKeyLocalArg) (err error) { - err = c.Cli.Call(ctx, "stellar.1.local.importSecretKeyLocal", []interface{}{__arg}, nil, 0*time.Millisecond) + err = c.Cli.Call(ctx, "stellar.1.local.importSecretKeyLocal", []any{__arg}, nil, 0*time.Millisecond) return } func (c LocalClient) ExportSecretKeyLocal(ctx context.Context, accountID AccountID) (res SecretKey, err error) { __arg := ExportSecretKeyLocalArg{AccountID: accountID} - err = c.Cli.Call(ctx, "stellar.1.local.exportSecretKeyLocal", []interface{}{__arg}, &res, 0*time.Millisecond) + err = c.Cli.Call(ctx, "stellar.1.local.exportSecretKeyLocal", []any{__arg}, &res, 0*time.Millisecond) return } func (c LocalClient) SetDisplayCurrency(ctx context.Context, __arg SetDisplayCurrencyArg) (err error) { - err = c.Cli.Call(ctx, "stellar.1.local.setDisplayCurrency", []interface{}{__arg}, nil, 0*time.Millisecond) + err = c.Cli.Call(ctx, "stellar.1.local.setDisplayCurrency", []any{__arg}, nil, 0*time.Millisecond) return } func (c LocalClient) ExchangeRateLocal(ctx context.Context, currency OutsideCurrencyCode) (res OutsideExchangeRate, err error) { __arg := ExchangeRateLocalArg{Currency: currency} - err = c.Cli.Call(ctx, "stellar.1.local.exchangeRateLocal", []interface{}{__arg}, &res, 0*time.Millisecond) + err = c.Cli.Call(ctx, "stellar.1.local.exchangeRateLocal", []any{__arg}, &res, 0*time.Millisecond) return } func (c LocalClient) GetAvailableLocalCurrencies(ctx context.Context) (res map[OutsideCurrencyCode]OutsideCurrencyDefinition, err error) { - err = c.Cli.Call(ctx, "stellar.1.local.getAvailableLocalCurrencies", []interface{}{GetAvailableLocalCurrenciesArg{}}, &res, 0*time.Millisecond) + err = c.Cli.Call(ctx, "stellar.1.local.getAvailableLocalCurrencies", []any{GetAvailableLocalCurrenciesArg{}}, &res, 0*time.Millisecond) return } func (c LocalClient) FormatLocalCurrencyString(ctx context.Context, __arg FormatLocalCurrencyStringArg) (res string, err error) { - err = c.Cli.Call(ctx, "stellar.1.local.formatLocalCurrencyString", []interface{}{__arg}, &res, 0*time.Millisecond) + err = c.Cli.Call(ctx, "stellar.1.local.formatLocalCurrencyString", []any{__arg}, &res, 0*time.Millisecond) return } func (c LocalClient) MakeRequestCLILocal(ctx context.Context, __arg MakeRequestCLILocalArg) (res KeybaseRequestID, err error) { - err = c.Cli.Call(ctx, "stellar.1.local.makeRequestCLILocal", []interface{}{__arg}, &res, 0*time.Millisecond) + err = c.Cli.Call(ctx, "stellar.1.local.makeRequestCLILocal", []any{__arg}, &res, 0*time.Millisecond) return } func (c LocalClient) LookupCLILocal(ctx context.Context, name string) (res LookupResultCLILocal, err error) { __arg := LookupCLILocalArg{Name: name} - err = c.Cli.Call(ctx, "stellar.1.local.lookupCLILocal", []interface{}{__arg}, &res, 0*time.Millisecond) + err = c.Cli.Call(ctx, "stellar.1.local.lookupCLILocal", []any{__arg}, &res, 0*time.Millisecond) return } func (c LocalClient) BatchLocal(ctx context.Context, __arg BatchLocalArg) (res BatchResultLocal, err error) { - err = c.Cli.Call(ctx, "stellar.1.local.batchLocal", []interface{}{__arg}, &res, 0*time.Millisecond) + err = c.Cli.Call(ctx, "stellar.1.local.batchLocal", []any{__arg}, &res, 0*time.Millisecond) return } func (c LocalClient) ValidateStellarURILocal(ctx context.Context, __arg ValidateStellarURILocalArg) (res ValidateStellarURIResultLocal, err error) { - err = c.Cli.Call(ctx, "stellar.1.local.validateStellarURILocal", []interface{}{__arg}, &res, 0*time.Millisecond) + err = c.Cli.Call(ctx, "stellar.1.local.validateStellarURILocal", []any{__arg}, &res, 0*time.Millisecond) return } func (c LocalClient) ApproveTxURILocal(ctx context.Context, __arg ApproveTxURILocalArg) (res TransactionID, err error) { - err = c.Cli.Call(ctx, "stellar.1.local.approveTxURILocal", []interface{}{__arg}, &res, 0*time.Millisecond) + err = c.Cli.Call(ctx, "stellar.1.local.approveTxURILocal", []any{__arg}, &res, 0*time.Millisecond) return } func (c LocalClient) ApprovePayURILocal(ctx context.Context, __arg ApprovePayURILocalArg) (res TransactionID, err error) { - err = c.Cli.Call(ctx, "stellar.1.local.approvePayURILocal", []interface{}{__arg}, &res, 0*time.Millisecond) + err = c.Cli.Call(ctx, "stellar.1.local.approvePayURILocal", []any{__arg}, &res, 0*time.Millisecond) return } func (c LocalClient) ApprovePathURILocal(ctx context.Context, __arg ApprovePathURILocalArg) (res TransactionID, err error) { - err = c.Cli.Call(ctx, "stellar.1.local.approvePathURILocal", []interface{}{__arg}, &res, 0*time.Millisecond) + err = c.Cli.Call(ctx, "stellar.1.local.approvePathURILocal", []any{__arg}, &res, 0*time.Millisecond) return } func (c LocalClient) GetPartnerUrlsLocal(ctx context.Context, sessionID int) (res []PartnerUrl, err error) { __arg := GetPartnerUrlsLocalArg{SessionID: sessionID} - err = c.Cli.Call(ctx, "stellar.1.local.getPartnerUrlsLocal", []interface{}{__arg}, &res, 0*time.Millisecond) + err = c.Cli.Call(ctx, "stellar.1.local.getPartnerUrlsLocal", []any{__arg}, &res, 0*time.Millisecond) return } func (c LocalClient) SignTransactionXdrLocal(ctx context.Context, __arg SignTransactionXdrLocalArg) (res SignXdrResult, err error) { - err = c.Cli.Call(ctx, "stellar.1.local.signTransactionXdrLocal", []interface{}{__arg}, &res, 0*time.Millisecond) + err = c.Cli.Call(ctx, "stellar.1.local.signTransactionXdrLocal", []any{__arg}, &res, 0*time.Millisecond) return } func (c LocalClient) GetStaticConfigLocal(ctx context.Context) (res StaticConfig, err error) { - err = c.Cli.Call(ctx, "stellar.1.local.getStaticConfigLocal", []interface{}{GetStaticConfigLocalArg{}}, &res, 0*time.Millisecond) + err = c.Cli.Call(ctx, "stellar.1.local.getStaticConfigLocal", []any{GetStaticConfigLocalArg{}}, &res, 0*time.Millisecond) return } diff --git a/go/protocol/stellar1/notify.go b/go/protocol/stellar1/notify.go index ee42089592d1..6ccb3db4d6d7 100644 --- a/go/protocol/stellar1/notify.go +++ b/go/protocol/stellar1/notify.go @@ -1,4 +1,4 @@ -// Auto-generated to Go types and interfaces using avdl-compiler v1.4.10 (https://github.com/keybase/node-avdl-compiler) +// Code generated to Go types and interfaces using avdl-compiler v1.4.10 (https://github.com/keybase/node-avdl-compiler). DO NOT EDIT. // Input file: avdl/stellar1/notify.avdl package stellar1 @@ -58,11 +58,11 @@ func NotifyProtocol(i NotifyInterface) rpc.Protocol { Name: "stellar.1.notify", Methods: map[string]rpc.ServeHandlerDescription{ "paymentNotification": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]PaymentNotificationArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]PaymentNotificationArg) if !ok { err = rpc.NewTypeError((*[1]PaymentNotificationArg)(nil), args) @@ -73,11 +73,11 @@ func NotifyProtocol(i NotifyInterface) rpc.Protocol { }, }, "paymentStatusNotification": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]PaymentStatusNotificationArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]PaymentStatusNotificationArg) if !ok { err = rpc.NewTypeError((*[1]PaymentStatusNotificationArg)(nil), args) @@ -88,11 +88,11 @@ func NotifyProtocol(i NotifyInterface) rpc.Protocol { }, }, "requestStatusNotification": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]RequestStatusNotificationArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]RequestStatusNotificationArg) if !ok { err = rpc.NewTypeError((*[1]RequestStatusNotificationArg)(nil), args) @@ -103,11 +103,11 @@ func NotifyProtocol(i NotifyInterface) rpc.Protocol { }, }, "accountDetailsUpdate": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]AccountDetailsUpdateArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]AccountDetailsUpdateArg) if !ok { err = rpc.NewTypeError((*[1]AccountDetailsUpdateArg)(nil), args) @@ -118,11 +118,11 @@ func NotifyProtocol(i NotifyInterface) rpc.Protocol { }, }, "accountsUpdate": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]AccountsUpdateArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]AccountsUpdateArg) if !ok { err = rpc.NewTypeError((*[1]AccountsUpdateArg)(nil), args) @@ -133,11 +133,11 @@ func NotifyProtocol(i NotifyInterface) rpc.Protocol { }, }, "pendingPaymentsUpdate": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]PendingPaymentsUpdateArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]PendingPaymentsUpdateArg) if !ok { err = rpc.NewTypeError((*[1]PendingPaymentsUpdateArg)(nil), args) @@ -148,11 +148,11 @@ func NotifyProtocol(i NotifyInterface) rpc.Protocol { }, }, "recentPaymentsUpdate": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]RecentPaymentsUpdateArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]RecentPaymentsUpdateArg) if !ok { err = rpc.NewTypeError((*[1]RecentPaymentsUpdateArg)(nil), args) @@ -171,38 +171,38 @@ type NotifyClient struct { } func (c NotifyClient) PaymentNotification(ctx context.Context, __arg PaymentNotificationArg) (err error) { - err = c.Cli.Notify(ctx, "stellar.1.notify.paymentNotification", []interface{}{__arg}, 0*time.Millisecond) + err = c.Cli.Notify(ctx, "stellar.1.notify.paymentNotification", []any{__arg}, 0*time.Millisecond) return } func (c NotifyClient) PaymentStatusNotification(ctx context.Context, __arg PaymentStatusNotificationArg) (err error) { - err = c.Cli.Notify(ctx, "stellar.1.notify.paymentStatusNotification", []interface{}{__arg}, 0*time.Millisecond) + err = c.Cli.Notify(ctx, "stellar.1.notify.paymentStatusNotification", []any{__arg}, 0*time.Millisecond) return } func (c NotifyClient) RequestStatusNotification(ctx context.Context, reqID KeybaseRequestID) (err error) { __arg := RequestStatusNotificationArg{ReqID: reqID} - err = c.Cli.Notify(ctx, "stellar.1.notify.requestStatusNotification", []interface{}{__arg}, 0*time.Millisecond) + err = c.Cli.Notify(ctx, "stellar.1.notify.requestStatusNotification", []any{__arg}, 0*time.Millisecond) return } func (c NotifyClient) AccountDetailsUpdate(ctx context.Context, __arg AccountDetailsUpdateArg) (err error) { - err = c.Cli.Notify(ctx, "stellar.1.notify.accountDetailsUpdate", []interface{}{__arg}, 0*time.Millisecond) + err = c.Cli.Notify(ctx, "stellar.1.notify.accountDetailsUpdate", []any{__arg}, 0*time.Millisecond) return } func (c NotifyClient) AccountsUpdate(ctx context.Context, accounts []WalletAccountLocal) (err error) { __arg := AccountsUpdateArg{Accounts: accounts} - err = c.Cli.Notify(ctx, "stellar.1.notify.accountsUpdate", []interface{}{__arg}, 0*time.Millisecond) + err = c.Cli.Notify(ctx, "stellar.1.notify.accountsUpdate", []any{__arg}, 0*time.Millisecond) return } func (c NotifyClient) PendingPaymentsUpdate(ctx context.Context, __arg PendingPaymentsUpdateArg) (err error) { - err = c.Cli.Notify(ctx, "stellar.1.notify.pendingPaymentsUpdate", []interface{}{__arg}, 0*time.Millisecond) + err = c.Cli.Notify(ctx, "stellar.1.notify.pendingPaymentsUpdate", []any{__arg}, 0*time.Millisecond) return } func (c NotifyClient) RecentPaymentsUpdate(ctx context.Context, __arg RecentPaymentsUpdateArg) (err error) { - err = c.Cli.Notify(ctx, "stellar.1.notify.recentPaymentsUpdate", []interface{}{__arg}, 0*time.Millisecond) + err = c.Cli.Notify(ctx, "stellar.1.notify.recentPaymentsUpdate", []any{__arg}, 0*time.Millisecond) return } diff --git a/go/protocol/stellar1/remote.go b/go/protocol/stellar1/remote.go index 3d6e77328a39..184c3307419b 100644 --- a/go/protocol/stellar1/remote.go +++ b/go/protocol/stellar1/remote.go @@ -1,4 +1,4 @@ -// Auto-generated to Go types and interfaces using avdl-compiler v1.4.10 (https://github.com/keybase/node-avdl-compiler) +// Code generated to Go types and interfaces using avdl-compiler v1.4.10 (https://github.com/keybase/node-avdl-compiler). DO NOT EDIT. // Input file: avdl/stellar1/remote.avdl package stellar1 @@ -1023,7 +1023,8 @@ type SetInflationDestinationArg struct { SignedTransaction string `codec:"signedTransaction" json:"signedTransaction"` } -type PingArg struct{} +type PingArg struct { +} type NetworkOptionsArg struct { Caller keybase1.UserVersion `codec:"caller" json:"caller"` @@ -1106,11 +1107,11 @@ func RemoteProtocol(i RemoteInterface) rpc.Protocol { Name: "stellar.1.remote", Methods: map[string]rpc.ServeHandlerDescription{ "balances": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]BalancesArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]BalancesArg) if !ok { err = rpc.NewTypeError((*[1]BalancesArg)(nil), args) @@ -1121,11 +1122,11 @@ func RemoteProtocol(i RemoteInterface) rpc.Protocol { }, }, "details": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]DetailsArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]DetailsArg) if !ok { err = rpc.NewTypeError((*[1]DetailsArg)(nil), args) @@ -1136,11 +1137,11 @@ func RemoteProtocol(i RemoteInterface) rpc.Protocol { }, }, "recentPayments": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]RecentPaymentsArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]RecentPaymentsArg) if !ok { err = rpc.NewTypeError((*[1]RecentPaymentsArg)(nil), args) @@ -1151,11 +1152,11 @@ func RemoteProtocol(i RemoteInterface) rpc.Protocol { }, }, "pendingPayments": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]PendingPaymentsArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]PendingPaymentsArg) if !ok { err = rpc.NewTypeError((*[1]PendingPaymentsArg)(nil), args) @@ -1166,11 +1167,11 @@ func RemoteProtocol(i RemoteInterface) rpc.Protocol { }, }, "markAsRead": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]MarkAsReadArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]MarkAsReadArg) if !ok { err = rpc.NewTypeError((*[1]MarkAsReadArg)(nil), args) @@ -1181,11 +1182,11 @@ func RemoteProtocol(i RemoteInterface) rpc.Protocol { }, }, "paymentDetails": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]PaymentDetailsArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]PaymentDetailsArg) if !ok { err = rpc.NewTypeError((*[1]PaymentDetailsArg)(nil), args) @@ -1196,11 +1197,11 @@ func RemoteProtocol(i RemoteInterface) rpc.Protocol { }, }, "accountSeqno": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]AccountSeqnoArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]AccountSeqnoArg) if !ok { err = rpc.NewTypeError((*[1]AccountSeqnoArg)(nil), args) @@ -1211,11 +1212,11 @@ func RemoteProtocol(i RemoteInterface) rpc.Protocol { }, }, "submitPayment": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]SubmitPaymentArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]SubmitPaymentArg) if !ok { err = rpc.NewTypeError((*[1]SubmitPaymentArg)(nil), args) @@ -1226,11 +1227,11 @@ func RemoteProtocol(i RemoteInterface) rpc.Protocol { }, }, "submitRelayPayment": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]SubmitRelayPaymentArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]SubmitRelayPaymentArg) if !ok { err = rpc.NewTypeError((*[1]SubmitRelayPaymentArg)(nil), args) @@ -1241,11 +1242,11 @@ func RemoteProtocol(i RemoteInterface) rpc.Protocol { }, }, "submitRelayClaim": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]SubmitRelayClaimArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]SubmitRelayClaimArg) if !ok { err = rpc.NewTypeError((*[1]SubmitRelayClaimArg)(nil), args) @@ -1256,11 +1257,11 @@ func RemoteProtocol(i RemoteInterface) rpc.Protocol { }, }, "submitPathPayment": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]SubmitPathPaymentArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]SubmitPathPaymentArg) if !ok { err = rpc.NewTypeError((*[1]SubmitPathPaymentArg)(nil), args) @@ -1271,11 +1272,11 @@ func RemoteProtocol(i RemoteInterface) rpc.Protocol { }, }, "submitMultiPayment": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]SubmitMultiPaymentArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]SubmitMultiPaymentArg) if !ok { err = rpc.NewTypeError((*[1]SubmitMultiPaymentArg)(nil), args) @@ -1286,11 +1287,11 @@ func RemoteProtocol(i RemoteInterface) rpc.Protocol { }, }, "acquireAutoClaimLock": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]AcquireAutoClaimLockArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]AcquireAutoClaimLockArg) if !ok { err = rpc.NewTypeError((*[1]AcquireAutoClaimLockArg)(nil), args) @@ -1301,11 +1302,11 @@ func RemoteProtocol(i RemoteInterface) rpc.Protocol { }, }, "releaseAutoClaimLock": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]ReleaseAutoClaimLockArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]ReleaseAutoClaimLockArg) if !ok { err = rpc.NewTypeError((*[1]ReleaseAutoClaimLockArg)(nil), args) @@ -1316,11 +1317,11 @@ func RemoteProtocol(i RemoteInterface) rpc.Protocol { }, }, "nextAutoClaim": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]NextAutoClaimArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]NextAutoClaimArg) if !ok { err = rpc.NewTypeError((*[1]NextAutoClaimArg)(nil), args) @@ -1331,11 +1332,11 @@ func RemoteProtocol(i RemoteInterface) rpc.Protocol { }, }, "isMasterKeyActive": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]IsMasterKeyActiveArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]IsMasterKeyActiveArg) if !ok { err = rpc.NewTypeError((*[1]IsMasterKeyActiveArg)(nil), args) @@ -1346,11 +1347,11 @@ func RemoteProtocol(i RemoteInterface) rpc.Protocol { }, }, "submitRequest": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]SubmitRequestArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]SubmitRequestArg) if !ok { err = rpc.NewTypeError((*[1]SubmitRequestArg)(nil), args) @@ -1361,11 +1362,11 @@ func RemoteProtocol(i RemoteInterface) rpc.Protocol { }, }, "requestDetails": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]RequestDetailsArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]RequestDetailsArg) if !ok { err = rpc.NewTypeError((*[1]RequestDetailsArg)(nil), args) @@ -1376,11 +1377,11 @@ func RemoteProtocol(i RemoteInterface) rpc.Protocol { }, }, "cancelRequest": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]CancelRequestArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]CancelRequestArg) if !ok { err = rpc.NewTypeError((*[1]CancelRequestArg)(nil), args) @@ -1391,11 +1392,11 @@ func RemoteProtocol(i RemoteInterface) rpc.Protocol { }, }, "setInflationDestination": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]SetInflationDestinationArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]SetInflationDestinationArg) if !ok { err = rpc.NewTypeError((*[1]SetInflationDestinationArg)(nil), args) @@ -1406,21 +1407,21 @@ func RemoteProtocol(i RemoteInterface) rpc.Protocol { }, }, "ping": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]PingArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { ret, err = i.Ping(ctx) return }, }, "networkOptions": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]NetworkOptionsArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]NetworkOptionsArg) if !ok { err = rpc.NewTypeError((*[1]NetworkOptionsArg)(nil), args) @@ -1431,11 +1432,11 @@ func RemoteProtocol(i RemoteInterface) rpc.Protocol { }, }, "detailsPlusPayments": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]DetailsPlusPaymentsArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]DetailsPlusPaymentsArg) if !ok { err = rpc.NewTypeError((*[1]DetailsPlusPaymentsArg)(nil), args) @@ -1446,11 +1447,11 @@ func RemoteProtocol(i RemoteInterface) rpc.Protocol { }, }, "allDetailsPlusPayments": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]AllDetailsPlusPaymentsArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]AllDetailsPlusPaymentsArg) if !ok { err = rpc.NewTypeError((*[1]AllDetailsPlusPaymentsArg)(nil), args) @@ -1461,11 +1462,11 @@ func RemoteProtocol(i RemoteInterface) rpc.Protocol { }, }, "assetSearch": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]AssetSearchArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]AssetSearchArg) if !ok { err = rpc.NewTypeError((*[1]AssetSearchArg)(nil), args) @@ -1476,11 +1477,11 @@ func RemoteProtocol(i RemoteInterface) rpc.Protocol { }, }, "fuzzyAssetSearch": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]FuzzyAssetSearchArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]FuzzyAssetSearchArg) if !ok { err = rpc.NewTypeError((*[1]FuzzyAssetSearchArg)(nil), args) @@ -1491,11 +1492,11 @@ func RemoteProtocol(i RemoteInterface) rpc.Protocol { }, }, "listPopularAssets": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]ListPopularAssetsArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]ListPopularAssetsArg) if !ok { err = rpc.NewTypeError((*[1]ListPopularAssetsArg)(nil), args) @@ -1506,11 +1507,11 @@ func RemoteProtocol(i RemoteInterface) rpc.Protocol { }, }, "changeTrustline": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]ChangeTrustlineArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]ChangeTrustlineArg) if !ok { err = rpc.NewTypeError((*[1]ChangeTrustlineArg)(nil), args) @@ -1521,11 +1522,11 @@ func RemoteProtocol(i RemoteInterface) rpc.Protocol { }, }, "findPaymentPath": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]FindPaymentPathArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]FindPaymentPathArg) if !ok { err = rpc.NewTypeError((*[1]FindPaymentPathArg)(nil), args) @@ -1536,11 +1537,11 @@ func RemoteProtocol(i RemoteInterface) rpc.Protocol { }, }, "postAnyTransaction": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]PostAnyTransactionArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]PostAnyTransactionArg) if !ok { err = rpc.NewTypeError((*[1]PostAnyTransactionArg)(nil), args) @@ -1559,156 +1560,156 @@ type RemoteClient struct { } func (c RemoteClient) Balances(ctx context.Context, __arg BalancesArg) (res []Balance, err error) { - err = c.Cli.Call(ctx, "stellar.1.remote.balances", []interface{}{__arg}, &res, 0*time.Millisecond) + err = c.Cli.Call(ctx, "stellar.1.remote.balances", []any{__arg}, &res, 0*time.Millisecond) return } func (c RemoteClient) Details(ctx context.Context, __arg DetailsArg) (res AccountDetails, err error) { - err = c.Cli.Call(ctx, "stellar.1.remote.details", []interface{}{__arg}, &res, 0*time.Millisecond) + err = c.Cli.Call(ctx, "stellar.1.remote.details", []any{__arg}, &res, 0*time.Millisecond) return } func (c RemoteClient) RecentPayments(ctx context.Context, __arg RecentPaymentsArg) (res PaymentsPage, err error) { - err = c.Cli.Call(ctx, "stellar.1.remote.recentPayments", []interface{}{__arg}, &res, 0*time.Millisecond) + err = c.Cli.Call(ctx, "stellar.1.remote.recentPayments", []any{__arg}, &res, 0*time.Millisecond) return } func (c RemoteClient) PendingPayments(ctx context.Context, __arg PendingPaymentsArg) (res []PaymentSummary, err error) { - err = c.Cli.Call(ctx, "stellar.1.remote.pendingPayments", []interface{}{__arg}, &res, 0*time.Millisecond) + err = c.Cli.Call(ctx, "stellar.1.remote.pendingPayments", []any{__arg}, &res, 0*time.Millisecond) return } func (c RemoteClient) MarkAsRead(ctx context.Context, __arg MarkAsReadArg) (err error) { - err = c.Cli.Call(ctx, "stellar.1.remote.markAsRead", []interface{}{__arg}, nil, 0*time.Millisecond) + err = c.Cli.Call(ctx, "stellar.1.remote.markAsRead", []any{__arg}, nil, 0*time.Millisecond) return } func (c RemoteClient) PaymentDetails(ctx context.Context, __arg PaymentDetailsArg) (res PaymentDetails, err error) { - err = c.Cli.Call(ctx, "stellar.1.remote.paymentDetails", []interface{}{__arg}, &res, 0*time.Millisecond) + err = c.Cli.Call(ctx, "stellar.1.remote.paymentDetails", []any{__arg}, &res, 0*time.Millisecond) return } func (c RemoteClient) AccountSeqno(ctx context.Context, __arg AccountSeqnoArg) (res string, err error) { - err = c.Cli.Call(ctx, "stellar.1.remote.accountSeqno", []interface{}{__arg}, &res, 0*time.Millisecond) + err = c.Cli.Call(ctx, "stellar.1.remote.accountSeqno", []any{__arg}, &res, 0*time.Millisecond) return } func (c RemoteClient) SubmitPayment(ctx context.Context, __arg SubmitPaymentArg) (res PaymentResult, err error) { - err = c.Cli.Call(ctx, "stellar.1.remote.submitPayment", []interface{}{__arg}, &res, 0*time.Millisecond) + err = c.Cli.Call(ctx, "stellar.1.remote.submitPayment", []any{__arg}, &res, 0*time.Millisecond) return } func (c RemoteClient) SubmitRelayPayment(ctx context.Context, __arg SubmitRelayPaymentArg) (res PaymentResult, err error) { - err = c.Cli.Call(ctx, "stellar.1.remote.submitRelayPayment", []interface{}{__arg}, &res, 0*time.Millisecond) + err = c.Cli.Call(ctx, "stellar.1.remote.submitRelayPayment", []any{__arg}, &res, 0*time.Millisecond) return } func (c RemoteClient) SubmitRelayClaim(ctx context.Context, __arg SubmitRelayClaimArg) (res RelayClaimResult, err error) { - err = c.Cli.Call(ctx, "stellar.1.remote.submitRelayClaim", []interface{}{__arg}, &res, 0*time.Millisecond) + err = c.Cli.Call(ctx, "stellar.1.remote.submitRelayClaim", []any{__arg}, &res, 0*time.Millisecond) return } func (c RemoteClient) SubmitPathPayment(ctx context.Context, __arg SubmitPathPaymentArg) (res PaymentResult, err error) { - err = c.Cli.Call(ctx, "stellar.1.remote.submitPathPayment", []interface{}{__arg}, &res, 0*time.Millisecond) + err = c.Cli.Call(ctx, "stellar.1.remote.submitPathPayment", []any{__arg}, &res, 0*time.Millisecond) return } func (c RemoteClient) SubmitMultiPayment(ctx context.Context, __arg SubmitMultiPaymentArg) (res SubmitMultiRes, err error) { - err = c.Cli.Call(ctx, "stellar.1.remote.submitMultiPayment", []interface{}{__arg}, &res, 0*time.Millisecond) + err = c.Cli.Call(ctx, "stellar.1.remote.submitMultiPayment", []any{__arg}, &res, 0*time.Millisecond) return } func (c RemoteClient) AcquireAutoClaimLock(ctx context.Context, caller keybase1.UserVersion) (res string, err error) { __arg := AcquireAutoClaimLockArg{Caller: caller} - err = c.Cli.Call(ctx, "stellar.1.remote.acquireAutoClaimLock", []interface{}{__arg}, &res, 0*time.Millisecond) + err = c.Cli.Call(ctx, "stellar.1.remote.acquireAutoClaimLock", []any{__arg}, &res, 0*time.Millisecond) return } func (c RemoteClient) ReleaseAutoClaimLock(ctx context.Context, __arg ReleaseAutoClaimLockArg) (err error) { - err = c.Cli.Call(ctx, "stellar.1.remote.releaseAutoClaimLock", []interface{}{__arg}, nil, 0*time.Millisecond) + err = c.Cli.Call(ctx, "stellar.1.remote.releaseAutoClaimLock", []any{__arg}, nil, 0*time.Millisecond) return } func (c RemoteClient) NextAutoClaim(ctx context.Context, caller keybase1.UserVersion) (res *AutoClaim, err error) { __arg := NextAutoClaimArg{Caller: caller} - err = c.Cli.Call(ctx, "stellar.1.remote.nextAutoClaim", []interface{}{__arg}, &res, 0*time.Millisecond) + err = c.Cli.Call(ctx, "stellar.1.remote.nextAutoClaim", []any{__arg}, &res, 0*time.Millisecond) return } func (c RemoteClient) IsMasterKeyActive(ctx context.Context, __arg IsMasterKeyActiveArg) (res bool, err error) { - err = c.Cli.Call(ctx, "stellar.1.remote.isMasterKeyActive", []interface{}{__arg}, &res, 0*time.Millisecond) + err = c.Cli.Call(ctx, "stellar.1.remote.isMasterKeyActive", []any{__arg}, &res, 0*time.Millisecond) return } func (c RemoteClient) SubmitRequest(ctx context.Context, __arg SubmitRequestArg) (res KeybaseRequestID, err error) { - err = c.Cli.Call(ctx, "stellar.1.remote.submitRequest", []interface{}{__arg}, &res, 0*time.Millisecond) + err = c.Cli.Call(ctx, "stellar.1.remote.submitRequest", []any{__arg}, &res, 0*time.Millisecond) return } func (c RemoteClient) RequestDetails(ctx context.Context, __arg RequestDetailsArg) (res RequestDetails, err error) { - err = c.Cli.Call(ctx, "stellar.1.remote.requestDetails", []interface{}{__arg}, &res, 0*time.Millisecond) + err = c.Cli.Call(ctx, "stellar.1.remote.requestDetails", []any{__arg}, &res, 0*time.Millisecond) return } func (c RemoteClient) CancelRequest(ctx context.Context, __arg CancelRequestArg) (err error) { - err = c.Cli.Call(ctx, "stellar.1.remote.cancelRequest", []interface{}{__arg}, nil, 0*time.Millisecond) + err = c.Cli.Call(ctx, "stellar.1.remote.cancelRequest", []any{__arg}, nil, 0*time.Millisecond) return } func (c RemoteClient) SetInflationDestination(ctx context.Context, __arg SetInflationDestinationArg) (err error) { - err = c.Cli.Call(ctx, "stellar.1.remote.setInflationDestination", []interface{}{__arg}, nil, 0*time.Millisecond) + err = c.Cli.Call(ctx, "stellar.1.remote.setInflationDestination", []any{__arg}, nil, 0*time.Millisecond) return } func (c RemoteClient) Ping(ctx context.Context) (res string, err error) { - err = c.Cli.Call(ctx, "stellar.1.remote.ping", []interface{}{PingArg{}}, &res, 0*time.Millisecond) + err = c.Cli.Call(ctx, "stellar.1.remote.ping", []any{PingArg{}}, &res, 0*time.Millisecond) return } func (c RemoteClient) NetworkOptions(ctx context.Context, caller keybase1.UserVersion) (res NetworkOptions, err error) { __arg := NetworkOptionsArg{Caller: caller} - err = c.Cli.Call(ctx, "stellar.1.remote.networkOptions", []interface{}{__arg}, &res, 0*time.Millisecond) + err = c.Cli.Call(ctx, "stellar.1.remote.networkOptions", []any{__arg}, &res, 0*time.Millisecond) return } func (c RemoteClient) DetailsPlusPayments(ctx context.Context, __arg DetailsPlusPaymentsArg) (res DetailsPlusPayments, err error) { - err = c.Cli.Call(ctx, "stellar.1.remote.detailsPlusPayments", []interface{}{__arg}, &res, 0*time.Millisecond) + err = c.Cli.Call(ctx, "stellar.1.remote.detailsPlusPayments", []any{__arg}, &res, 0*time.Millisecond) return } func (c RemoteClient) AllDetailsPlusPayments(ctx context.Context, caller keybase1.UserVersion) (res []DetailsPlusPayments, err error) { __arg := AllDetailsPlusPaymentsArg{Caller: caller} - err = c.Cli.Call(ctx, "stellar.1.remote.allDetailsPlusPayments", []interface{}{__arg}, &res, 0*time.Millisecond) + err = c.Cli.Call(ctx, "stellar.1.remote.allDetailsPlusPayments", []any{__arg}, &res, 0*time.Millisecond) return } func (c RemoteClient) AssetSearch(ctx context.Context, __arg AssetSearchArg) (res []Asset, err error) { - err = c.Cli.Call(ctx, "stellar.1.remote.assetSearch", []interface{}{__arg}, &res, 0*time.Millisecond) + err = c.Cli.Call(ctx, "stellar.1.remote.assetSearch", []any{__arg}, &res, 0*time.Millisecond) return } func (c RemoteClient) FuzzyAssetSearch(ctx context.Context, __arg FuzzyAssetSearchArg) (res []Asset, err error) { - err = c.Cli.Call(ctx, "stellar.1.remote.fuzzyAssetSearch", []interface{}{__arg}, &res, 0*time.Millisecond) + err = c.Cli.Call(ctx, "stellar.1.remote.fuzzyAssetSearch", []any{__arg}, &res, 0*time.Millisecond) return } func (c RemoteClient) ListPopularAssets(ctx context.Context, caller keybase1.UserVersion) (res AssetListResult, err error) { __arg := ListPopularAssetsArg{Caller: caller} - err = c.Cli.Call(ctx, "stellar.1.remote.listPopularAssets", []interface{}{__arg}, &res, 0*time.Millisecond) + err = c.Cli.Call(ctx, "stellar.1.remote.listPopularAssets", []any{__arg}, &res, 0*time.Millisecond) return } func (c RemoteClient) ChangeTrustline(ctx context.Context, __arg ChangeTrustlineArg) (err error) { - err = c.Cli.Call(ctx, "stellar.1.remote.changeTrustline", []interface{}{__arg}, nil, 0*time.Millisecond) + err = c.Cli.Call(ctx, "stellar.1.remote.changeTrustline", []any{__arg}, nil, 0*time.Millisecond) return } func (c RemoteClient) FindPaymentPath(ctx context.Context, __arg FindPaymentPathArg) (res PaymentPath, err error) { - err = c.Cli.Call(ctx, "stellar.1.remote.findPaymentPath", []interface{}{__arg}, &res, 0*time.Millisecond) + err = c.Cli.Call(ctx, "stellar.1.remote.findPaymentPath", []any{__arg}, &res, 0*time.Millisecond) return } func (c RemoteClient) PostAnyTransaction(ctx context.Context, __arg PostAnyTransactionArg) (err error) { - err = c.Cli.Call(ctx, "stellar.1.remote.postAnyTransaction", []interface{}{__arg}, nil, 0*time.Millisecond) + err = c.Cli.Call(ctx, "stellar.1.remote.postAnyTransaction", []any{__arg}, nil, 0*time.Millisecond) return } diff --git a/go/protocol/stellar1/ui.go b/go/protocol/stellar1/ui.go index 817377502794..798d4d15f70c 100644 --- a/go/protocol/stellar1/ui.go +++ b/go/protocol/stellar1/ui.go @@ -1,4 +1,4 @@ -// Auto-generated to Go types and interfaces using avdl-compiler v1.4.10 (https://github.com/keybase/node-avdl-compiler) +// Code generated to Go types and interfaces using avdl-compiler v1.4.10 (https://github.com/keybase/node-avdl-compiler). DO NOT EDIT. // Input file: avdl/stellar1/ui.avdl package stellar1 @@ -52,11 +52,11 @@ func UiProtocol(i UiInterface) rpc.Protocol { Name: "stellar.1.ui", Methods: map[string]rpc.ServeHandlerDescription{ "paymentReviewed": { - MakeArg: func() interface{} { + MakeArg: func() any { var ret [1]PaymentReviewedArg return &ret }, - Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { + Handler: func(ctx context.Context, args any) (ret any, err error) { typedArgs, ok := args.(*[1]PaymentReviewedArg) if !ok { err = rpc.NewTypeError((*[1]PaymentReviewedArg)(nil), args) @@ -75,6 +75,6 @@ type UiClient struct { } func (c UiClient) PaymentReviewed(ctx context.Context, __arg PaymentReviewedArg) (err error) { - err = c.Cli.Call(ctx, "stellar.1.ui.paymentReviewed", []interface{}{__arg}, nil, 0*time.Millisecond) + err = c.Cli.Call(ctx, "stellar.1.ui.paymentReviewed", []any{__arg}, nil, 0*time.Millisecond) return } diff --git a/go/pvl/api_stub.go b/go/pvl/api_stub.go index b2ce428bb9c7..f3776279cd53 100644 --- a/go/pvl/api_stub.go +++ b/go/pvl/api_stub.go @@ -2,7 +2,6 @@ // this source code is governed by the included BSD license. //go:build !production -// +build !production package pvl diff --git a/go/pvl/debug.go b/go/pvl/debug.go index 7512b22bcee8..817b007e8874 100644 --- a/go/pvl/debug.go +++ b/go/pvl/debug.go @@ -23,7 +23,7 @@ func (m metaContext) getStubDNS() *stubDNSEngine { return m.stubDNS } -func debugWithState(m metaContext, state scriptState, format string, arg ...interface{}) { +func debugWithState(m metaContext, state scriptState, format string, arg ...any) { s := fmt.Sprintf(format, arg...) m.Debug("PVL @(service:%v script:%v pc:%v) %v", debugServiceToString(state.Service), state.WhichScript, state.PC, s) @@ -34,13 +34,13 @@ func debugWithStateError(m metaContext, state scriptState, err libkb.ProofError) debugServiceToString(state.Service), state.WhichScript, state.PC, err.GetProofStatus(), err.GetDesc()) } -func debugWithPosition(m metaContext, service keybase1.ProofType, whichscript int, pc int, format string, arg ...interface{}) { +func debugWithPosition(m metaContext, service keybase1.ProofType, whichscript int, pc int, format string, arg ...any) { s := fmt.Sprintf(format, arg...) m.Debug("PVL @(service:%v script:%v pc:%v) %v", debugServiceToString(service), whichscript, pc, s) } -func debug(m metaContext, format string, arg ...interface{}) { +func debug(m metaContext, format string, arg ...any) { s := fmt.Sprintf(format, arg...) m.Debug("PVL %v", s) } diff --git a/go/pvl/helpers.go b/go/pvl/helpers.go index ab1e003d45cb..d0b7773b6759 100644 --- a/go/pvl/helpers.go +++ b/go/pvl/helpers.go @@ -7,6 +7,7 @@ import ( "net" "net/url" "regexp" + "slices" "strings" "github.com/PuerkitoBio/goquery" @@ -100,12 +101,7 @@ func selectionData(selection *goquery.Selection) string { } func stringsContains(xs []string, x string) bool { - for _, y := range xs { - if x == y { - return true - } - } - return false + return slices.Contains(xs, x) } var hasalpha = regexp.MustCompile(`\D`) diff --git a/go/pvl/interp.go b/go/pvl/interp.go index 589e6db70888..1bd48710e700 100644 --- a/go/pvl/interp.go +++ b/go/pvl/interp.go @@ -325,7 +325,7 @@ func validateScript(m metaContext, script *scriptT, service keybase1.ProofType, // Does not validate each instruction's format. (That is done when running it) // Validate each instruction's "error" field. - logerr := func(m metaContext, service keybase1.ProofType, whichscript int, pc int, format string, arg ...interface{}) libkb.ProofError { + logerr := func(m metaContext, service keybase1.ProofType, whichscript int, pc int, format string, arg ...any) libkb.ProofError { debugWithPosition(m, service, whichscript, pc, format, arg...) return libkb.NewProofError(keybase1.ProofStatus_INVALID_PVL, format, arg...) } @@ -1012,7 +1012,7 @@ func runCSSSelectorInner(m metaContext, html *goquery.Selection, func runSelectorJSONInner(m metaContext, state scriptState, selectedObject *jsonw.Wrapper, selectors []keybase1.SelectorEntry, ) ([]string, libkb.ProofError) { - logger := func(format string, args ...interface{}) { + logger := func(format string, args ...any) { debugWithState(m, state, format, args...) } jsonResults, perr := jsonhelpers.AtSelectorPath(selectedObject, selectors, logger, libkb.NewInvalidPVLSelectorError) diff --git a/go/pvl/interp_data_for_test.go b/go/pvl/interp_data_for_test.go index 2457844766db..1b96d1709231 100644 --- a/go/pvl/interp_data_for_test.go +++ b/go/pvl/interp_data_for_test.go @@ -2,7 +2,6 @@ // this source code is governed by the included BSD license. //go:build !production -// +build !production package pvl diff --git a/go/pvl/interp_test.go b/go/pvl/interp_test.go index 7f9dec94442b..e4dd3d170e50 100644 --- a/go/pvl/interp_test.go +++ b/go/pvl/interp_test.go @@ -2204,13 +2204,13 @@ func TestUnits(t *testing.T) { } } -type failer func(string, ...interface{}) +type failer func(string, ...any) func runPvlTest(t *testing.T, unit *interpUnitTest) { tc := libkb.SetupTest(t, unit.name, 1) defer tc.Cleanup() - fail := func(f string, arg ...interface{}) { + fail := func(f string, arg ...any) { f2 := fmt.Sprintf("[%v] ", unit.name) + f t.Fatalf(f2, arg...) } diff --git a/go/pvl/registers_test.go b/go/pvl/registers_test.go index 4557f911e7c6..d39d5356b4a4 100644 --- a/go/pvl/registers_test.go +++ b/go/pvl/registers_test.go @@ -55,7 +55,7 @@ func TestNamedRegsStore(t *testing.T) { var res string useRes := false - fail := func(f string, args ...interface{}) { + fail := func(f string, args ...any) { prefix := fmt.Sprintf("[%v] ", i) t.Fatalf(prefix+f, args...) } diff --git a/go/release/github/actions.go b/go/release/github/actions.go index a718f3f7aac9..ddf2c1cbf49e 100644 --- a/go/release/github/actions.go +++ b/go/release/github/actions.go @@ -13,6 +13,7 @@ import ( "net/url" "os" "regexp" + "slices" "strconv" "time" ) @@ -176,12 +177,7 @@ func LatestCommit(token string, repo string, contexts []string) (*Commit, error) } func stringInSlice(str string, list []string) bool { - for _, s := range list { - if s == str { - return true - } - } - return false + return slices.Contains(list, str) } // CIStatuses lists statuses for CI diff --git a/go/release/github/api.go b/go/release/github/api.go index 21febe62a05c..b26f767b441b 100644 --- a/go/release/github/api.go +++ b/go/release/github/api.go @@ -107,7 +107,7 @@ func DoAuthRequest(method, url, bodyType, token string, headers map[string]strin } // Get does a GET request to the Github API -func Get(token string, url string, v interface{}) error { +func Get(token string, url string, v any) error { resp, err := DoAuthRequest("GET", url, "", token, nil, nil) if resp != nil { defer func() { _ = resp.Body.Close() }() @@ -118,7 +118,7 @@ func Get(token string, url string, v interface{}) error { return get(resp, url, v) } -func get(resp *http.Response, url, v interface{}) error { +func get(resp *http.Response, url, v any) error { if resp.StatusCode != http.StatusOK { return fmt.Errorf("%s responded with %v", url, resp.Status) } diff --git a/go/release/update/s3.go b/go/release/update/s3.go index 79c906496276..d1b28c830ee9 100644 --- a/go/release/update/s3.go +++ b/go/release/update/s3.go @@ -123,7 +123,7 @@ func loadReleases(objects []types.Object, bucketName string, prefix string, suff // WriteHTML creates an html file for releases func WriteHTML(bucketName string, prefixes string, suffix string, outPath string, uploadDest string) error { var sections []Section - for _, prefix := range strings.Split(prefixes, ",") { + for prefix := range strings.SplitSeq(prefixes, ",") { objs, listErr := listAllObjects(bucketName, prefix) if listErr != nil { @@ -207,7 +207,7 @@ var htmlTemplate = ` // WriteHTMLForLinks writes a summary document for a set of releases func WriteHTMLForLinks(title string, sections []Section, writer io.Writer) error { - vars := map[string]interface{}{ + vars := map[string]any{ "Title": title, "Sections": sections, } diff --git a/go/runtimestats/stats.go b/go/runtimestats/stats.go index 991e48a6844c..731a847babff 100644 --- a/go/runtimestats/stats.go +++ b/go/runtimestats/stats.go @@ -38,7 +38,7 @@ func NewRunner(g *globals.Context) *Runner { return r } -func (r *Runner) debug(ctx context.Context, msg string, args ...interface{}) { +func (r *Runner) debug(ctx context.Context, msg string, args ...any) { r.G().Log.CDebugf(ctx, "RuntimeStats.Runner: %s", fmt.Sprintf(msg, args...)) } diff --git a/go/runtimestats/stats_darwin.go b/go/runtimestats/stats_darwin.go index 53cf277e9650..6629bffeb8ac 100644 --- a/go/runtimestats/stats_darwin.go +++ b/go/runtimestats/stats_darwin.go @@ -1,5 +1,4 @@ //go:build darwin -// +build darwin package runtimestats diff --git a/go/runtimestats/stats_other.go b/go/runtimestats/stats_other.go index 85293acafce4..8e0fdad5d045 100644 --- a/go/runtimestats/stats_other.go +++ b/go/runtimestats/stats_other.go @@ -1,5 +1,4 @@ //go:build !darwin -// +build !darwin package runtimestats diff --git a/go/saltpackkeys/saltpack_keyfinder_devel.go b/go/saltpackkeys/saltpack_keyfinder_devel.go index bcb57b476491..94b33147de73 100644 --- a/go/saltpackkeys/saltpack_keyfinder_devel.go +++ b/go/saltpackkeys/saltpack_keyfinder_devel.go @@ -2,7 +2,6 @@ // this source code is governed by the included BSD license. //go:build !production -// +build !production package saltpackkeys diff --git a/go/saltpackkeys/saltpack_keyfinder_production.go b/go/saltpackkeys/saltpack_keyfinder_production.go index 0d972e4d285e..c73b969c247a 100644 --- a/go/saltpackkeys/saltpack_keyfinder_production.go +++ b/go/saltpackkeys/saltpack_keyfinder_production.go @@ -2,7 +2,6 @@ // this source code is governed by the included BSD license. //go:build production -// +build production package saltpackkeys diff --git a/go/saltpackkeystest/saltpack_mock_pseudonym_resolver.go b/go/saltpackkeystest/saltpack_mock_pseudonym_resolver.go index 1e2c80089837..aa9e722b0028 100644 --- a/go/saltpackkeystest/saltpack_mock_pseudonym_resolver.go +++ b/go/saltpackkeystest/saltpack_mock_pseudonym_resolver.go @@ -2,7 +2,6 @@ // this source code is governed by the included BSD license. // //go:build !production -// +build !production package saltpackkeystest diff --git a/go/service/apiserver.go b/go/service/apiserver.go index 20bbe6ae16f9..b8fe1d3de43e 100644 --- a/go/service/apiserver.go +++ b/go/service/apiserver.go @@ -134,7 +134,7 @@ func (a *APIServerHandler) doPostJSON(mctx libkb.MetaContext, rawarg keybase1.Po arg := a.setupArg(rawarg) jsonPayload := make(libkb.JSONPayload) for _, kvpair := range rawarg.JSONPayload { - var value interface{} + var value any err = jsonw.EnsureMaxDepthBytesDefault([]byte(kvpair.Value)) if err != nil { return keybase1.APIRes{}, err diff --git a/go/service/canceling.go b/go/service/canceling.go index f08cca75b35b..e477fa9aa78d 100644 --- a/go/service/canceling.go +++ b/go/service/canceling.go @@ -15,7 +15,7 @@ func CancelingProtocol(g *libkb.GlobalContext, prot rpc.Protocol, reason libkb.R var newDesc rpc.ServeHandlerDescription desc := ldesc newDesc.MakeArg = desc.MakeArg - newDesc.Handler = func(ctx context.Context, arg interface{}) (interface{}, error) { + newDesc.Handler = func(ctx context.Context, arg any) (any, error) { var ctxID libkb.RPCCancelerKey ctx, ctxID = g.RPCCanceler.RegisterContext(ctx, reason) defer g.RPCCanceler.UnregisterContext(ctxID) diff --git a/go/service/config.go b/go/service/config.go index 0a6ddb4cfcde..b8e87200e1d0 100644 --- a/go/service/config.go +++ b/go/service/config.go @@ -55,7 +55,7 @@ func (h ConfigHandler) GetValue(ctx context.Context, path string) (ret keybase1. } func (h ConfigHandler) getValue(_ context.Context, path string, reader libkb.JSONReader) (ret keybase1.ConfigValue, err error) { - var i interface{} + var i any i, err = reader.GetInterfaceAtPath(path) if err != nil { return ret, err @@ -356,7 +356,7 @@ func (h ConfigHandler) GetBootstrapStatus(ctx context.Context, sessionID int) (k } status := eng.Status() h.G().Log.CDebugf(ctx, "GetBootstrapStatus: attempting to get HTTP server address") - for i := 0; i < 40; i++ { // wait at most 2 seconds + for range 40 { // wait at most 2 seconds addr, err := h.svc.httpSrv.Addr() if err != nil { h.G().Log.CDebugf(ctx, "GetBootstrapStatus: failed to get HTTP server address: %s", err) diff --git a/go/service/ctl_nix.go b/go/service/ctl_nix.go index bde7fcb6d115..eb3d62141023 100644 --- a/go/service/ctl_nix.go +++ b/go/service/ctl_nix.go @@ -2,7 +2,6 @@ // this source code is governed by the included BSD license. //go:build !darwin -// +build !darwin package service diff --git a/go/service/ctl_other.go b/go/service/ctl_other.go index d0b4b27a0754..65dbd7e0ca72 100644 --- a/go/service/ctl_other.go +++ b/go/service/ctl_other.go @@ -2,7 +2,6 @@ // this source code is governed by the included BSD license. //go:build darwin -// +build darwin package service diff --git a/go/service/debugging.go b/go/service/debugging.go index 09ec63477faa..b891b4878881 100644 --- a/go/service/debugging.go +++ b/go/service/debugging.go @@ -37,7 +37,7 @@ func (t *DebuggingHandler) Script(ctx context.Context, arg keybase1.ScriptArg) ( m := libkb.NewMetaContext(ctx, t.G()) defer m.Trace(fmt.Sprintf("Script(%s)", arg.Script), &err)() args := arg.Args - log := func(format string, args ...interface{}) { + log := func(format string, args ...any) { t.G().Log.CInfof(ctx, format, args...) } defer time.Sleep(100 * time.Millisecond) // Without this CInfof often doesn't reach the CLI @@ -93,7 +93,7 @@ func (t *DebuggingHandler) FirstStep(ctx context.Context, arg keybase1.FirstStep client := t.rpcClient() cbArg := keybase1.SecondStepArg{Val: arg.Val + 1, SessionID: arg.SessionID} var cbReply int - err = client.Call(ctx, "keybase.1.debugging.secondStep", []interface{}{cbArg}, &cbReply, 0) + err = client.Call(ctx, "keybase.1.debugging.secondStep", []any{cbArg}, &cbReply, 0) if err != nil { return } diff --git a/go/service/debugging_devel.go b/go/service/debugging_devel.go index d3927aa38a49..860553ed0bc4 100644 --- a/go/service/debugging_devel.go +++ b/go/service/debugging_devel.go @@ -2,7 +2,6 @@ // this source code is governed by the included BSD license. // //go:build !production -// +build !production package service @@ -10,7 +9,7 @@ import ( "context" "encoding/json" "fmt" - "sort" + "slices" "strings" "sync" "time" @@ -33,7 +32,7 @@ func (t *DebuggingHandler) scriptExtras(ctx context.Context, arg keybase1.Script ctx = libkb.WithLogTag(ctx, "DG") m := libkb.NewMetaContext(ctx, t.G()) args := arg.Args - log := func(format string, args ...interface{}) { + log := func(format string, args ...any) { t.G().Log.CInfof(ctx, format, args...) } defer time.Sleep(100 * time.Millisecond) // Without this CInfof often doesn't reach the CLI @@ -100,9 +99,7 @@ func (t *DebuggingHandler) scriptExtras(ctx context.Context, arg keybase1.Script for _, upak := range upak.AllIncarnations() { upakEldestSeqnos = append(upakEldestSeqnos, upak.EldestSeqno) } - sort.Slice(upakEldestSeqnos, func(i, j int) bool { - return upakEldestSeqnos[i] < upakEldestSeqnos[j] - }) + slices.Sort(upakEldestSeqnos) // Full user them, err := libkb.LoadUser(libkb.NewLoadUserArgWithMetaContext(m).WithName(args[0]).WithPublicKeyOptional()) @@ -149,8 +146,7 @@ func (t *DebuggingHandler) scriptExtras(ctx context.Context, arg keybase1.Script recipient := args[0] count := 30 var wg sync.WaitGroup - for i := 0; i < count; i++ { - i := i + for i := range count { wg.Add(1) if i%5 == 0 { time.Sleep(100 * time.Millisecond) diff --git a/go/service/debugging_production.go b/go/service/debugging_production.go index 9f849689db25..970e9edb9057 100644 --- a/go/service/debugging_production.go +++ b/go/service/debugging_production.go @@ -2,7 +2,6 @@ // this source code is governed by the included BSD license. // //go:build production -// +build production package service diff --git a/go/service/gregor.go b/go/service/gregor.go index 547f79f6336b..88e2ba35ad36 100644 --- a/go/service/gregor.go +++ b/go/service/gregor.go @@ -414,15 +414,15 @@ func (g *gregorHandler) getRPCCli() rpc.GenericClient { return g.cli } -func (g *gregorHandler) Debug(ctx context.Context, s string, args ...interface{}) { +func (g *gregorHandler) Debug(ctx context.Context, s string, args ...any) { g.G().Log.CloneWithAddedDepth(1).CDebugf(ctx, "gregorHandler: "+s, args...) } -func (g *gregorHandler) Warning(ctx context.Context, s string, args ...interface{}) { +func (g *gregorHandler) Warning(ctx context.Context, s string, args ...any) { g.G().Log.CloneWithAddedDepth(1).CWarningf(ctx, "gregorHandler: "+s, args...) } -func (g *gregorHandler) Errorf(ctx context.Context, s string, args ...interface{}) { +func (g *gregorHandler) Errorf(ctx context.Context, s string, args ...any) { g.G().Log.CloneWithAddedDepth(1).CErrorf(ctx, "gregorHandler: "+s, args...) } @@ -1910,8 +1910,8 @@ type timeoutClient struct { var _ rpc.GenericClient = (*timeoutClient)(nil) -func (t *timeoutClient) Call(ctx context.Context, method string, arg interface{}, - res interface{}, timeout time.Duration, +func (t *timeoutClient) Call(ctx context.Context, method string, arg any, + res any, timeout time.Duration, ) error { if timeout == 0 { timeout = t.timeout @@ -1923,8 +1923,8 @@ func (t *timeoutClient) Call(ctx context.Context, method string, arg interface{} return err } -func (t *timeoutClient) CallCompressed(ctx context.Context, method string, arg interface{}, - res interface{}, ctype rpc.CompressionType, timeout time.Duration, +func (t *timeoutClient) CallCompressed(ctx context.Context, method string, arg any, + res any, ctype rpc.CompressionType, timeout time.Duration, ) error { if timeout == 0 { timeout = t.timeout @@ -1936,7 +1936,7 @@ func (t *timeoutClient) CallCompressed(ctx context.Context, method string, arg i return err } -func (t *timeoutClient) Notify(ctx context.Context, method string, arg interface{}, timeout time.Duration) error { +func (t *timeoutClient) Notify(ctx context.Context, method string, arg any, timeout time.Duration) error { if timeout == 0 { timeout = t.timeout } diff --git a/go/service/gregor_test.go b/go/service/gregor_test.go index 356b5f23fbbd..572141601031 100644 --- a/go/service/gregor_test.go +++ b/go/service/gregor_test.go @@ -480,7 +480,7 @@ func TestSyncFresh(t *testing.T) { // Consume a bunch of messages to the server, and we'll sync them down const numMsgs = 20 var refMsgs []gregor.InBandMessage - for i := 0; i < numMsgs; i++ { + for range numMsgs { msg := server.newIbm(uid) refMsgs = append(refMsgs, msg.ToInBandMessage()) err := server.ConsumeMessage(context.TODO(), msg) @@ -506,7 +506,7 @@ func TestSyncNonFresh(t *testing.T) { const numMsgs = 6 const msgLimit = numMsgs / 2 var refMsgs []gregor.InBandMessage - for i := 0; i < numMsgs; i++ { + for i := range numMsgs { msg := server.newIbm(uid) err := server.ConsumeMessage(context.TODO(), msg) require.NoError(t, err) @@ -545,7 +545,7 @@ func TestSyncSaveRestoreFresh(t *testing.T) { const numMsgs = 6 const msgLimit = numMsgs / 2 var refReplayMsgs, refConsumeMsgs []gregor.InBandMessage - for i := 0; i < numMsgs; i++ { + for i := range numMsgs { msg := server.newIbm(uid) err := server.ConsumeMessage(context.TODO(), msg) require.NoError(t, err) @@ -595,7 +595,7 @@ func TestSyncSaveRestoreNonFresh(t *testing.T) { const numMsgs = 6 const msgLimit = numMsgs / 2 var refReplayMsgs, refConsumeMsgs []gregor.InBandMessage - for i := 0; i < numMsgs; i++ { + for i := range numMsgs { msg := server.newIbm(uid) err := server.ConsumeMessage(context.TODO(), msg) require.NoError(t, err) @@ -682,7 +682,7 @@ func TestMessagesAddedDuringProcessing(t *testing.T) { blockUntilDone := make(chan struct{}) // fire off some of them asynchronously go func() { - for i := 0; i < numberToDoAsync; i++ { + for i := range numberToDoAsync { err := server.ConsumeMessage(context.TODO(), msgs[i]) require.NoError(t, err) } diff --git a/go/service/identify.go b/go/service/identify.go index 99ceb028b464..a8692f31bcc0 100644 --- a/go/service/identify.go +++ b/go/service/identify.go @@ -75,7 +75,7 @@ func (h *IdentifyHandler) Identify2(netCtx context.Context, arg keybase1.Identif func (h *IdentifyHandler) IdentifyLite(netCtx context.Context, arg keybase1.IdentifyLiteArg) (ret keybase1.IdentifyLiteRes, err error) { mctx := libkb.NewMetaContext(netCtx, h.G()).WithLogTag("IDL") defer mctx.Trace("IdentifyHandler#IdentifyLite", &err)() - loader := func(mctx libkb.MetaContext) (interface{}, error) { + loader := func(mctx libkb.MetaContext) (any, error) { return h.identifyLite(mctx, arg) } cacheArg := keybase1.IdentifyLiteArg{ @@ -174,7 +174,7 @@ func (h *IdentifyHandler) identifyLiteUser(netCtx context.Context, arg keybase1. func (h *IdentifyHandler) Resolve3(ctx context.Context, arg keybase1.Resolve3Arg) (ret keybase1.UserOrTeamLite, err error) { mctx := libkb.NewMetaContext(ctx, h.G()).WithLogTag("RSLV") defer mctx.Trace(fmt.Sprintf("IdentifyHandler#Resolve3(%+v)", arg), &err)() - servedRet, err := h.service.offlineRPCCache.Serve(mctx, arg.Oa, offline.Version(1), "identify.resolve3", false, arg, &ret, func(mctx libkb.MetaContext) (interface{}, error) { + servedRet, err := h.service.offlineRPCCache.Serve(mctx, arg.Oa, offline.Version(1), "identify.resolve3", false, arg, &ret, func(mctx libkb.MetaContext) (any, error) { return h.resolveUserOrTeam(mctx.Ctx(), arg.Assertion) }) if err != nil { @@ -210,7 +210,7 @@ func (h *IdentifyHandler) ResolveIdentifyImplicitTeam(ctx context.Context, arg k IsPublic: arg.IsPublic, } - servedRes, err := h.service.offlineRPCCache.Serve(mctx, arg.Oa, offline.Version(1), "identify.resolveIdentifyImplicitTeam", false, cacheArg, &res, func(mctx libkb.MetaContext) (interface{}, error) { + servedRes, err := h.service.offlineRPCCache.Serve(mctx, arg.Oa, offline.Version(1), "identify.resolveIdentifyImplicitTeam", false, cacheArg, &res, func(mctx libkb.MetaContext) (any, error) { return h.resolveIdentifyImplicitTeamHelper(mctx.Ctx(), arg, writerAssertions, readerAssertions) }) @@ -322,7 +322,6 @@ func (h *IdentifyHandler) resolveIdentifyImplicitTeamDoIdentifies(ctx context.Co // Identify everyone who resolved in parallel, checking that they match their resolved UID and original assertions. for _, resolvedAssertion := range resolvedAssertions { - resolvedAssertion := resolvedAssertion // https://golang.org/doc/faq#closures_and_goroutines group.Go(func() error { h.G().Log.CDebugf(ctx, "ResolveIdentifyImplicitTeam ID user [%s] %s", resolvedAssertion.UID, resolvedAssertion.Assertion.String()) diff --git a/go/service/interesting_test.go b/go/service/interesting_test.go index fde31e0c76fb..08092874bb47 100644 --- a/go/service/interesting_test.go +++ b/go/service/interesting_test.go @@ -17,7 +17,7 @@ func TestInterestingPeople(t *testing.T) { maxUsers := 3 var users []*kbtest.FakeUser - for i := 0; i < maxUsers; i++ { + for range maxUsers { u, err := kbtest.CreateAndSignupFakeUser("ppl", tc.G) require.NoError(t, err) users = append(users, u) diff --git a/go/service/kbfs.go b/go/service/kbfs.go index 2bb2135939e0..ad0d75f41523 100644 --- a/go/service/kbfs.go +++ b/go/service/kbfs.go @@ -149,7 +149,7 @@ func (h *KBFSHandler) CreateTLF(ctx context.Context, arg keybase1.CreateTLFArg) func (h *KBFSHandler) GetKBFSTeamSettings(ctx context.Context, arg keybase1.GetKBFSTeamSettingsArg) (ret keybase1.KBFSTeamSettings, err error) { mctx := libkb.NewMetaContext(ctx, h.G()).WithLogTag("SETTINGS") - loader := func(mctx libkb.MetaContext) (interface{}, error) { + loader := func(mctx libkb.MetaContext) (any, error) { return teams.GetKBFSTeamSettings(mctx.Ctx(), mctx.G(), arg.TeamID.IsPublic(), arg.TeamID) } servedRet, err := h.service.offlineRPCCache.Serve(mctx, arg.Oa, offline.Version(1), "kbfs.getKBFSTeamSettings", false, arg, &ret, loader) diff --git a/go/service/kbfs_mount_nix.go b/go/service/kbfs_mount_nix.go index 43addaa2322a..2c9fcbeb4f4e 100644 --- a/go/service/kbfs_mount_nix.go +++ b/go/service/kbfs_mount_nix.go @@ -2,7 +2,6 @@ // this source code is governed by the included BSD license. //go:build !windows -// +build !windows package service diff --git a/go/service/kbfs_mount_windows.go b/go/service/kbfs_mount_windows.go index c0fd976cf737..494a43a11c00 100644 --- a/go/service/kbfs_mount_windows.go +++ b/go/service/kbfs_mount_windows.go @@ -2,7 +2,6 @@ // this source code is governed by the included BSD license. //go:build windows -// +build windows package service diff --git a/go/service/kvstore_test.go b/go/service/kvstore_test.go index 34a1a2dfab0f..aa6714d8bfb8 100644 --- a/go/service/kvstore_test.go +++ b/go/service/kvstore_test.go @@ -150,7 +150,7 @@ func TestKvStoreMultiUserTeam(t *testing.T) { // Alice puts a secret namespace := "myapp" entryKey := "asdfasfeasef" - secretData := map[string]interface{}{ + secretData := map[string]any{ "username": "hunter2", "email": "thereal@example.com", "password": "super random password", @@ -788,7 +788,7 @@ func TestKVStoreRace(t *testing.T) { } var wg sync.WaitGroup errChan := make(chan error, 10) - for i := 0; i < 5; i++ { + for range 5 { wg.Add(1) go func() { defer wg.Done() diff --git a/go/service/log_fwd.go b/go/service/log_fwd.go index aa43acc4e97d..87227e12450e 100644 --- a/go/service/log_fwd.go +++ b/go/service/log_fwd.go @@ -8,7 +8,7 @@ import keybase1 "github.com/keybase/client/go/protocol/keybase1" type logEntry struct { level keybase1.LogLevel format string - args []interface{} + args []any } type extLogger interface { @@ -50,7 +50,7 @@ func (f *logFwd) Remove(x extLogger) { f.removeCh <- x } -func (f *logFwd) Log(level keybase1.LogLevel, format string, args []interface{}) { +func (f *logFwd) Log(level keybase1.LogLevel, format string, args []any) { f.logCh <- &logEntry{level: level, format: format, args: args} } diff --git a/go/service/log_ui.go b/go/service/log_ui.go index d1ffc3fc1eff..e9035e99375c 100644 --- a/go/service/log_ui.go +++ b/go/service/log_ui.go @@ -23,7 +23,7 @@ func NewLogUI(sessionID int, c *rpc.Client) *LogUI { } } -func (l *LogUI) Log(level keybase1.LogLevel, format string, args []interface{}) { +func (l *LogUI) Log(level keybase1.LogLevel, format string, args []any) { msg := fmt.Sprintf(format, args...) _ = l.cli.Log(context.TODO(), keybase1.LogArg{ SessionID: l.sessionID, @@ -35,26 +35,26 @@ func (l *LogUI) Log(level keybase1.LogLevel, format string, args []interface{}) }) } -func (l *LogUI) Debug(format string, args ...interface{}) { +func (l *LogUI) Debug(format string, args ...any) { l.Log(keybase1.LogLevel_DEBUG, format, args) } -func (l *LogUI) Info(format string, args ...interface{}) { +func (l *LogUI) Info(format string, args ...any) { l.Log(keybase1.LogLevel_INFO, format, args) } -func (l *LogUI) Critical(format string, args ...interface{}) { +func (l *LogUI) Critical(format string, args ...any) { l.Log(keybase1.LogLevel_CRITICAL, format, args) } -func (l *LogUI) Warning(format string, args ...interface{}) { +func (l *LogUI) Warning(format string, args ...any) { l.Log(keybase1.LogLevel_WARN, format, args) } -func (l *LogUI) Errorf(format string, args ...interface{}) { +func (l *LogUI) Errorf(format string, args ...any) { l.Log(keybase1.LogLevel_ERROR, format, args) } -func (l *LogUI) Notice(format string, args ...interface{}) { +func (l *LogUI) Notice(format string, args ...any) { l.Log(keybase1.LogLevel_NOTICE, format, args) } diff --git a/go/service/saltpack.go b/go/service/saltpack.go index 1cd77bc7bb07..8962296a3f70 100644 --- a/go/service/saltpack.go +++ b/go/service/saltpack.go @@ -726,16 +726,16 @@ func unboxFilename(inFilename, suffix, destinationDir string) (string, *libkb.Bu // if the input filename ends in .encrypted.saltpack or .signed.saltpack, // strip that off and use that instead. - if strings.HasSuffix(file, encryptedExtension) { - desiredFilename = strings.TrimSuffix(file, encryptedExtension) - } else if strings.HasSuffix(file, signedExtension) { - desiredFilename = strings.TrimSuffix(file, signedExtension) + if before, ok := strings.CutSuffix(file, encryptedExtension); ok { + desiredFilename = before + } else if before, ok := strings.CutSuffix(file, signedExtension); ok { + desiredFilename = before } finalPath := filepath.Join(dir, desiredFilename) var found bool - for i := 0; i < 100; i++ { + for i := range 100 { possible := finalPath if i > 0 { // after the first time through, add a (i) to the filename diff --git a/go/service/teams.go b/go/service/teams.go index b51679d25ee7..0575c6f7c924 100644 --- a/go/service/teams.go +++ b/go/service/teams.go @@ -662,7 +662,7 @@ func (h *TeamsHandler) LoadTeamPlusApplicationKeys(ctx context.Context, arg keyb defer h.G().CTrace(ctx, fmt.Sprintf("LoadTeamPlusApplicationKeys(%s)", arg.Id), &err)() mctx := libkb.NewMetaContext(ctx, h.G().ExternalG()) - loader := func(mctx libkb.MetaContext) (interface{}, error) { + loader := func(mctx libkb.MetaContext) (any, error) { return teams.LoadTeamPlusApplicationKeys(ctx, h.G().ExternalG(), arg.Id, arg.Application, arg.Refreshers, arg.IncludeKBFSKeys) } diff --git a/go/service/test_handler.go b/go/service/test_handler.go index 29f2aa46a3f8..2ea17093f929 100644 --- a/go/service/test_handler.go +++ b/go/service/test_handler.go @@ -28,7 +28,7 @@ func (t TestHandler) Test(ctx context.Context, arg keybase1.TestArg) (test keyba client := t.rpcClient() cbArg := keybase1.TestCallbackArg(arg) var cbReply string - err = client.Call(ctx, "keybase.1.test.testCallback", []interface{}{cbArg}, &cbReply, 0) + err = client.Call(ctx, "keybase.1.test.testCallback", []any{cbArg}, &cbReply, 0) if err != nil { return } diff --git a/go/service/tracker_loader.go b/go/service/tracker_loader.go index 332184170d03..02834d790836 100644 --- a/go/service/tracker_loader.go +++ b/go/service/tracker_loader.go @@ -39,7 +39,7 @@ func NewTrackerLoader(g *libkb.GlobalContext) *TrackerLoader { return l } -func (l *TrackerLoader) debug(ctx context.Context, msg string, args ...interface{}) { +func (l *TrackerLoader) debug(ctx context.Context, msg string, args ...any) { l.G().Log.CDebugf(ctx, "TrackerLoader: %s", fmt.Sprintf(msg, args...)) } diff --git a/go/service/ui_router.go b/go/service/ui_router.go index afe0f2558436..8a46982e9171 100644 --- a/go/service/ui_router.go +++ b/go/service/ui_router.go @@ -6,6 +6,7 @@ package service import ( "context" "fmt" + "maps" "sync" "time" @@ -59,9 +60,7 @@ func (u *UIRouter) DumpUIs() map[libkb.UIKind]libkb.ConnectionID { // Copy the map res := map[libkb.UIKind]libkb.ConnectionID{} - for k, v := range u.uis { - res[k] = v - } + maps.Copy(res, u.uis) return res } diff --git a/go/service/user.go b/go/service/user.go index fc0982470a9f..d055d6d86549 100644 --- a/go/service/user.go +++ b/go/service/user.go @@ -121,7 +121,7 @@ func (h *UserHandler) LoadUserPlusKeysV2(ctx context.Context, arg keybase1.LoadU } retp := &ret - servedRet, err := h.service.offlineRPCCache.Serve(mctx, arg.Oa, offline.Version(1), "user.loadUserPlusKeysV2", false, cacheArg, &retp, func(mctx libkb.MetaContext) (interface{}, error) { + servedRet, err := h.service.offlineRPCCache.Serve(mctx, arg.Oa, offline.Version(1), "user.loadUserPlusKeysV2", false, cacheArg, &retp, func(mctx libkb.MetaContext) (any, error) { return h.G().GetUPAKLoader().LoadV2WithKID(mctx.Ctx(), arg.Uid, arg.PollForKID) }) if s, ok := servedRet.(*keybase1.UserPlusKeysV2AllIncarnations); ok && s != nil { diff --git a/go/service/usersearch_test.go b/go/service/usersearch_test.go index 9ef0852f106c..2afc1bd8d8e3 100644 --- a/go/service/usersearch_test.go +++ b/go/service/usersearch_test.go @@ -479,7 +479,7 @@ func TestContactSearchMixing(t *testing.T) { } searchProv.addUser(testAddUserArg{username: "pierre"}) // the one we have in contacts - for i := 0; i < 5; i++ { + for i := range 5 { searchProv.addUser(testAddUserArg{fmt.Sprintf("isaac%d", i), fmt.Sprintf("The Isaac %d", i)}) // Longer names score lower searchProv.addUser(testAddUserArg{fmt.Sprintf("isaac_____%d", i), fmt.Sprintf("The Isaac %d", i)}) @@ -871,16 +871,16 @@ func TestBulkEmailSearch(t *testing.T) { ",", "\n", ", ", "\r\n", } - query := "" + var query strings.Builder for i, v := range emails { - query += v + query.WriteString(v) if i < len(emails)-1 { - query += separators[i%len(separators)] + query.WriteString(separators[i%len(separators)]) } } ret, err := searchHandler.BulkEmailOrPhoneSearch(context.Background(), keybase1.BulkEmailOrPhoneSearchArg{ - Emails: query, + Emails: query.String(), }) require.NoError(t, err) diff --git a/go/sig3/errors.go b/go/sig3/errors.go index 28eaace3f5f4..612cb95e4d8b 100644 --- a/go/sig3/errors.go +++ b/go/sig3/errors.go @@ -12,7 +12,7 @@ func (e ParseError) Error() string { return fmt.Sprintf("parse error: %s", e.m) } -func newParseError(f string, a ...interface{}) error { +func newParseError(f string, a ...any) error { return ParseError{m: fmt.Sprintf(f, a...)} } @@ -24,7 +24,7 @@ func (e Sig3Error) Error() string { return fmt.Sprintf("sig3 error: %s", e.m) } -func newSig3Error(f string, a ...interface{}) error { +func newSig3Error(f string, a ...any) error { return Sig3Error{m: fmt.Sprintf(f, a...)} } @@ -32,7 +32,7 @@ type SequenceError struct { m string } -func newSequenceError(f string, a ...interface{}) error { +func newSequenceError(f string, a ...any) error { return SequenceError{m: fmt.Sprintf(f, a...)} } diff --git a/go/sig3/prot.go b/go/sig3/prot.go index f292faba8b96..4a0997b43c9a 100644 --- a/go/sig3/prot.go +++ b/go/sig3/prot.go @@ -60,7 +60,7 @@ type OuterLink struct { } type InnerLink struct { - Body interface{} `codec:"b"` // The actual body, which varies based on the type in the outer link + Body any `codec:"b"` // The actual body, which varies based on the type in the outer link Ctime TimeSec `codec:"c"` // Seconds since 1970 UTC. Entropy Entropy `codec:"e"` // entropy for hiding the value of the inner link ClientInfo *ClientInfo `codec:"i,omitempty"` // Optional client type making sig diff --git a/go/sig3/sig3.go b/go/sig3/sig3.go index 1fa85ae00965..94d6052b7658 100644 --- a/go/sig3/sig3.go +++ b/go/sig3/sig3.go @@ -159,7 +159,7 @@ func (i InnerLink) hash() (LinkID, error) { return hashInterface(i) } -func hashInterface(i interface{}) (LinkID, error) { +func hashInterface(i any) (LinkID, error) { b, err := msgpack.Encode(i) if err != nil { return LinkID{}, err @@ -474,7 +474,7 @@ func signGeneric(g Generic, privkey kbcrypto.NaclSigningKeyPrivate) (ret *Sig3Bu // Export a sig3 up to the server in base64'ed JSON format, as in a POST request. func (s Sig3Bundle) Export() (ret ExportJSON, err error) { - enc := func(i interface{}) (string, error) { + enc := func(i any) (string, error) { b, err := msgpack.Encode(i) if err != nil { return "", err diff --git a/go/sig3/sig3_test.go b/go/sig3/sig3_test.go index d0a29d5f920c..0d99378fc88b 100644 --- a/go/sig3/sig3_test.go +++ b/go/sig3/sig3_test.go @@ -90,7 +90,7 @@ func genTest(t *testing.T, n int) (bun *Sig3Bundle, ex ExportJSON, rk *RotateKey var ptks []PerTeamKey var innerKeys []KeyPair - for i := 0; i < n; i++ { + for i := range n { ptk := PerTeamKey{ AppkeyDerivationVersion: 1, Generation: PerTeamKeyGeneration(5), diff --git a/go/spotty/spotty_nix.go b/go/spotty/spotty_nix.go index 5a3581425bf7..4a1da5927f37 100644 --- a/go/spotty/spotty_nix.go +++ b/go/spotty/spotty_nix.go @@ -2,7 +2,6 @@ // this source code is governed by the included BSD license. //go:build darwin || dragonfly || freebsd || linux || nacl || netbsd || openbsd || solaris -// +build darwin dragonfly freebsd linux nacl netbsd openbsd solaris package spotty diff --git a/go/spotty/spotty_windows.go b/go/spotty/spotty_windows.go index 8d1b143c4b5c..410966207e18 100644 --- a/go/spotty/spotty_windows.go +++ b/go/spotty/spotty_windows.go @@ -2,7 +2,6 @@ // this source code is governed by the included BSD license. //go:build windows -// +build windows package spotty diff --git a/go/status/log_send_desktop.go b/go/status/log_send_desktop.go index a9962b86895f..f7d20eaeccd0 100644 --- a/go/status/log_send_desktop.go +++ b/go/status/log_send_desktop.go @@ -2,7 +2,6 @@ // this source code is governed by the included BSD license. //go:build !ios && !android -// +build !ios,!android package status @@ -13,18 +12,19 @@ import ( "os/exec" "regexp" "runtime" + "strings" "time" ps "github.com/keybase/go-ps" ) func keybaseProcessList() string { - ret := "" + var ret strings.Builder osinfo, err := getOSInfo() if err == nil { - ret += osinfo + "\n\n" + ret.WriteString(osinfo + "\n\n") } else { - ret += fmt.Sprintf("could not get OS info for platform %s: %s\n\n", runtime.GOOS, err) + fmt.Fprintf(&ret, "could not get OS info for platform %s: %s\n\n", runtime.GOOS, err) } processes, err := pgrep(keybaseProcessRegexp) @@ -36,9 +36,9 @@ func keybaseProcessList() string { if err != nil { path = "unable to get process path" } - ret += fmt.Sprintf("%s (%+v)\n", path, process) + fmt.Fprintf(&ret, "%s (%+v)\n", path, process) } - return ret + return ret.String() } func getOSInfo() (string, error) { diff --git a/go/status/log_send_mobile.go b/go/status/log_send_mobile.go index db0c98752648..833253a6d719 100644 --- a/go/status/log_send_mobile.go +++ b/go/status/log_send_mobile.go @@ -2,7 +2,6 @@ // this source code is governed by the included BSD license. //go:build ios || android -// +build ios android package status diff --git a/go/status/status_darwin.go b/go/status/status_darwin.go index 3fab13a596e1..6eda3957f986 100644 --- a/go/status/status_darwin.go +++ b/go/status/status_darwin.go @@ -2,7 +2,6 @@ // this source code is governed by the included BSD license. //go:build darwin -// +build darwin package status diff --git a/go/status/status_nix.go b/go/status/status_nix.go index e24547c1f9f2..10c20793432d 100644 --- a/go/status/status_nix.go +++ b/go/status/status_nix.go @@ -2,7 +2,6 @@ // this source code is governed by the included BSD license. //go:build dragonfly || freebsd || linux || netbsd || openbsd || solaris -// +build dragonfly freebsd linux netbsd openbsd solaris package status diff --git a/go/status/status_test.go b/go/status/status_test.go index 301ce62f1ae5..c65e62cbab83 100644 --- a/go/status/status_test.go +++ b/go/status/status_test.go @@ -32,7 +32,7 @@ func TestMergeExtendedStatus(t *testing.T) { err := jsonw.EnsureMaxDepthBytesDefault([]byte(fullStatus)) require.NoError(t, err) - fullStatusMap := map[string]interface{}{} + fullStatusMap := map[string]any{} err = json.Unmarshal([]byte(fullStatus), &fullStatusMap) require.NoError(t, err) _, ok := fullStatusMap["status"] diff --git a/go/status/status_windows.go b/go/status/status_windows.go index 024de13640dd..ec2dbf1f7c64 100644 --- a/go/status/status_windows.go +++ b/go/status/status_windows.go @@ -2,7 +2,6 @@ // this source code is governed by the included BSD license. //go:build windows -// +build windows package status diff --git a/go/status/utils.go b/go/status/utils.go index 0e51bbbaba41..adb34118b815 100644 --- a/go/status/utils.go +++ b/go/status/utils.go @@ -32,17 +32,17 @@ import ( // MergeStatusJSON merges the given `obj` into the given `status` JSON blob. // If any errors occur the original `status` is returned. Otherwise a new JSON // blob is created of the form {"status": status, key: obj} -func MergeStatusJSON(obj interface{}, key, status string) string { +func MergeStatusJSON(obj any, key, status string) string { if err := jsonw.EnsureMaxDepthBytesDefault([]byte(status)); err != nil { return status } - var statusObj map[string]interface{} + var statusObj map[string]any if err := json.Unmarshal([]byte(status), &statusObj); err != nil { return status } - statusMap := make(map[string]interface{}) + statusMap := make(map[string]any) statusMap["status"] = statusObj statusMap[key] = obj @@ -271,7 +271,7 @@ func findFirstNewline(b []byte) []byte { return b[(index + 1):] } -func appendError(log logger.Logger, collected []byte, format string, args ...interface{}) []byte { +func appendError(log logger.Logger, collected []byte, format string, args ...any) []byte { msg := "Error reading logs: " + fmt.Sprintf(format, args...) log.Errorf(msg) return append(collected, []byte("\n"+msg+"\n")...) diff --git a/go/stellar/autoclaim.go b/go/stellar/autoclaim.go index 508a7ac4ee98..848bedd72d65 100644 --- a/go/stellar/autoclaim.go +++ b/go/stellar/autoclaim.go @@ -65,7 +65,7 @@ func (r *AutoClaimRunner) loop(mctx libkb.MetaContext, trigger gregor.MsgID) { for { i++ mctx := mctx.WithLogTag("ACR") // shadow mctx for this round with a log tag - log := func(format string, args ...interface{}) { + log := func(format string, args ...any) { mctx.Debug(fmt.Sprintf("AutoClaimRunnner round[%v] ", i) + fmt.Sprintf(format, args...)) } action, err := r.step(mctx, i, trigger) @@ -99,7 +99,7 @@ func (r *AutoClaimRunner) loop(mctx libkb.MetaContext, trigger gregor.MsgID) { // `trigger` is optional func (r *AutoClaimRunner) step(mctx libkb.MetaContext, i int, trigger gregor.MsgID) (action autoClaimLoopAction, err error) { - log := func(format string, args ...interface{}) { + log := func(format string, args ...any) { mctx.Debug(fmt.Sprintf("AutoClaimRunnner round[%v] ", i) + fmt.Sprintf(format, args...)) } log("step begin") diff --git a/go/stellar/batch.go b/go/stellar/batch.go index 6f5adc2b9b56..4e48aca337e0 100644 --- a/go/stellar/batch.go +++ b/go/stellar/batch.go @@ -66,7 +66,7 @@ func Batch(mctx libkb.MetaContext, walletState *WalletState, arg stellar1.BatchL // submit the payments // need to submit tx one at a time, in order - for i := 0; i < len(prepared); i++ { + for i := range prepared { if prepared[i] == nil { unlock() // this should never happen @@ -170,7 +170,7 @@ func PrepareBatchPayments(mctx libkb.MetaContext, walletState *WalletState, send // prepared chan could be out of order, so sort by seqno preparedList := make([]*MiniPrepared, len(payments)) - for i := 0; i < len(payments); i++ { + for i := range payments { preparedList[i] = <-prepared } sort.Slice(preparedList, func(a, b int) bool { return preparedList[a].Seqno < preparedList[b].Seqno }) diff --git a/go/stellar/batch_multi.go b/go/stellar/batch_multi.go index 4641c9bed4a7..71334e1f8781 100644 --- a/go/stellar/batch_multi.go +++ b/go/stellar/batch_multi.go @@ -102,14 +102,14 @@ func BatchMulti(mctx libkb.MetaContext, walletState *WalletState, arg stellar1.B submitRes, err := walletState.SubmitMultiPayment(mctx.Ctx(), post) if err != nil { // make all the results have an error - for i := 0; i < len(results); i++ { + for i := range results { makeResultError(&results[i], err) } } else { // make all there results have success now := stellar1.ToTimeMs(time.Now()) - for i := 0; i < len(results); i++ { + for i := range results { if results[i].Status == stellar1.PaymentStatus_ERROR { // some of the results have already been marked as an // error, so skip those. @@ -140,7 +140,7 @@ func BatchMulti(mctx libkb.MetaContext, walletState *WalletState, arg stellar1.B return nil }) - for i := 0; i < 10; i++ { + for range 10 { g.Go(func() error { for recipient := range recipients { if err := chatSendPaymentMessage(mctx, recipient, submitRes.TxID, true); err != nil { diff --git a/go/stellar/bpc.go b/go/stellar/bpc.go index 6b4d29fb6c02..b0810398ba4a 100644 --- a/go/stellar/bpc.go +++ b/go/stellar/bpc.go @@ -67,7 +67,7 @@ func (c *buildPaymentCache) AccountSeqno(mctx libkb.MetaContext, func (c *buildPaymentCache) IsAccountFunded(mctx libkb.MetaContext, accountID stellar1.AccountID, bid stellar1.BuildPaymentID, ) (res bool, err error) { - fill := func() (interface{}, error) { + fill := func() (any, error) { funded, err := isAccountFunded(mctx.Ctx(), c.remoter, accountID) res = funded return funded, err @@ -84,7 +84,7 @@ func (c *buildPaymentCache) IsAccountFunded(mctx libkb.MetaContext, func (c *buildPaymentCache) LookupRecipient(mctx libkb.MetaContext, to stellarcommon.RecipientInput, ) (res stellarcommon.Recipient, err error) { - fill := func() (interface{}, error) { + fill := func() (any, error) { return LookupRecipient(mctx, to, false /* isCLI */) } err = c.lookupRecipientCache.GetWithFill(mctx, string(to), &res, fill) @@ -93,7 +93,7 @@ func (c *buildPaymentCache) LookupRecipient(mctx libkb.MetaContext, func (c *buildPaymentCache) ShouldOfferAdvancedSend(mctx libkb.MetaContext, from, to stellar1.AccountID) (res stellar1.AdvancedBanner, err error) { key := from.String() + ":" + to.String() - fill := func() (interface{}, error) { + fill := func() (any, error) { return ShouldOfferAdvancedSend(mctx, c.remoter, from, to) } err = c.shouldOfferAdvancedSendCache.GetWithFill(mctx, key, &res, fill) @@ -122,11 +122,11 @@ func (c *buildPaymentCache) AvailableXLMToSend(mctx libkb.MetaContext, func (c *buildPaymentCache) GetOutsideCurrencyPreference(mctx libkb.MetaContext, accountID stellar1.AccountID, bid stellar1.BuildPaymentID, ) (res stellar1.OutsideCurrencyCode, err error) { - fillInner := func() (interface{}, error) { + fillInner := func() (any, error) { cr, err := GetCurrencySetting(mctx, accountID) return cr.Code, err } - fillOuter := func() (interface{}, error) { + fillOuter := func() (any, error) { err := c.currencyPreferenceCache.GetWithFill(mctx, accountID.String(), &res, fillInner) return res, err } diff --git a/go/stellar/build.go b/go/stellar/build.go index e5f28ff243d4..84e843d42d8c 100644 --- a/go/stellar/build.go +++ b/go/stellar/build.go @@ -156,7 +156,7 @@ func BuildPaymentLocal(mctx libkb.MetaContext, arg stellar1.BuildPaymentLocalArg secretNote bool publicMemo bool }{} - log := func(format string, args ...interface{}) { + log := func(format string, args ...any) { mctx.Debug("bpl: "+format, args...) } @@ -774,7 +774,7 @@ func BuildRequestLocal(mctx libkb.MetaContext, arg stellar1.BuildRequestLocalArg amount bool secretNote bool }{} - log := func(format string, args ...interface{}) { + log := func(format string, args ...any) { mctx.Debug("brl: "+format, args...) } @@ -875,7 +875,7 @@ type buildPaymentAmountResult struct { var zeroOrNoAmountRE = regexp.MustCompile(`^0*\.?0*$`) func buildPaymentAmountHelper(mctx libkb.MetaContext, bpc BuildPaymentCache, arg buildPaymentAmountArg) (res buildPaymentAmountResult) { - log := func(format string, args ...interface{}) { + log := func(format string, args ...any) { mctx.Debug("bpl: "+format, args...) } res.asset = stellar1.AssetNative() diff --git a/go/stellar/global.go b/go/stellar/global.go index a70c82767aa3..6c8abf175711 100644 --- a/go/stellar/global.go +++ b/go/stellar/global.go @@ -442,7 +442,7 @@ type hasAcceptedDisclaimerDBEntry struct { // For a UV, accepted starts out false and transitions to true. It never becomes false again. // A cached true is returned, but a false always hits the server. func (s *Stellar) hasAcceptedDisclaimer(ctx context.Context) (bool, error) { - log := func(format string, args ...interface{}) { + log := func(format string, args ...any) { s.G().Log.CDebugf(ctx, "Stellar.hasAcceptedDisclaimer "+format, args...) } uv, err := s.G().GetMeUV(ctx) @@ -579,7 +579,6 @@ func (s *Stellar) acquireBuildPayment(mctx1 libkb.MetaContext, bid stellar1.Buil s.bidLock.Lock() defer s.bidLock.Unlock() for _, entry := range s.bids { - entry := entry if !entry.Bid.Eq(bid) { continue } @@ -609,7 +608,6 @@ func (s *Stellar) finalizeBuildPayment(mctx libkb.MetaContext, bid stellar1.Buil s.bidLock.Lock() defer s.bidLock.Unlock() for _, entry := range s.bids { - entry := entry if !entry.Bid.Eq(bid) { continue } diff --git a/go/stellar/loader.go b/go/stellar/loader.go index abc5292cfdd6..8ec65cd2f993 100644 --- a/go/stellar/loader.go +++ b/go/stellar/loader.go @@ -491,7 +491,7 @@ func (p *Loader) cleanPayments(n int) int { return 0 } - for i := 0; i < toDelete; i++ { + for i := range toDelete { delete(p.payments, p.plist[i]) delete(p.pmessages, p.plist[i]) deleted++ @@ -512,7 +512,7 @@ func (p *Loader) cleanRequests(n int) int { return 0 } - for i := 0; i < toDelete; i++ { + for i := range toDelete { delete(p.requests, p.rlist[i]) delete(p.rmessages, p.rlist[i]) deleted++ diff --git a/go/stellar/loader_test.go b/go/stellar/loader_test.go index 8650d602a67d..5150d8934893 100644 --- a/go/stellar/loader_test.go +++ b/go/stellar/loader_test.go @@ -24,7 +24,7 @@ func TestLoaderClean(t *testing.T) { require.Equal(t, 0, n) require.Equal(t, 0, loader.RequestsLen()) - for i := 0; i < 10; i++ { + for range 10 { addRandomPayment(t, loader) addRandomRequest(t, loader) } @@ -37,7 +37,7 @@ func TestLoaderClean(t *testing.T) { require.Equal(t, 0, n) require.Equal(t, 10, loader.RequestsLen()) - for i := 0; i < 100; i++ { + for range 100 { addRandomPayment(t, loader) addRandomRequest(t, loader) } @@ -54,7 +54,7 @@ func TestLoaderClean(t *testing.T) { require.Equal(t, 40, loader.RequestsLen()) // make sure clean works more than one time: - for i := 0; i < 10; i++ { + for range 10 { addRandomPayment(t, loader) addRandomRequest(t, loader) } diff --git a/go/stellar/stellar.go b/go/stellar/stellar.go index b5a9b80b4875..c16f1a8b0759 100644 --- a/go/stellar/stellar.go +++ b/go/stellar/stellar.go @@ -944,7 +944,7 @@ func SpecMiniChatPayments(mctx libkb.MetaContext, walletState *WalletState, paym } summary.Specs = make([]libkb.MiniChatPaymentSpec, len(payments)) - for i := 0; i < len(payments); i++ { + for range payments { ispec := <-ch summary.Specs[ispec.index] = ispec.spec xlmTotal += ispec.xlmAmountNumeric @@ -1029,7 +1029,7 @@ func SendMiniChatPayments(m libkb.MetaContext, walletState *WalletState, convID resultList := make([]libkb.MiniChatPaymentResult, len(payments)) // need to submit tx one at a time, in order - for i := 0; i < len(prepared); i++ { + for i := range prepared { if prepared[i] == nil { // this should never happen return nil, errors.New("mini chat prepare failed") @@ -1099,7 +1099,7 @@ func PrepareMiniChatPayments(m libkb.MetaContext, walletState *WalletState, send // prepared chan could be out of order, so sort by seqno preparedList := make([]*MiniPrepared, len(payments)) - for i := 0; i < len(payments); i++ { + for i := range payments { preparedList[i] = <-prepared } sort.Slice(preparedList, func(a, b int) bool { return preparedList[a].Seqno < preparedList[b].Seqno }) diff --git a/go/stellar/stellarsvc/anchor.go b/go/stellar/stellarsvc/anchor.go index 902d74d8a214..e98a789e78a8 100644 --- a/go/stellar/stellarsvc/anchor.go +++ b/go/stellar/stellarsvc/anchor.go @@ -231,13 +231,13 @@ func (a *anchorInteractor) checkURL(mctx libkb.MetaContext, action string) (*url } type okDepositResponse struct { - How string `json:"how"` - ETA int `json:"int"` - MinAmount float64 `json:"min_amount"` - MaxAmount float64 `json:"max_amount"` - FeeFixed float64 `json:"fee_fixed"` - FeePercent float64 `json:"fee_percent"` - ExtraInfo interface{} `json:"extra_info"` + How string `json:"how"` + ETA int `json:"int"` + MinAmount float64 `json:"min_amount"` + MaxAmount float64 `json:"max_amount"` + FeeFixed float64 `json:"fee_fixed"` + FeePercent float64 `json:"fee_percent"` + ExtraInfo any `json:"extra_info"` } // this will never happen, but: diff --git a/go/stellar/stellarsvc/batch_test.go b/go/stellar/stellarsvc/batch_test.go index 7a0b5333ef4e..3c28d3cd542f 100644 --- a/go/stellar/stellarsvc/batch_test.go +++ b/go/stellar/stellarsvc/batch_test.go @@ -142,7 +142,7 @@ func TestBatchMultiDirect(t *testing.T) { // recipient test contexts const numRecips = 3 recipTC := make([]*TestContext, numRecips) - for i := 0; i < numRecips; i++ { + for i := range numRecips { var c func() recipTC[i], c = setupDesktopTest(t) defer c() diff --git a/go/stellar/stellarsvc/remote_mock_test.go b/go/stellar/stellarsvc/remote_mock_test.go index 061ac94f2a22..5c201ccc7e64 100644 --- a/go/stellar/stellarsvc/remote_mock_test.go +++ b/go/stellar/stellarsvc/remote_mock_test.go @@ -636,7 +636,7 @@ func NewBackendMock(t testing.TB) *BackendMock { } } -func (r *BackendMock) trace(err *error, name string, format string, args ...interface{}) func() { +func (r *BackendMock) trace(err *error, name string, format string, args ...any) func() { r.T.Logf("+ %s %s", name, fmt.Sprintf(format, args...)) return func() { errStr := "?" diff --git a/go/stellar/stellarsvc/seqno_test.go b/go/stellar/stellarsvc/seqno_test.go index 1b611cb44b22..d8c74ca480c5 100644 --- a/go/stellar/stellarsvc/seqno_test.go +++ b/go/stellar/stellarsvc/seqno_test.go @@ -98,12 +98,12 @@ func TestSeqnoConcurrent(t *testing.T) { } numPayments := 10 - for i := 0; i < numPayments; i++ { + for range numPayments { go fakePayment(t) } seqnos := make([]uint64, numPayments) - for i := 0; i < numPayments; i++ { + for i := range numPayments { seqnos[i] = <-submits } diff --git a/go/stellar/stellarsvc/service.go b/go/stellar/stellarsvc/service.go index 29639fd5aac4..f4888951c90b 100644 --- a/go/stellar/stellarsvc/service.go +++ b/go/stellar/stellarsvc/service.go @@ -957,7 +957,7 @@ func (s *Server) GetPartnerUrlsLocal(ctx context.Context, sessionID int) (res [] if err != nil { return nil, err } - var externalURLs map[string]map[string][]interface{} + var externalURLs map[string]map[string][]any if err := json.Unmarshal([]byte(entry.Entry), &externalURLs); err != nil { return nil, err } diff --git a/go/stellar/stellarsvc/service_devel.go b/go/stellar/stellarsvc/service_devel.go index c384e9ca3558..3e2c84096db4 100644 --- a/go/stellar/stellarsvc/service_devel.go +++ b/go/stellar/stellarsvc/service_devel.go @@ -2,7 +2,6 @@ // this source code is governed by the included BSD license. // //go:build !production -// +build !production package stellarsvc diff --git a/go/stellar/stellarsvc/service_production.go b/go/stellar/stellarsvc/service_production.go index 3a8dce549d88..ab95f83328cc 100644 --- a/go/stellar/stellarsvc/service_production.go +++ b/go/stellar/stellarsvc/service_production.go @@ -2,7 +2,6 @@ // this source code is governed by the included BSD license. // //go:build production -// +build production package stellarsvc diff --git a/go/stellar/stellarsvc/service_test.go b/go/stellar/stellarsvc/service_test.go index 3c4b0e285c2f..0138a645de24 100644 --- a/go/stellar/stellarsvc/service_test.go +++ b/go/stellar/stellarsvc/service_test.go @@ -1184,7 +1184,7 @@ func TestMakeAccountMobileOnlyOnDesktop(t *testing.T) { err = remote.Post(mctx, *rev2Bundle) RequireAppStatusError(t, libkb.SCStellarDeviceNotMobile, err) - for i := 0; i < 10; i++ { + for range 10 { // turn mobile only off err = tc2.Srv.SetAccountAllDevicesLocal(context.TODO(), stellar1.SetAccountAllDevicesLocalArg{ AccountID: a1, @@ -1351,7 +1351,7 @@ func TestAutoClaimLoop(t *testing.T) { tcs[1].G.GetStellar().KickAutoClaimRunner(tcs[1].MetaContext(), gregor1.MsgID{}) var found bool - for i := 0; i < 10; i++ { + for range 10 { time.Sleep(100 * time.Millisecond * libkb.CITimeMultiplier(tcs[1].G)) payment := tcs[1].Backend.txLog.Find(sendRes.KbTxID.String()) claim := payment.Summary.Relay().Claim @@ -1394,7 +1394,7 @@ func TestShutdown(t *testing.T) { require.Equal(t, balances[0].Amount, "10000") var wg sync.WaitGroup - for i := 0; i < 10; i++ { + for i := range 10 { wg.Add(1) go func(index int) { time.Sleep(time.Duration(index*10) * time.Millisecond) @@ -1565,7 +1565,7 @@ func (tc *TestContext) MetaContext() libkb.MetaContext { // Returns (FakeUsers, TestContexts, CleanupFunction) func setupNTests(t *testing.T, n int) ([]*TestContext, func()) { var settings []usetting - for i := 0; i < n; i++ { + for range n { settings = append(settings, usettingFull) } return setupTestsWithSettings(t, settings) diff --git a/go/stellar/time_cache.go b/go/stellar/time_cache.go index 5974217fd7bd..3f08cc1e3695 100644 --- a/go/stellar/time_cache.go +++ b/go/stellar/time_cache.go @@ -18,7 +18,7 @@ type TimeCache struct { } type timeCacheEntry struct { - val interface{} + val any time time.Time } @@ -38,19 +38,19 @@ func NewTimeCache(name string, size int, maxAge time.Duration) *TimeCache { } } -type cacheFillFunc = func() (interface{}, error) +type cacheFillFunc = func() (any, error) -func (c *TimeCache) Get(mctx libkb.MetaContext, key string, into interface{}) (ok bool) { +func (c *TimeCache) Get(mctx libkb.MetaContext, key string, into any) (ok bool) { return c.getHelper(mctx, key, into, nil) == nil } // GetWithFill is prefereable to Get because it holds a locktab lock during the fill. // Which prevents concurrent accesses from doing the extra work of running fill at the same time. -func (c *TimeCache) GetWithFill(mctx libkb.MetaContext, key string, into interface{}, fill cacheFillFunc) error { +func (c *TimeCache) GetWithFill(mctx libkb.MetaContext, key string, into any, fill cacheFillFunc) error { return c.getHelper(mctx, key, into, fill) } -func (c *TimeCache) getHelper(mctx libkb.MetaContext, key string, into interface{}, fill cacheFillFunc) error { +func (c *TimeCache) getHelper(mctx libkb.MetaContext, key string, into any, fill cacheFillFunc) error { lock, err := c.lockTab.AcquireOnNameWithContextAndTimeout(mctx.Ctx(), mctx.G(), key, time.Minute) if err != nil { return fmt.Errorf("could not acquire cache lock for key %v", key) @@ -87,7 +87,7 @@ func (c *TimeCache) getHelper(mctx libkb.MetaContext, key string, into interface return fmt.Errorf("value not found for '%v'", key) } -func (c *TimeCache) storeResult(val interface{}, into interface{}) (ok bool) { +func (c *TimeCache) storeResult(val any, into any) (ok bool) { target := reflect.Indirect(reflect.ValueOf(into)) if target.CanSet() && reflect.TypeOf(val).AssignableTo(reflect.TypeOf(target.Interface())) { target.Set(reflect.ValueOf(val)) @@ -97,7 +97,7 @@ func (c *TimeCache) storeResult(val interface{}, into interface{}) (ok bool) { return false } -func (c *TimeCache) Put(mctx libkb.MetaContext, key string, val interface{}) { +func (c *TimeCache) Put(mctx libkb.MetaContext, key string, val any) { c.cache.Add(key, timeCacheEntry{ val: val, time: time.Now().Round(0), diff --git a/go/stellar/time_cache_test.go b/go/stellar/time_cache_test.go index 013e9f8a0fe4..6eb20544915b 100644 --- a/go/stellar/time_cache_test.go +++ b/go/stellar/time_cache_test.go @@ -20,10 +20,10 @@ func TestTimeCache(t *testing.T) { require.True(t, ok) require.Equal(t, 1, a) - fill2 := func() (interface{}, error) { + fill2 := func() (any, error) { return 2, nil } - fillErr := func() (interface{}, error) { + fillErr := func() (any, error) { return 3, fmt.Errorf("eek") } err := c.GetWithFill(tc.MetaContext(), "l", &a, fill2) diff --git a/go/stellar/wallet_state.go b/go/stellar/wallet_state.go index 10cfdc0d2cd2..d4a584f5be71 100644 --- a/go/stellar/wallet_state.go +++ b/go/stellar/wallet_state.go @@ -258,7 +258,7 @@ func (w *WalletState) UpdateAccountEntriesWithBundle(mctx libkb.MetaContext, rea // RefreshAll refreshes all the accounts. func (w *WalletState) RefreshAll(mctx libkb.MetaContext, reason string) error { - _, err := w.refreshGroup.Do("RefreshAll", func() (interface{}, error) { + _, err := w.refreshGroup.Do("RefreshAll", func() (any, error) { doErr := w.refreshAll(mctx, reason) return nil, doErr }) @@ -585,7 +585,7 @@ func (w *WalletState) ExchangeRate(ctx context.Context, currency string) (stella } w.G().Log.CDebugf(ctx, "ExchangeRate(%s) using remote", currency) - rateRes, err := w.rateGroup.Do(currency, func() (interface{}, error) { + rateRes, err := w.rateGroup.Do(currency, func() (any, error) { return w.Remoter.ExchangeRate(ctx, currency) }) rate, ok := rateRes.(stellar1.OutsideExchangeRate) @@ -686,7 +686,7 @@ func newAccountState(accountID stellar1.AccountID, r remote.Remoter, reqsCh chan // Refresh updates all the data for this account from the server. func (a *AccountState) Refresh(mctx libkb.MetaContext, router *libkb.NotifyRouter, reason string) error { - _, err := a.refreshGroup.Do("Refresh", func() (interface{}, error) { + _, err := a.refreshGroup.Do("Refresh", func() (any, error) { doErr := a.refresh(mctx, router, reason) return nil, doErr }) @@ -695,7 +695,7 @@ func (a *AccountState) Refresh(mctx libkb.MetaContext, router *libkb.NotifyRoute // RefreshWithDetails updates all the data for this account with the provided details data. func (a *AccountState) RefreshWithDetails(mctx libkb.MetaContext, router *libkb.NotifyRouter, reason string, details *stellar1.DetailsPlusPayments) error { - _, err := a.refreshGroup.Do("Refresh", func() (interface{}, error) { + _, err := a.refreshGroup.Do("Refresh", func() (any, error) { var doErr error if details != nil { doErr = a.refreshWithDetails(mctx, router, reason, details) @@ -1053,7 +1053,7 @@ func pendingChanged(a, b []stellar1.PaymentSummary) bool { return false } - for i := 0; i < len(a); i++ { + for i := range a { atxid, err := a[i].TransactionID() if err != nil { return true diff --git a/go/systemd/systemd_linux.go b/go/systemd/systemd_linux.go index 47def0166102..2a371af04ddc 100644 --- a/go/systemd/systemd_linux.go +++ b/go/systemd/systemd_linux.go @@ -1,5 +1,4 @@ //go:build linux && !android -// +build linux,!android package systemd diff --git a/go/systemd/systemd_other.go b/go/systemd/systemd_other.go index cf4e1919a6eb..13576ce68b59 100644 --- a/go/systemd/systemd_other.go +++ b/go/systemd/systemd_other.go @@ -1,5 +1,4 @@ //go:build !linux || android -// +build !linux android package systemd diff --git a/go/systests/common_test.go b/go/systests/common_test.go index dd2fbdee797c..55cfdecf0fe0 100644 --- a/go/systests/common_test.go +++ b/go/systests/common_test.go @@ -55,15 +55,15 @@ type baseNullUI struct { type dumbUI struct{} -func (d dumbUI) Printf(format string, args ...interface{}) (int, error) { +func (d dumbUI) Printf(format string, args ...any) (int, error) { return 0, nil } -func (d dumbUI) PrintfStderr(format string, args ...interface{}) (int, error) { +func (d dumbUI) PrintfStderr(format string, args ...any) (int, error) { return 0, nil } -func (d dumbUI) PrintfUnescaped(format string, args ...interface{}) (int, error) { +func (d dumbUI) PrintfUnescaped(format string, args ...any) (int, error) { return 0, nil } diff --git a/go/systests/config_test.go b/go/systests/config_test.go index d543a7de9eb1..10da73df32ac 100644 --- a/go/systests/config_test.go +++ b/go/systests/config_test.go @@ -55,17 +55,17 @@ func (c *configTestUI) GetDumbOutputUI() libkb.DumbOutputUI { return c } -func (c *configTestUI) Printf(fmtString string, args ...interface{}) (int, error) { +func (c *configTestUI) Printf(fmtString string, args ...any) (int, error) { return c.PrintfUnescaped(fmtString, args...) } -func (c *configTestUI) PrintfUnescaped(fmtString string, args ...interface{}) (int, error) { +func (c *configTestUI) PrintfUnescaped(fmtString string, args ...any) (int, error) { s := fmt.Sprintf(fmtString, args...) c.stdout = append(c.stdout, s) return 0, nil } -func (c *configTestUI) PrintfStderr(fmtString string, args ...interface{}) (int, error) { +func (c *configTestUI) PrintfStderr(fmtString string, args ...any) (int, error) { s := fmt.Sprintf(fmtString, args...) c.stderr = append(c.stderr, s) return 0, nil diff --git a/go/systests/contacts_test.go b/go/systests/contacts_test.go index 40dd49f68b45..87713b40bb84 100644 --- a/go/systests/contacts_test.go +++ b/go/systests/contacts_test.go @@ -385,7 +385,7 @@ func TestLookupSelfAfterRemove(t *testing.T) { // Fetch our contacts again, deleting should automatically affect our // synced contacts. - for i := 0; i < 2; i++ { + for i := range 2 { // 1. Inspect saved contacts list, // 2. sync contacts again, // 3. inspect again to see if stale cache did not overwrite our diff --git a/go/systests/ctl_test.go b/go/systests/ctl_test.go index 4ad414898aa9..cdab4272c67f 100644 --- a/go/systests/ctl_test.go +++ b/go/systests/ctl_test.go @@ -19,16 +19,16 @@ func (v *versionUI) GetDumbOutputUI() libkb.DumbOutputUI { return v } -func (v *versionUI) Printf(format string, args ...interface{}) (n int, err error) { +func (v *versionUI) Printf(format string, args ...any) (n int, err error) { return v.PrintfUnescaped(format, args...) } -func (v *versionUI) PrintfUnescaped(format string, args ...interface{}) (n int, err error) { +func (v *versionUI) PrintfUnescaped(format string, args ...any) (n int, err error) { v.outbuf = append(v.outbuf, fmt.Sprintf(format, args...)) return 0, nil } -func (v *versionUI) PrintfStderr(format string, args ...interface{}) (n int, err error) { +func (v *versionUI) PrintfStderr(format string, args ...any) (n int, err error) { return 0, nil } diff --git a/go/systests/delegate_id3_ui_test.go b/go/systests/delegate_id3_ui_test.go index 42d5babd97a0..5edf91732750 100644 --- a/go/systests/delegate_id3_ui_test.go +++ b/go/systests/delegate_id3_ui_test.go @@ -135,7 +135,7 @@ func (d *delegateID3UI) checkSuccess() { } n := 10 wait := 2 * time.Millisecond - for i := 0; i < n; i++ { + for range n { if check() { return } diff --git a/go/systests/device_common_test.go b/go/systests/device_common_test.go index 4eb8a4c48374..caa88ce8b8d1 100644 --- a/go/systests/device_common_test.go +++ b/go/systests/device_common_test.go @@ -76,11 +76,11 @@ func (t *testUI) UnescapedOutputWriter() io.Writer { return t } -func (t *testUI) Printf(f string, args ...interface{}) (int, error) { +func (t *testUI) Printf(f string, args ...any) (int, error) { return t.PrintfUnescaped(f, args...) } -func (t *testUI) PrintfUnescaped(f string, args ...interface{}) (int, error) { +func (t *testUI) PrintfUnescaped(f string, args ...any) (int, error) { s := fmt.Sprintf(f, args...) t.G().Log.Debug("Terminal Printf: %s", s) return len(s), nil @@ -154,7 +154,7 @@ type testDeviceSet struct { } func (d *testDevice) startService(numClones int) { - for i := 0; i < numClones; i++ { + for range numClones { d.clones = append(d.clones, cloneContext(d.tctx)) } d.stopCh = make(chan error) diff --git a/go/systests/gregor_test.go b/go/systests/gregor_test.go index 8e8041ad94ea..de23d3023049 100644 --- a/go/systests/gregor_test.go +++ b/go/systests/gregor_test.go @@ -144,7 +144,7 @@ func TestGregorForwardToElectron(t *testing.T) { } // We get two push states, one from the local send, and one from receiving broadcast - for i := 0; i < 2; i++ { + for range 2 { select { case pushArg := <-em.stateCh: checkState(pushArg.State) diff --git a/go/systests/home_test.go b/go/systests/home_test.go index 8ad2aab04bfd..a776b88efbe6 100644 --- a/go/systests/home_test.go +++ b/go/systests/home_test.go @@ -140,7 +140,7 @@ func pollForTrue(t *testing.T, g *libkb.GlobalContext, poller func(i int) bool) // Hopefully this is enough for slow CI but you never know. wait := 10 * time.Millisecond * libkb.CITimeMultiplier(g) found := false - for i := 0; i < 10; i++ { + for i := range 10 { if poller(i) { found = true break diff --git a/go/systests/multiuser_common_test.go b/go/systests/multiuser_common_test.go index aaaddb6b618f..68ab19324ca4 100644 --- a/go/systests/multiuser_common_test.go +++ b/go/systests/multiuser_common_test.go @@ -95,7 +95,7 @@ func (d *smuDeviceWrapper) KID() keybase1.KID { } func (d *smuDeviceWrapper) startService(numClones int) { - for i := 0; i < numClones; i++ { + for range numClones { d.clones = append(d.clones, cloneContext(d.tctx)) } d.stopCh = make(chan error) @@ -125,8 +125,8 @@ func (t smuTerminalUI) Output(string) error func (t smuTerminalUI) OutputDesc(libkb.OutputDescriptor, string) error { return nil } func (t smuTerminalUI) OutputWriter() io.Writer { return nil } func (t smuTerminalUI) UnescapedOutputWriter() io.Writer { return nil } -func (t smuTerminalUI) Printf(fmt string, args ...interface{}) (int, error) { return 0, nil } -func (t smuTerminalUI) PrintfUnescaped(fmt string, args ...interface{}) (int, error) { return 0, nil } +func (t smuTerminalUI) Printf(fmt string, args ...any) (int, error) { return 0, nil } +func (t smuTerminalUI) PrintfUnescaped(fmt string, args ...any) (int, error) { return 0, nil } func (t smuTerminalUI) Prompt(libkb.PromptDescriptor, string) (string, error) { return "", nil } func (t smuTerminalUI) PromptForConfirmation(prompt string) error { return nil } func (t smuTerminalUI) PromptPassword(libkb.PromptDescriptor, string) (string, error) { return "", nil } @@ -408,7 +408,7 @@ func (u *smuUser) waitForNewlyAddedToTeamByID(teamID keybase1.TeamID) { u.ctx.t.Logf("waiting for newly added to team %s", teamID) // process 10 team rotations or 10s worth of time - for i := 0; i < 10; i++ { + for range 10 { select { case tid := <-u.notifications.newlyAddedToTeam: u.ctx.t.Logf("team newly added notification received: %v", tid) @@ -427,7 +427,7 @@ func (u *smuUser) waitForTeamAbandoned(teamID keybase1.TeamID) { u.ctx.t.Logf("waiting for team abandoned %s", teamID) // process 10 team rotations or 10s worth of time - for i := 0; i < 10; i++ { + for range 10 { select { case abandonID := <-u.notifications.abandonCh: u.ctx.t.Logf("team abandon notification received: %v", abandonID) @@ -481,7 +481,7 @@ func (u *smuUser) pollForMembershipUpdate(team smuTeam, keyGen keybase1.PerTeamK } func (u *smuUser) pollForTeamSeqnoLink(team smuTeam, toSeqno keybase1.Seqno) { - for i := 0; i < 20; i++ { + for i := range 20 { details, err := teams.Load(context.TODO(), u.getPrimaryGlobalContext(), keybase1.LoadTeamArg{ Name: team.name, ForceRepoll: true, diff --git a/go/systests/passphrase_test.go b/go/systests/passphrase_test.go index 2167a2cc3ad4..d3df8645218e 100644 --- a/go/systests/passphrase_test.go +++ b/go/systests/passphrase_test.go @@ -367,13 +367,13 @@ func (n *testRecoverUIRecover) OutputDesc(od libkb.OutputDescriptor, s string) e return nil } -func (n *testRecoverUIRecover) Printf(f string, args ...interface{}) (int, error) { +func (n *testRecoverUIRecover) Printf(f string, args ...any) (int, error) { s := fmt.Sprintf(f, args...) n.G().Log.Debug("Terminal Printf: %s", s) return len(s), nil } -func (n *testRecoverUIRecover) PrintfUnescaped(f string, args ...interface{}) (int, error) { +func (n *testRecoverUIRecover) PrintfUnescaped(f string, args ...any) (int, error) { s := fmt.Sprintf(f, args...) n.G().Log.Debug("Terminal PrintfUnescaped: %s", s) return len(s), nil diff --git a/go/systests/rekey_test.go b/go/systests/rekey_test.go index 60b7c5777c19..af8b888bd990 100644 --- a/go/systests/rekey_test.go +++ b/go/systests/rekey_test.go @@ -37,7 +37,7 @@ func (d *deviceWrapper) KID() keybase1.KID { } func (d *deviceWrapper) start(numClones int) { - for i := 0; i < numClones; i++ { + for range numClones { d.clones = append(d.clones, cloneContext(d.tctx)) } d.stopCh = make(chan error) @@ -275,7 +275,7 @@ func (rkt *rekeyTester) confirmNoRekeyUIActivity(dw *deviceWrapper, hours int, f } } - for i := 0; i < hours; i++ { + for i := range hours { assertNoActivity(i) rkt.fakeClock.Advance(time.Hour) } diff --git a/go/systests/retry_test.go b/go/systests/retry_test.go index 9f1982a3de44..4f3198cbd010 100644 --- a/go/systests/retry_test.go +++ b/go/systests/retry_test.go @@ -15,11 +15,11 @@ type testAttempt struct { failed bool } -func (t *testAttempt) Error(args ...interface{}) { +func (t *testAttempt) Error(args ...any) { t.Log(args...) } -func (t *testAttempt) Errorf(format string, args ...interface{}) { +func (t *testAttempt) Errorf(format string, args ...any) { t.Logf(format, args...) } @@ -42,7 +42,7 @@ func (t *testAttempt) Failed() bool { return t.failed } -func (t *testAttempt) Fatal(args ...interface{}) { +func (t *testAttempt) Fatal(args ...any) { t.Log(args...) t.Lock() t.failed = true @@ -50,7 +50,7 @@ func (t *testAttempt) Fatal(args ...interface{}) { panic("Fatal call") } -func (t *testAttempt) Fatalf(format string, args ...interface{}) { +func (t *testAttempt) Fatalf(format string, args ...any) { t.Logf(format, args...) t.Lock() t.failed = true @@ -58,11 +58,11 @@ func (t *testAttempt) Fatalf(format string, args ...interface{}) { panic("Fatalf call") } -func (t *testAttempt) Log(args ...interface{}) { +func (t *testAttempt) Log(args ...any) { t.t.Log(args...) } -func (t *testAttempt) Logf(format string, args ...interface{}) { +func (t *testAttempt) Logf(format string, args ...any) { t.t.Logf(format, args...) } @@ -70,7 +70,7 @@ func (t *testAttempt) Name() string { return t.t.Name() } -func (t *testAttempt) Skip(args ...interface{}) { +func (t *testAttempt) Skip(args ...any) { t.t.Skip(args...) } @@ -78,7 +78,7 @@ func (t *testAttempt) SkipNow() { t.t.SkipNow() } -func (t *testAttempt) Skipf(format string, args ...interface{}) { +func (t *testAttempt) Skipf(format string, args ...any) { t.t.Skipf(format, args...) } diff --git a/go/systests/stellar_client_test.go b/go/systests/stellar_client_test.go index 0d72f867cd0b..4c59cec8f2aa 100644 --- a/go/systests/stellar_client_test.go +++ b/go/systests/stellar_client_test.go @@ -20,7 +20,7 @@ func newStellarRetryClient(cli *rpc.Client) *stellarRetryClient { } func (s *stellarRetryClient) GetWalletAccountsLocal(ctx context.Context, sid int) (res []stellar1.WalletAccountLocal, err error) { - for i := 0; i < retryCount; i++ { + for range retryCount { res, err = s.cli.GetWalletAccountsLocal(ctx, sid) if err == nil { break @@ -30,7 +30,7 @@ func (s *stellarRetryClient) GetWalletAccountsLocal(ctx context.Context, sid int } func (s *stellarRetryClient) GetWalletAccountLocal(ctx context.Context, arg stellar1.GetWalletAccountLocalArg) (res stellar1.WalletAccountLocal, err error) { - for i := 0; i < retryCount; i++ { + for range retryCount { res, err = s.cli.GetWalletAccountLocal(ctx, arg) if err == nil { break @@ -40,7 +40,7 @@ func (s *stellarRetryClient) GetWalletAccountLocal(ctx context.Context, arg stel } func (s *stellarRetryClient) GetAccountAssetsLocal(ctx context.Context, arg stellar1.GetAccountAssetsLocalArg) (res []stellar1.AccountAssetLocal, err error) { - for i := 0; i < retryCount; i++ { + for range retryCount { res, err = s.cli.GetAccountAssetsLocal(ctx, arg) if err == nil { break @@ -50,7 +50,7 @@ func (s *stellarRetryClient) GetAccountAssetsLocal(ctx context.Context, arg stel } func (s *stellarRetryClient) GetPaymentsLocal(ctx context.Context, arg stellar1.GetPaymentsLocalArg) (res stellar1.PaymentsPageLocal, err error) { - for i := 0; i < retryCount; i++ { + for range retryCount { res, err = s.cli.GetPaymentsLocal(ctx, arg) if err == nil { break @@ -60,7 +60,7 @@ func (s *stellarRetryClient) GetPaymentsLocal(ctx context.Context, arg stellar1. } func (s *stellarRetryClient) GetPendingPaymentsLocal(ctx context.Context, arg stellar1.GetPendingPaymentsLocalArg) (res []stellar1.PaymentOrErrorLocal, err error) { - for i := 0; i < retryCount; i++ { + for range retryCount { res, err = s.cli.GetPendingPaymentsLocal(ctx, arg) if err == nil { break @@ -70,7 +70,7 @@ func (s *stellarRetryClient) GetPendingPaymentsLocal(ctx context.Context, arg st } func (s *stellarRetryClient) GetPaymentDetailsLocal(ctx context.Context, arg stellar1.GetPaymentDetailsLocalArg) (res stellar1.PaymentDetailsLocal, err error) { - for i := 0; i < retryCount; i++ { + for range retryCount { res, err = s.cli.GetPaymentDetailsLocal(ctx, arg) if err == nil { break @@ -80,7 +80,7 @@ func (s *stellarRetryClient) GetPaymentDetailsLocal(ctx context.Context, arg ste } func (s *stellarRetryClient) GetGenericPaymentDetailsLocal(ctx context.Context, arg stellar1.GetGenericPaymentDetailsLocalArg) (res stellar1.PaymentDetailsLocal, err error) { - for i := 0; i < retryCount; i++ { + for range retryCount { res, err = s.cli.GetGenericPaymentDetailsLocal(ctx, arg) if err == nil { break @@ -90,7 +90,7 @@ func (s *stellarRetryClient) GetGenericPaymentDetailsLocal(ctx context.Context, } func (s *stellarRetryClient) GetDisplayCurrenciesLocal(ctx context.Context, sid int) (res []stellar1.CurrencyLocal, err error) { - for i := 0; i < retryCount; i++ { + for range retryCount { res, err = s.cli.GetDisplayCurrenciesLocal(ctx, sid) if err == nil { break @@ -100,7 +100,7 @@ func (s *stellarRetryClient) GetDisplayCurrenciesLocal(ctx context.Context, sid } func (s *stellarRetryClient) ValidateAccountIDLocal(ctx context.Context, arg stellar1.ValidateAccountIDLocalArg) (err error) { - for i := 0; i < retryCount; i++ { + for range retryCount { err = s.cli.ValidateAccountIDLocal(ctx, arg) if err == nil { break @@ -110,7 +110,7 @@ func (s *stellarRetryClient) ValidateAccountIDLocal(ctx context.Context, arg ste } func (s *stellarRetryClient) ValidateSecretKeyLocal(ctx context.Context, arg stellar1.ValidateSecretKeyLocalArg) (err error) { - for i := 0; i < retryCount; i++ { + for range retryCount { err = s.cli.ValidateSecretKeyLocal(ctx, arg) if err == nil { break @@ -120,7 +120,7 @@ func (s *stellarRetryClient) ValidateSecretKeyLocal(ctx context.Context, arg ste } func (s *stellarRetryClient) ValidateAccountNameLocal(ctx context.Context, arg stellar1.ValidateAccountNameLocalArg) (err error) { - for i := 0; i < retryCount; i++ { + for range retryCount { err = s.cli.ValidateAccountNameLocal(ctx, arg) if err == nil { break @@ -130,7 +130,7 @@ func (s *stellarRetryClient) ValidateAccountNameLocal(ctx context.Context, arg s } func (s *stellarRetryClient) ChangeWalletAccountNameLocal(ctx context.Context, arg stellar1.ChangeWalletAccountNameLocalArg) (acct stellar1.WalletAccountLocal, err error) { - for i := 0; i < retryCount; i++ { + for range retryCount { acct, err = s.cli.ChangeWalletAccountNameLocal(ctx, arg) if err == nil { break @@ -140,7 +140,7 @@ func (s *stellarRetryClient) ChangeWalletAccountNameLocal(ctx context.Context, a } func (s *stellarRetryClient) SetWalletAccountAsDefaultLocal(ctx context.Context, arg stellar1.SetWalletAccountAsDefaultLocalArg) (accts []stellar1.WalletAccountLocal, err error) { - for i := 0; i < retryCount; i++ { + for range retryCount { accts, err = s.cli.SetWalletAccountAsDefaultLocal(ctx, arg) if err == nil { break @@ -150,7 +150,7 @@ func (s *stellarRetryClient) SetWalletAccountAsDefaultLocal(ctx context.Context, } func (s *stellarRetryClient) DeleteWalletAccountLocal(ctx context.Context, arg stellar1.DeleteWalletAccountLocalArg) (err error) { - for i := 0; i < retryCount; i++ { + for range retryCount { err = s.cli.DeleteWalletAccountLocal(ctx, arg) if err == nil { break @@ -160,7 +160,7 @@ func (s *stellarRetryClient) DeleteWalletAccountLocal(ctx context.Context, arg s } func (s *stellarRetryClient) LinkNewWalletAccountLocal(ctx context.Context, arg stellar1.LinkNewWalletAccountLocalArg) (res stellar1.AccountID, err error) { - for i := 0; i < retryCount; i++ { + for range retryCount { res, err = s.cli.LinkNewWalletAccountLocal(ctx, arg) if err == nil { break @@ -170,7 +170,7 @@ func (s *stellarRetryClient) LinkNewWalletAccountLocal(ctx context.Context, arg } func (s *stellarRetryClient) CreateWalletAccountLocal(ctx context.Context, arg stellar1.CreateWalletAccountLocalArg) (res stellar1.AccountID, err error) { - for i := 0; i < retryCount; i++ { + for range retryCount { res, err = s.cli.CreateWalletAccountLocal(ctx, arg) if err == nil { break @@ -180,7 +180,7 @@ func (s *stellarRetryClient) CreateWalletAccountLocal(ctx context.Context, arg s } func (s *stellarRetryClient) ChangeDisplayCurrencyLocal(ctx context.Context, arg stellar1.ChangeDisplayCurrencyLocalArg) (res stellar1.CurrencyLocal, err error) { - for i := 0; i < retryCount; i++ { + for range retryCount { res, err = s.cli.ChangeDisplayCurrencyLocal(ctx, arg) if err == nil { break @@ -190,7 +190,7 @@ func (s *stellarRetryClient) ChangeDisplayCurrencyLocal(ctx context.Context, arg } func (s *stellarRetryClient) GetDisplayCurrencyLocal(ctx context.Context, arg stellar1.GetDisplayCurrencyLocalArg) (res stellar1.CurrencyLocal, err error) { - for i := 0; i < retryCount; i++ { + for range retryCount { res, err = s.cli.GetDisplayCurrencyLocal(ctx, arg) if err == nil { break @@ -200,7 +200,7 @@ func (s *stellarRetryClient) GetDisplayCurrencyLocal(ctx context.Context, arg st } func (s *stellarRetryClient) HasAcceptedDisclaimerLocal(ctx context.Context, sid int) (res bool, err error) { - for i := 0; i < retryCount; i++ { + for range retryCount { res, err = s.cli.HasAcceptedDisclaimerLocal(ctx, sid) if err == nil { break @@ -210,7 +210,7 @@ func (s *stellarRetryClient) HasAcceptedDisclaimerLocal(ctx context.Context, sid } func (s *stellarRetryClient) AcceptDisclaimerLocal(ctx context.Context, sid int) (err error) { - for i := 0; i < retryCount; i++ { + for range retryCount { err = s.cli.AcceptDisclaimerLocal(ctx, sid) if err == nil { break @@ -220,7 +220,7 @@ func (s *stellarRetryClient) AcceptDisclaimerLocal(ctx context.Context, sid int) } func (s *stellarRetryClient) GetWalletAccountPublicKeyLocal(ctx context.Context, arg stellar1.GetWalletAccountPublicKeyLocalArg) (res string, err error) { - for i := 0; i < retryCount; i++ { + for range retryCount { res, err = s.cli.GetWalletAccountPublicKeyLocal(ctx, arg) if err == nil { break @@ -230,7 +230,7 @@ func (s *stellarRetryClient) GetWalletAccountPublicKeyLocal(ctx context.Context, } func (s *stellarRetryClient) GetWalletAccountSecretKeyLocal(ctx context.Context, arg stellar1.GetWalletAccountSecretKeyLocalArg) (res stellar1.SecretKey, err error) { - for i := 0; i < retryCount; i++ { + for range retryCount { res, err = s.cli.GetWalletAccountSecretKeyLocal(ctx, arg) if err == nil { break @@ -240,7 +240,7 @@ func (s *stellarRetryClient) GetWalletAccountSecretKeyLocal(ctx context.Context, } func (s *stellarRetryClient) GetSendAssetChoicesLocal(ctx context.Context, arg stellar1.GetSendAssetChoicesLocalArg) (res []stellar1.SendAssetChoiceLocal, err error) { - for i := 0; i < retryCount; i++ { + for range retryCount { res, err = s.cli.GetSendAssetChoicesLocal(ctx, arg) if err == nil { break @@ -250,7 +250,7 @@ func (s *stellarRetryClient) GetSendAssetChoicesLocal(ctx context.Context, arg s } func (s *stellarRetryClient) BuildRequestLocal(ctx context.Context, arg stellar1.BuildRequestLocalArg) (res stellar1.BuildRequestResLocal, err error) { - for i := 0; i < retryCount; i++ { + for range retryCount { res, err = s.cli.BuildRequestLocal(ctx, arg) if err == nil { break @@ -260,7 +260,7 @@ func (s *stellarRetryClient) BuildRequestLocal(ctx context.Context, arg stellar1 } func (s *stellarRetryClient) StartBuildPaymentLocal(ctx context.Context, arg int) (res stellar1.BuildPaymentID, err error) { - for i := 0; i < retryCount; i++ { + for range retryCount { res, err = s.cli.StartBuildPaymentLocal(ctx, arg) if err == nil { break @@ -270,7 +270,7 @@ func (s *stellarRetryClient) StartBuildPaymentLocal(ctx context.Context, arg int } func (s *stellarRetryClient) StopBuildPaymentLocal(ctx context.Context, arg stellar1.StopBuildPaymentLocalArg) (err error) { - for i := 0; i < retryCount; i++ { + for range retryCount { err = s.cli.StopBuildPaymentLocal(ctx, arg) if err == nil { break @@ -280,7 +280,7 @@ func (s *stellarRetryClient) StopBuildPaymentLocal(ctx context.Context, arg stel } func (s *stellarRetryClient) BuildPaymentLocal(ctx context.Context, arg stellar1.BuildPaymentLocalArg) (res stellar1.BuildPaymentResLocal, err error) { - for i := 0; i < retryCount; i++ { + for range retryCount { res, err = s.cli.BuildPaymentLocal(ctx, arg) if err == nil { break @@ -290,7 +290,7 @@ func (s *stellarRetryClient) BuildPaymentLocal(ctx context.Context, arg stellar1 } func (s *stellarRetryClient) ReviewPaymentLocal(ctx context.Context, arg stellar1.ReviewPaymentLocalArg) (err error) { - for i := 0; i < retryCount; i++ { + for range retryCount { err = s.cli.ReviewPaymentLocal(ctx, arg) if err == nil { break @@ -300,7 +300,7 @@ func (s *stellarRetryClient) ReviewPaymentLocal(ctx context.Context, arg stellar } func (s *stellarRetryClient) SendPaymentLocal(ctx context.Context, arg stellar1.SendPaymentLocalArg) (res stellar1.SendPaymentResLocal, err error) { - for i := 0; i < retryCount; i++ { + for range retryCount { res, err = s.cli.SendPaymentLocal(ctx, arg) if err == nil { break @@ -310,7 +310,7 @@ func (s *stellarRetryClient) SendPaymentLocal(ctx context.Context, arg stellar1. } func (s *stellarRetryClient) GetRequestDetailsLocal(ctx context.Context, arg stellar1.GetRequestDetailsLocalArg) (res stellar1.RequestDetailsLocal, err error) { - for i := 0; i < retryCount; i++ { + for range retryCount { res, err = s.cli.GetRequestDetailsLocal(ctx, arg) if err == nil { break @@ -320,7 +320,7 @@ func (s *stellarRetryClient) GetRequestDetailsLocal(ctx context.Context, arg ste } func (s *stellarRetryClient) CancelRequestLocal(ctx context.Context, arg stellar1.CancelRequestLocalArg) (err error) { - for i := 0; i < retryCount; i++ { + for range retryCount { err = s.cli.CancelRequestLocal(ctx, arg) if err == nil { break @@ -330,7 +330,7 @@ func (s *stellarRetryClient) CancelRequestLocal(ctx context.Context, arg stellar } func (s *stellarRetryClient) CancelPaymentLocal(ctx context.Context, arg stellar1.CancelPaymentLocalArg) (res stellar1.RelayClaimResult, err error) { - for i := 0; i < retryCount; i++ { + for range retryCount { res, err = s.cli.CancelPaymentLocal(ctx, arg) if err == nil { break @@ -340,7 +340,7 @@ func (s *stellarRetryClient) CancelPaymentLocal(ctx context.Context, arg stellar } func (s *stellarRetryClient) BalancesLocal(ctx context.Context, arg stellar1.AccountID) (res []stellar1.Balance, err error) { - for i := 0; i < retryCount; i++ { + for range retryCount { res, err = s.cli.BalancesLocal(ctx, arg) if err == nil { break @@ -350,7 +350,7 @@ func (s *stellarRetryClient) BalancesLocal(ctx context.Context, arg stellar1.Acc } func (s *stellarRetryClient) SendCLILocal(ctx context.Context, arg stellar1.SendCLILocalArg) (res stellar1.SendResultCLILocal, err error) { - for i := 0; i < retryCount; i++ { + for range retryCount { res, err = s.cli.SendCLILocal(ctx, arg) if err == nil { break @@ -360,7 +360,7 @@ func (s *stellarRetryClient) SendCLILocal(ctx context.Context, arg stellar1.Send } func (s *stellarRetryClient) ClaimCLILocal(ctx context.Context, arg stellar1.ClaimCLILocalArg) (res stellar1.RelayClaimResult, err error) { - for i := 0; i < retryCount; i++ { + for range retryCount { res, err = s.cli.ClaimCLILocal(ctx, arg) if err == nil { break @@ -370,7 +370,7 @@ func (s *stellarRetryClient) ClaimCLILocal(ctx context.Context, arg stellar1.Cla } func (s *stellarRetryClient) RecentPaymentsCLILocal(ctx context.Context, acctID *stellar1.AccountID) (res []stellar1.PaymentOrErrorCLILocal, err error) { - for i := 0; i < retryCount; i++ { + for range retryCount { res, err = s.cli.RecentPaymentsCLILocal(ctx, acctID) if err == nil { break @@ -380,7 +380,7 @@ func (s *stellarRetryClient) RecentPaymentsCLILocal(ctx context.Context, acctID } func (s *stellarRetryClient) PaymentDetailCLILocal(ctx context.Context, txID string) (res stellar1.PaymentCLILocal, err error) { - for i := 0; i < retryCount; i++ { + for range retryCount { res, err = s.cli.PaymentDetailCLILocal(ctx, txID) if err == nil { break @@ -390,7 +390,7 @@ func (s *stellarRetryClient) PaymentDetailCLILocal(ctx context.Context, txID str } func (s *stellarRetryClient) WalletInitLocal(ctx context.Context) (err error) { - for i := 0; i < retryCount; i++ { + for range retryCount { err = s.cli.WalletInitLocal(ctx) if err == nil { break @@ -400,7 +400,7 @@ func (s *stellarRetryClient) WalletInitLocal(ctx context.Context) (err error) { } func (s *stellarRetryClient) WalletDumpLocal(ctx context.Context) (res stellar1.Bundle, err error) { - for i := 0; i < retryCount; i++ { + for range retryCount { res, err = s.cli.WalletDumpLocal(ctx) if err == nil { break @@ -410,7 +410,7 @@ func (s *stellarRetryClient) WalletDumpLocal(ctx context.Context) (res stellar1. } func (s *stellarRetryClient) WalletGetAccountsCLILocal(ctx context.Context) (res []stellar1.OwnAccountCLILocal, err error) { - for i := 0; i < retryCount; i++ { + for range retryCount { res, err = s.cli.WalletGetAccountsCLILocal(ctx) if err == nil { break @@ -420,7 +420,7 @@ func (s *stellarRetryClient) WalletGetAccountsCLILocal(ctx context.Context) (res } func (s *stellarRetryClient) OwnAccountLocal(ctx context.Context, arg stellar1.AccountID) (res bool, err error) { - for i := 0; i < retryCount; i++ { + for range retryCount { res, err = s.cli.OwnAccountLocal(ctx, arg) if err == nil { break @@ -430,7 +430,7 @@ func (s *stellarRetryClient) OwnAccountLocal(ctx context.Context, arg stellar1.A } func (s *stellarRetryClient) ImportSecretKeyLocal(ctx context.Context, arg stellar1.ImportSecretKeyLocalArg) (err error) { - for i := 0; i < retryCount; i++ { + for range retryCount { err = s.cli.ImportSecretKeyLocal(ctx, arg) if err == nil { break @@ -440,7 +440,7 @@ func (s *stellarRetryClient) ImportSecretKeyLocal(ctx context.Context, arg stell } func (s *stellarRetryClient) ExportSecretKeyLocal(ctx context.Context, arg stellar1.AccountID) (res stellar1.SecretKey, err error) { - for i := 0; i < retryCount; i++ { + for range retryCount { res, err = s.cli.ExportSecretKeyLocal(ctx, arg) if err == nil { break @@ -450,7 +450,7 @@ func (s *stellarRetryClient) ExportSecretKeyLocal(ctx context.Context, arg stell } func (s *stellarRetryClient) SetDisplayCurrency(ctx context.Context, arg stellar1.SetDisplayCurrencyArg) (err error) { - for i := 0; i < retryCount; i++ { + for range retryCount { err = s.cli.SetDisplayCurrency(ctx, arg) if err == nil { break @@ -460,7 +460,7 @@ func (s *stellarRetryClient) SetDisplayCurrency(ctx context.Context, arg stellar } func (s *stellarRetryClient) ExchangeRateLocal(ctx context.Context, arg stellar1.OutsideCurrencyCode) (res stellar1.OutsideExchangeRate, err error) { - for i := 0; i < retryCount; i++ { + for range retryCount { res, err = s.cli.ExchangeRateLocal(ctx, arg) if err == nil { break @@ -470,7 +470,7 @@ func (s *stellarRetryClient) ExchangeRateLocal(ctx context.Context, arg stellar1 } func (s *stellarRetryClient) GetAvailableLocalCurrencies(ctx context.Context) (res map[stellar1.OutsideCurrencyCode]stellar1.OutsideCurrencyDefinition, err error) { - for i := 0; i < retryCount; i++ { + for range retryCount { res, err = s.cli.GetAvailableLocalCurrencies(ctx) if err == nil { break @@ -480,7 +480,7 @@ func (s *stellarRetryClient) GetAvailableLocalCurrencies(ctx context.Context) (r } func (s *stellarRetryClient) FormatLocalCurrencyString(ctx context.Context, arg stellar1.FormatLocalCurrencyStringArg) (res string, err error) { - for i := 0; i < retryCount; i++ { + for range retryCount { res, err = s.cli.FormatLocalCurrencyString(ctx, arg) if err == nil { break @@ -490,7 +490,7 @@ func (s *stellarRetryClient) FormatLocalCurrencyString(ctx context.Context, arg } func (s *stellarRetryClient) MakeRequestLocal(ctx context.Context, arg stellar1.MakeRequestLocalArg) (res stellar1.KeybaseRequestID, err error) { - for i := 0; i < retryCount; i++ { + for range retryCount { res, err = s.cli.MakeRequestLocal(ctx, arg) if err == nil { break @@ -500,7 +500,7 @@ func (s *stellarRetryClient) MakeRequestLocal(ctx context.Context, arg stellar1. } func (s *stellarRetryClient) MakeRequestCLILocal(ctx context.Context, arg stellar1.MakeRequestCLILocalArg) (res stellar1.KeybaseRequestID, err error) { - for i := 0; i < retryCount; i++ { + for range retryCount { res, err = s.cli.MakeRequestCLILocal(ctx, arg) if err == nil { break @@ -510,7 +510,7 @@ func (s *stellarRetryClient) MakeRequestCLILocal(ctx context.Context, arg stella } func (s *stellarRetryClient) LookupCLILocal(ctx context.Context, name string) (res stellar1.LookupResultCLILocal, err error) { - for i := 0; i < retryCount; i++ { + for range retryCount { res, err = s.cli.LookupCLILocal(ctx, name) if err == nil { break @@ -521,7 +521,7 @@ func (s *stellarRetryClient) LookupCLILocal(ctx context.Context, name string) (r func (s *stellarRetryClient) MarkAsReadLocal(ctx context.Context, arg stellar1.MarkAsReadLocalArg) error { var err error - for i := 0; i < retryCount; i++ { + for range retryCount { err = s.cli.MarkAsReadLocal(ctx, arg) if err == nil { break @@ -533,7 +533,7 @@ func (s *stellarRetryClient) MarkAsReadLocal(ctx context.Context, arg stellar1.M func (s *stellarRetryClient) IsAccountMobileOnlyLocal(ctx context.Context, arg stellar1.IsAccountMobileOnlyLocalArg) (bool, error) { var err error var mobileOnly bool - for i := 0; i < retryCount; i++ { + for range retryCount { mobileOnly, err = s.cli.IsAccountMobileOnlyLocal(ctx, arg) if err == nil { break @@ -544,7 +544,7 @@ func (s *stellarRetryClient) IsAccountMobileOnlyLocal(ctx context.Context, arg s func (s *stellarRetryClient) SetAccountMobileOnlyLocal(ctx context.Context, arg stellar1.SetAccountMobileOnlyLocalArg) error { var err error - for i := 0; i < retryCount; i++ { + for range retryCount { err = s.cli.SetAccountMobileOnlyLocal(ctx, arg) if err == nil { break @@ -555,7 +555,7 @@ func (s *stellarRetryClient) SetAccountMobileOnlyLocal(ctx context.Context, arg func (s *stellarRetryClient) SetAccountAllDevicesLocal(ctx context.Context, arg stellar1.SetAccountAllDevicesLocalArg) error { var err error - for i := 0; i < retryCount; i++ { + for range retryCount { err = s.cli.SetAccountAllDevicesLocal(ctx, arg) if err == nil { break @@ -565,7 +565,7 @@ func (s *stellarRetryClient) SetAccountAllDevicesLocal(ctx context.Context, arg } func (s *stellarRetryClient) SetInflationDestinationLocal(ctx context.Context, arg stellar1.SetInflationDestinationLocalArg) (err error) { - for i := 0; i < retryCount; i++ { + for range retryCount { err = s.cli.SetInflationDestinationLocal(ctx, arg) if err == nil { break @@ -575,7 +575,7 @@ func (s *stellarRetryClient) SetInflationDestinationLocal(ctx context.Context, a } func (s *stellarRetryClient) GetInflationDestinationLocal(ctx context.Context, arg stellar1.GetInflationDestinationLocalArg) (res stellar1.InflationDestinationResultLocal, err error) { - for i := 0; i < retryCount; i++ { + for range retryCount { res, err = s.cli.GetInflationDestinationLocal(ctx, arg) if err == nil { break @@ -585,7 +585,7 @@ func (s *stellarRetryClient) GetInflationDestinationLocal(ctx context.Context, a } func (s *stellarRetryClient) GetPredefinedInflationDestinationsLocal(ctx context.Context, sessionID int) (res []stellar1.PredefinedInflationDestination, err error) { - for i := 0; i < retryCount; i++ { + for range retryCount { res, err = s.cli.GetPredefinedInflationDestinationsLocal(ctx, sessionID) if err == nil { break @@ -595,7 +595,7 @@ func (s *stellarRetryClient) GetPredefinedInflationDestinationsLocal(ctx context } func (s *stellarRetryClient) BatchLocal(ctx context.Context, arg stellar1.BatchLocalArg) (res stellar1.BatchResultLocal, err error) { - for i := 0; i < retryCount; i++ { + for range retryCount { res, err = s.cli.BatchLocal(ctx, arg) if err == nil { break @@ -605,7 +605,7 @@ func (s *stellarRetryClient) BatchLocal(ctx context.Context, arg stellar1.BatchL } func (s *stellarRetryClient) AccountMergeCLILocal(ctx context.Context, arg stellar1.AccountMergeCLILocalArg) (res stellar1.TransactionID, err error) { - for i := 0; i < retryCount; i++ { + for range retryCount { res, err = s.cli.AccountMergeCLILocal(ctx, arg) if err == nil { return res, nil @@ -615,7 +615,7 @@ func (s *stellarRetryClient) AccountMergeCLILocal(ctx context.Context, arg stell } func (s *stellarRetryClient) AirdropDetailsLocal(ctx context.Context, sessionID int) (res stellar1.AirdropDetails, err error) { - for i := 0; i < retryCount; i++ { + for range retryCount { res, err = s.cli.AirdropDetailsLocal(ctx, sessionID) if err == nil { break @@ -625,7 +625,7 @@ func (s *stellarRetryClient) AirdropDetailsLocal(ctx context.Context, sessionID } func (s *stellarRetryClient) AirdropRegisterLocal(ctx context.Context, arg stellar1.AirdropRegisterLocalArg) (err error) { - for i := 0; i < retryCount; i++ { + for range retryCount { err = s.cli.AirdropRegisterLocal(ctx, arg) if err == nil { break @@ -635,7 +635,7 @@ func (s *stellarRetryClient) AirdropRegisterLocal(ctx context.Context, arg stell } func (s *stellarRetryClient) AirdropStatusLocal(ctx context.Context, sessionID int) (res stellar1.AirdropStatus, err error) { - for i := 0; i < retryCount; i++ { + for range retryCount { res, err = s.cli.AirdropStatusLocal(ctx, sessionID) if err == nil { break @@ -645,7 +645,7 @@ func (s *stellarRetryClient) AirdropStatusLocal(ctx context.Context, sessionID i } func (s *stellarRetryClient) AddTrustlineLocal(ctx context.Context, arg stellar1.AddTrustlineLocalArg) (err error) { - for i := 0; i < retryCount; i++ { + for range retryCount { err = s.cli.AddTrustlineLocal(ctx, arg) if err == nil { break @@ -655,7 +655,7 @@ func (s *stellarRetryClient) AddTrustlineLocal(ctx context.Context, arg stellar1 } func (s *stellarRetryClient) DeleteTrustlineLocal(ctx context.Context, arg stellar1.DeleteTrustlineLocalArg) (err error) { - for i := 0; i < retryCount; i++ { + for range retryCount { err = s.cli.DeleteTrustlineLocal(ctx, arg) if err == nil { break @@ -665,7 +665,7 @@ func (s *stellarRetryClient) DeleteTrustlineLocal(ctx context.Context, arg stell } func (s *stellarRetryClient) ChangeTrustlineLimitLocal(ctx context.Context, arg stellar1.ChangeTrustlineLimitLocalArg) (err error) { - for i := 0; i < retryCount; i++ { + for range retryCount { err = s.cli.ChangeTrustlineLimitLocal(ctx, arg) if err == nil { break @@ -675,7 +675,7 @@ func (s *stellarRetryClient) ChangeTrustlineLimitLocal(ctx context.Context, arg } func (s *stellarRetryClient) GetTrustlinesLocal(ctx context.Context, arg stellar1.GetTrustlinesLocalArg) (ret []stellar1.Balance, err error) { - for i := 0; i < retryCount; i++ { + for range retryCount { ret, err = s.cli.GetTrustlinesLocal(ctx, arg) if err == nil { break @@ -685,7 +685,7 @@ func (s *stellarRetryClient) GetTrustlinesLocal(ctx context.Context, arg stellar } func (s *stellarRetryClient) GetTrustlinesForRecipientLocal(ctx context.Context, arg stellar1.GetTrustlinesForRecipientLocalArg) (ret stellar1.RecipientTrustlinesLocal, err error) { - for i := 0; i < retryCount; i++ { + for range retryCount { ret, err = s.cli.GetTrustlinesForRecipientLocal(ctx, arg) if err == nil { break @@ -695,7 +695,7 @@ func (s *stellarRetryClient) GetTrustlinesForRecipientLocal(ctx context.Context, } func (s *stellarRetryClient) FindPaymentPathLocal(ctx context.Context, arg stellar1.FindPaymentPathLocalArg) (ret stellar1.PaymentPathLocal, err error) { - for i := 0; i < retryCount; i++ { + for range retryCount { ret, err = s.cli.FindPaymentPathLocal(ctx, arg) if err == nil { return ret, nil @@ -705,7 +705,7 @@ func (s *stellarRetryClient) FindPaymentPathLocal(ctx context.Context, arg stell } func (s *stellarRetryClient) SendPathCLILocal(ctx context.Context, arg stellar1.SendPathCLILocalArg) (ret stellar1.SendResultCLILocal, err error) { - for i := 0; i < retryCount; i++ { + for range retryCount { ret, err = s.cli.SendPathCLILocal(ctx, arg) if err == nil { return ret, nil @@ -715,7 +715,7 @@ func (s *stellarRetryClient) SendPathCLILocal(ctx context.Context, arg stellar1. } func (s *stellarRetryClient) SendPathLocal(ctx context.Context, arg stellar1.SendPathLocalArg) (ret stellar1.SendPaymentResLocal, err error) { - for i := 0; i < retryCount; i++ { + for range retryCount { ret, err = s.cli.SendPathLocal(ctx, arg) if err == nil { return ret, nil diff --git a/go/systests/stellar_test.go b/go/systests/stellar_test.go index 98ea504ceb99..96007b406e50 100644 --- a/go/systests/stellar_test.go +++ b/go/systests/stellar_test.go @@ -140,7 +140,7 @@ func testStellarRelayAutoClaims(t *testing.T, startWithPUK, skipPart2 bool) { Recipient: bob.username, Amount: "50", } - for i := 0; i < retryCount; i++ { + for range retryCount { err = cmd.Run() if err == nil { break @@ -154,7 +154,7 @@ func testStellarRelayAutoClaims(t *testing.T, startWithPUK, skipPart2 bool) { Recipient: bob.username, Amount: "30", } - for i := 0; i < retryCount; i++ { + for range retryCount { err = cmd.Run() if err == nil { break @@ -219,7 +219,7 @@ func testStellarRelayAutoClaims(t *testing.T, startWithPUK, skipPart2 bool) { Amount: "10", ForceRelay: true, } - for i := 0; i < retryCount; i++ { + for range retryCount { err = cmd.Run() if err == nil { break @@ -274,7 +274,7 @@ func TestStellarRelayAutoClaimsSBS(t *testing.T) { Recipient: rooterAssertion, Amount: "50", } - for i := 0; i < retryCount; i++ { + for range retryCount { err = cmd.Run() if err == nil { break @@ -354,7 +354,7 @@ func sampleNote() stellar1.NoteContents { func gift(t testing.TB, accountID stellar1.AccountID) { t.Logf("gift -> %v", accountID) url := "https://friendbot.stellar.org/?addr=" + accountID.String() - for i := 0; i < retryCount; i++ { + for range retryCount { t.Logf("gift url: %v", url) res, err := http.Get(url) //nolint:gosec // G107: Test code calling Stellar testnet friendbot with account ID parameter if err != nil { @@ -432,7 +432,7 @@ func TestAccountMerge(t *testing.T) { Recipient: secondAccountID.String(), Amount: "50", } - for i := 0; i < retryCount; i++ { + for range retryCount { err = sendCmd.Run() if err == nil { break diff --git a/go/systests/team_open_test.go b/go/systests/team_open_test.go index c5120a83e8d2..344a8a88f2df 100644 --- a/go/systests/team_open_test.go +++ b/go/systests/team_open_test.go @@ -178,7 +178,7 @@ func TestTeamOpenMultipleTars(t *testing.T) { }) require.NoError(t, err) - for i := 0; i < 3; i++ { + for i := range 3 { role, err := teamObj.MemberRole(context.Background(), tt.users[i].userVersion()) require.NoError(t, err) require.Equal(t, role, keybase1.TeamRole_READER) diff --git a/go/systests/team_reset_test.go b/go/systests/team_reset_test.go index 43f98460928f..0642469ddaa0 100644 --- a/go/systests/team_reset_test.go +++ b/go/systests/team_reset_test.go @@ -11,7 +11,7 @@ import ( "github.com/stretchr/testify/require" ) -func divDebug(ctx *smuContext, fmt string, arg ...interface{}) { +func divDebug(ctx *smuContext, fmt string, arg ...any) { div := "------------" ctx.log.Debug(div+" "+fmt+" "+div, arg...) } @@ -366,7 +366,7 @@ func TestTeamResetManyNoKeys(t *testing.T) { ann.readChats(team, 1) - for i := 0; i < 5; i++ { + for range 5 { bob.reset() divDebug(ctx, "Reset bob (%s)", bob.username) diff --git a/go/systests/team_tx_test.go b/go/systests/team_tx_test.go index 47eb0deda17b..60bb62b4bd39 100644 --- a/go/systests/team_tx_test.go +++ b/go/systests/team_tx_test.go @@ -281,12 +281,12 @@ func TestTeamTxMultipleMembers(t *testing.T) { // user 1,2,3 - zzz, normal user // user 4,5,6 - yyy, pukless user - for i := 0; i < 3; i++ { + for i := range 3 { user := tt.addUser("zzz") t.Logf("Signed up normal user %d (%s, %v)", i, user.username, user.userVersion()) } - for i := 0; i < 3; i++ { + for i := range 3 { user := tt.addPuklessUser("yyy") t.Logf("Signed up pukless user %d (%s, %v)", i, user.username, user.userVersion()) } diff --git a/go/systests/teambot_test.go b/go/systests/teambot_test.go index 8edf4c9fa479..e2bff41470c1 100644 --- a/go/systests/teambot_test.go +++ b/go/systests/teambot_test.go @@ -1,6 +1,7 @@ package systests import ( + "slices" "testing" "time" @@ -21,11 +22,8 @@ func checkNewTeambotKeyNotifications(tc *libkb.TestContext, notifications *teamN for { select { case arg := <-notifications.newTeambotKeyCh: - for _, expectedArg := range expectedArgs { - if expectedArg == arg { - matches[arg] = struct{}{} - break - } + if slices.Contains(expectedArgs, arg) { + matches[arg] = struct{}{} } // make don't have any unexpected notifications if len(matches) <= numFound { diff --git a/go/systests/teams_test.go b/go/systests/teams_test.go index 265d12fc28b0..c97e7a87dd81 100644 --- a/go/systests/teams_test.go +++ b/go/systests/teams_test.go @@ -482,7 +482,7 @@ func (u *userPlusDevice) readInviteEmails(email string) []string { } exp := make([]string, n) - for i := 0; i < n; i++ { + for i := range n { token, err := tokens.AtIndex(i).GetString() if err != nil { u.tc.T.Fatal(err) @@ -554,7 +554,7 @@ func (u *userPlusDevice) paperKeyID() keybase1.DeviceID { func (u *userPlusDevice) waitForTeamChangedGregor(teamID keybase1.TeamID, toSeqno keybase1.Seqno) { // process 10 team rotations or 10s worth of time - for i := 0; i < 10; i++ { + for range 10 { select { case arg := <-u.notifications.changeCh: u.tc.T.Logf("membership change received: %+v", arg) @@ -571,7 +571,7 @@ func (u *userPlusDevice) waitForTeamChangedGregor(teamID keybase1.TeamID, toSeqn func (u *userPlusDevice) waitForMetadataUpdateGregor(reason string) { // process 10 team rotations or 10s worth of time - for i := 0; i < 10; i++ { + for range 10 { select { case <-u.notifications.metadataUpdateCh: u.tc.T.Logf("metadata update received for reason %q", reason) @@ -604,7 +604,7 @@ func (u *userPlusDevice) waitForBadgeStateWithReset(numReset int) keybase1.Badge } func (u *userPlusDevice) drainGregor() { - for i := 0; i < 1000; i++ { + for range 1000 { select { case <-u.notifications.changeCh: u.tc.T.Logf("dropped notification") @@ -628,7 +628,7 @@ func (u *userPlusDevice) waitForAnyRotateByID(teamID keybase1.TeamID, toSeqno ke // process 20 team rotate notifications or 10s worth of time timeout := time.After(10 * time.Second * libkb.CITimeMultiplier(u.tc.G)) - for i := 0; i < 20; i++ { + for range 20 { select { case arg := <-u.notifications.changeCh: u.tc.T.Logf("rotate received: %s", spew.Sdump(arg)) @@ -647,7 +647,7 @@ func (u *userPlusDevice) waitForAnyRotateByID(teamID keybase1.TeamID, toSeqno ke func (u *userPlusDevice) waitForTeamChangedAndRotated(teamID keybase1.TeamID, toSeqno keybase1.Seqno) { // process 20 team rotate notifications or 10s worth of time timeout := time.After(10 * time.Second * libkb.CITimeMultiplier(u.tc.G)) - for i := 0; i < 20; i++ { + for range 20 { select { case arg := <-u.notifications.changeCh: u.tc.T.Logf("membership change received: %+v", arg) @@ -707,7 +707,7 @@ func (u *userPlusDevice) waitForNewlyAddedToTeamByID(teamID keybase1.TeamID) { } func (u *userPlusDevice) pollForTeamSeqnoLink(team string, toSeqno keybase1.Seqno) { - for i := 0; i < 20; i++ { + for i := range 20 { after, err := teams.Load(context.TODO(), u.tc.G, keybase1.LoadTeamArg{ Name: team, ForceRepoll: true, @@ -729,7 +729,7 @@ func (u *userPlusDevice) pollForTeamSeqnoLink(team string, toSeqno keybase1.Seqn func (u *userPlusDevice) pollForTeamSeqnoLinkWithLoadArgs(args keybase1.LoadTeamArg, toSeqno keybase1.Seqno) { args.ForceRepoll = true - for i := 0; i < 20; i++ { + for i := range 20 { details, err := teams.Load(context.Background(), u.tc.G, args) if err != nil { require.Fail(u.tc.T, fmt.Sprintf("error while loading team %v: %v", args, err)) @@ -1263,7 +1263,7 @@ func TestTeamSignedByRevokedDevice(t *testing.T) { revokeAttemptsMax := 3 var err error - for i := 0; i < revokeAttemptsMax; i++ { + for i := range revokeAttemptsMax { t.Logf("revoke attempt %v / %v", i+1, revokeAttemptsMax) revokeEngine := engine.NewRevokeDeviceEngine(alice.tc.G, engine.RevokeDeviceEngineArgs{ ID: target.ID, @@ -1960,13 +1960,13 @@ func TestForceRepollState(t *testing.T) { require.NoError(t, err) team := tt.users[0].createTeam() - for i := 0; i < 3; i++ { + for range 3 { tt.users[0].addTeamMember(team, tt.users[1].username, keybase1.TeamRole_WRITER) tt.users[0].removeTeamMember(team, tt.users[1].username) } found := false w := 10 * time.Millisecond - for i := 0; i < 10; i++ { + for range 10 { found = tt.users[0].tc.G.GetTeamLoader().(*teams.TeamLoader).InForceRepollMode(mctx) if found { break diff --git a/go/systests/tracking_test.go b/go/systests/tracking_test.go index 0a317ec1bfc8..fc4acf59e4cf 100644 --- a/go/systests/tracking_test.go +++ b/go/systests/tracking_test.go @@ -209,7 +209,7 @@ func TestTrackingNotifications(t *testing.T) { // any "isOwnNewLinkFromServer" links. If so, one way to fix this test // would be to blow away the local db before calling CheckTracking. tc.G.Log.Debug("Waiting for two tracking notifications.") - for i := 0; i < 2; i++ { + for range 2 { select { case err := <-nh.errCh: t.Fatalf("Error before notify: %v", err) diff --git a/go/systests/treeloader_test.go b/go/systests/treeloader_test.go index 7a0fc29d0421..71958bc78ffb 100644 --- a/go/systests/treeloader_test.go +++ b/go/systests/treeloader_test.go @@ -4,6 +4,7 @@ import ( "context" "fmt" "math/rand" + "slices" "testing" "time" @@ -126,10 +127,8 @@ type mockConverter struct { func (m mockConverter) ProcessSigchainState(mctx libkb.MetaContext, teamName keybase1.TeamName, s *keybase1.TeamSigChainState, ) keybase1.TeamTreeMembershipResult { - for _, failureTeamID := range m.failureTeamIDs { - if failureTeamID == s.Id { - return m.loader.NewErrorResult(fmt.Errorf("mock failure"), teamName) - } + if slices.Contains(m.failureTeamIDs, s.Id) { + return m.loader.NewErrorResult(fmt.Errorf("mock failure"), teamName) } return m.loader.ProcessSigchainState(mctx, teamName, s) } diff --git a/go/systests/user_test.go b/go/systests/user_test.go index fa4ad0fb6834..6e0aa0fd4186 100644 --- a/go/systests/user_test.go +++ b/go/systests/user_test.go @@ -146,13 +146,13 @@ func (n *signupTerminalUI) OutputDesc(od libkb.OutputDescriptor, s string) error return nil } -func (n *signupTerminalUI) Printf(f string, args ...interface{}) (int, error) { +func (n *signupTerminalUI) Printf(f string, args ...any) (int, error) { s := fmt.Sprintf(f, args...) n.G().Log.Debug("Terminal Printf: %s", s) return len(s), nil } -func (n *signupTerminalUI) PrintfUnescaped(f string, args ...interface{}) (int, error) { +func (n *signupTerminalUI) PrintfUnescaped(f string, args ...any) (int, error) { s := fmt.Sprintf(f, args...) n.G().Log.Debug("Terminal PrintfUnescaped: %s", s) return len(s), nil diff --git a/go/teambot/featuredbot.go b/go/teambot/featuredbot.go index 3efd89def65b..1f11e908d7f4 100644 --- a/go/teambot/featuredbot.go +++ b/go/teambot/featuredbot.go @@ -37,7 +37,7 @@ func NewFeaturedBotLoader(g *libkb.GlobalContext) *FeaturedBotLoader { } } -func (l *FeaturedBotLoader) debug(mctx libkb.MetaContext, msg string, args ...interface{}) { +func (l *FeaturedBotLoader) debug(mctx libkb.MetaContext, msg string, args ...any) { l.G().Log.CDebugf(mctx.Ctx(), "FeaturedBotLoader: %s", fmt.Sprintf(msg, args...)) } diff --git a/go/teambot/member_keyer.go b/go/teambot/member_keyer.go index 3bea731dc387..648e71780b66 100644 --- a/go/teambot/member_keyer.go +++ b/go/teambot/member_keyer.go @@ -39,7 +39,7 @@ func NewMemberKeyer(mctx libkb.MetaContext) *MemberKeyer { // out from under us while we're in the middle of posting a new key, causing // the post to fail. Detect these conditions and retry. func (k *MemberKeyer) retryWrapper(mctx libkb.MetaContext, retryFn func() error) (err error) { - for tries := 0; tries < maxRetries; tries++ { + for tries := range maxRetries { if err = retryFn(); err == nil { return nil } diff --git a/go/teambot/scoring.go b/go/teambot/scoring.go index a10352bef0c0..c4801673dd8f 100644 --- a/go/teambot/scoring.go +++ b/go/teambot/scoring.go @@ -23,7 +23,7 @@ func (i rankedSearchItem) Score(query string) (score float64) { if !i.item.IsPromoted { return 0 } - for _, qtok := range strings.Split(query, " ") { + for qtok := range strings.SplitSeq(query, " ") { score += opensearch.ScoreName(i.item.BotAlias, qtok) score += opensearch.ScoreName(i.item.BotUsername, qtok) score += opensearch.ScoreDescription(i.item.Description, qtok) diff --git a/go/teams/audit.go b/go/teams/audit.go index d5aab7d92036..559191e00e57 100644 --- a/go/teams/audit.go +++ b/go/teams/audit.go @@ -434,7 +434,7 @@ func (a *Auditor) scheduleProbes(m libkb.MetaContext, previousProbes map[keybase currentProbes[s] = true } currentProbesWanted := n - len(probesToRetry) - for i := 0; i < currentProbesWanted; i++ { + for range currentProbesWanted { x, err := randSeqno(m, left, right) if err != nil { return nil, err diff --git a/go/teams/audit_test.go b/go/teams/audit_test.go index 92c3d0423dc6..5e8f1e81698a 100644 --- a/go/teams/audit_test.go +++ b/go/teams/audit_test.go @@ -119,7 +119,7 @@ func TestAuditStaleTeam(t *testing.T) { t.Logf("User B rotates the key a bunch of times") // B rotates the key by adding and remove C a bunch of times. - for i := 0; i < 3; i++ { + for range 3 { addC(B) rmC(B) } diff --git a/go/teams/box_audit.go b/go/teams/box_audit.go index 6bf79121c1e2..caa5b116824a 100644 --- a/go/teams/box_audit.go +++ b/go/teams/box_audit.go @@ -1146,7 +1146,7 @@ func putJailToDisk(mctx libkb.MetaContext, jail *BoxAuditJail) error { return putToDisk(mctx, BoxAuditJailDbKey(mctx), jail) } -func putToDisk(mctx libkb.MetaContext, dbKey libkb.DbKey, i interface{}) error { +func putToDisk(mctx libkb.MetaContext, dbKey libkb.DbKey, i any) error { return mctx.G().LocalDb.PutObj(dbKey, nil, i) } diff --git a/go/teams/box_audit_test.go b/go/teams/box_audit_test.go index bf8eb3d2638e..8535727b1741 100644 --- a/go/teams/box_audit_test.go +++ b/go/teams/box_audit_test.go @@ -133,12 +133,12 @@ func TestBoxAuditAttempt(t *testing.T) { require.NoError(t, toErr(attempt), "attempt OK after rotate") } -func requireFatalError(t *testing.T, err error, args ...interface{}) { +func requireFatalError(t *testing.T, err error, args ...any) { _, ok := err.(FatalBoxAuditError) require.True(t, ok, args...) } -func requireNonfatalError(t *testing.T, err error, args ...interface{}) { +func requireNonfatalError(t *testing.T, err error, args ...any) { _, ok := err.(NonfatalBoxAuditError) require.True(t, ok, args...) } @@ -316,7 +316,7 @@ func TestBoxAuditAudit(t *testing.T) { require.NoError(t, err) t.Logf("rotate until we hit max retry attempts; should result in fatal error") - for i := 0; i < MaxBoxAuditRetryAttempts-3; i++ { + for range MaxBoxAuditRetryAttempts - 3 { err = auditTeam(aA, aM, teamID) requireNonfatalError(t, err, "another audit failure on unrotated puk") } @@ -432,8 +432,8 @@ func TestBoxAuditRaces(t *testing.T) { total := 9 errCh := make(chan error, total) wg.Add(total) - for i := 0; i < 3; i++ { - for j := 0; j < 3; j++ { + for i := range 3 { + for j := range 3 { go func(i, j int) { _, auditErr := auditors[i].BoxAuditTeam(metacontexts[i], teamIDs[j]) errCh <- auditErr diff --git a/go/teams/chain.go b/go/teams/chain.go index 1751697b5879..d4bbd7b1d60a 100644 --- a/go/teams/chain.go +++ b/go/teams/chain.go @@ -4,6 +4,7 @@ import ( "context" "errors" "fmt" + "slices" "github.com/keybase/client/go/libkb" "github.com/keybase/client/go/protocol/keybase1" @@ -264,7 +265,7 @@ func findRoleDowngrade(points []keybase1.UserLogPoint, role keybase1.TeamRole) * func (t TeamSigChainState) AssertWasRoleOrAboveAt(uv keybase1.UserVersion, role keybase1.TeamRole, scl keybase1.SigChainLocation, ) (err error) { - mkErr := func(format string, args ...interface{}) error { + mkErr := func(format string, args ...any) error { msg := fmt.Sprintf(format, args...) if role.IsOrAbove(keybase1.TeamRole_ADMIN) { return NewAdminPermissionError(t.GetID(), uv, msg) @@ -2354,11 +2355,8 @@ func (t *teamSigchainPlayer) useInvites(stateToUpdate *TeamSigChainState, roleUp // If we have the invite, also check if invite role matches role // added. var foundUV bool - for _, updatedUV := range roleUpdates[inviteMD.Invite.Role] { - if uv.Eq(updatedUV) { - foundUV = true - break - } + if slices.ContainsFunc(roleUpdates[inviteMD.Invite.Role], uv.Eq) { + foundUV = true } if !foundUV { return fmt.Errorf("used_invite for UV %s that was not added as role %s", pair.UV, diff --git a/go/teams/chain_parse.go b/go/teams/chain_parse.go index ebd7a4a2c7d2..dd99c0b052f6 100644 --- a/go/teams/chain_parse.go +++ b/go/teams/chain_parse.go @@ -273,7 +273,7 @@ func (link *SCChainLink) UnmarshalPayload() (res SCChainLinkPayload, err error) } type SCChainLinkPayload struct { - Body SCPayloadBody `json:"body,omitempty"` + Body SCPayloadBody `json:"body"` Ctime int `json:"ctime,omitempty"` // UnixTime ExpireIn int `json:"expire_in,omitempty"` Prev *string `json:"prev,omitempty"` diff --git a/go/teams/chain_test.go b/go/teams/chain_test.go index 6f09799c674f..bfc12fffce2a 100644 --- a/go/teams/chain_test.go +++ b/go/teams/chain_test.go @@ -221,7 +221,7 @@ func TestTeamSigChainPlay1(t *testing.T) { // Check once before and after serializing and deserializing mctx := libkb.NewMetaContextForTest(tc) - for i := 0; i < 2; i++ { + for i := range 2 { if i == 0 { t.Logf("testing fresh") } else { @@ -309,7 +309,7 @@ func TestTeamSigChainPlay2(t *testing.T) { mctx := libkb.NewMetaContextForTest(tc) // Check once before and after serializing and deserializing - for i := 0; i < 2; i++ { + for range 2 { require.Equal(t, "t_bfaadb41", string(state.LatestLastNamePart())) require.False(t, state.IsSubteam()) ptk, err := state.GetLatestPerTeamKey(mctx) @@ -359,7 +359,7 @@ func TestTeamSigChainPlay2(t *testing.T) { } } -func encode(input interface{}) ([]byte, error) { +func encode(input any) ([]byte, error) { mh := codec.MsgpackHandle{WriteExt: true} var data []byte enc := codec.NewEncoderBytes(&data, &mh) @@ -369,7 +369,7 @@ func encode(input interface{}) ([]byte, error) { return data, nil } -func decode(data []byte, res interface{}) error { +func decode(data []byte, res any) error { mh := codec.MsgpackHandle{WriteExt: true} dec := codec.NewDecoderBytes(data, &mh) err := dec.Decode(res) @@ -505,7 +505,7 @@ func TestMemberCtime(t *testing.T) { // user had a bunch of non-NONE roles, we should return the first join time points = nil - for i := 0; i < 5; i++ { + for i := range 5 { points = append(points, keybase1.UserLogPoint{ Role: keybase1.TeamRole_WRITER, diff --git a/go/teams/common_test.go b/go/teams/common_test.go index 85af8e229937..0db19b226230 100644 --- a/go/teams/common_test.go +++ b/go/teams/common_test.go @@ -66,7 +66,7 @@ func setupNTestsWithPukless(t *testing.T, n, nPukless int) ([]*kbtest.FakeUser, require.True(t, n >= nPukless, "more pukless users than total users requested") var fus []*kbtest.FakeUser var tcs []*libkb.TestContext - for i := 0; i < n; i++ { + for i := range n { tc := SetupTest(t, "team", 1) tcs = append(tcs, &tc) if i >= n-nPukless { diff --git a/go/teams/create.go b/go/teams/create.go index cd84802859a3..4d6805ccfc49 100644 --- a/go/teams/create.go +++ b/go/teams/create.go @@ -264,7 +264,7 @@ func makeSigAndPostRootTeam(ctx context.Context, g *libkb.GlobalContext, me libk mctx.Debug("makeSigAndPostRootTeam post sigs") payload := make(libkb.JSONPayload) - payload["sigs"] = []interface{}{sigMultiItem} + payload["sigs"] = []any{sigMultiItem} payload["per_team_key"] = secretboxes _, err = mctx.G().API.PostJSON(mctx, libkb.APIArg{ @@ -421,7 +421,7 @@ func CreateSubteam(ctx context.Context, g *libkb.GlobalContext, subteamBasename } payload := make(libkb.JSONPayload) - payload["sigs"] = []interface{}{newSubteamSig, subteamHeadSig} + payload["sigs"] = []any{newSubteamSig, subteamHeadSig} payload["per_team_key"] = secretboxes ratchet.AddToJSONPayload(payload) diff --git a/go/teams/create_test.go b/go/teams/create_test.go index 921d5141dc2f..6769edad2bbc 100644 --- a/go/teams/create_test.go +++ b/go/teams/create_test.go @@ -146,7 +146,7 @@ func TestCreateImplicitTeam(t *testing.T) { var users []*kbtest.FakeUser var uvs []keybase1.UserVersion var impTeam keybase1.ImplicitTeamDisplayName - for i := 0; i < numKBUsers; i++ { + for range numKBUsers { u, err := kbtest.CreateAndSignupFakeUser("t", tc.G) require.NoError(t, err) users = append(users, u) diff --git a/go/teams/errors.go b/go/teams/errors.go index 55456bf12b9b..e16d69bf0b9f 100644 --- a/go/teams/errors.go +++ b/go/teams/errors.go @@ -38,7 +38,7 @@ func (e InvalidLink) Error() string { return fmt.Sprintf("invalid link (seqno %d): %s", e.l.Seqno(), e.note) } -func NewInvalidLink(l *ChainLinkUnpacked, format string, args ...interface{}) InvalidLink { +func NewInvalidLink(l *ChainLinkUnpacked, format string, args ...any) InvalidLink { return InvalidLink{l, fmt.Sprintf(format, args...)} } @@ -151,7 +151,7 @@ type PrevError struct { Msg string } -func NewPrevError(format string, args ...interface{}) error { +func NewPrevError(format string, args ...any) error { return PrevError{fmt.Sprintf(format, args...)} } @@ -213,7 +213,7 @@ func (e TeamDoesNotExistError) Error() string { return fmt.Sprintf("Team %q does not exist", e.descriptor) } -func NewTeamDoesNotExistError(public bool, format string, args ...interface{}) error { +func NewTeamDoesNotExistError(public bool, format string, args ...any) error { return TeamDoesNotExistError{ descriptor: fmt.Sprintf(format, args...), public: public, @@ -236,7 +236,7 @@ func (e ExplicitTeamOperationError) Error() string { return fmt.Sprintf("Operation only allowed on implicit teams: %s", e.msg) } -func NewImplicitTeamOperationError(format string, args ...interface{}) error { +func NewImplicitTeamOperationError(format string, args ...any) error { return &ImplicitTeamOperationError{msg: fmt.Sprintf(format, args...)} } @@ -412,7 +412,7 @@ func (e AttemptedInviteSocialOwnerError) Error() string { return e.Msg } type UserHasNotResetError struct{ Msg string } -func NewUserHasNotResetError(format string, args ...interface{}) error { +func NewUserHasNotResetError(format string, args ...any) error { return UserHasNotResetError{Msg: fmt.Sprintf(format, args...)} } @@ -458,7 +458,7 @@ func (f FastLoadError) Error() string { return fmt.Sprintf("fast load error: %s", f.Msg) } -func NewFastLoadError(format string, args ...interface{}) error { +func NewFastLoadError(format string, args ...any) error { return FastLoadError{Msg: fmt.Sprintf(format, args...)} } @@ -479,7 +479,7 @@ type AuditError struct { Msg string } -func NewAuditError(format string, args ...interface{}) error { +func NewAuditError(format string, args ...any) error { return AuditError{Msg: fmt.Sprintf(format, args...)} } @@ -627,6 +627,6 @@ func (e InviteLinkAcceptanceError) Error() string { return fmt.Sprintf("InviteLinkAcceptanceError: %s", e.Cause) } -func NewInviteLinkAcceptanceError(format string, args ...interface{}) InviteLinkAcceptanceError { +func NewInviteLinkAcceptanceError(format string, args ...any) InviteLinkAcceptanceError { return InviteLinkAcceptanceError{fmt.Errorf(format, args...)} } diff --git a/go/teams/ftl.go b/go/teams/ftl.go index b0047ace0d25..e8fb42b72db6 100644 --- a/go/teams/ftl.go +++ b/go/teams/ftl.go @@ -268,7 +268,7 @@ func (f *FastTeamChainLoader) load(m libkb.MetaContext, arg fastLoadArg) (res *f // loadLockedWithRetries attempts two loads of the team. If the first iteration returns an FTLMissingSeedError, // we'll blast through the cache and attempt a full reload a second time. Then that's for all the marbles. func (f *FastTeamChainLoader) loadLockedWithRetries(m libkb.MetaContext, arg fastLoadArg) (res *fastLoadRes, err error) { - for i := 0; i < 2; i++ { + for range 2 { res, err = f.loadLocked(m, arg) if err == nil { return res, err @@ -720,7 +720,7 @@ func (f *FastTeamChainLoader) loadFromServerWithRetries(m libkb.MetaContext, arg defer m.Trace(fmt.Sprintf("FastTeamChainLoader#loadFromServerWithRetries(%s,%v)", arg.ID, arg.Public), &err)() const nRetries = 3 - for i := 0; i < nRetries; i++ { + for range nRetries { groceries, err = f.loadFromServerOnce(m, arg, state, shoppingList, hp) switch err.(type) { case nil: diff --git a/go/teams/ftl_test.go b/go/teams/ftl_test.go index 2898171f271a..c5f1bdc5ed5e 100644 --- a/go/teams/ftl_test.go +++ b/go/teams/ftl_test.go @@ -105,7 +105,7 @@ func TestFastLoaderKeyGen(t *testing.T) { t.Logf("rotate the key a bunch of times") // Rotate the key by removing and adding B from the team - for i := 0; i < 3; i++ { + for range 3 { err = RemoveMember(m[0].Ctx(), tcs[0].G, teamName.String(), fus[1].Username) require.NoError(t, err) @@ -267,7 +267,7 @@ func TestFastLoaderUpPointerUnstub(t *testing.T) { t.Logf("rotate the key a bunch of times") // Rotate the key by removing and adding B from the team - for i := 0; i < 3; i++ { + for range 3 { err = RemoveMember(m[0].Ctx(), tcs[0].G, teamName.String(), fus[1].Username) require.NoError(t, err) _, err = AddMember(m[0].Ctx(), tcs[0].G, teamName.String(), fus[1].Username, keybase1.TeamRole_READER, nil) @@ -331,7 +331,7 @@ func TestLoadSubteamThenParent(t *testing.T) { t.Logf("rotate the parent team a bunch of times") // Rotate the key by removing and adding B from the team - for i := 0; i < 3; i++ { + for range 3 { err = RemoveMember(m[0].Ctx(), tcs[0].G, teamName.String(), fus[1].Username) require.NoError(t, err) _, err = AddMember(m[0].Ctx(), tcs[0].G, teamName.String(), fus[1].Username, keybase1.TeamRole_READER, nil) @@ -386,7 +386,7 @@ func TestLoadSubteamThenAllowedInThenParent(t *testing.T) { require.NoError(t, err) } - for i := 0; i < 3; i++ { + for range 3 { rotateKey(teamName) } @@ -453,7 +453,7 @@ func TestLoadRKMForLatestCORE8894(t *testing.T) { loadTeam(teamID, false) // Rotate the key by removing and adding B from the team - for i := 0; i < 3; i++ { + for range 3 { err = RemoveMember(m[0].Ctx(), tcs[0].G, teamName.String(), fus[1].Username) require.NoError(t, err) _, err = AddMember(m[0].Ctx(), tcs[0].G, teamName.String(), fus[1].Username, keybase1.TeamRole_READER, nil) diff --git a/go/teams/get_test.go b/go/teams/get_test.go index 07a318280018..c8535edd7f4f 100644 --- a/go/teams/get_test.go +++ b/go/teams/get_test.go @@ -61,7 +61,7 @@ func TestTeamApplicationKey(t *testing.T) { func TestTeamGetRepeat(t *testing.T) { t.Skip("not needed") // in order to try to repro in CI, run this 10 times - for i := 0; i < 10; i++ { + for range 10 { tc := SetupTest(t, "team", 1) defer tc.Cleanup() @@ -87,12 +87,12 @@ func TestTeamGetWhileCreate(t *testing.T) { name := createTeam(tc) - for i := 0; i < 100; i++ { + for range 100 { go createTeam(tc) time.Sleep(10 * time.Millisecond) } - for i := 0; i < 100; i++ { + for range 100 { _, err := GetForTestByStringName(context.TODO(), tc.G, name) if err != nil { t.Fatal(err) @@ -104,7 +104,7 @@ func TestTeamGetConcurrent(t *testing.T) { t.Skip("this is slow but it passes") work := make(chan bool) - for i := 0; i < 10; i++ { + for range 10 { go func() { for x := range work { _ = x @@ -113,7 +113,7 @@ func TestTeamGetConcurrent(t *testing.T) { }() } - for j := 0; j < 100; j++ { + for range 100 { work <- true } } diff --git a/go/teams/hidden/errors.go b/go/teams/hidden/errors.go index 44bf8787db45..f2a3a2e08e0e 100644 --- a/go/teams/hidden/errors.go +++ b/go/teams/hidden/errors.go @@ -14,7 +14,7 @@ func (e ManagerError) Error() string { return fmt.Sprintf("hidden team manager error: %s", e.note) } -func NewManagerError(format string, args ...interface{}) ManagerError { +func NewManagerError(format string, args ...any) ManagerError { return ManagerError{fmt.Sprintf(format, args...)} } @@ -28,7 +28,7 @@ func (e LoaderError) Error() string { return fmt.Sprintf("hidden team loader error: %s", e.note) } -func NewLoaderError(format string, args ...interface{}) LoaderError { +func NewLoaderError(format string, args ...any) LoaderError { return LoaderError{fmt.Sprintf(format, args...)} } @@ -42,7 +42,7 @@ func (e GenerateError) Error() string { return fmt.Sprintf("hidden team generate error: %s", e.note) } -func NewGenerateError(format string, args ...interface{}) GenerateError { +func NewGenerateError(format string, args ...any) GenerateError { return GenerateError{fmt.Sprintf(format, args...)} } @@ -56,7 +56,7 @@ func (e RatchetError) Error() string { return fmt.Sprintf("hidden team ratchet error: %s", e.note) } -func newRatchetError(format string, args ...interface{}) RatchetError { +func newRatchetError(format string, args ...any) RatchetError { return RatchetError{fmt.Sprintf(format, args...)} } @@ -106,7 +106,7 @@ func (e TombstonedError) Error() string { return fmt.Sprintf("hidden team tombstoned error: %s", e.note) } -func NewTombstonedError(format string, args ...interface{}) TombstonedError { +func NewTombstonedError(format string, args ...any) TombstonedError { return TombstonedError{fmt.Sprintf(format, args...)} } diff --git a/go/teams/hidden/loader.go b/go/teams/hidden/loader.go index c279c3266a0e..0be4a3eebdb1 100644 --- a/go/teams/hidden/loader.go +++ b/go/teams/hidden/loader.go @@ -136,10 +136,7 @@ func (l *LoaderPackage) checkExpectedHighSeqno(mctx libkb.MetaContext, links []s return nil } last := l.LastSeqno() - maxR := l.MaxRatchet() - if maxR < maxUncommittedSeqnoPromised { - maxR = maxUncommittedSeqnoPromised - } + maxR := max(l.MaxRatchet(), maxUncommittedSeqnoPromised) if maxR <= last { return nil } diff --git a/go/teams/hidden_loader_test.go b/go/teams/hidden_loader_test.go index 4d9a0fc2eed4..939ae825ff60 100644 --- a/go/teams/hidden_loader_test.go +++ b/go/teams/hidden_loader_test.go @@ -116,7 +116,7 @@ func requestNewBlindTreeFromArchitectAndWaitUntilDone(t *testing.T, uTc *libkb.T } func retryTestNTimes(t *testing.T, n int, f func(t *testing.T) bool) { - for i := 0; i < n; i++ { + for range n { succeeded := f(t) if succeeded { t.Logf("Succeeded!") @@ -438,7 +438,7 @@ func TestSubteamReaderFTL(t *testing.T) { t.Logf("create team") teamName, teamID := createTeam2(*tcs[0]) - for i := 0; i < 4; i++ { + for range 4 { makeHiddenRotation(t, tcs[0].G, teamName) } createSubteam(tcs[0], teamName, "unused") diff --git a/go/teams/implicit.go b/go/teams/implicit.go index f3552f1dca77..c49cc028505e 100644 --- a/go/teams/implicit.go +++ b/go/teams/implicit.go @@ -399,11 +399,11 @@ func newImplicitTeamCache(g *libkb.GlobalContext) *implicitTeamCache { } } -func (i *implicitTeamCache) Get(key interface{}) (interface{}, bool) { +func (i *implicitTeamCache) Get(key any) (any, bool) { return i.cache.Get(key) } -func (i *implicitTeamCache) Put(key, value interface{}) bool { +func (i *implicitTeamCache) Put(key, value any) bool { return i.cache.Add(key, value) } diff --git a/go/teams/implicit_test.go b/go/teams/implicit_test.go index 9637d265123a..e94173357410 100644 --- a/go/teams/implicit_test.go +++ b/go/teams/implicit_test.go @@ -46,14 +46,14 @@ func TestImplicitRaceCreateTLFs(t *testing.T) { tlfid1 := newImplicitTLFID(true) n := 4 doneCh := make(chan struct{}, n+1) - for i := 0; i < n; i++ { + for range n { go func() { err = CreateTLF(context.TODO(), tc.G, keybase1.CreateTLFArg{TeamID: createdTeam.ID, TlfID: tlfid1}) require.NoError(t, err) doneCh <- struct{}{} }() } - for i := 0; i < n; i++ { + for i := range n { select { case <-doneCh: case <-time.After(time.Minute): @@ -76,7 +76,7 @@ func TestLookupImplicitTeams(t *testing.T) { numKBUsers := 3 var usernames []string - for i := 0; i < numKBUsers; i++ { + for range numKBUsers { u, err := kbtest.CreateAndSignupFakeUser("t", tc.G) require.NoError(t, err) usernames = append(usernames, u.Username) @@ -372,7 +372,7 @@ func TestLoggedOutPublicTeamLoad(t *testing.T) { err = tc.Logout() require.NoError(t, err) - for i := 0; i < 2; i++ { + for range 2 { _, err = Load(context.TODO(), tc.G, keybase1.LoadTeamArg{ ID: createdTeam.ID, Public: true, diff --git a/go/teams/invite_test.go b/go/teams/invite_test.go index d46ff1c7dd27..913fa859dd95 100644 --- a/go/teams/invite_test.go +++ b/go/teams/invite_test.go @@ -852,7 +852,7 @@ func TestTeamPlayerUsedInviteMultipleTimes(t *testing.T) { teamSectionCM.UsedInvites = []SCMapInviteIDUVPair{ {InviteID: SCTeamInviteID(inviteID), UV: testUV.PercentForm()}, } - for i := 0; i < 2; i++ { + for range 2 { state, err = appendSigToState(t, team, state, libkb.LinkTypeChangeMembership, teamSectionCM, me, nil /* merkleRoot */) require.NoError(t, err) diff --git a/go/teams/list_test.go b/go/teams/list_test.go index 75b8c8a882cb..4ec27588682c 100644 --- a/go/teams/list_test.go +++ b/go/teams/list_test.go @@ -253,7 +253,6 @@ func TestComputeValidity(t *testing.T) { }, } for _, tt := range tests { - tt := tt t.Run(tt.desc, func(t *testing.T) { gotIsValid, gotValidityDescription := tt.i.md.ComputeValidity(tt.now, tt.i.userLog) require.Equal(t, tt.expectedIsValid, gotIsValid) diff --git a/go/teams/loader.go b/go/teams/loader.go index 939a1f88d6a6..279c99560ff4 100644 --- a/go/teams/loader.go +++ b/go/teams/loader.go @@ -226,7 +226,7 @@ func (l *TeamLoader) ResolveNameToIDUntrusted(ctx context.Context, teamName keyb return resolveNameToIDUntrustedAPICall(ctx, l.G(), teamName, public) } - var idVoidPointer interface{} + var idVoidPointer any key := nameLookupBurstCacheKey{teamName, public} idVoidPointer, err = l.nameLookupBurstCache.Load(ctx, key, l.makeNameLookupBurstCacheLoader(ctx, l.G(), key)) if err != nil { @@ -262,7 +262,7 @@ func resolveNameToIDUntrustedAPICall(ctx context.Context, g *libkb.GlobalContext } func (l *TeamLoader) makeNameLookupBurstCacheLoader(ctx context.Context, g *libkb.GlobalContext, key nameLookupBurstCacheKey) libkb.BurstCacheLoader { - return func() (obj interface{}, err error) { + return func() (obj any, err error) { id, err := resolveNameToIDUntrustedAPICall(ctx, g, key.teamName, key.public) if err != nil { return nil, err @@ -494,7 +494,7 @@ func (l *TeamLoader) load2Inner(ctx context.Context, arg load2ArgT) (*load2ResT, func (l *TeamLoader) load2InnerLocked(ctx context.Context, arg load2ArgT) (res *load2ResT, err error) { const nRetries = 3 - for i := 0; i < nRetries; i++ { + for range nRetries { res, err = l.load2InnerLockedRetry(ctx, arg) switch pkgErrors.Cause(err).(type) { case nil: diff --git a/go/teams/loader2.go b/go/teams/loader2.go index f666b32ef337..970708a14521 100644 --- a/go/teams/loader2.go +++ b/go/teams/loader2.go @@ -6,6 +6,7 @@ import ( "encoding/base64" "errors" "fmt" + "slices" "golang.org/x/crypto/nacl/secretbox" @@ -201,12 +202,10 @@ var whitelistedTeamLinkSigsForAdminPermissionDemote = []keybase1.SigID{ } func (l *TeamLoader) addProofsForKeyInUserSigchain(ctx context.Context, teamID keybase1.TeamID, link *ChainLinkUnpacked, uid keybase1.UID, key *keybase1.PublicKeyV2NaCl, userLinkMap linkMapT, proofSet *proofSetT) { - for _, okSigID := range whitelistedTeamLinkSigsForKeyInUserSigchain { - if link.SigID().Eq(okSigID) { - // This proof is whitelisted, so don't check it. - l.G().Log.CDebugf(ctx, "addProofsForKeyInUserSigchain: skipping exceptional link: %v", link.SigID()) - return - } + if slices.ContainsFunc(whitelistedTeamLinkSigsForKeyInUserSigchain, link.SigID().Eq) { + // This proof is whitelisted, so don't check it. + l.G().Log.CDebugf(ctx, "addProofsForKeyInUserSigchain: skipping exceptional link: %v", link.SigID()) + return } event1Link := newProofTerm(teamID.AsUserOrTeam(), link.SignatureMetadata(), nil) @@ -424,12 +423,10 @@ func (l *TeamLoader) addProofsForAdminPermission(ctx context.Context, teamID key event3Demote := bookends.right proofSet.AddNeededHappensBeforeProof(ctx, event1Promote, event2Link, "became admin before team link") if event3Demote != nil { - for _, okSigID := range whitelistedTeamLinkSigsForAdminPermissionDemote { - if link.SigID().Eq(okSigID) { - // This proof is whitelisted, so don't check it. - l.G().Log.CDebugf(ctx, "addProofsForAdminPermission: [demote] skipping exceptional link: %v", link.SigID()) - return - } + if slices.ContainsFunc(whitelistedTeamLinkSigsForAdminPermissionDemote, link.SigID().Eq) { + // This proof is whitelisted, so don't check it. + l.G().Log.CDebugf(ctx, "addProofsForAdminPermission: [demote] skipping exceptional link: %v", link.SigID()) + return } proofSet.AddNeededHappensBeforeProof(ctx, event2Link, *event3Demote, "team link before adminship demotion") } diff --git a/go/teams/loader_chain_test.go b/go/teams/loader_chain_test.go index 1a837ce32bd5..1203d1c69fe8 100644 --- a/go/teams/loader_chain_test.go +++ b/go/teams/loader_chain_test.go @@ -191,7 +191,7 @@ func runUnit(t *testing.T, unit TestCase) (lastLoadRet *Team, didRun bool) { } err := json.Unmarshal(link, &outer) require.NoError(t, err) - var inner interface{} + var inner any err = jsonw.EnsureMaxDepthBytesDefault([]byte(outer.PayloadJSON)) if err != nil { diff --git a/go/teams/loader_ctx_test.go b/go/teams/loader_ctx_test.go index d053a2af7fb2..172c10a2a285 100644 --- a/go/teams/loader_ctx_test.go +++ b/go/teams/loader_ctx_test.go @@ -338,13 +338,13 @@ func (e *mockError) Error() string { return fmt.Sprintf("error in mock: %s", e.Msg) } -func NewMockError(format string, args ...interface{}) error { +func NewMockError(format string, args ...any) error { return &mockError{ Msg: fmt.Sprintf(format, args...), } } -func NewMockBoundsError(caller string, keydesc string, key interface{}) error { +func NewMockBoundsError(caller string, keydesc string, key any) error { return &mockError{ Msg: fmt.Sprintf("in %s: key not found (%s) %+v", caller, keydesc, key), } diff --git a/go/teams/loader_test.go b/go/teams/loader_test.go index ad3d4d0b95bc..1461dad1bad1 100644 --- a/go/teams/loader_test.go +++ b/go/teams/loader_test.go @@ -173,7 +173,7 @@ func TestLoaderKeyGen(t *testing.T) { t.Logf("rotate the key a bunch of times") // Rotate the key by removing and adding B from the team - for i := 0; i < 3; i++ { + for range 3 { err = RemoveMember(context.TODO(), tcs[0].G, teamName.String(), fus[1].Username) require.NoError(t, err) @@ -369,7 +369,7 @@ func TestLoaderWantMembers(t *testing.T) { defer cleanup() // Require that a team is at this seqno - requireSeqno := func(team *keybase1.TeamData, seqno int, dots ...interface{}) { + requireSeqno := func(team *keybase1.TeamData, seqno int, dots ...any) { require.NotNil(t, team, dots...) require.Equal(t, keybase1.Seqno(seqno), TeamSigChainState{inner: team.Chain}.GetLatestSeqno(), dots...) } @@ -593,7 +593,7 @@ func TestLoaderInferWantMembers(t *testing.T) { defer cleanup() // Require that a team is at this seqno - requireSeqno := func(team *keybase1.TeamData, seqno int, dots ...interface{}) { + requireSeqno := func(team *keybase1.TeamData, seqno int, dots ...any) { require.NotNil(t, team, dots...) require.Equal(t, keybase1.Seqno(seqno), TeamSigChainState{inner: team.Chain}.GetLatestSeqno(), dots...) } diff --git a/go/teams/member_set.go b/go/teams/member_set.go index d5b14ea3f677..813eedb49879 100644 --- a/go/teams/member_set.go +++ b/go/teams/member_set.go @@ -3,6 +3,7 @@ package teams import ( "context" "fmt" + "maps" "github.com/keybase/client/go/libkb" "github.com/keybase/client/go/protocol/keybase1" @@ -69,9 +70,7 @@ func newMemberSetChange(ctx context.Context, g *libkb.GlobalContext, req keybase if err := set.loadMembers(ctx, g, req, true /* forcePoll*/); err != nil { return nil, err } - for uv, settings := range req.RestrictedBots { - set.restrictedBotSettings[uv] = settings - } + maps.Copy(set.restrictedBotSettings, req.RestrictedBots) return set, nil } @@ -100,15 +99,9 @@ func (m *memberSet) appendMemberSet(other *memberSet) { m.RestrictedBots = append(m.RestrictedBots, other.RestrictedBots...) m.None = append(m.None, other.None...) - for k, v := range other.recipients { - m.recipients[k] = v - } - for k, v := range other.restrictedBotRecipients { - m.restrictedBotRecipients[k] = v - } - for k, v := range other.restrictedBotSettings { - m.restrictedBotSettings[k] = v - } + maps.Copy(m.recipients, other.recipients) + maps.Copy(m.restrictedBotRecipients, other.restrictedBotRecipients) + maps.Copy(m.restrictedBotSettings, other.restrictedBotSettings) } func (m *memberSet) nonAdmins() []member { diff --git a/go/teams/member_test.go b/go/teams/member_test.go index 126d48d5c70c..aeb1399a888e 100644 --- a/go/teams/member_test.go +++ b/go/teams/member_test.go @@ -317,7 +317,7 @@ func pollForNextMerkleRootAfterRemovalViaLibkb(t *testing.T, tc libkb.TestContex // Unfortunately we need to poll here, since we don't know when merkled will mint a new root. // Locally it is fast, but it might be slowish on CI. - for i := 0; i < 50; i++ { + for range 50 { res, err := libkb.FindNextMerkleRootAfterTeamRemoval(m, keybase1.FindNextMerkleRootAfterTeamRemovalArg{ Uid: user.GetUID(), Team: team.ID, @@ -963,7 +963,7 @@ func TestImplicitAdminBecomesExplicit(t *testing.T) { t.Logf("U0 rotates the subteam 3 times") subteam, err := GetForTestByID(context.TODO(), tcs[0].G, subteamID) require.NoError(t, err) - for i := 0; i < 3; i++ { + for range 3 { err = subteam.Rotate(context.TODO(), keybase1.RotationType_HIDDEN) require.NoError(t, err) subteam, err = GetForTestByID(context.TODO(), tcs[0].G, subteamID) @@ -1408,7 +1408,7 @@ func TestMemberAddRace(t *testing.T) { return errCh } - assertNoErr := func(errCh <-chan error, msgAndArgs ...interface{}) { + assertNoErr := func(errCh <-chan error, msgAndArgs ...any) { select { case err := <-errCh: require.NoError(t, err, msgAndArgs...) @@ -1417,7 +1417,7 @@ func TestMemberAddRace(t *testing.T) { } } - for i := 0; i < 5; i++ { + for i := range 5 { t.Logf("round %v", i) doRotate := i%2 == 1 @@ -1480,7 +1480,7 @@ func TestMemberAddRaceConflict(t *testing.T) { return errCh } - assertNoErr := func(errCh <-chan error, msgAndArgs ...interface{}) { + assertNoErr := func(errCh <-chan error, msgAndArgs ...any) { select { case err := <-errCh: require.NoError(t, err, msgAndArgs...) @@ -1490,7 +1490,7 @@ func TestMemberAddRaceConflict(t *testing.T) { } // Exactly one error comes from the list of channels - assertOneErr := func(errChs []<-chan error, msgAndArgs ...interface{}) (retErr error) { + assertOneErr := func(errChs []<-chan error, msgAndArgs ...any) (retErr error) { for i, errCh := range errChs { select { case err := <-errCh: @@ -1506,7 +1506,7 @@ func TestMemberAddRaceConflict(t *testing.T) { return retErr } - for i := 0; i < 5; i++ { + for i := range 5 { t.Logf("round %v", i) t.Logf("parallel start") @@ -2344,7 +2344,7 @@ func TestFindAssertionsInTeamForInvites(t *testing.T) { { var assertions []string assertions = append(assertions, fmt.Sprintf("[%s]@email", email2)) - for i := 0; i < 5; i++ { + for range 5 { assertions = append(assertions, fmt.Sprintf("[%s]@email", kbtest.GenerateRandomEmailAddress())) } assertions = append(assertions, fmt.Sprintf("[%s]@email", email)) @@ -2550,7 +2550,7 @@ func TestTeamPlayerIdempotentChangesAssertRole(t *testing.T) { require.NoError(t, err) // Using memberLists, do bunch of idempotent role changes - for i := 0; i < 2; i++ { + for range 2 { for _, v := range memberLists { teamSectionCM := makeTestSCTeamSection(team) teamSectionCM.Members = v diff --git a/go/teams/opensearch/scoring.go b/go/teams/opensearch/scoring.go index 00117378c4da..c04a930cde88 100644 --- a/go/teams/opensearch/scoring.go +++ b/go/teams/opensearch/scoring.go @@ -45,7 +45,7 @@ func (i rankedSearchItem) Score(query string) (score float64) { if i.item.IsDemoted && query != name { return 0 } - for _, qtok := range strings.Split(query, " ") { + for qtok := range strings.SplitSeq(query, " ") { score += ScoreName(name, qtok) if i.item.Description != nil { score += ScoreDescription(*i.item.Description, qtok) @@ -94,7 +94,7 @@ func ScoreName(name, qtok string) (score float64) { func ScoreDescription(desc, qtok string) (score float64) { desc = strings.ToLower(desc) - for _, dtok := range strings.Split(desc, " ") { + for dtok := range strings.SplitSeq(desc, " ") { if dtok == qtok { score += 25 } diff --git a/go/teams/proofs.go b/go/teams/proofs.go index a9516df90669..309c5d6bcbf8 100644 --- a/go/teams/proofs.go +++ b/go/teams/proofs.go @@ -323,7 +323,7 @@ func (p *proofSetT) checkParallel(ctx context.Context, world LoaderContext) (err group, ctx := errgroup.WithContext(libkb.CopyTagsToBackground(ctx)) const pipeline = 20 - for i := 0; i < pipeline; i++ { + for range pipeline { group.Go(func() error { for { select { diff --git a/go/teams/rename.go b/go/teams/rename.go index 868c65dc7dff..c90265b0866d 100644 --- a/go/teams/rename.go +++ b/go/teams/rename.go @@ -103,7 +103,7 @@ func RenameSubteam(ctx context.Context, g *libkb.GlobalContext, prevName keybase } payload := make(libkb.JSONPayload) - payload["sigs"] = []interface{}{renameSubteamSig, renameUpPointerSig} + payload["sigs"] = []any{renameSubteamSig, renameUpPointerSig} err = ratchetBlindingKeys.AddToJSONPayload(payload) if err != nil { return err diff --git a/go/teams/resolve.go b/go/teams/resolve.go index 256407647d9a..49e8cdae9292 100644 --- a/go/teams/resolve.go +++ b/go/teams/resolve.go @@ -115,7 +115,6 @@ func ResolveImplicitTeamDisplayName(ctx context.Context, g *libkb.GlobalContext, // Identify everyone who resolved in parallel, checking that they match their resolved UID and original assertions. for _, resolvedAssertion := range resolvedAssertions { - resolvedAssertion := resolvedAssertion // https://golang.org/doc/faq#closures_and_goroutines group.Go(func() error { return verifyResolveResult(subctx, g, resolvedAssertion) }) diff --git a/go/teams/rotate_hidden_test.go b/go/teams/rotate_hidden_test.go index f67f1c0542e6..bbd5b2c7c029 100644 --- a/go/teams/rotate_hidden_test.go +++ b/go/teams/rotate_hidden_test.go @@ -44,7 +44,7 @@ func TestRotateHiddenSelf(t *testing.T) { require.Equal(t, keys2[0].KeyGeneration, keybase1.PerTeamKeyGeneration(1)) require.Equal(t, keys1[0].Key, keys2[0].Key) - for i := 0; i < 3; i++ { + for range 3 { team, err = GetForTestByStringName(context.TODO(), tc.G, name) require.NoError(t, err) err = team.Rotate(context.TODO(), keybase1.RotationType_HIDDEN) @@ -106,7 +106,7 @@ func TestRotateHiddenOther(t *testing.T) { checkForUser(1) } - for i := 0; i < 5; i++ { + for i := range 5 { rotate(i%2 == 0) check() } @@ -163,7 +163,7 @@ func TestRotateHiddenOtherFTL(t *testing.T) { checkForUser(1, true) } - for i := 0; i < 5; i++ { + for i := range 5 { rotate(i%2 == 0) check() } @@ -195,7 +195,7 @@ func pollForTrue(t *testing.T, g *libkb.GlobalContext, poller func(i int) bool) // Hopefully this is enough for slow CI but you never know. wait := 10 * time.Millisecond * libkb.CITimeMultiplier(g) found := false - for i := 0; i < 10; i++ { + for i := range 10 { if poller(i) { found = true break @@ -358,7 +358,7 @@ func TestHiddenFTLHole(t *testing.T) { } t.Logf("U0 rotates the team 4x (via hidden)") - for i := 0; i < 4; i++ { + for range 4 { rot(keybase1.RotationType_HIDDEN) } diff --git a/go/teams/rotate_test.go b/go/teams/rotate_test.go index 2f51c8b34ad5..499775968176 100644 --- a/go/teams/rotate_test.go +++ b/go/teams/rotate_test.go @@ -329,7 +329,7 @@ func TestRotateRace(t *testing.T) { return errCh } - assertNoErr := func(errCh <-chan error, msgAndArgs ...interface{}) { + assertNoErr := func(errCh <-chan error, msgAndArgs ...any) { select { case err := <-errCh: require.NoError(t, err, msgAndArgs...) @@ -338,7 +338,7 @@ func TestRotateRace(t *testing.T) { } } - for i := 0; i < 10; i++ { + for i := range 10 { t.Logf("round %v", i) errCh1 := rotate(0) diff --git a/go/teams/seitan.go b/go/teams/seitan.go index 1caa46f71139..0b356c4445a6 100644 --- a/go/teams/seitan.go +++ b/go/teams/seitan.go @@ -77,7 +77,7 @@ func generateIKey(length int, plusOffset int) (str string, err error) { } var buf []byte - for i := 0; i < length; i++ { + for i := range length { if i == plusOffset { buf = append(buf, '+') } else { diff --git a/go/teams/seitan_v2_test.go b/go/teams/seitan_v2_test.go index 02d20e8daef9..c478efed3bb1 100644 --- a/go/teams/seitan_v2_test.go +++ b/go/teams/seitan_v2_test.go @@ -256,7 +256,7 @@ func TestIsSeitanyAndAlphabetCoverage(t *testing.T) { verifyCoverage := func(ikeyGen func() (s string, err error)) { coverage := make(map[byte]bool) - for i := 0; i < 100; i++ { + for range 100 { s, err := ikeyGen() require.NoError(t, err) require.True(t, IsSeitany(s)) diff --git a/go/teams/service_helper.go b/go/teams/service_helper.go index 03daa28110bd..992344ca0ff3 100644 --- a/go/teams/service_helper.go +++ b/go/teams/service_helper.go @@ -4,6 +4,7 @@ import ( "context" "errors" "fmt" + "slices" "strings" "time" @@ -1864,10 +1865,8 @@ func CanUserPerform(ctx context.Context, g *libkb.GlobalContext, teamname string if err != nil { return false, err } - for _, uv := range uvs { - if uv == meUV { - return true, nil - } + if slices.Contains(uvs, meUV) { + return true, nil } return false, nil } @@ -1900,11 +1899,9 @@ func CanUserPerform(ctx context.Context, g *libkb.GlobalContext, teamname string if len(owners) > 1 { return true, nil } - for _, owner := range owners { - if owner == meUV { - g.Log.CDebugf(ctx, "hasOtherOwner: I am the sole owner") - return false, nil - } + if slices.Contains(owners, meUV) { + g.Log.CDebugf(ctx, "hasOtherOwner: I am the sole owner") + return false, nil } return true, nil } diff --git a/go/teams/teams.go b/go/teams/teams.go index c04007d2a6e1..a1406c01bbac 100644 --- a/go/teams/teams.go +++ b/go/teams/teams.go @@ -8,6 +8,7 @@ import ( "encoding/json" "errors" "fmt" + "maps" "sort" "time" @@ -1221,7 +1222,7 @@ func (t *Team) deleteSubteam(ctx context.Context) error { } payload := make(libkb.JSONPayload) - payload["sigs"] = []interface{}{sigParent, sigSub} + payload["sigs"] = []any{sigParent, sigSub} var ratchetSet hidden.RatchetBlindingKeySet if parentRatchet != nil { @@ -2154,9 +2155,7 @@ type sigPayloadArgs struct { func (t *Team) sigPayload(sigMulti []libkb.SigMultiItem, args sigPayloadArgs) libkb.JSONPayload { payload := libkb.JSONPayload{} // copy the prepayload so we don't mutate it - for k, v := range args.prePayload { - payload[k] = v - } + maps.Copy(payload, args.prePayload) payload["sigs"] = sigMulti if args.secretBoxes != nil { payload["per_team_key"] = args.secretBoxes @@ -2439,7 +2438,7 @@ func RetryIfPossible(ctx context.Context, g *libkb.GlobalContext, post func(ctx mctx := libkb.NewMetaContext(ctx, g) defer mctx.Trace("RetryIfPossible", &err)() const nRetries = 3 - for i := 0; i < nRetries; i++ { + for i := range nRetries { mctx.Debug("| RetryIfPossible(%v)", i) err = post(mctx.Ctx(), i) switch { @@ -2495,7 +2494,7 @@ func isTeamBadGenerationError(err error) bool { return libkb.IsAppStatusCode(err, keybase1.StatusCode_SCTeamBadGeneration) } -func (t *Team) marshal(incoming interface{}) ([]byte, error) { +func (t *Team) marshal(incoming any) ([]byte, error) { var data []byte mh := codec.MsgpackHandle{WriteExt: true} enc := codec.NewEncoderBytes(&data, &mh) diff --git a/go/teams/transactions.go b/go/teams/transactions.go index 226d58e640fb..b4cc56e4d96f 100644 --- a/go/teams/transactions.go +++ b/go/teams/transactions.go @@ -7,6 +7,7 @@ import ( "context" "errors" "fmt" + "maps" "github.com/keybase/client/go/engine" "github.com/keybase/client/go/externals" @@ -109,7 +110,7 @@ type txPayload struct { Tag txPayloadTag // txPayload holds either of: *SCTeamInvites or // *keybase1.TeamChangeReq. - Val interface{} + Val any } func CreateAddMemberTx(t *Team) *AddMemberTx { @@ -121,7 +122,7 @@ func CreateAddMemberTx(t *Team) *AddMemberTx { } } -func (tx *AddMemberTx) DebugPayloads() (res []interface{}) { +func (tx *AddMemberTx) DebugPayloads() (res []any) { for _, v := range tx.payloads { res = append(res, v.Val) } @@ -136,7 +137,7 @@ func (tx *AddMemberTx) IsEmpty() bool { // of AddMemberTx API. Users of this API should avoid lowercase // methods and fields at all cost, even from same package. -func (tx *AddMemberTx) findPayload(tag txPayloadTag, forUID keybase1.UID) interface{} { +func (tx *AddMemberTx) findPayload(tag txPayloadTag, forUID keybase1.UID) any { minSeqno := 0 hasUID := !forUID.IsNil() if hasUID { @@ -913,9 +914,7 @@ func (tx *AddMemberTx) CompleteSocialInvitesFor(ctx context.Context, uv keybase1 if payload.CompletedInvites == nil { payload.CompletedInvites = make(map[keybase1.TeamInviteID]keybase1.UserVersionPercentForm) } - for i, v := range completedInvites { - payload.CompletedInvites[i] = v - } + maps.Copy(payload.CompletedInvites, completedInvites) } return nil diff --git a/go/teams/treeloader.go b/go/teams/treeloader.go index f5f6658431c9..6f6d3676a6ae 100644 --- a/go/teams/treeloader.go +++ b/go/teams/treeloader.go @@ -239,7 +239,6 @@ func (l *Treeloader) loadRecursive(mctx libkb.MetaContext, teamID keybase1.TeamI // Because we load parents before children, the child's load can use the cached parent's team // so we only make one team/get per team. for _, idAndName := range subteams { - idAndName := idAndName // This is unbounded but assuming subteam spread isn't too high, should be ok. eg.Go(func() error { incr := l.loadRecursive(mctx, idAndName.Id, idAndName.Name, nil, ch) diff --git a/go/tlfupgrade/tlfupgrade.go b/go/tlfupgrade/tlfupgrade.go index c2e2142f78b3..a1e7a1536f0e 100644 --- a/go/tlfupgrade/tlfupgrade.go +++ b/go/tlfupgrade/tlfupgrade.go @@ -44,7 +44,7 @@ func NewBackgroundTLFUpdater(g *libkb.GlobalContext) *BackgroundTLFUpdater { return b } -func (b *BackgroundTLFUpdater) debug(ctx context.Context, msg string, args ...interface{}) { +func (b *BackgroundTLFUpdater) debug(ctx context.Context, msg string, args ...any) { b.G().Log.CDebugf(ctx, "BackgroundTLFUpdater: %s", fmt.Sprintf(msg, args...)) } diff --git a/go/tools/systemd/main.go b/go/tools/systemd/main.go index b914b3bf9b16..5675f2e322d0 100644 --- a/go/tools/systemd/main.go +++ b/go/tools/systemd/main.go @@ -1,5 +1,4 @@ //go:build linux && !android -// +build linux,!android package main diff --git a/go/uidmap/hardcoded_uids.go b/go/uidmap/hardcoded_uids.go index 4aa2f35a293f..f74a801f93d2 100644 --- a/go/uidmap/hardcoded_uids.go +++ b/go/uidmap/hardcoded_uids.go @@ -48,7 +48,7 @@ func usernameAtSortedIndex(i int) string { func initUsernameSort() { findInit() usernameSortOrder = make([]uint16, len(lengths)) - for i := 0; i < len(lengths); i++ { + for i := range len(lengths) { usernameSortOrder[i] = uint16(i) //nolint:gosec // G115: Hardcoded username list is small and bounded, safe to convert } sort.SliceStable(usernameSortOrder, func(i, j int) bool { diff --git a/go/uidmap/hardcoded_uids_test.go b/go/uidmap/hardcoded_uids_test.go index 51ff73812c43..22c255d1d3ed 100644 --- a/go/uidmap/hardcoded_uids_test.go +++ b/go/uidmap/hardcoded_uids_test.go @@ -91,7 +91,7 @@ func TestCheck(t *testing.T) { func TestUsernameSort(t *testing.T) { initUsernameSort() - for i := 0; i < len(lengths)-1; i++ { + for i := range len(lengths) - 1 { require.True(t, strings.Compare(usernameAtSortedIndex(i), usernameAtSortedIndex(i+1)) < 0) } } diff --git a/go/uidmap/uidmap.go b/go/uidmap/uidmap.go index c2a8594d2b5a..76241f4dcd3a 100644 --- a/go/uidmap/uidmap.go +++ b/go/uidmap/uidmap.go @@ -245,10 +245,7 @@ func (u *UIDMap) lookupFromServer(ctx context.Context, g libkb.UIDMapperContext, g.GetLog().CDebugf(ctx, "looking up %d uids from server", len(uids)) var ret []libkb.UsernamePackage for i := 0; i < len(uids); i += batchSize { - high := i + batchSize - if high > len(uids) { - high = len(uids) - } + high := min(i+batchSize, len(uids)) inb := uids[i:high] var budget time.Duration diff --git a/go/uidmap/uidmap_test.go b/go/uidmap/uidmap_test.go index aaa0158f2768..0a19eb55a3af 100644 --- a/go/uidmap/uidmap_test.go +++ b/go/uidmap/uidmap_test.go @@ -58,7 +58,7 @@ func TestLookupUsernameOnly(t *testing.T) { uidMap := NewUIDMap(10) - for i := 0; i < 4; i++ { + for i := range 4 { results, err := uidMap.MapUIDsToUsernamePackages(context.TODO(), tc.G, uids, 0, 0, false) require.NoError(t, err) for j, test := range tests { @@ -108,7 +108,7 @@ func TestLookupUsernameConcurrent(t *testing.T) { uidMap := NewUIDMap(10) - for i := 0; i < 4; i++ { + for i := range 4 { results, err := uidMap.MapUIDsToUsernamePackages(context.TODO(), tc.G, uids, 0, 0, false) require.NoError(t, err) for j, test := range tests { diff --git a/go/updater/command/command.go b/go/updater/command/command.go index 5e7e327fcc0c..17c40725bd8c 100644 --- a/go/updater/command/command.go +++ b/go/updater/command/command.go @@ -16,10 +16,10 @@ import ( // Log is the logging interface for the command package type Log interface { - Debugf(s string, args ...interface{}) - Infof(s string, args ...interface{}) - Warningf(s string, args ...interface{}) - Errorf(s string, args ...interface{}) + Debugf(s string, args ...any) + Infof(s string, args ...any) + Warningf(s string, args ...any) + Errorf(s string, args ...any) } // Program is a program at path with arguments @@ -117,10 +117,7 @@ func execWithFunc(name string, args []string, env []string, execCmd execCmd, tim // Signal the process to terminate gracefully // Wait a second or timeout for termination, whichever less - termWait := time.Second - if timeout < termWait { - termWait = timeout - } + termWait := min(timeout, time.Second) log.Warningf("Command timed out, terminating (will wait %s before killing)", termWait) err = cmd.Process.Signal(syscall.SIGTERM) if err != nil { @@ -142,7 +139,7 @@ func execWithFunc(name string, args []string, env []string, execCmd execCmd, tim } // ExecForJSON runs a command (with timeout) expecting JSON output with obj interface -func ExecForJSON(command string, args []string, obj interface{}, timeout time.Duration, log Log) error { +func ExecForJSON(command string, args []string, obj any, timeout time.Duration, log Log) error { result, err := execWithFunc(command, args, nil, exec.Command, timeout, log) if err != nil { return err diff --git a/go/updater/command/command_unix_test.go b/go/updater/command/command_unix_test.go index 27d5f8e8b8b4..bf859a869d9f 100644 --- a/go/updater/command/command_unix_test.go +++ b/go/updater/command/command_unix_test.go @@ -2,7 +2,6 @@ // this source code is governed by the included BSD license. //go:build linux || darwin -// +build linux darwin package command diff --git a/go/updater/command/command_windows_test.go b/go/updater/command/command_windows_test.go index 557aeba6e483..5e6f32bf5567 100644 --- a/go/updater/command/command_windows_test.go +++ b/go/updater/command/command_windows_test.go @@ -2,7 +2,6 @@ // this source code is governed by the included BSD license. //go:build windows -// +build windows package command diff --git a/go/updater/keybase/context.go b/go/updater/keybase/context.go index 566e8dfe3259..6e32f348ac41 100644 --- a/go/updater/keybase/context.go +++ b/go/updater/keybase/context.go @@ -25,12 +25,12 @@ var validCodeSigningKIDs = map[string]bool{ // Log is the logging interface for the keybase package type Log interface { - Debug(...interface{}) - Info(...interface{}) - Debugf(s string, args ...interface{}) - Infof(s string, args ...interface{}) - Warningf(s string, args ...interface{}) - Errorf(s string, args ...interface{}) + Debug(...any) + Info(...any) + Debugf(s string, args ...any) + Infof(s string, args ...any) + Warningf(s string, args ...any) + Errorf(s string, args ...any) } // context is an updater.Context implementation diff --git a/go/updater/keybase/context_darwin_test.go b/go/updater/keybase/context_darwin_test.go index 0ec402333f27..cba72f1c06fb 100644 --- a/go/updater/keybase/context_darwin_test.go +++ b/go/updater/keybase/context_darwin_test.go @@ -2,7 +2,6 @@ // this source code is governed by the included BSD license. //go:build darwin -// +build darwin package keybase diff --git a/go/updater/keybase/platform_darwin.go b/go/updater/keybase/platform_darwin.go index 2fd3602be35f..a4275c9f41aa 100644 --- a/go/updater/keybase/platform_darwin.go +++ b/go/updater/keybase/platform_darwin.go @@ -292,7 +292,7 @@ func openAppDarwin(bin string, appPath string, retryDelay time.Duration, log pro // We need to try 10 times because Gatekeeper has some issues, for example, // http://www.openradar.me/23614087 var err error - for i := 0; i < 10; i++ { + for range 10 { err = tryOpen() if err == nil { break diff --git a/go/updater/keybase/platform_darwin_test.go b/go/updater/keybase/platform_darwin_test.go index 3c05a388710e..b82c1fa3aafc 100644 --- a/go/updater/keybase/platform_darwin_test.go +++ b/go/updater/keybase/platform_darwin_test.go @@ -2,7 +2,6 @@ // this source code is governed by the included BSD license. //go:build darwin -// +build darwin package keybase diff --git a/go/updater/keybase/platform_linux_test.go b/go/updater/keybase/platform_linux_test.go index b3db43cbf1ae..8da699efdb7b 100644 --- a/go/updater/keybase/platform_linux_test.go +++ b/go/updater/keybase/platform_linux_test.go @@ -2,7 +2,6 @@ // this source code is governed by the included BSD license. //go:build linux -// +build linux package keybase diff --git a/go/updater/keybase/platform_windows_test.go b/go/updater/keybase/platform_windows_test.go index e49e446b8c1c..6f72a0daa6f8 100644 --- a/go/updater/keybase/platform_windows_test.go +++ b/go/updater/keybase/platform_windows_test.go @@ -2,7 +2,6 @@ // this source code is governed by the included BSD license. //go:build windows -// +build windows package keybase diff --git a/go/updater/process/process.go b/go/updater/process/process.go index 2b36bc2fcc37..fa69d77f3b84 100644 --- a/go/updater/process/process.go +++ b/go/updater/process/process.go @@ -15,10 +15,10 @@ import ( // Log is the logging interface for the process package type Log interface { - Debugf(s string, args ...interface{}) - Infof(s string, args ...interface{}) - Warningf(s string, args ...interface{}) - Errorf(s string, args ...interface{}) + Debugf(s string, args ...any) + Infof(s string, args ...any) + Warningf(s string, args ...any) + Errorf(s string, args ...any) } type ( diff --git a/go/updater/process/process_test.go b/go/updater/process/process_test.go index 300fd5d7103a..677ab3256863 100644 --- a/go/updater/process/process_test.go +++ b/go/updater/process/process_test.go @@ -164,7 +164,7 @@ func testTerminateAll(t *testing.T, path string, matcher Matcher, numProcs int) } pids := []int{} - for i := 0; i < numProcs; i++ { + for range numProcs { procPath, pid, cmd := startProcess(t, path, "sleep") t.Logf("Started process %q (%d)", procPath, pid) pids = append(pids, pid) diff --git a/go/updater/saltpack/saltpack.go b/go/updater/saltpack/saltpack.go index cfeac8fdb885..4ba6353559cf 100644 --- a/go/updater/saltpack/saltpack.go +++ b/go/updater/saltpack/saltpack.go @@ -17,8 +17,8 @@ import ( // Log is log interface for this package type Log interface { - Debugf(s string, args ...interface{}) - Infof(s string, args ...interface{}) + Debugf(s string, args ...any) + Infof(s string, args ...any) } // VerifyDetachedFileAtPath verifies a file diff --git a/go/updater/service/logger.go b/go/updater/service/logger.go index 61245bbaf34f..49519dcff1b9 100644 --- a/go/updater/service/logger.go +++ b/go/updater/service/logger.go @@ -15,42 +15,42 @@ import ( type logger struct{} // Debug is log implementation -func (l logger) Debug(s ...interface{}) { +func (l logger) Debug(s ...any) { log.Printf("DEBG %s\n", s) } // Info is log implementation -func (l logger) Info(s ...interface{}) { +func (l logger) Info(s ...any) { log.Printf("INFO %s\n", s) } // Debugf is log implementation -func (l logger) Debugf(s string, args ...interface{}) { +func (l logger) Debugf(s string, args ...any) { log.Printf("DEBG %s\n", fmt.Sprintf(s, args...)) } // Infof is log implementation -func (l logger) Infof(s string, args ...interface{}) { +func (l logger) Infof(s string, args ...any) { log.Printf("INFO %s\n", fmt.Sprintf(s, args...)) } // Warning is log implementation -func (l logger) Warning(s ...interface{}) { +func (l logger) Warning(s ...any) { log.Printf("WARN %s\n", s) } // Warningf is log implementation -func (l logger) Warningf(s string, args ...interface{}) { +func (l logger) Warningf(s string, args ...any) { log.Printf("WARN %s\n", fmt.Sprintf(s, args...)) } // Error is log implementation -func (l logger) Error(s ...interface{}) { +func (l logger) Error(s ...any) { log.Printf("ERR %s\n", s) } // Errorf is log implementation -func (l logger) Errorf(s string, args ...interface{}) { +func (l logger) Errorf(s string, args ...any) { log.Printf("ERR %s\n", fmt.Sprintf(s, args...)) } diff --git a/go/updater/service/pid.go b/go/updater/service/pid.go index 313f47069465..f1830823c84b 100644 --- a/go/updater/service/pid.go +++ b/go/updater/service/pid.go @@ -1,5 +1,4 @@ //go:build !windows -// +build !windows package main diff --git a/go/updater/service/service.go b/go/updater/service/service.go index cdc30091d6b6..e9a068f61263 100644 --- a/go/updater/service/service.go +++ b/go/updater/service/service.go @@ -10,12 +10,12 @@ import ( // Log is the logging interface for the service package type Log interface { - Debug(...interface{}) - Info(...interface{}) - Debugf(s string, args ...interface{}) - Infof(s string, args ...interface{}) - Warningf(s string, args ...interface{}) - Errorf(s string, args ...interface{}) + Debug(...any) + Info(...any) + Debugf(s string, args ...any) + Infof(s string, args ...any) + Warningf(s string, args ...any) + Errorf(s string, args ...any) } type service struct { diff --git a/go/updater/service/service_nix.go b/go/updater/service/service_nix.go index e3a1f081118d..049f102b4d44 100644 --- a/go/updater/service/service_nix.go +++ b/go/updater/service/service_nix.go @@ -1,5 +1,4 @@ //go:build !windows -// +build !windows package main diff --git a/go/updater/service/service_windows.go b/go/updater/service/service_windows.go index dadd1264d9b5..43394b9d70a4 100644 --- a/go/updater/service/service_windows.go +++ b/go/updater/service/service_windows.go @@ -1,5 +1,4 @@ //go:build windows -// +build windows package main diff --git a/go/updater/sources/log.go b/go/updater/sources/log.go index 5ed8371f8570..71980e7f50d9 100644 --- a/go/updater/sources/log.go +++ b/go/updater/sources/log.go @@ -5,8 +5,8 @@ package sources // Log is the logging interface for the sources package type Log interface { - Debugf(s string, args ...interface{}) - Infof(s string, args ...interface{}) - Warningf(s string, args ...interface{}) - Errorf(s string, args ...interface{}) + Debugf(s string, args ...any) + Infof(s string, args ...any) + Warningf(s string, args ...any) + Errorf(s string, args ...any) } diff --git a/go/updater/updater.go b/go/updater/updater.go index cd4e577ed861..51b4dfcd474d 100644 --- a/go/updater/updater.go +++ b/go/updater/updater.go @@ -71,12 +71,12 @@ type Config interface { // Log is the logging interface for this package type Log interface { - Debug(...interface{}) - Info(...interface{}) - Debugf(s string, args ...interface{}) - Infof(s string, args ...interface{}) - Warningf(s string, args ...interface{}) - Errorf(s string, args ...interface{}) + Debug(...any) + Info(...any) + Debugf(s string, args ...any) + Infof(s string, args ...any) + Warningf(s string, args ...any) + Errorf(s string, args ...any) } // NewUpdater constructs an Updater diff --git a/go/updater/updater_test.go b/go/updater/updater_test.go index bbc5da749145..5e30166b019e 100644 --- a/go/updater/updater_test.go +++ b/go/updater/updater_test.go @@ -783,14 +783,14 @@ func TestUpdaterGuiBusy(t *testing.T) { // Now put the config file there and make sure the right error is returned now := time.Now().Unix() * 1000 - err = os.WriteFile(testAppStatePath, []byte(fmt.Sprintf(`{"isUserActive":true, "changedAtMs":%d}`, now)), 0o600) + err = os.WriteFile(testAppStatePath, fmt.Appendf(nil, `{"isUserActive":true, "changedAtMs":%d}`, now), 0o600) assert.NoError(t, err) defer util.RemoveFileAtPath(testAppStatePath) _, err = upr.Update(ctx) assert.EqualError(t, err, "Update Error (guiBusy): User active, retrying later") // If the user was recently active, they are still considered busy. - err = os.WriteFile(testAppStatePath, []byte(fmt.Sprintf(`{"isUserActive":false, "changedAtMs":%d}`, now)), 0o600) + err = os.WriteFile(testAppStatePath, fmt.Appendf(nil, `{"isUserActive":false, "changedAtMs":%d}`, now), 0o600) assert.NoError(t, err) _, err = upr.Update(ctx) assert.EqualError(t, err, "Update Error (guiBusy): User active, retrying later") @@ -803,7 +803,7 @@ func TestUpdaterGuiBusy(t *testing.T) { // If the user wasn't recently active, they are not considered busy ctx.isCheckCommand = false later := time.Now().Add(-5*time.Minute).Unix() * 1000 - err = os.WriteFile(testAppStatePath, []byte(fmt.Sprintf(`{"isUserActive":false, "changedAtMs":%d}`, later)), 0o600) + err = os.WriteFile(testAppStatePath, fmt.Appendf(nil, `{"isUserActive":false, "changedAtMs":%d}`, later), 0o600) assert.NoError(t, err) _, err = upr.Update(ctx) assert.NoError(t, err) diff --git a/go/updater/util/log.go b/go/updater/util/log.go index ac5d2e006b7c..57b58d82e2ce 100644 --- a/go/updater/util/log.go +++ b/go/updater/util/log.go @@ -5,8 +5,8 @@ package util // Log is the logging interface for the util package type Log interface { - Debugf(s string, args ...interface{}) - Infof(s string, args ...interface{}) - Warningf(s string, args ...interface{}) - Errorf(s string, args ...interface{}) + Debugf(s string, args ...any) + Infof(s string, args ...any) + Warningf(s string, args ...any) + Errorf(s string, args ...any) } diff --git a/go/updater/util/unzip.go b/go/updater/util/unzip.go index 68bf7babe06f..0fee2b2f5f93 100644 --- a/go/updater/util/unzip.go +++ b/go/updater/util/unzip.go @@ -29,7 +29,7 @@ func removeAllWithRetry(path string, log Log) error { if runtime.GOOS == "windows" && strings.Contains(err.Error(), "being used by another process") { log.Infof("File locked on Windows, retrying removal of %s", path) maxRetries := 3 - for i := 0; i < maxRetries; i++ { + for i := range maxRetries { time.Sleep(100 * time.Millisecond * time.Duration(i+1)) // Exponential backoff: 100ms, 200ms, 300ms err = os.RemoveAll(path) if err == nil { diff --git a/go/updater/util/unzip_nix_test.go b/go/updater/util/unzip_nix_test.go index 8058cfa9b723..24ca59cb70e3 100644 --- a/go/updater/util/unzip_nix_test.go +++ b/go/updater/util/unzip_nix_test.go @@ -2,7 +2,6 @@ // this source code is governed by the included BSD license. //go:build !windows -// +build !windows package util diff --git a/go/updater/watchdog/watchdog.go b/go/updater/watchdog/watchdog.go index 8dbc286a3917..ce1c5aefd1c8 100644 --- a/go/updater/watchdog/watchdog.go +++ b/go/updater/watchdog/watchdog.go @@ -40,10 +40,10 @@ type Program struct { // Log is the logging interface for the watchdog package type Log interface { - Debugf(s string, args ...interface{}) - Infof(s string, args ...interface{}) - Warningf(s string, args ...interface{}) - Errorf(s string, args ...interface{}) + Debugf(s string, args ...any) + Infof(s string, args ...any) + Warningf(s string, args ...any) + Errorf(s string, args ...any) } type Watchdog struct { diff --git a/go/updater/watchdog/watchdog_test.go b/go/updater/watchdog/watchdog_test.go index 4fc0923f203a..3adc6719950e 100644 --- a/go/updater/watchdog/watchdog_test.go +++ b/go/updater/watchdog/watchdog_test.go @@ -1,5 +1,4 @@ //go:build !windows -// +build !windows // Copyright 2015 Keybase, Inc. All rights reserved. Use of // this source code is governed by the included BSD license. @@ -109,7 +108,7 @@ func TestTerminateBeforeWatchRace(t *testing.T) { // set up a bunch of iterations of the same program programName := "TestTerminateBeforeWatchRace" otherIterations := make([]Program, 6) - for i := 0; i < 6; i++ { + for i := range 6 { otherIterations[i] = procProgram(t, programName, "sleep") } mainProgram := procProgram(t, programName, "sleep") @@ -254,7 +253,7 @@ func TestWatchdogExitAllRace(t *testing.T) { // spin up three watchdogs at the same time with the same three programs var wg sync.WaitGroup - for i := 0; i < 3; i++ { + for range 3 { wg.Add(1) go func() { defer wg.Done() diff --git a/protocol/.gitignore b/protocol/.gitignore index 001fff12b82f..849bb3200e01 100644 --- a/protocol/.gitignore +++ b/protocol/.gitignore @@ -1,6 +1,8 @@ +.config build-stamp node_modules/ objc-build-stamp swift-build-stamp go-build-stamp js/ +.tsOuts diff --git a/protocol/Makefile b/protocol/Makefile index c09661669f49..0d531e32406c 100644 --- a/protocol/Makefile +++ b/protocol/Makefile @@ -1,17 +1,23 @@ default: build all: build -ICED=node_modules/.bin/iced AVDL2JSON=node_modules/.bin/avdl2json AVDLC=node_modules/.bin/avdlc -$(AVDL2JSON): config +$(AVDL2JSON): .config json/%.json: avdl/%.avdl $(AVDL2JSON) -i $< -o $@~ && mv $@~ $@ -config: +# Real file target (not phony) so Make can compare to yarn.lock and only reinstall +# when the lockfile changes. Clear only the git dep from cache so Yarn refetches it +# (avdl-compiler); other packages stay cached. Add more names if we add git deps. +.config: yarn.lock + rm -rf node_modules + yarn cache clean avdl-compiler yarn --pure-lockfile + touch $@ +config: .config # By default, all avdl/*.avdl are considered and made into outputs # as long as they have messages in them. BUT you can override this @@ -19,7 +25,7 @@ config: # messages but should be made into .json's... # We don't need kbgitkbfs1 in JSON so we aren't including them in the commands # here. -build-stamp: avdl/keybase1/*.avdl avdl/gregor1/*.avdl avdl/chat1/*.avdl avdl/stellar1/*.avdl $(AVDL2JSON) | config +build-stamp: avdl/keybase1/*.avdl avdl/gregor1/*.avdl avdl/chat1/*.avdl avdl/stellar1/*.avdl $(AVDL2JSON) | .config @mkdir -p json/keybase1 @mkdir -p json/gregor1 @mkdir -p json/chat1 @@ -30,7 +36,7 @@ build-stamp: avdl/keybase1/*.avdl avdl/gregor1/*.avdl avdl/chat1/*.avdl avdl/ste $(AVDL2JSON) -2 -b -o json/stellar1 -f workaround avdl/stellar1/*.avdl date > $@ -go-build-stamp: avdl/keybase1/*.avdl avdl/gregor1/*.avdl avdl/chat1/*.avdl avdl/stellar1/*.avdl $(AVDLC) | config +go-build-stamp: avdl/keybase1/*.avdl avdl/gregor1/*.avdl avdl/chat1/*.avdl avdl/stellar1/*.avdl $(AVDLC) | .config @mkdir -p ../go/protocol/keybase1 @mkdir -p ../go/protocol/gregor1 @mkdir -p ../go/protocol/chat1 @@ -41,24 +47,27 @@ go-build-stamp: avdl/keybase1/*.avdl avdl/gregor1/*.avdl avdl/chat1/*.avdl avdl/ $(AVDLC) -b -l go -m -o ../go/protocol/chat1 avdl/chat1/*.avdl $(AVDLC) -b -l go -m -o ../go/protocol/stellar1 avdl/stellar1/*.avdl $(AVDLC) -b -l go -m -o ../go/protocol/kbgitkbfs1 avdl/kbgitkbfs1/*.avdl + go -C ../go tool goimports -w protocol go -C ../go tool gofumpt -w protocol date > $@ -js/rpc.js: build-stamp | config +js/rpc.js: build-stamp | .config @mkdir -p js/ - node ./bin/flow.js - cp ./js/rpc*.tsx ../shared/constants/types - cp ./js/engine-gen.json ../shared/actions/json + @mkdir -p ../shared/constants/rpc + rm -f ../shared/constants/types/rpc*.tsx + rm -f ../shared/actions/engine-gen-gen.tsx + node ./bin/generate-ts.ts + cp ./js/rpc*.tsx ../shared/constants/rpc -build-go-bot-types: avdl/keybase1/*.avdl avdl/gregor1/*.avdl avdl/chat1/*.avdl avdl/stellar1/*.avdl $(AVDLC) | config +build-go-bot-types: avdl/keybase1/*.avdl avdl/gregor1/*.avdl avdl/chat1/*.avdl avdl/stellar1/*.avdl $(AVDLC) | .config $(AVDLC) -b -l go -m -t -o ../../go-keybase-chat-bot/kbchat/types/keybase1 avdl/keybase1/*.avdl $(AVDLC) -b -l go -m -t -o ../../go-keybase-chat-bot/kbchat/types/gregor1 avdl/gregor1/*.avdl $(AVDLC) -b -l go -m -t -o ../../go-keybase-chat-bot/kbchat/types/chat1 avdl/chat1/*.avdl $(AVDLC) -b -l go -m -t -o ../../go-keybase-chat-bot/kbchat/types/stellar1 avdl/stellar1/*.avdl - (cd ../../go-keybase-chat-bot/kbchat/types && goimports -w .) + (cd ../../go-keybase-chat-bot/kbchat/types && gofumpt -w .) clean: - rm -rf json/*.json json/*/*.json js/* *build-stamp + rm -rf json/*.json json/*/*.json js/* *build-stamp .config $(AVDLC) -c -b -l go -m -o ../go/protocol/keybase1 avdl/keybase1/*.avdl $(AVDLC) -c -b -l go -m -o ../go/protocol/gregor1 avdl/gregor1/*.avdl $(AVDLC) -c -b -l go -m -o ../go/protocol/chat1 avdl/chat1/*.avdl diff --git a/protocol/avdl/keybase1/login.avdl b/protocol/avdl/keybase1/login.avdl index 2ee7f816283a..d46df3e0ce30 100644 --- a/protocol/avdl/keybase1/login.avdl +++ b/protocol/avdl/keybase1/login.avdl @@ -9,6 +9,7 @@ protocol login { FullName fullname; boolean hasStoredSecret; boolean isCurrent; + UID uid; } /** diff --git a/protocol/bin/enabled-calls.json b/protocol/bin/enabled-calls.json index baec11e435ab..eb3360697450 100644 --- a/protocol/bin/enabled-calls.json +++ b/protocol/bin/enabled-calls.json @@ -1,405 +1,471 @@ { - "chat.1.chatUi.chatLoadGalleryHit": {"incoming": true}, - "chat.1.chatUi.chatSearchBotHits": {"incoming": true}, - "chat.1.chatUi.chatSearchConvHits": {"incoming": true}, - "chat.1.chatUi.chatSearchDone": {"incoming": true}, - "chat.1.chatUi.chatSearchHit": {"incoming": true}, - "chat.1.chatUi.chatSearchInboxDone": {"incoming": true}, - "chat.1.chatUi.chatSearchInboxHit": {"incoming": true}, - "chat.1.chatUi.chatSearchInboxStart": {"incoming": true}, - "chat.1.chatUi.chatSearchIndexStatus": {"incoming": true}, - "chat.1.chatUi.chatSearchTeamHits": {"incoming": true}, - "chat.1.chatUi.chatStellarDataConfirm": {"custom": true}, - "chat.1.chatUi.chatStellarDataError": {"custom": true}, - "chat.1.chatUi.chatStellarDone": {"incoming": true}, - "chat.1.chatUi.chatStellarShowConfirm": {"incoming": true}, - "chat.1.chatUi.chatThreadCached": {"incoming": true}, - "chat.1.chatUi.chatThreadFull": {"incoming": true}, - "chat.1.chatUi.chatThreadStatus": {"incoming": true}, - "chat.1.local.CancelPost": {"promise": true}, - "chat.1.local.ConfigureFileAttachmentDownloadLocal": {"promise": true}, - "chat.1.local.DownloadFileAttachmentLocal": {"promise": true}, - "chat.1.local.RetryPost": {"promise": true}, - "chat.1.local.SetConversationStatusLocal": {"promise": true}, - "chat.1.local.addBotConvSearch": {"promise": true}, - "chat.1.local.addBotMember": {"promise": true}, - "chat.1.local.addEmojiAlias": {"promise": true}, - "chat.1.local.addEmojis": {"promise": true}, - "chat.1.local.addTeamMemberAfterReset": {"promise": true}, - "chat.1.local.archiveChat": {"promise": true}, - "chat.1.local.archiveChatDelete": {"promise": true}, - "chat.1.local.archiveChatList": {"promise": true}, - "chat.1.local.archiveChatPause": {"promise": true}, - "chat.1.local.archiveChatResume": {"promise": true}, - "chat.1.local.bulkAddToConv": {"promise": true}, - "chat.1.local.bulkAddToManyConvs": {"promise": true}, - "chat.1.local.cancelActiveInboxSearch": {"promise": true}, - "chat.1.local.cancelActiveSearch": {"promise": true}, - "chat.1.local.cancelUploadTempFile": {"promise": true}, - "chat.1.local.deleteConversationLocal": {"promise": true}, - "chat.1.local.dismissJourneycard": {"promise": true}, - "chat.1.local.editBotMember": {"promise": true}, - "chat.1.local.findConversationsLocal": {"promise": true}, - "chat.1.local.findGeneralConvFromTeamID": {"promise": true}, - "chat.1.local.forwardMessageConvSearch": {"promise": true}, - "chat.1.local.forwardMessageNonblock": {"promise": true}, - "chat.1.local.getBotMemberSettings": {"promise": true}, - "chat.1.local.getChannelMembershipsLocal": {"promise": true}, - "chat.1.local.getDefaultTeamChannelsLocal": {"promise": true}, - "chat.1.local.getGlobalAppNotificationSettingsLocal": {"promise": true}, - "chat.1.local.getInboxAndUnboxUILocal": {"promise": true}, - "chat.1.local.getLastActiveAtMultiLocal": {"promise": true}, - "chat.1.local.getLastActiveForTLF": {"promise": true}, - "chat.1.local.getLastActiveForTeams": {"promise": true}, - "chat.1.local.getMutualTeamsLocal": {"promise": true}, - "chat.1.local.getNextAttachmentMessageLocal": {"promise": true}, - "chat.1.local.getRecentJoinsLocal": {"promise": true}, - "chat.1.local.getStaticConfig": {"promise": true}, - "chat.1.local.getTLFConversationsLocal": {"promise": true}, - "chat.1.local.getTeamRetentionLocal": {"promise": true}, - "chat.1.local.getTeamRoleInConversation": {"promise": true}, - "chat.1.local.getThreadLocal": {"promise": true}, - "chat.1.local.getThreadNonblock": {"engineListener": true}, - "chat.1.local.getUnfurlSettings": {"promise": true}, - "chat.1.local.getUnreadline": {"promise": true}, - "chat.1.local.getUploadTempFile": {"promise": true}, - "chat.1.local.getWelcomeMessage": {"promise": true}, - "chat.1.local.giphySearch": {"promise": true}, - "chat.1.local.ignorePinnedMessage": {"promise": true}, - "chat.1.local.joinConversationByIDLocal": {"promise": true}, - "chat.1.local.leaveConversationLocal": {"promise": true}, - "chat.1.local.listPublicBotCommandsLocal": {"promise": true}, - "chat.1.local.loadGallery": {"engineListener": true}, - "chat.1.local.locationDenied": {"promise": true}, - "chat.1.local.locationUpdate": {"promise": true}, - "chat.1.local.makeAudioPreview": {"promise": true}, - "chat.1.local.makePreview": {"promise": true}, - "chat.1.local.makeUploadTempFile": {"promise": true}, - "chat.1.local.markAsReadLocal": {"promise": true}, - "chat.1.local.markTLFAsReadLocal": {"promise": true}, - "chat.1.local.newConversationLocal": {"promise": true}, - "chat.1.local.pinMessage": {"promise": true}, - "chat.1.local.postDeleteHistoryByAge": {"promise": true}, - "chat.1.local.postDeleteNonblock": {"promise": true}, - "chat.1.local.postEditNonblock": {"promise": true}, - "chat.1.local.postFileAttachmentLocalNonblock": {"promise": true}, - "chat.1.local.postHeadline": {"promise": true}, - "chat.1.local.postHeadlineNonblock": {"promise": true}, - "chat.1.local.postMetadata": {"promise": true}, - "chat.1.local.postReactionNonblock": {"promise": true}, - "chat.1.local.postTextNonblock": {"engineListener": true, "promise": true}, - "chat.1.local.previewConversationByIDLocal": {"promise": true}, - "chat.1.local.profileChatSearch": {"promise": true}, - "chat.1.local.putReacjiSkinTone": {"promise": true}, - "chat.1.local.refreshParticipants": {"promise": true}, - "chat.1.local.removeBotMember": {"promise": true}, - "chat.1.local.removeEmoji": {"promise": true}, - "chat.1.local.removeFromConversationLocal": {"promise": true}, - "chat.1.local.requestInboxLayout": {"promise": true}, - "chat.1.local.requestInboxSmallIncrease": {"promise": true}, - "chat.1.local.requestInboxSmallReset": {"promise": true}, - "chat.1.local.requestInboxUnbox": {"promise": true}, - "chat.1.local.resolveMaybeMention": {"promise": true}, - "chat.1.local.resolveUnfurlPrompt": {"promise": true}, - "chat.1.local.saveUnfurlSettings": {"promise": true}, - "chat.1.local.searchInbox": {"engineListener": true}, - "chat.1.local.setAppNotificationSettingsLocal": {"promise": true}, - "chat.1.local.setBotMemberSettings": {"promise": true}, - "chat.1.local.setConvMinWriterRoleLocal": {"promise": true}, - "chat.1.local.setConvRetentionLocal": {"promise": true}, - "chat.1.local.setDefaultTeamChannelsLocal": {"promise": true}, - "chat.1.local.setGlobalAppNotificationSettingsLocal": {"promise": true}, - "chat.1.local.setTeamRetentionLocal": {"promise": true}, - "chat.1.local.setWelcomeMessage": {"promise": true}, - "chat.1.local.simpleSearchInboxConvNames": {"promise": true}, - "chat.1.local.toggleEmojiAnimations": {"promise": true}, - "chat.1.local.toggleMessageCollapse": {"promise": true}, - "chat.1.local.trackGiphySelect": {"promise": true}, - "chat.1.local.unboxMobilePushNotification": {"promise": true}, - "chat.1.local.unpinMessage": {"promise": true}, - "chat.1.local.updateTyping": {"promise": true}, - "chat.1.local.updateUnsentText": {"promise": true}, - "chat.1.local.userEmojis": {"promise": true}, - "keybase.1.Proxy.getProxyData": {"promise": true}, - "keybase.1.Proxy.setProxyData": {"promise": true}, - "keybase.1.SimpleFS.simpleFSArchiveCancelOrDismissJob": {"promise": true}, - "keybase.1.SimpleFS.simpleFSArchiveStart": {"promise": true}, - "keybase.1.SimpleFS.simpleFSCancelDownload": {"promise": true}, - "keybase.1.SimpleFS.simpleFSCheckReachability": {"promise": true}, - "keybase.1.SimpleFS.simpleFSClearConflictState": {"promise": true}, - "keybase.1.SimpleFS.simpleFSConfigureDownload": {"promise": true}, - "keybase.1.SimpleFS.simpleFSCopyRecursive": {"promise": true}, - "keybase.1.SimpleFS.simpleFSDismissDownload": {"promise": true}, - "keybase.1.SimpleFS.simpleFSDismissUpload": {"promise": true}, - "keybase.1.SimpleFS.simpleFSFinishResolvingConflict": {"promise": true}, - "keybase.1.SimpleFS.simpleFSFolderSyncConfigAndStatus": {"promise": true}, - "keybase.1.SimpleFS.simpleFSGetArchiveJobFreshness": {"promise": true}, - "keybase.1.SimpleFS.simpleFSGetArchiveStatus": {"promise": true}, - "keybase.1.SimpleFS.simpleFSArchiveAllFiles": {"promise": true}, - "keybase.1.SimpleFS.simpleFSArchiveAllGitRepos": {"promise": true}, - "keybase.1.SimpleFS.simpleFSGetDownloadInfo": {"promise": true}, - "keybase.1.SimpleFS.simpleFSGetDownloadStatus": {"promise": true}, - "keybase.1.SimpleFS.simpleFSGetFilesTabBadge": {"promise": true}, - "keybase.1.SimpleFS.simpleFSGetFolder": {"promise": true}, - "keybase.1.SimpleFS.simpleFSGetGUIFileContext": {"promise": true}, - "keybase.1.SimpleFS.simpleFSGetOnlineStatus": {"promise": true}, - "keybase.1.SimpleFS.simpleFSGetUploadStatus": {"promise": true}, - "keybase.1.SimpleFS.simpleFSList": {"promise": true}, - "keybase.1.SimpleFS.simpleFSListFavorites": {"promise": true}, - "keybase.1.SimpleFS.simpleFSListRecursiveToDepth": {"promise": true}, - "keybase.1.SimpleFS.simpleFSMakeTempDirForUpload": {"promise": true}, - "keybase.1.SimpleFS.simpleFSMove": {"promise": true}, - "keybase.1.SimpleFS.simpleFSOpen": {"promise": true}, - "keybase.1.SimpleFS.simpleFSReadList": {"promise": true}, - "keybase.1.SimpleFS.simpleFSRemove": {"promise": true}, - "keybase.1.SimpleFS.simpleFSSetDebugLevel": {"promise": true}, - "keybase.1.SimpleFS.simpleFSSetFolderSyncConfig": {"promise": true}, - "keybase.1.SimpleFS.simpleFSSetNotificationThreshold": {"promise": true}, - "keybase.1.SimpleFS.simpleFSSetSfmiBannerDismissed": {"promise": true}, - "keybase.1.SimpleFS.simpleFSSetSyncOnCellular": {"promise": true}, - "keybase.1.SimpleFS.simpleFSSettings": {"promise": true}, - "keybase.1.SimpleFS.simpleFSStartDownload": {"promise": true}, - "keybase.1.SimpleFS.simpleFSStartUpload": {"promise": true}, - "keybase.1.SimpleFS.simpleFSStat": {"promise": true}, - "keybase.1.SimpleFS.simpleFSSubscribeNonPath": {"promise": true}, - "keybase.1.SimpleFS.simpleFSSubscribePath": {"promise": true}, - "keybase.1.SimpleFS.simpleFSSyncStatus": {"promise": true}, - "keybase.1.SimpleFS.simpleFSUnsubscribe": {"promise": true}, - "keybase.1.SimpleFS.simpleFSUserEditHistory": {"promise": true}, - "keybase.1.SimpleFS.simpleFSUserIn": {"promise": true}, - "keybase.1.SimpleFS.simpleFSUserOut": {"promise": true}, - "keybase.1.SimpleFS.simpleFSWait": {"promise": true}, - "keybase.1.account.cancelReset": {"promise": true}, - "keybase.1.account.enterResetPipeline": {"engineListener": true}, - "keybase.1.account.getLockdownMode": {"promise": true}, - "keybase.1.account.guessCurrentLocation": {"promise": true}, - "keybase.1.account.hasServerKeys": {"promise": true}, - "keybase.1.account.passphraseChange": {"promise": true}, - "keybase.1.account.passphraseCheck": {"promise": true}, - "keybase.1.account.recoverUsernameWithEmail": {"promise": true}, - "keybase.1.account.recoverUsernameWithPhone": {"promise": true}, - "keybase.1.account.setLockdownMode": {"promise": true}, - "keybase.1.account.userGetContactSettings": {"promise": true}, - "keybase.1.account.userSetContactSettings": {"promise": true}, - "keybase.1.apiserver.Delete": {"promise": true}, - "keybase.1.apiserver.GetWithSession": {"promise": true}, - "keybase.1.apiserver.Post": {"promise": true}, - "keybase.1.apiserver.PostJSON": {"promise": true}, - "keybase.1.appState.powerMonitorEvent": {"promise": true}, - "keybase.1.appState.updateMobileNetState": {"promise": true}, - "keybase.1.config.appendGUILogs": {"promise": true}, - "keybase.1.config.generateWebAuthToken": {"promise": true}, - "keybase.1.config.getBootstrapStatus": {"promise": true}, - "keybase.1.config.getProxyData": {"promise": true}, - "keybase.1.config.getRememberPassphrase": {"promise": true}, - "keybase.1.config.getUpdateInfo": {"promise": true}, - "keybase.1.config.getUpdateInfo2": {"promise": true}, - "keybase.1.config.guiGetValue": {"promise": true}, - "keybase.1.config.guiSetValue": {"promise": true}, - "keybase.1.config.helloIAm": {"promise": true}, - "keybase.1.config.logSend": {"promise": true}, - "keybase.1.config.requestFollowingAndUnverifiedFollowers": {"promise": true}, - "keybase.1.config.setProxyData": {"promise": true}, - "keybase.1.config.setRememberPassphrase": {"promise": true}, - "keybase.1.config.startUpdateIfNeeded": {"promise": true}, - "keybase.1.config.toggleRuntimeStats": {"promise": true}, - "keybase.1.config.updateLastLoggedInAndServerConfig": {"promise": true}, - "keybase.1.config.waitForClient": {"promise": true}, - "keybase.1.contacts.getContactsForUserRecommendations": {"promise": true}, - "keybase.1.contacts.saveContactList": {"promise": true}, - "keybase.1.cryptocurrency.registerAddress": {"promise": true}, - "keybase.1.ctl.dbNuke": {"promise": true}, - "keybase.1.ctl.getOnLoginStartup": {"promise": true}, - "keybase.1.ctl.setOnLoginStartup": {"promise": true}, - "keybase.1.ctl.stop": {"promise": true}, - "keybase.1.delegateUiCtl.registerChatUI": {"promise": true}, - "keybase.1.delegateUiCtl.registerGregorFirehoseFiltered": {"promise": true}, - "keybase.1.delegateUiCtl.registerHomeUI": {"promise": true}, - "keybase.1.delegateUiCtl.registerIdentify3UI": {"promise": true}, - "keybase.1.delegateUiCtl.registerLogUI": {"promise": true}, - "keybase.1.delegateUiCtl.registerRekeyUI": {"promise": true}, - "keybase.1.delegateUiCtl.registerSecretUI": {"promise": true}, - "keybase.1.device.checkDeviceNameFormat": {"promise": true}, - "keybase.1.device.deviceAdd": {"engineListener": true}, - "keybase.1.device.deviceHistoryList": {"promise": true}, - "keybase.1.device.dismissDeviceChangeNotifications": {"promise": true}, - "keybase.1.emails.addEmail": {"promise": true}, - "keybase.1.emails.deleteEmail": {"promise": true}, - "keybase.1.emails.sendVerificationEmail": {"promise": true}, - "keybase.1.emails.setPrimaryEmail": {"promise": true}, - "keybase.1.emails.setVisibilityEmail": {"promise": true}, - "keybase.1.favorite.favoriteIgnore": {"promise": true}, - "keybase.1.featuredBot.featuredBots": {"promise": true}, - "keybase.1.featuredBot.search": {"promise": true}, - "keybase.1.git.createPersonalRepo": {"promise": true}, - "keybase.1.git.createTeamRepo": {"promise": true}, - "keybase.1.git.deletePersonalRepo": {"promise": true}, - "keybase.1.git.deleteTeamRepo": {"promise": true}, - "keybase.1.git.getAllGitMetadata": {"promise": true}, - "keybase.1.git.setTeamRepoSettings": {"promise": true}, - "keybase.1.gpgUi.selectKey": {"custom": true}, - "keybase.1.gpgUi.wantToAddGPGKey": {"custom": true}, - "keybase.1.gregor.dismissCategory": {"promise": true}, - "keybase.1.gregor.getState": {"promise": true}, - "keybase.1.gregor.updateCategory": {"promise": true}, - "keybase.1.home.homeDismissAnnouncement": {"promise": true}, - "keybase.1.home.homeGetScreen": {"promise": true}, - "keybase.1.home.homeMarkViewed": {"promise": true}, - "keybase.1.home.homeSkipTodoType": {"promise": true}, - "keybase.1.identify3.identify3": {"engineListener": true}, - "keybase.1.identify3.identify3FollowUser": {"promise": true}, - "keybase.1.identify3.identify3IgnoreUser": {"promise": true}, - "keybase.1.incomingShare.getIncomingShareItems": {"promise": true}, - "keybase.1.incomingShare.getPreference": {"promise": true}, - "keybase.1.incomingShare.setPreference": {"promise": true}, - "keybase.1.install.fuseStatus": {"promise": true}, - "keybase.1.install.installFuse": {"promise": true}, - "keybase.1.install.installKBFS": {"promise": true}, - "keybase.1.install.uninstallKBFS": {"promise": true}, - "keybase.1.kbfsMount.GetCurrentMountDir": {"promise": true}, - "keybase.1.kbfsMount.GetKBFSPathInfo": {"promise": true}, - "keybase.1.kbfsMount.GetPreferredMountDirs": {"promise": true}, - "keybase.1.kbfsMount.WaitForMounts": {"promise": true}, - "keybase.1.log.perfLogPoint": {"promise": true}, - "keybase.1.login.accountDelete": {"promise": true}, - "keybase.1.login.deprovision": {"promise": true}, - "keybase.1.login.getConfiguredAccounts": {"promise": true}, - "keybase.1.login.isOnline": {"promise": true}, - "keybase.1.login.login": {"engineListener": true}, - "keybase.1.login.logout": {"promise": true}, - "keybase.1.login.paperKey": {"engineListener": true}, - "keybase.1.login.paperKeySubmit": {"promise": true}, - "keybase.1.login.recoverPassphrase": {"engineListener": true}, - "keybase.1.loginUi.chooseDeviceToRecoverWith": {"custom": true}, - "keybase.1.loginUi.displayPaperKeyPhrase": {"incoming": true}, - "keybase.1.loginUi.displayPrimaryPaperKey": {"incoming": true}, - "keybase.1.loginUi.displayResetProgress": {"incoming": true}, - "keybase.1.loginUi.explainDeviceRecovery": {"incoming": true}, - "keybase.1.loginUi.getEmailOrUsername": {"custom": true}, - "keybase.1.loginUi.promptPassphraseRecovery": {"custom": true}, - "keybase.1.loginUi.promptResetAccount": {"custom": true}, - "keybase.1.loginUi.promptRevokePaperKeys": {"custom": true}, - "keybase.1.notifyCtl.setNotifications": {"promise": true}, - "keybase.1.notifyTracking.notifyUserBlocked": {"promise": true}, - "keybase.1.pgp.pgpKeyGenDefault": {"engineListener": true}, - "keybase.1.pgp.pgpStorageDismiss": {"promise": true}, - "keybase.1.pgpUi.finished": {"incoming": true}, - "keybase.1.pgpUi.keyGenerated": {"custom": true}, - "keybase.1.pgpUi.shouldPushPrivate": {"custom": true}, - "keybase.1.phoneNumbers.addPhoneNumber": {"promise": true}, - "keybase.1.phoneNumbers.deletePhoneNumber": {"promise": true}, - "keybase.1.phoneNumbers.resendVerificationForPhoneNumber": {"promise": true}, - "keybase.1.phoneNumbers.setVisibilityPhoneNumber": {"promise": true}, - "keybase.1.phoneNumbers.verifyPhoneNumber": {"promise": true}, - "keybase.1.pprof.logProcessorProfile": {"promise": true}, - "keybase.1.pprof.logTrace": {"promise": true}, - "keybase.1.prove.checkProof": {"promise": true}, - "keybase.1.prove.startProof": {"engineListener": true}, - "keybase.1.proveUi.checking": {"custom": true}, - "keybase.1.proveUi.continueChecking": {"custom": true}, - "keybase.1.proveUi.displayRecheckWarning": {"incoming": true}, - "keybase.1.proveUi.okToCheck": {"custom": true}, - "keybase.1.proveUi.outputInstructions": {"custom": true}, - "keybase.1.proveUi.outputPrechecks": {"incoming": true}, - "keybase.1.proveUi.preProofWarning": {"custom": true}, - "keybase.1.proveUi.promptOverwrite": {"custom": true}, - "keybase.1.proveUi.promptUsername": {"custom": true}, - "keybase.1.provisionUi.DisplayAndPromptSecret": {"custom": true}, - "keybase.1.provisionUi.DisplaySecretExchanged": {"incoming": true}, - "keybase.1.provisionUi.PromptNewDeviceName": {"custom": true}, - "keybase.1.provisionUi.ProvisioneeSuccess": {"incoming": true}, - "keybase.1.provisionUi.ProvisionerSuccess": {"incoming": true}, - "keybase.1.provisionUi.chooseDevice": {"custom": true}, - "keybase.1.provisionUi.chooseDeviceType": {"custom": true}, - "keybase.1.provisionUi.chooseGPGMethod": {"custom": true}, - "keybase.1.provisionUi.switchToGPGSignOK": {"custom": true}, - "keybase.1.reachability.checkReachability": {"promise": true}, - "keybase.1.reachability.reachabilityChanged": {"incoming": true}, - "keybase.1.reachability.startReachability": {"promise": true}, - "keybase.1.rekey.getRevokeWarning": {"promise": true}, - "keybase.1.rekey.rekeyStatusFinish": {"promise": true}, - "keybase.1.rekey.showPendingRekeyStatus": {"promise": true}, - "keybase.1.rekeyUI.refresh": {"incoming": true}, - "keybase.1.rekeyUI.rekeySendEvent": {"incoming": true}, - "keybase.1.revoke.revokeDevice": {"promise": true}, - "keybase.1.revoke.revokeKey": {"promise": true}, - "keybase.1.revoke.revokeSigs": {"promise": true}, - "keybase.1.saltpack.saltpackDecryptFile": {"promise": true}, - "keybase.1.saltpack.saltpackDecryptString": {"promise": true}, - "keybase.1.saltpack.saltpackEncryptFile": {"promise": true}, - "keybase.1.saltpack.saltpackEncryptString": {"promise": true}, - "keybase.1.saltpack.saltpackSaveCiphertextToFile": {"promise": true}, - "keybase.1.saltpack.saltpackSaveSignedMsgToFile": {"promise": true}, - "keybase.1.saltpack.saltpackSignFile": {"promise": true}, - "keybase.1.saltpack.saltpackSignString": {"promise": true}, - "keybase.1.saltpack.saltpackVerifyFile": {"promise": true}, - "keybase.1.saltpack.saltpackVerifyString": {"promise": true}, - "keybase.1.secretUi.getPassphrase": {"custom": true}, - "keybase.1.signup.checkInvitationCode": {"promise": true}, - "keybase.1.signup.checkUsernameAvailable": {"promise": true}, - "keybase.1.signup.getInvitationCode": {"promise": true}, - "keybase.1.signup.inviteRequest": {"promise": true}, - "keybase.1.signup.signup": {"engineListener": true}, - "keybase.1.teams.findAssertionsInTeamNoResolve": {"promise": true}, - "keybase.1.teams.getAnnotatedTeam": {"promise": true}, - "keybase.1.teams.getInviteLinkDetails": {"promise": true}, - "keybase.1.teams.getTeamID": {"promise": true}, - "keybase.1.teams.getTeamRoleMap": {"promise": true}, - "keybase.1.teams.getUntrustedTeamInfo": {"promise": true}, - "keybase.1.teams.getUserSubteamMemberships": {"promise": true}, - "keybase.1.teams.loadTeamTreeMembershipsAsync": {"promise": true}, - "keybase.1.teams.setTarsDisabled": {"promise": true}, - "keybase.1.teams.setTeamMemberShowcase": {"promise": true}, - "keybase.1.teams.setTeamShowcase": {"promise": true}, - "keybase.1.teams.teamAcceptInviteOrRequestAccess": {"engineListener": true}, - "keybase.1.teams.teamAddEmailsBulk": {"promise": true}, - "keybase.1.teams.teamAddMember": {"promise": true}, - "keybase.1.teams.teamAddMembersMultiRole": {"promise": true}, - "keybase.1.teams.teamCreate": {"promise": true}, - "keybase.1.teams.teamCreateFancy": {"promise": true}, - "keybase.1.teams.teamCreateSeitanInvitelinkWithDuration": {"promise": true}, - "keybase.1.teams.teamCreateSeitanTokenV2": {"promise": true}, - "keybase.1.teams.teamDelete": {"engineListener": true}, - "keybase.1.teams.teamEditMembers": {"promise": true}, - "keybase.1.teams.teamGetMembers": {"promise": true}, - "keybase.1.teams.teamGetMembersByID": {"promise": true}, - "keybase.1.teams.teamGetSubteams": {"promise": true}, - "keybase.1.teams.teamIgnoreRequest": {"promise": true}, - "keybase.1.teams.teamLeave": {"promise": true}, - "keybase.1.teams.teamListMyAccessRequests": {"promise": true}, - "keybase.1.teams.teamListUnverified": {"promise": true}, - "keybase.1.teams.teamProfileAddList": {"promise": true}, - "keybase.1.teams.teamReAddMemberAfterReset": {"promise": true}, - "keybase.1.teams.teamRemoveMember": {"promise": true}, - "keybase.1.teams.teamRename": {"promise": true}, - "keybase.1.teams.teamSetSettings": {"promise": true}, - "keybase.1.teams.untrustedTeamExists": {"promise": true}, - "keybase.1.teams.uploadTeamAvatar": {"promise": true}, - "keybase.1.teamsUi.confirmInviteLinkAccept": {"custom": true}, - "keybase.1.teamsUi.confirmRootTeamDelete": {"custom": true}, - "keybase.1.teamsUi.confirmSubteamDelete": {"custom": true}, - "keybase.1.track.untrack": {"promise": true}, - "keybase.1.user.blockUser": {"promise": true}, - "keybase.1.user.canLogout": {"promise": true}, - "keybase.1.user.dismissBlockButtons": {"promise": true}, - "keybase.1.user.getUserBlocks": {"promise": true}, - "keybase.1.user.interestingPeople": {"promise": true}, - "keybase.1.user.listTrackersUnverified": {"promise": true}, - "keybase.1.user.listTracking": {"promise": true}, - "keybase.1.user.loadMySettings": {"promise": true}, - "keybase.1.user.loadPassphraseState": {"promise": true}, - "keybase.1.user.profileEdit": {"promise": true}, - "keybase.1.user.proofSuggestions": {"promise": true}, - "keybase.1.user.reportUser": {"promise": true}, - "keybase.1.user.setUserBlocks": {"promise": true}, - "keybase.1.user.unblockUser": {"promise": true}, - "keybase.1.user.uploadUserAvatar": {"promise": true}, - "keybase.1.user.userCard": {"promise": true}, - "keybase.1.userSearch.bulkEmailOrPhoneSearch": {"promise": true}, - "keybase.1.userSearch.getNonUserDetails": {"promise": true}, - "keybase.1.userSearch.userSearch": {"promise": true}, - "stellar.1.local.deleteWalletAccountLocal": {"promise": true}, - "stellar.1.local.getWalletAccountSecretKeyLocal": {"promise": true}, - "stellar.1.local.getWalletAccountsLocal": {"promise": true}, - "stellar.1.local.hasAcceptedDisclaimerLocal": {"promise": true} + "chat.1.NotifyChat.ChatArchiveComplete": {"incoming":true}, + "chat.1.NotifyChat.ChatArchiveProgress": {"incoming":true}, + "chat.1.NotifyChat.ChatAttachmentDownloadComplete": {"incoming":true}, + "chat.1.NotifyChat.ChatAttachmentDownloadProgress": {"incoming":true}, + "chat.1.NotifyChat.ChatAttachmentUploadProgress": {"incoming":true}, + "chat.1.NotifyChat.ChatAttachmentUploadStart": {"incoming":true}, + "chat.1.NotifyChat.ChatConvUpdate": {"incoming":true}, + "chat.1.NotifyChat.ChatIdentifyUpdate": {"incoming":true}, + "chat.1.NotifyChat.ChatInboxStale": {"incoming":true}, + "chat.1.NotifyChat.ChatInboxSyncStarted": {"incoming":true}, + "chat.1.NotifyChat.ChatInboxSynced": {"incoming":true}, + "chat.1.NotifyChat.ChatParticipantsInfo": {"incoming":true}, + "chat.1.NotifyChat.ChatPaymentInfo": {"incoming":true}, + "chat.1.NotifyChat.ChatPromptUnfurl": {"incoming":true}, + "chat.1.NotifyChat.ChatRequestInfo": {"incoming":true}, + "chat.1.NotifyChat.ChatSetConvRetention": {"incoming":true}, + "chat.1.NotifyChat.ChatSetConvSettings": {"incoming":true}, + "chat.1.NotifyChat.ChatSetTeamRetention": {"incoming":true}, + "chat.1.NotifyChat.ChatSubteamRename": {"incoming":true}, + "chat.1.NotifyChat.ChatTLFFinalize": {"incoming":true}, + "chat.1.NotifyChat.ChatThreadsStale": {"incoming":true}, + "chat.1.NotifyChat.ChatTypingUpdate": {"incoming":true}, + "chat.1.NotifyChat.ChatWelcomeMessageLoaded": {"incoming":true}, + "chat.1.NotifyChat.NewChatActivity": {"incoming":true}, + "chat.1.chatUi.chatBotCommandsUpdateStatus": {"custom":true}, + "chat.1.chatUi.chatClearWatch": {"custom":true}, + "chat.1.chatUi.chatCoinFlipStatus": {"custom":true}, + "chat.1.chatUi.chatCommandMarkdown": {"custom":true}, + "chat.1.chatUi.chatCommandStatus": {"custom":true}, + "chat.1.chatUi.chatGiphySearchResults": {"custom":true}, + "chat.1.chatUi.chatGiphyToggleResultWindow": {"custom":true}, + "chat.1.chatUi.chatInboxConversation": {"custom":true}, + "chat.1.chatUi.chatInboxFailed": {"custom":true}, + "chat.1.chatUi.chatInboxLayout": {"custom":true}, + "chat.1.chatUi.chatInboxUnverified": {"custom":true}, + "chat.1.chatUi.chatLoadGalleryHit": {"custom":true,"incoming":true}, + "chat.1.chatUi.chatMaybeMentionUpdate": {"custom":true}, + "chat.1.chatUi.chatSearchBotHits": {"custom":true,"incoming":true}, + "chat.1.chatUi.chatSearchConvHits": {"custom":true,"incoming":true}, + "chat.1.chatUi.chatSearchDone": {"custom":true,"incoming":true}, + "chat.1.chatUi.chatSearchHit": {"custom":true,"incoming":true}, + "chat.1.chatUi.chatSearchInboxDone": {"custom":true,"incoming":true}, + "chat.1.chatUi.chatSearchInboxHit": {"custom":true,"incoming":true}, + "chat.1.chatUi.chatSearchInboxStart": {"custom":true,"incoming":true}, + "chat.1.chatUi.chatSearchIndexStatus": {"custom":true,"incoming":true}, + "chat.1.chatUi.chatSearchTeamHits": {"custom":true,"incoming":true}, + "chat.1.chatUi.chatShowManageChannels": {"custom":true}, + "chat.1.chatUi.chatStellarDataConfirm": {"custom":true}, + "chat.1.chatUi.chatStellarDataError": {"custom":true}, + "chat.1.chatUi.chatStellarDone": {"custom":true,"incoming":true}, + "chat.1.chatUi.chatStellarShowConfirm": {"custom":true,"incoming":true}, + "chat.1.chatUi.chatThreadCached": {"custom":true,"incoming":true}, + "chat.1.chatUi.chatThreadFull": {"custom":true,"incoming":true}, + "chat.1.chatUi.chatThreadStatus": {"custom":true,"incoming":true}, + "chat.1.chatUi.chatWatchPosition": {"custom":true}, + "chat.1.chatUi.triggerContactSync": {"custom":true}, + "chat.1.local.CancelPost": {"promise":true}, + "chat.1.local.ConfigureFileAttachmentDownloadLocal": {"promise":true}, + "chat.1.local.DownloadFileAttachmentLocal": {"promise":true}, + "chat.1.local.RetryPost": {"promise":true}, + "chat.1.local.SetConversationStatusLocal": {"promise":true}, + "chat.1.local.addBotConvSearch": {"promise":true}, + "chat.1.local.addBotMember": {"promise":true}, + "chat.1.local.addEmojiAlias": {"promise":true}, + "chat.1.local.addEmojis": {"promise":true}, + "chat.1.local.addTeamMemberAfterReset": {"promise":true}, + "chat.1.local.archiveChat": {"promise":true}, + "chat.1.local.archiveChatDelete": {"promise":true}, + "chat.1.local.archiveChatList": {"promise":true}, + "chat.1.local.archiveChatPause": {"promise":true}, + "chat.1.local.archiveChatResume": {"promise":true}, + "chat.1.local.bulkAddToConv": {"promise":true}, + "chat.1.local.bulkAddToManyConvs": {"promise":true}, + "chat.1.local.cancelActiveInboxSearch": {"promise":true}, + "chat.1.local.cancelActiveSearch": {"promise":true}, + "chat.1.local.cancelUploadTempFile": {"promise":true}, + "chat.1.local.deleteConversationLocal": {"promise":true}, + "chat.1.local.dismissJourneycard": {"promise":true}, + "chat.1.local.findConversationsLocal": {"promise":true}, + "chat.1.local.findGeneralConvFromTeamID": {"promise":true}, + "chat.1.local.forwardMessageConvSearch": {"promise":true}, + "chat.1.local.forwardMessageNonblock": {"promise":true}, + "chat.1.local.getBotMemberSettings": {"promise":true}, + "chat.1.local.getDefaultTeamChannelsLocal": {"promise":true}, + "chat.1.local.getGlobalAppNotificationSettingsLocal": {"promise":true}, + "chat.1.local.getLastActiveAtMultiLocal": {"promise":true}, + "chat.1.local.getLastActiveForTeams": {"promise":true}, + "chat.1.local.getMutualTeamsLocal": {"promise":true}, + "chat.1.local.getNextAttachmentMessageLocal": {"promise":true}, + "chat.1.local.getRecentJoinsLocal": {"promise":true}, + "chat.1.local.getStaticConfig": {"promise":true}, + "chat.1.local.getTLFConversationsLocal": {"promise":true}, + "chat.1.local.getTeamRetentionLocal": {"promise":true}, + "chat.1.local.getTeamRoleInConversation": {"promise":true}, + "chat.1.local.getThreadNonblock": {"engineListener":true}, + "chat.1.local.getUnfurlSettings": {"promise":true}, + "chat.1.local.getUnreadline": {"promise":true}, + "chat.1.local.getUploadTempFile": {"promise":true}, + "chat.1.local.getWelcomeMessage": {"promise":true}, + "chat.1.local.ignorePinnedMessage": {"promise":true}, + "chat.1.local.joinConversationByIDLocal": {"promise":true}, + "chat.1.local.leaveConversationLocal": {"promise":true}, + "chat.1.local.listPublicBotCommandsLocal": {"promise":true}, + "chat.1.local.loadGallery": {"engineListener":true}, + "chat.1.local.locationUpdate": {"promise":true}, + "chat.1.local.makeAudioPreview": {"promise":true}, + "chat.1.local.makeUploadTempFile": {"promise":true}, + "chat.1.local.markAsReadLocal": {"promise":true}, + "chat.1.local.markTLFAsReadLocal": {"promise":true}, + "chat.1.local.newConversationLocal": {"promise":true}, + "chat.1.local.pinMessage": {"promise":true}, + "chat.1.local.postDeleteHistoryByAge": {"promise":true}, + "chat.1.local.postDeleteNonblock": {"promise":true}, + "chat.1.local.postEditNonblock": {"promise":true}, + "chat.1.local.postFileAttachmentLocalNonblock": {"promise":true}, + "chat.1.local.postHeadline": {"promise":true}, + "chat.1.local.postHeadlineNonblock": {"promise":true}, + "chat.1.local.postMetadata": {"promise":true}, + "chat.1.local.postReactionNonblock": {"promise":true}, + "chat.1.local.postTextNonblock": {"engineListener":true}, + "chat.1.local.previewConversationByIDLocal": {"promise":true}, + "chat.1.local.putReacjiSkinTone": {"promise":true}, + "chat.1.local.refreshParticipants": {"promise":true}, + "chat.1.local.removeBotMember": {"promise":true}, + "chat.1.local.removeEmoji": {"promise":true}, + "chat.1.local.removeFromConversationLocal": {"promise":true}, + "chat.1.local.requestInboxLayout": {"promise":true}, + "chat.1.local.requestInboxSmallIncrease": {"promise":true}, + "chat.1.local.requestInboxSmallReset": {"promise":true}, + "chat.1.local.requestInboxUnbox": {"promise":true}, + "chat.1.local.resolveMaybeMention": {"promise":true}, + "chat.1.local.resolveUnfurlPrompt": {"promise":true}, + "chat.1.local.saveUnfurlSettings": {"promise":true}, + "chat.1.local.searchInbox": {"engineListener":true}, + "chat.1.local.setAppNotificationSettingsLocal": {"promise":true}, + "chat.1.local.setBotMemberSettings": {"promise":true}, + "chat.1.local.setConvMinWriterRoleLocal": {"promise":true}, + "chat.1.local.setConvRetentionLocal": {"promise":true}, + "chat.1.local.setDefaultTeamChannelsLocal": {"promise":true}, + "chat.1.local.setGlobalAppNotificationSettingsLocal": {"promise":true}, + "chat.1.local.setTeamRetentionLocal": {"promise":true}, + "chat.1.local.setWelcomeMessage": {"promise":true}, + "chat.1.local.simpleSearchInboxConvNames": {"promise":true}, + "chat.1.local.toggleEmojiAnimations": {"promise":true}, + "chat.1.local.toggleMessageCollapse": {"promise":true}, + "chat.1.local.trackGiphySelect": {"promise":true}, + "chat.1.local.unboxMobilePushNotification": {"promise":true}, + "chat.1.local.unpinMessage": {"promise":true}, + "chat.1.local.updateTyping": {"promise":true}, + "chat.1.local.updateUnsentText": {"promise":true}, + "chat.1.local.userEmojis": {"promise":true}, + "keybase.1.NotifyApp.exit": {"custom":true}, + "keybase.1.NotifyAudit.boxAuditError": {"incoming":true}, + "keybase.1.NotifyAudit.rootAuditError": {"incoming":true}, + "keybase.1.NotifyBadges.badgeState": {"incoming":true}, + "keybase.1.NotifyEmailAddress.emailAddressVerified": {"custom":true}, + "keybase.1.NotifyEmailAddress.emailsChanged": {"custom":true}, + "keybase.1.NotifyFS.FSActivity": {"incoming":true}, + "keybase.1.NotifyFS.FSOverallSyncStatusChanged": {"custom":true}, + "keybase.1.NotifyFS.FSSubscriptionNotify": {"custom":true}, + "keybase.1.NotifyFS.FSSubscriptionNotifyPath": {"custom":true}, + "keybase.1.NotifyFeaturedBots.featuredBotsUpdate": {"custom":true}, + "keybase.1.NotifyPGP.pgpKeyInSecretStoreFile": {"custom":true}, + "keybase.1.NotifyPhoneNumber.phoneNumbersChanged": {"custom":true}, + "keybase.1.NotifyRuntimeStats.runtimeStatsUpdate": {"custom":true}, + "keybase.1.NotifyService.HTTPSrvInfoUpdate": {"custom":true}, + "keybase.1.NotifyService.handleKeybaseLink": {"custom":true}, + "keybase.1.NotifyService.shutdown": {"custom":true}, + "keybase.1.NotifySession.clientOutOfDate": {"custom":true}, + "keybase.1.NotifySession.loggedIn": {"custom":true}, + "keybase.1.NotifySession.loggedOut": {"incoming":true}, + "keybase.1.NotifySimpleFS.simpleFSArchiveStatusChanged": {"custom":true}, + "keybase.1.NotifyTeam.avatarUpdated": {"custom":true}, + "keybase.1.NotifyTeam.teamChangedByID": {"custom":true}, + "keybase.1.NotifyTeam.teamDeleted": {"custom":true}, + "keybase.1.NotifyTeam.teamExit": {"custom":true}, + "keybase.1.NotifyTeam.teamMetadataUpdate": {"custom":true}, + "keybase.1.NotifyTeam.teamRoleMapChanged": {"custom":true}, + "keybase.1.NotifyTeam.teamTreeMembershipsDone": {"custom":true}, + "keybase.1.NotifyTeam.teamTreeMembershipsPartial": {"custom":true}, + "keybase.1.NotifyTracking.notifyUserBlocked": {"custom":true}, + "keybase.1.NotifyTracking.trackingChanged": {"incoming":true}, + "keybase.1.NotifyTracking.trackingInfo": {"custom":true}, + "keybase.1.NotifyUsers.identifyUpdate": {"custom":true}, + "keybase.1.NotifyUsers.passwordChanged": {"custom":true}, + "keybase.1.NotifyUsers.userChanged": {"incoming":true}, + "keybase.1.SimpleFS.simpleFSArchiveAllFiles": {"promise":true}, + "keybase.1.SimpleFS.simpleFSArchiveAllGitRepos": {"promise":true}, + "keybase.1.SimpleFS.simpleFSArchiveCancelOrDismissJob": {"promise":true}, + "keybase.1.SimpleFS.simpleFSArchiveStart": {"promise":true}, + "keybase.1.SimpleFS.simpleFSCancelDownload": {"promise":true}, + "keybase.1.SimpleFS.simpleFSCheckReachability": {"promise":true}, + "keybase.1.SimpleFS.simpleFSClearConflictState": {"promise":true}, + "keybase.1.SimpleFS.simpleFSConfigureDownload": {"promise":true}, + "keybase.1.SimpleFS.simpleFSCopyRecursive": {"promise":true}, + "keybase.1.SimpleFS.simpleFSDismissDownload": {"promise":true}, + "keybase.1.SimpleFS.simpleFSDismissUpload": {"promise":true}, + "keybase.1.SimpleFS.simpleFSFinishResolvingConflict": {"promise":true}, + "keybase.1.SimpleFS.simpleFSFolderSyncConfigAndStatus": {"promise":true}, + "keybase.1.SimpleFS.simpleFSGetArchiveJobFreshness": {"promise":true}, + "keybase.1.SimpleFS.simpleFSGetArchiveStatus": {"promise":true}, + "keybase.1.SimpleFS.simpleFSGetDownloadInfo": {"promise":true}, + "keybase.1.SimpleFS.simpleFSGetDownloadStatus": {"promise":true}, + "keybase.1.SimpleFS.simpleFSGetFilesTabBadge": {"promise":true}, + "keybase.1.SimpleFS.simpleFSGetFolder": {"promise":true}, + "keybase.1.SimpleFS.simpleFSGetGUIFileContext": {"promise":true}, + "keybase.1.SimpleFS.simpleFSGetOnlineStatus": {"promise":true}, + "keybase.1.SimpleFS.simpleFSGetUploadStatus": {"promise":true}, + "keybase.1.SimpleFS.simpleFSList": {"promise":true}, + "keybase.1.SimpleFS.simpleFSListFavorites": {"promise":true}, + "keybase.1.SimpleFS.simpleFSListRecursiveToDepth": {"promise":true}, + "keybase.1.SimpleFS.simpleFSMakeTempDirForUpload": {"promise":true}, + "keybase.1.SimpleFS.simpleFSMove": {"promise":true}, + "keybase.1.SimpleFS.simpleFSOpen": {"promise":true}, + "keybase.1.SimpleFS.simpleFSReadList": {"promise":true}, + "keybase.1.SimpleFS.simpleFSRemove": {"promise":true}, + "keybase.1.SimpleFS.simpleFSSetDebugLevel": {"promise":true}, + "keybase.1.SimpleFS.simpleFSSetFolderSyncConfig": {"promise":true}, + "keybase.1.SimpleFS.simpleFSSetNotificationThreshold": {"promise":true}, + "keybase.1.SimpleFS.simpleFSSetSfmiBannerDismissed": {"promise":true}, + "keybase.1.SimpleFS.simpleFSSetSyncOnCellular": {"promise":true}, + "keybase.1.SimpleFS.simpleFSSettings": {"promise":true}, + "keybase.1.SimpleFS.simpleFSStartDownload": {"promise":true}, + "keybase.1.SimpleFS.simpleFSStartUpload": {"promise":true}, + "keybase.1.SimpleFS.simpleFSStat": {"promise":true}, + "keybase.1.SimpleFS.simpleFSSubscribeNonPath": {"promise":true}, + "keybase.1.SimpleFS.simpleFSSubscribePath": {"promise":true}, + "keybase.1.SimpleFS.simpleFSSyncStatus": {"promise":true}, + "keybase.1.SimpleFS.simpleFSUnsubscribe": {"promise":true}, + "keybase.1.SimpleFS.simpleFSUserEditHistory": {"promise":true}, + "keybase.1.SimpleFS.simpleFSUserIn": {"promise":true}, + "keybase.1.SimpleFS.simpleFSUserOut": {"promise":true}, + "keybase.1.SimpleFS.simpleFSWait": {"promise":true}, + "keybase.1.account.cancelReset": {"promise":true}, + "keybase.1.account.enterResetPipeline": {"engineListener":true}, + "keybase.1.account.getLockdownMode": {"promise":true}, + "keybase.1.account.guessCurrentLocation": {"promise":true}, + "keybase.1.account.hasServerKeys": {"promise":true}, + "keybase.1.account.passphraseChange": {"promise":true}, + "keybase.1.account.passphraseCheck": {"promise":true}, + "keybase.1.account.recoverUsernameWithEmail": {"promise":true}, + "keybase.1.account.recoverUsernameWithPhone": {"promise":true}, + "keybase.1.account.setLockdownMode": {"promise":true}, + "keybase.1.account.userGetContactSettings": {"promise":true}, + "keybase.1.account.userSetContactSettings": {"promise":true}, + "keybase.1.apiserver.Delete": {"promise":true}, + "keybase.1.apiserver.GetWithSession": {"promise":true}, + "keybase.1.apiserver.Post": {"promise":true}, + "keybase.1.apiserver.PostJSON": {"promise":true}, + "keybase.1.appState.powerMonitorEvent": {"promise":true}, + "keybase.1.appState.updateMobileNetState": {"promise":true}, + "keybase.1.config.appendGUILogs": {"promise":true}, + "keybase.1.config.generateWebAuthToken": {"promise":true}, + "keybase.1.config.getBootstrapStatus": {"promise":true}, + "keybase.1.config.getProxyData": {"promise":true}, + "keybase.1.config.getRememberPassphrase": {"promise":true}, + "keybase.1.config.getUpdateInfo": {"promise":true}, + "keybase.1.config.getUpdateInfo2": {"promise":true}, + "keybase.1.config.guiGetValue": {"promise":true}, + "keybase.1.config.guiSetValue": {"promise":true}, + "keybase.1.config.helloIAm": {"promise":true}, + "keybase.1.config.logSend": {"promise":true}, + "keybase.1.config.requestFollowingAndUnverifiedFollowers": {"promise":true}, + "keybase.1.config.setProxyData": {"promise":true}, + "keybase.1.config.setRememberPassphrase": {"promise":true}, + "keybase.1.config.startUpdateIfNeeded": {"promise":true}, + "keybase.1.config.toggleRuntimeStats": {"promise":true}, + "keybase.1.config.updateLastLoggedInAndServerConfig": {"promise":true}, + "keybase.1.config.waitForClient": {"promise":true}, + "keybase.1.contacts.getContactsForUserRecommendations": {"promise":true}, + "keybase.1.contacts.saveContactList": {"promise":true}, + "keybase.1.cryptocurrency.registerAddress": {"promise":true}, + "keybase.1.ctl.dbNuke": {"promise":true}, + "keybase.1.ctl.getOnLoginStartup": {"promise":true}, + "keybase.1.ctl.setOnLoginStartup": {"promise":true}, + "keybase.1.ctl.stop": {"promise":true}, + "keybase.1.delegateUiCtl.registerChatUI": {"promise":true}, + "keybase.1.delegateUiCtl.registerGregorFirehoseFiltered": {"promise":true}, + "keybase.1.delegateUiCtl.registerHomeUI": {"promise":true}, + "keybase.1.delegateUiCtl.registerIdentify3UI": {"promise":true}, + "keybase.1.delegateUiCtl.registerLogUI": {"promise":true}, + "keybase.1.delegateUiCtl.registerRekeyUI": {"promise":true}, + "keybase.1.delegateUiCtl.registerSecretUI": {"promise":true}, + "keybase.1.device.checkDeviceNameFormat": {"promise":true}, + "keybase.1.device.deviceAdd": {"engineListener":true}, + "keybase.1.device.deviceHistoryList": {"promise":true}, + "keybase.1.device.dismissDeviceChangeNotifications": {"promise":true}, + "keybase.1.emails.addEmail": {"promise":true}, + "keybase.1.emails.deleteEmail": {"promise":true}, + "keybase.1.emails.sendVerificationEmail": {"promise":true}, + "keybase.1.emails.setPrimaryEmail": {"promise":true}, + "keybase.1.emails.setVisibilityEmail": {"promise":true}, + "keybase.1.favorite.favoriteIgnore": {"promise":true}, + "keybase.1.featuredBot.featuredBots": {"promise":true}, + "keybase.1.featuredBot.search": {"promise":true}, + "keybase.1.git.createPersonalRepo": {"promise":true}, + "keybase.1.git.createTeamRepo": {"promise":true}, + "keybase.1.git.deletePersonalRepo": {"promise":true}, + "keybase.1.git.deleteTeamRepo": {"promise":true}, + "keybase.1.git.getAllGitMetadata": {"promise":true}, + "keybase.1.git.setTeamRepoSettings": {"promise":true}, + "keybase.1.gpgUi.selectKey": {"custom":true}, + "keybase.1.gpgUi.wantToAddGPGKey": {"custom":true}, + "keybase.1.gregor.dismissCategory": {"promise":true}, + "keybase.1.gregor.getState": {"promise":true}, + "keybase.1.gregor.updateCategory": {"promise":true}, + "keybase.1.gregorUI.pushState": {"custom":true}, + "keybase.1.home.homeDismissAnnouncement": {"promise":true}, + "keybase.1.home.homeGetScreen": {"promise":true}, + "keybase.1.home.homeMarkViewed": {"promise":true}, + "keybase.1.home.homeSkipTodoType": {"promise":true}, + "keybase.1.homeUI.homeUIRefresh": {"custom":true}, + "keybase.1.identify3.identify3": {"engineListener":true}, + "keybase.1.identify3.identify3FollowUser": {"promise":true}, + "keybase.1.identify3.identify3IgnoreUser": {"promise":true}, + "keybase.1.identify3Ui.identify3Result": {"custom":true}, + "keybase.1.identify3Ui.identify3ShowTracker": {"custom":true}, + "keybase.1.identify3Ui.identify3Summary": {"custom":true}, + "keybase.1.identify3Ui.identify3UpdateRow": {"custom":true}, + "keybase.1.identify3Ui.identify3UpdateUserCard": {"custom":true}, + "keybase.1.identify3Ui.identify3UserReset": {"custom":true}, + "keybase.1.incomingShare.getIncomingShareItems": {"promise":true}, + "keybase.1.incomingShare.getPreference": {"promise":true}, + "keybase.1.incomingShare.setPreference": {"promise":true}, + "keybase.1.install.fuseStatus": {"promise":true}, + "keybase.1.install.installFuse": {"promise":true}, + "keybase.1.install.installKBFS": {"promise":true}, + "keybase.1.install.uninstallKBFS": {"promise":true}, + "keybase.1.kbfsMount.GetCurrentMountDir": {"promise":true}, + "keybase.1.kbfsMount.GetKBFSPathInfo": {"promise":true}, + "keybase.1.kbfsMount.GetPreferredMountDirs": {"promise":true}, + "keybase.1.kbfsMount.WaitForMounts": {"promise":true}, + "keybase.1.log.perfLogPoint": {"promise":true}, + "keybase.1.logUi.log": {"custom":true}, + "keybase.1.login.accountDelete": {"promise":true}, + "keybase.1.login.deprovision": {"promise":true}, + "keybase.1.login.getConfiguredAccounts": {"promise":true}, + "keybase.1.login.isOnline": {"promise":true}, + "keybase.1.login.login": {"engineListener":true}, + "keybase.1.login.logout": {"promise":true}, + "keybase.1.login.paperKey": {"engineListener":true}, + "keybase.1.login.paperKeySubmit": {"promise":true}, + "keybase.1.login.recoverPassphrase": {"engineListener":true}, + "keybase.1.loginUi.chooseDeviceToRecoverWith": {"custom":true}, + "keybase.1.loginUi.displayPaperKeyPhrase": {"custom":true,"incoming":true}, + "keybase.1.loginUi.displayPrimaryPaperKey": {"custom":true,"incoming":true}, + "keybase.1.loginUi.displayResetProgress": {"custom":true,"incoming":true}, + "keybase.1.loginUi.explainDeviceRecovery": {"custom":true,"incoming":true}, + "keybase.1.loginUi.getEmailOrUsername": {"custom":true}, + "keybase.1.loginUi.promptPassphraseRecovery": {"custom":true}, + "keybase.1.loginUi.promptResetAccount": {"custom":true}, + "keybase.1.loginUi.promptRevokePaperKeys": {"custom":true}, + "keybase.1.logsend.prepareLogsend": {"custom":true}, + "keybase.1.notifyCtl.setNotifications": {"promise":true}, + "keybase.1.pgp.pgpKeyGenDefault": {"engineListener":true}, + "keybase.1.pgp.pgpStorageDismiss": {"promise":true}, + "keybase.1.pgpUi.finished": {"custom":true,"incoming":true}, + "keybase.1.pgpUi.keyGenerated": {"custom":true}, + "keybase.1.pgpUi.shouldPushPrivate": {"custom":true}, + "keybase.1.phoneNumbers.addPhoneNumber": {"promise":true}, + "keybase.1.phoneNumbers.deletePhoneNumber": {"promise":true}, + "keybase.1.phoneNumbers.resendVerificationForPhoneNumber": {"promise":true}, + "keybase.1.phoneNumbers.setVisibilityPhoneNumber": {"promise":true}, + "keybase.1.phoneNumbers.verifyPhoneNumber": {"promise":true}, + "keybase.1.pprof.logProcessorProfile": {"promise":true}, + "keybase.1.pprof.logTrace": {"promise":true}, + "keybase.1.prove.checkProof": {"promise":true}, + "keybase.1.prove.startProof": {"engineListener":true}, + "keybase.1.proveUi.checking": {"custom":true}, + "keybase.1.proveUi.continueChecking": {"custom":true}, + "keybase.1.proveUi.displayRecheckWarning": {"custom":true,"incoming":true}, + "keybase.1.proveUi.okToCheck": {"custom":true}, + "keybase.1.proveUi.outputInstructions": {"custom":true}, + "keybase.1.proveUi.outputPrechecks": {"custom":true,"incoming":true}, + "keybase.1.proveUi.preProofWarning": {"custom":true}, + "keybase.1.proveUi.promptOverwrite": {"custom":true}, + "keybase.1.proveUi.promptUsername": {"custom":true}, + "keybase.1.provisionUi.DisplayAndPromptSecret": {"custom":true}, + "keybase.1.provisionUi.DisplaySecretExchanged": {"custom":true,"incoming":true}, + "keybase.1.provisionUi.PromptNewDeviceName": {"custom":true}, + "keybase.1.provisionUi.ProvisioneeSuccess": {"custom":true,"incoming":true}, + "keybase.1.provisionUi.ProvisionerSuccess": {"custom":true,"incoming":true}, + "keybase.1.provisionUi.chooseDevice": {"custom":true}, + "keybase.1.provisionUi.chooseDeviceType": {"custom":true}, + "keybase.1.provisionUi.chooseGPGMethod": {"custom":true}, + "keybase.1.provisionUi.switchToGPGSignOK": {"custom":true}, + "keybase.1.reachability.checkReachability": {"promise":true}, + "keybase.1.reachability.reachabilityChanged": {"incoming":true}, + "keybase.1.reachability.startReachability": {"promise":true}, + "keybase.1.rekey.getRevokeWarning": {"promise":true}, + "keybase.1.rekey.rekeyStatusFinish": {"promise":true}, + "keybase.1.rekey.showPendingRekeyStatus": {"promise":true}, + "keybase.1.rekeyUI.delegateRekeyUI": {"custom":true}, + "keybase.1.rekeyUI.refresh": {"custom":true,"incoming":true}, + "keybase.1.rekeyUI.rekeySendEvent": {"custom":true,"incoming":true}, + "keybase.1.revoke.revokeDevice": {"promise":true}, + "keybase.1.revoke.revokeKey": {"promise":true}, + "keybase.1.revoke.revokeSigs": {"promise":true}, + "keybase.1.saltpack.saltpackDecryptFile": {"promise":true}, + "keybase.1.saltpack.saltpackDecryptString": {"promise":true}, + "keybase.1.saltpack.saltpackEncryptFile": {"promise":true}, + "keybase.1.saltpack.saltpackEncryptString": {"promise":true}, + "keybase.1.saltpack.saltpackSaveCiphertextToFile": {"promise":true}, + "keybase.1.saltpack.saltpackSaveSignedMsgToFile": {"promise":true}, + "keybase.1.saltpack.saltpackSignFile": {"promise":true}, + "keybase.1.saltpack.saltpackSignString": {"promise":true}, + "keybase.1.saltpack.saltpackVerifyFile": {"promise":true}, + "keybase.1.saltpack.saltpackVerifyString": {"promise":true}, + "keybase.1.secretUi.getPassphrase": {"custom":true}, + "keybase.1.signup.checkUsernameAvailable": {"promise":true}, + "keybase.1.signup.getInvitationCode": {"promise":true}, + "keybase.1.signup.signup": {"engineListener":true}, + "keybase.1.teams.findAssertionsInTeamNoResolve": {"promise":true}, + "keybase.1.teams.getAnnotatedTeam": {"promise":true}, + "keybase.1.teams.getInviteLinkDetails": {"promise":true}, + "keybase.1.teams.getTeamID": {"promise":true}, + "keybase.1.teams.getTeamRoleMap": {"promise":true}, + "keybase.1.teams.getUntrustedTeamInfo": {"promise":true}, + "keybase.1.teams.loadTeamTreeMembershipsAsync": {"promise":true}, + "keybase.1.teams.setTarsDisabled": {"promise":true}, + "keybase.1.teams.setTeamMemberShowcase": {"promise":true}, + "keybase.1.teams.setTeamShowcase": {"promise":true}, + "keybase.1.teams.teamAcceptInviteOrRequestAccess": {"engineListener":true}, + "keybase.1.teams.teamAddEmailsBulk": {"promise":true}, + "keybase.1.teams.teamAddMember": {"promise":true}, + "keybase.1.teams.teamAddMembersMultiRole": {"promise":true}, + "keybase.1.teams.teamCreate": {"promise":true}, + "keybase.1.teams.teamCreateFancy": {"promise":true}, + "keybase.1.teams.teamCreateSeitanTokenV2": {"promise":true}, + "keybase.1.teams.teamDelete": {"engineListener":true}, + "keybase.1.teams.teamEditMembers": {"promise":true}, + "keybase.1.teams.teamGetMembersByID": {"promise":true}, + "keybase.1.teams.teamIgnoreRequest": {"promise":true}, + "keybase.1.teams.teamLeave": {"promise":true}, + "keybase.1.teams.teamListMyAccessRequests": {"promise":true}, + "keybase.1.teams.teamListUnverified": {"promise":true}, + "keybase.1.teams.teamProfileAddList": {"promise":true}, + "keybase.1.teams.teamReAddMemberAfterReset": {"promise":true}, + "keybase.1.teams.teamRemoveMember": {"promise":true}, + "keybase.1.teams.teamRename": {"promise":true}, + "keybase.1.teams.teamSetSettings": {"promise":true}, + "keybase.1.teams.untrustedTeamExists": {"promise":true}, + "keybase.1.teams.uploadTeamAvatar": {"promise":true}, + "keybase.1.teamsUi.confirmInviteLinkAccept": {"custom":true}, + "keybase.1.teamsUi.confirmRootTeamDelete": {"custom":true}, + "keybase.1.teamsUi.confirmSubteamDelete": {"custom":true}, + "keybase.1.user.blockUser": {"promise":true}, + "keybase.1.user.canLogout": {"promise":true}, + "keybase.1.user.dismissBlockButtons": {"promise":true}, + "keybase.1.user.getUserBlocks": {"promise":true}, + "keybase.1.user.interestingPeople": {"promise":true}, + "keybase.1.user.listTrackersUnverified": {"promise":true}, + "keybase.1.user.listTracking": {"promise":true}, + "keybase.1.user.loadMySettings": {"promise":true}, + "keybase.1.user.loadPassphraseState": {"promise":true}, + "keybase.1.user.profileEdit": {"promise":true}, + "keybase.1.user.proofSuggestions": {"promise":true}, + "keybase.1.user.reportUser": {"promise":true}, + "keybase.1.user.setUserBlocks": {"promise":true}, + "keybase.1.user.unblockUser": {"promise":true}, + "keybase.1.user.uploadUserAvatar": {"promise":true}, + "keybase.1.user.userCard": {"promise":true}, + "keybase.1.userSearch.bulkEmailOrPhoneSearch": {"promise":true}, + "keybase.1.userSearch.getNonUserDetails": {"promise":true}, + "keybase.1.userSearch.userSearch": {"promise":true}, + "stellar.1.local.deleteWalletAccountLocal": {"promise":true}, + "stellar.1.local.getWalletAccountSecretKeyLocal": {"promise":true}, + "stellar.1.local.getWalletAccountsLocal": {"promise":true}, + "stellar.1.local.hasAcceptedDisclaimerLocal": {"promise":true} } diff --git a/protocol/bin/flow.js b/protocol/bin/flow.js deleted file mode 100644 index d04dd2d057b3..000000000000 --- a/protocol/bin/flow.js +++ /dev/null @@ -1,718 +0,0 @@ -'use strict' -const prettier = require('prettier') -const util = require('util') -const fs = require('fs') -const path = require('path') -const camelcase = require('camelcase') -const colors = require('colors') -const json5 = require('json5') -const enabledCalls = json5.parse(fs.readFileSync(path.join(__dirname, 'enabled-calls.json'))) - -// Sanity check this json file -Object.keys(enabledCalls).forEach(rpc => - Object.keys(enabledCalls[rpc]).forEach(type => { - if (!['promise', 'incoming', 'engineListener', 'custom'].includes(type)) { - console.log(colors.red('ERROR! Invalid enabled call?\n\n '), rpc, type) - process.exit(1) - } - }) -) - -var projects = { - chat1: { - customResponseIncomingMaps: {}, - enums: {}, - import: ['Gregor1', 'Keybase1', 'Stellar1'], - incomingMaps: {}, - notEnabled: [], - out: 'rpc-chat-gen', - root: './json/chat1', - seenTypes: {}, - }, - keybase1: { - customResponseIncomingMaps: {}, - enums: {}, - import: ['Gregor1'], - incomingMaps: {}, - notEnabled: [], - out: 'rpc-gen', - root: 'json/keybase1', - seenTypes: {}, - }, - gregor1: { - customResponseIncomingMaps: {}, - enums: {}, - import: [], - incomingMaps: {}, - notEnabled: [], - out: 'rpc-gregor-gen', - root: './json/gregor1', - seenTypes: {}, - }, - stellar1: { - customResponseIncomingMaps: {}, - enums: {}, - import: ['Keybase1'], - incomingMaps: {}, - notEnabled: [], - out: 'rpc-stellar-gen', - root: './json/stellar1', - seenTypes: {}, - }, -} - -function jsonOnly(file) { - return !!file.match(/.*\.json$/) -} - -function load(file, project) { - return JSON.parse(fs.readFileSync(path.join(project.root, file))) -} - -function analyze(json, project) { - lintJSON(json) - return { - consts: analyzeEnums(json, project), - types: analyzeTypes(json, project), - messages: analyzeMessages(json, project), - } -} - -function fixCase(s) { - return s.toLowerCase().replace(/(_\w)/g, s => capitalize(s[1])) -} - -function analyzeEnums(json, project) { - return json.types - .filter(t => t.type === 'enum') - .map(t => { - var en = {} - - t.symbols.forEach(s => { - const parts = s.split('_') - const val = parseInt(parts.pop(), 10) - const name = fixCase(parts.join('_')) - en[name] = val - }) - - project.enums[t.name] = en - - return { - name: t.name, - map: en, - } - }) - .reduce((map, t) => { - map[decapitalize(t.name)] = `\nexport enum ${t.name} { - ${Object.keys(t.map) - .map(k => `${k} = ${t.map[k]}`) - .join(',\n ')}, -}` - return map - }, {}) -} - -const typeOverloads = {} - -function analyzeTypes(json, project) { - return json.types.reduce((map, t) => { - if (project.seenTypes[t.name]) { - return map - } - - project.seenTypes[t.name] = true - - if (typeOverloads[t.name]) { - map[t.name] = typeOverloads[t.name] - return map - } - - switch (t.type) { - case 'record': - map[t.name] = `export type ${t.name} = ${parseRecord(t)}` - break - case 'enum': - break - case 'variant': - { - const parsed = parseVariant(t, project) - if (parsed) { - map[t.name] = `export type ${t.name} =${parsed}` - } - } - break - case 'fixed': - map[t.name] = `export type ${t.name} = string | null` - break - } - return map - }, {}) -} - -function figureType(type, prefix = '') { - if (!type) { - return 'null' // keep backwards compat with old script - } - - if (type instanceof Array) { - if (type.length === 2) { - if (type[0] === null) { - return `${prefix}${capitalize(type[1])} | null` - } - if (type[1] === null) { - return `${prefix}${capitalize(type[0])} | null` - } - } - - return `(${type.map(t => t || 'null').join(' | ')})` - } else if (typeof type === 'object') { - switch (type.type) { - case 'array': - return `ReadonlyArray<${prefix}${capitalize(type.items)}> | null` - case 'map': - return `{[key: string]: ${figureType(type.values)}} | null` - default: - console.log(`Unknown type: ${type}`) - return 'unknown' - } - } - - return prefix + capitalize(type) -} - -function capitalize(s) { - return s.charAt(0).toUpperCase() + s.slice(1) -} - -function analyzeMessages(json, project) { - // ui means an incoming rpc. simple regexp to filter this but it might break in the future if - // the core side doesn't have a consistent naming convention. (must be case insensitive to pass correctly) - const isUIProtocol = - ['notifyCtl'].indexOf(json.protocol) === -1 && - !!json.protocol.match(/^(notify.*|.*ui|logsend)$/i) && - !json.protocol.match(/NotifyFSRequest/) - - return Object.keys(json.messages).reduce((map, m) => { - const message = json.messages[m] - lintMessage(m, message) - - const arr = message.request - .filter(r => r.name !== 'sessionID') // We have the engine handle this under the hood - .map(r => { - const rtype = figureType(r.type) - return `readonly ${r.name}${ - r.hasOwnProperty('default') || rtype.endsWith('| null') ? '?' : '' - }: ${rtype}` - }) - const noParams = !arr.length - const inParam = noParams ? 'undefined' : `{${arr.join(',')}}` - const name = `${json.protocol}${capitalize(m)}` - const outParam = figureType(message.response) - const methodName = `'${json.namespace}.${json.protocol}.${m}'` - const isUIMethod = isUIProtocol || enabledCall(methodName, 'incoming') - - if (isUIMethod) { - project.incomingMaps[methodName] = `(params: MessageTypes[${methodName}]['inParam']) => void` - if (!message.hasOwnProperty('notify')) { - project.customResponseIncomingMaps[ - methodName - ] = `(params: MessageTypes[${methodName}]['inParam'], response: {error: IncomingErrorCallback, result: (res: MessageTypes[${methodName}]['outParam']) => void}) => void` - } - } - - const rpcPromise = isUIMethod ? '' : rpcPromiseGen(methodName, name, false, json, project) - const rpcPromiseType = isUIMethod ? '' : rpcPromiseGen(methodName, name, true, json, project) - const engineListener = isUIMethod ? '' : engineListenerGen(methodName, name, false) - const engineListenerType = isUIMethod ? '' : engineListenerGen(methodName, name, true) - - if (rpcPromise.length) { - project.hasEngine = true - } - if (engineListener) { - project.hasEngineListener = true - } - - const cleanName = methodName.substring(1, methodName.length - 1) - if (!enabledCalls[cleanName]) { - project.notEnabled.push(methodName) - } - - // Must be an rpc we use - if (rpcPromiseType || engineListenerType || isUIMethod) { - map[methodName] = { - inParam, - outParam: outParam === 'null' ? 'void' : outParam, - rpcPromise, - rpcPromiseType, - engineListener, - engineListenerType, - } - } - return map - }, {}) -} - -function enabledCall(methodName, type) { - const cleanName = methodName.substring(1, methodName.length - 1) - return enabledCalls[cleanName] && enabledCalls[cleanName][type] -} - -function engineListenerGen(methodName, name, justType) { - if (!enabledCall(methodName, 'engineListener')) { - return '' - } - return justType - ? `declare export function ${name}RpcListener (p: {params: MessageTypes[${methodName}]['inParam'], incomingCallMap: IncomingCallMapType, customResponseIncomingCallMap?: CustomResponseIncomingCallMap, waitingKey?: WaitingKey}): CallEffect void, Array>` - : `export const ${name}RpcListener = (p: {params: MessageTypes[${methodName}]['inParam'], incomingCallMap: IncomingCallMapType, customResponseIncomingCallMap?: CustomResponseIncomingCallMap, waitingKey?: WaitingKey}) => getEngineListener>()({method: ${methodName}, params: p.params, incomingCallMap: p.incomingCallMap, customResponseIncomingCallMap: p.customResponseIncomingCallMap, waitingKey: p.waitingKey})` -} - -function rpcPromiseGen(methodName, name, justType, json, project) { - if (!enabledCall(methodName, 'promise')) { - return '' - } - - // if we have no params, make it optional - const lookupName = methodName.split('.').at(-1).replaceAll("'", '') - const r = json.messages[lookupName].request - const hasParams = - r !== null && - (Array.isArray(r) && - r.reduce((cnt, i) => { - if (i && i.name !== 'sessionID') { - cnt++ - } - return cnt - }, 0)) > 0 - const inParams = hasParams ? `params: MessageTypes[${methodName}]['inParam']` : 'params?: undefined' - return justType - ? `declare export function ${name}RpcPromise (${inParams}, waitingKey?: WaitingKey): Promise` - : `export const ${name}RpcPromise = (${inParams}, waitingKey?: WaitingKey) => new Promise((resolve, reject) => engine()._rpcOutgoing({method: ${methodName}, params, callback: (error: SimpleError, result: MessageTypes[${methodName}]['outParam']) => error ? reject(error) : resolve(result), waitingKey}))` -} - -function maybeIfNot(s) { - if (s.endsWith('| null')) return s - return `${s} | null` -} - -// Type parsing -function parseInnerType(t) { - if (!t) { - return 'void' // keep backwards compat with old script - } - - if (t.constructor === Array) { - if (t.length === 2 && t[0] === null) { - return maybeIfNot(figureType(t[1])) - } else { - return parseUnion(t) - } - } - - switch (t.type) { - case 'record': - return parseRecord(t) - default: - return figureType(t) - } -} - -function parseEnumSymbol(s) { - var parts = s.split('_') - return parseInt(parts.pop(), 10) -} - -function parseEnum(t) { - return parseUnion(t.symbols.map(s => `${parseEnumSymbol(s)} // ${s}\n`)) -} - -function parseUnion(unionTypes) { - return unionTypes.map(parseInnerType).join(' | ') -} - -function parseRecord(t) { - lintRecord(t) - if (t.typedef) { - return capitalize(t.typedef) - } - - const fields = t.fields - .map(f => { - const innerType = parseInnerType(f.type) - const innerOptional = innerType.endsWith('| null') - const capsInnerType = capitalize(innerType) - const name = f.mpackkey || f.name - const comment = f.mpackkey ? ` /* ${f.name} */ ` : '' - - // If we have a maybe type, let's also make the key optional - return `readonly ${name}${comment}${innerOptional ? '?' : ''}: ${capsInnerType},` - }) - .join('') - - return `{${fields}}` -} - -function parseVariant(t, project) { - var parts = t.switch.type.split('.') - if (parts.length > 1) { - project = projects[parts.shift()] - } - - const rootType = t.switch.type - const rootEnum = project.enums[rootType] - - let unhandled = new Set(Object.keys(rootEnum)) - var type = parts.shift() - const cases = t.cases - .map(c => { - if (c.label.def) { - return null - } else { - var label = fixCase(c.label.name) - unhandled.delete(label) - let bodyType = '' - if (c.body === null) { - bodyType = 'null' - } else if (typeof c.body === 'string') { - bodyType = capitalize(c.body) - } else if (c.body.type === 'array') { - bodyType = `ReadonlyArray<${capitalize(c.body.items)}>` - } - const bodyStr = c.body ? `, ${label}: ${bodyType}` : '' - return `{ ${t.switch.name}: ${type}.${label}${bodyStr} }` - } - }) - .filter(Boolean) - - const otherCases = [...unhandled].map(label => `{ ${t.switch.name}: ${type}.${label}}`) - const s = [...cases, ...otherCases].join(' | ') - - return s || 'void' -} - -function writeActions() { - const staticActions = {} - - const seenProjects = {} - - const data = { - actions: Object.keys(projects).reduce((map, p) => { - const callMap = projects[p].incomingMaps - callMap && - Object.keys(callMap).reduce((m, method) => { - const name = method - .replace(/'/g, '') - .split('.') - .map((p, idx) => (idx ? capitalize(p) : p)) - .join('') - - seenProjects[p] = true - let response = '' - if (projects[p].customResponseIncomingMaps[method]) { - response = `, response: {error: ${p}Types.IncomingErrorCallback, result: (param: ${p}Types.MessageTypes[${method}]['outParam']) => void}` - } - - m[name] = { - params: `${p}Types.MessageTypes[${method}]['inParam'] ${response}`, - } - return m - }, map) - return map - }, staticActions), - } - - const toWrite = JSON.stringify( - { - prelude: Object.keys(seenProjects).map( - p => `import type * as ${p}Types from '@/constants/types/${projects[p].out}'` - ), - ...data, - }, - null, - 4 - ) - fs.writeFileSync(`js/engine-gen.json`, toWrite) -} - -function writeAll() { - const imports = Object.keys(projects) - .map( - p => `import type { - CustomResponseIncomingCallMap as ${p}CustomResponseIncomingCallMap, - IncomingCallMapType as ${p}IncomingCallMap, -} from './${projects[p].out}' -` - ) - .join('\n') - - const exports = ` - export type IncomingCallMapType = ${Object.keys(projects) - .map(p => `${p}IncomingCallMap`) - .join(' & ')} - export type CustomResponseIncomingCallMapType = ${Object.keys(projects) - .map(p => `${p}CustomResponseIncomingCallMap`) - .join(' & ')} - ` - const toWrite = [imports, exports].join('\n') - const destinationFile = `types/rpc-all-gen.tsx` // Only used by prettier so we can set an override in .prettierrc - const formatted = prettier.format(toWrite, { - ...prettier.resolveConfig.sync(destinationFile), - parser: 'typescript', - }) - fs.writeFileSync(`js/rpc-all-gen.tsx`, formatted) -} - -function writeFlow(typeDefs, project) { - const importMap = { - Gregor1: "import * as Gregor1 from './rpc-gregor-gen'", - Keybase1: "import * as Keybase1 from './rpc-gen'", - Stellar1: "import * as Stellar1 from './rpc-stellar-gen'", - } - - const engineImports = [ - project.hasEngine ? 'getEngine as engine' : '', - project.hasEngineListener ? 'getEngineListener' : '', - ] - .filter(f => f.length) - .join(', ') - const engineImport = engineImports.length ? `import {${engineImports}} from '@/engine/require'` : '' - const typePrelude = `/* eslint-disable */ - -// This file is auto-generated by client/protocol/Makefile. -${engineImport} -${project.import.map(n => importMap[n] || '').join('\n')} -${project.import.map(n => `export {${n}}`).join('\n')} -export type Bool = boolean -export type Boolean = boolean -export type Bytes = Uint8Array -export type Double = number -export type Int = number -export type Int64 = number -export type Long = number -export type String = string -export type Uint = number -export type Uint64 = number -${project.hasEngine ? 'type WaitingKey = string | ReadonlyArray' : ''} -type SimpleError = {code?: number, desc?: string} -export type IncomingErrorCallback = (err?: SimpleError | null) => void - -` - const consts = Object.keys(typeDefs.consts).map(k => typeDefs.consts[k]) - const types = Object.keys(typeDefs.types).map(k => typeDefs.types[k]) - const messagePromise = Object.keys(typeDefs.messages).map(k => typeDefs.messages[k].rpcPromise) - const messageEngineListener = Object.keys(typeDefs.messages).map(k => typeDefs.messages[k].engineListener) - // const callMapType = Object.keys(project.incomingMaps).length ? 'IncomingCallMapType' : 'void' - const incomingMap = `\nexport type IncomingCallMapType = { - ${Object.keys(project.incomingMaps) - .filter(im => enabledCall(im, 'incoming')) - .map(im => ` ${im}?: ${project.incomingMaps[im]}`) - .join(',')} - }` - - const customResponseCallMapType = Object.keys(project.customResponseIncomingMaps).length - ? 'CustomResponseIncomingCallMap' - : 'void' - const customResponseIncomingMap = `\nexport type CustomResponseIncomingCallMap = { - ${Object.keys(project.customResponseIncomingMaps) - .filter(im => enabledCall(im, 'custom')) - .map(im => ` ${im}?: ${project.customResponseIncomingMaps[im]}`) - .join(',')} - }` - - const messageTypesData = Object.keys(typeDefs.messages) - .map(k => { - const data = typeDefs.messages[k] - const types = {} - return ` ${k}: { - inParam: ${data.inParam}, - outParam: ${data.outParam || 'void'}, - },` - }) - .sort() - .join('\n') - - const messageTypes = `\nexport type MessageTypes = { -${messageTypesData} -}` - - const data = [ - messageTypes, - ...[...consts, ...types].sort(), - incomingMap, - customResponseIncomingMap, - ...[...messagePromise, ...messageEngineListener].sort(), - ] - .filter(Boolean) - .join('\n') - - const notEnabled = `// Not enabled calls. To enable add to enabled-calls.json:\n// ${project.notEnabled.join( - '\n// ' - )}` - - const toWrite = [typePrelude, data, notEnabled].join('\n') - const destinationFile = `types/${project.out}` // Only used by prettier so we can set an override in .prettierrc - const formatted = prettier.format(toWrite, { - ...prettier.resolveConfig.sync(destinationFile), - parser: 'typescript', - }) - fs.writeFileSync(`js/${project.out}.tsx`, formatted) -} - -function write(typeDefs, project) { - // Need any for weird flow issue where it gets confused by multiple - // incoming call map types - //const callMapType = Object.keys(project.incomingMaps).length ? 'IncomingCallMapType' : 'void' - - const typePrelude = `/* eslint-disable */ - -// This file is auto-generated by client/protocol/Makefile. -// Not enabled: calls need to be turned on in enabled-calls.json -import {getEngine as engine} from '@/engine/require' -` - const consts = Object.keys(typeDefs.consts).map(k => typeDefs.consts[k]) - const messagePromise = Object.keys(typeDefs.messages).map(k => typeDefs.messages[k].rpcPromise) - const messageEngineListener = Object.keys(typeDefs.messages).map(k => typeDefs.messages[k].engineListener) - const data = [...consts, ...messagePromise, ...messageEngineListener].filter(Boolean).sort().join('\n') - - const toWrite = [typePrelude, data].join('\n') - const destinationFile = `types/${project.out}` // Only used by prettier so we can set an override in .prettierrc - const formatted = prettier.format(toWrite, { - ...prettier.resolveConfig.sync(destinationFile), - parser: 'typescript', - }) - fs.writeFileSync(`js/${project.out}.tsx`, formatted) -} - -function decapitalize(s) { - return s.charAt(0).toLowerCase() + s.slice(1) -} - -const shorthands = [ - {re: /Tty([A-Zs]|$)/g, into: 'TTY$1', re2: /^TTY/, into2: 'tty'}, - {re: /Tlf([A-Zs]|$)/g, into: 'TLF$1', re2: /^TLF/, into2: 'tlf'}, - {re: /Uid([A-Zs]|$)/g, into: 'UID$1', re2: /^UID/, into2: 'uid'}, - {re: /Kid([A-Zs]|$)/g, into: 'KID$1', re2: /^KID/, into2: 'kid'}, - {re: /Cli([A-Z]|$)/g, into: 'CLI$1', re2: /^CLI/, into2: 'cli'}, - {re: /Api([A-Zs]|$)/g, into: 'API$1', re2: /^API/, into2: 'api'}, - {re: /Btc([A-Z]|$)/g, into: 'BTC$1', re2: /^BTC/, into2: 'btc'}, - {re: /Pgp([A-Z]|$)/g, into: 'PGP$1', re2: /^PGP/, into2: 'pgp'}, - {re: /Gpg([A-Z]|$)/g, into: 'GPG$1', re2: /^GPG/, into2: 'gpg'}, - {re: /Uri([A-Zs]|$)/g, into: 'URI$1', re2: /^URI/, into2: 'uri'}, - {re: /Gui([A-Z]|$)/g, into: 'GUI$1', re2: /^GUI/, into2: 'gui'}, - - {re: /Kbfs([A-Z]|$)/g, into: 'KBFS$1', re2: /^KBFS/, into2: 'kbfs'}, - {re: /Json([A-Z]|$)/g, into: 'JSON$1', re2: /^JSON/, into2: 'json'}, - - {re: /Ed25519([A-Z]|$)/g, into: 'ED25519$1', re2: /^ED25519/, into2: 'ed25519'}, - - {re: /Id([A-Zs]|$)/g, into: 'ID$1', re2: /^ID/, into2: 'id'}, - {re: /Kv([A-Zs]|$)/g, into: 'KV$1', re2: /^KV/, into2: 'kv'}, - {re: /Ui([A-Z]|$)/g, into: 'UI$1', re2: /^UI/, into2: 'ui'}, // this has to be placed after the one for UID - {re: /Fs([A-Z]|$)/g, into: 'FS$1', re2: /^FS/, into2: 'fs'}, - {re: /Md([A-Z]|$)/g, into: 'MD$1', re2: /^MD/, into2: 'md'}, - {re: /Ok([A-Z]|$)/g, into: 'OK$1', re2: /^OK/, into2: 'ok'}, -] - -function camelcaseWithSpecialHandlings(s, shouldCapitalize) { - const capitalized = capitalize(camelcase(s)) - let specialized = capitalized - for (const shorthand of shorthands) { - specialized = specialized.replace(shorthand.re, shorthand.into) - } - specialized = specialized.replace(/[Tt][Ll][Ff][Ii][Dd]([A-Zs]|$)/g, 'TLFID$1') - - // since the handling FS would replace TLFs with TLFS - specialized = specialized.replace(/T[Ll]FS/g, 'TLFs') - - if (shouldCapitalize) { - return specialized - } - - for (let shorthand of shorthands) { - specialized = specialized.replace(shorthand.re2, shorthand.into2) - } - - return decapitalize(specialized) -} - -function lintTypedef(record, typedef) { - switch (typedef) { - case 'int64': - case 'uint': - case 'uint64': - lintError( - `${record.name}: ${typedef} cannot be fully represented as a Javascript number (double)`, - record.lint - ) - break - } -} - -function lintRecord(record) { - lintTypedef(record, record.typedef) - const rName = camelcaseWithSpecialHandlings(record.name, true) - if (rName !== record.name) { - lintError(`Record name ${record.name} should be ${rName}`, record.lint) - } - record.fields.forEach(f => { - const fName = camelcaseWithSpecialHandlings(f.name, false) - if (fName !== f.name) { - lintError(`Record variable name ${record.name}.${f.name} should be ${rName}.${fName}`, f.lint) - } - if (f.type === 'bool') { - lintError(`Use boolean instead of bool: ${f.name}`) - } - }) -} - -function lintMessage(name, message) { - const mName = camelcaseWithSpecialHandlings(name, false) - if (mName !== name) { - lintError(`Method name ${name} should be ${mName}`, message.lint) - } - - message.request.forEach(f => { - const fName = camelcaseWithSpecialHandlings(f.name, false) - if (fName !== f.name) { - lintError(`Method arg name ${f.name} should be ${fName}`, message.lint) - } - if (f.type === 'bool') { - lintError(`Use boolean instead of bool: ${f.name}`) - } - }) -} - -function lintJSON(json) { - const pName = camelcaseWithSpecialHandlings(json.protocol, true) - if (pName !== json.protocol) { - // Ignore protocol name lint errors by default - // lintError(`Protocol names should be capitalized: ${json.protocol}`, 'ignore') - } -} - -function lintError(s, lint) { - if (lint === 'ignore') { - // console.log('Ignoring lint error:', colors.yellow(s)) - } else { - console.log(colors.red(s)) - process.exit(1) - } -} - -const keys = Object.keys(projects) -keys.forEach(key => { - const project = projects[key] - const typeDefs = fs - .readdirSync(project.root) - .filter(jsonOnly) - .map(file => load(file, project)) - .map(json => analyze(json, project)) - .reduce((map, next) => { - map.consts = {...map.consts, ...next.consts} - map.types = {...map.types, ...next.types} - map.messages = {...map.messages, ...next.messages} - return map - }, {}) - writeFlow(typeDefs, project) -}) -writeAll() -writeActions() diff --git a/protocol/bin/generate-ts.ts b/protocol/bin/generate-ts.ts new file mode 100644 index 000000000000..aa7cb41a506c --- /dev/null +++ b/protocol/bin/generate-ts.ts @@ -0,0 +1,995 @@ +'use strict' + +import fs from 'node:fs' +import path from 'node:path' +import {fileURLToPath} from 'node:url' +import colors from 'colors' +import json5 from 'json5' + +type EnabledCallType = 'promise' | 'incoming' | 'engineListener' | 'custom' +type EnabledCalls = Record>> +type EnumMap = Record +type IncomingMap = Record +type SeenTypes = Record +type ProjectImport = 'Gregor1' | 'Keybase1' | 'Stellar1' +type ProjectKey = 'chat1' | 'keybase1' | 'gregor1' | 'stellar1' + +type ArrayTypeRef = { + items: string + type: 'array' +} + +type MapTypeRef = { + type: 'map' + values: TypeRef +} + +type TypeRef = string | null | ReadonlyArray | ArrayTypeRef | MapTypeRef | RecordDefinition + +type JsonLint = 'ignore' | string | undefined + +type FieldDefinition = { + fields?: ReadonlyArray + lint?: JsonLint + mpackkey?: string + name: string + type: TypeRef + typedef?: string +} + +type MessageArgument = FieldDefinition & { + default?: unknown +} + +type RecordDefinition = { + fields: ReadonlyArray + lint?: JsonLint + name: string + type: 'record' + typedef?: string +} + +type EnumDefinition = { + lint?: JsonLint + name: string + symbols: ReadonlyArray + type: 'enum' +} + +type VariantCase = { + body: null | string | ArrayTypeRef + label: { + def?: boolean + name: string + } +} + +type VariantDefinition = { + cases: ReadonlyArray + lint?: JsonLint + name: string + switch: { + name: string + type: string + } + type: 'variant' +} + +type FixedDefinition = { + lint?: JsonLint + name: string + type: 'fixed' +} + +type TypeDefinition = RecordDefinition | EnumDefinition | VariantDefinition | FixedDefinition + +type MessageDefinition = { + lint?: JsonLint + notify?: unknown + request: ReadonlyArray + response?: TypeRef +} + +type ProtocolJSON = { + messages: Record + namespace: string + protocol: string + types: ReadonlyArray +} + +type MessageData = { + engineListener: string + engineListenerType: string + inParam: string + outParam: string + rpcPromise: string + rpcPromiseType: string +} + +type AnalysisResult = { + consts: Record + messages: Record + types: Record +} + +type ProjectState = { + customResponseIncomingMaps: IncomingMap + enums: Record + hasEngine?: boolean + hasEngineListener?: boolean + import: ReadonlyArray + incomingMaps: IncomingMap + notEnabled: Array + out: string + root: string + seenTypes: SeenTypes +} + +type GeneratedAction = { + hasResponse: boolean + method: string + projectKey: ProjectKey +} + +type CompileActionsArgs = { + actions: Array + prelude: Array +} +const __filename = fileURLToPath(import.meta.url) +const __dirname = path.dirname(__filename) +const enabledCalls = json5.parse( + fs.readFileSync(path.join(__dirname, 'enabled-calls.json'), 'utf8') +) as EnabledCalls + +const primitiveTypeMap: Record = { + bool: 'boolean', + boolean: 'boolean', + bytes: 'Uint8Array', + double: 'number', + int: 'number', + int64: 'number', + long: 'number', + string: 'string', + uint: 'number', + uint64: 'number', +} + +// Sanity check this json file +Object.entries(enabledCalls).forEach(([rpc, callTypes]) => + Object.keys(callTypes).forEach(type => { + if (!['promise', 'incoming', 'engineListener', 'custom'].includes(type)) { + console.log(colors.red('ERROR! Invalid enabled call?\n\n '), rpc, type) + process.exit(1) + } + }) +) + +const projects: Record = { + chat1: { + customResponseIncomingMaps: {}, + enums: {}, + import: ['Gregor1', 'Keybase1', 'Stellar1'], + incomingMaps: {}, + notEnabled: [], + out: 'rpc-chat-gen', + root: './json/chat1', + seenTypes: {}, + }, + keybase1: { + customResponseIncomingMaps: {}, + enums: {}, + import: ['Gregor1'], + incomingMaps: {}, + notEnabled: [], + out: 'rpc-gen', + root: 'json/keybase1', + seenTypes: {}, + }, + gregor1: { + customResponseIncomingMaps: {}, + enums: {}, + import: [], + incomingMaps: {}, + notEnabled: [], + out: 'rpc-gregor-gen', + root: './json/gregor1', + seenTypes: {}, + }, + stellar1: { + customResponseIncomingMaps: {}, + enums: {}, + import: ['Keybase1'], + incomingMaps: {}, + notEnabled: [], + out: 'rpc-stellar-gen', + root: './json/stellar1', + seenTypes: {}, + }, +} + +function jsonOnly(file: string): boolean { + return !!file.match(/.*\.json$/) +} + +function load(file: string, project: ProjectState): ProtocolJSON { + return JSON.parse(fs.readFileSync(path.join(project.root, file), 'utf8')) as ProtocolJSON +} + +function analyze(json: ProtocolJSON, project: ProjectState): AnalysisResult { + lintJSON(json) + return { + consts: analyzeEnums(json, project), + types: analyzeTypes(json, project), + messages: analyzeMessages(json, project), + } +} + +function fixCase(s: string): string { + return s.toLowerCase().replace(/(_\w)/g, match => capitalize(match.charAt(1))) +} + +function analyzeEnums(json: ProtocolJSON, project: ProjectState): Record { + return json.types + .filter((t): t is EnumDefinition => t.type === 'enum') + .map(t => { + const en: EnumMap = {} + + t.symbols.forEach(s => { + const parts = s.split('_') + const val = parseInt(parts.pop() ?? '', 10) + const name = fixCase(parts.join('_')) + en[name] = val + }) + + project.enums[t.name] = en + + return { + name: t.name, + map: en, + } + }) + .reduce>((map, t) => { + map[decapitalize(t.name)] = `\nexport enum ${t.name} { + ${Object.keys(t.map) + .map(k => `${k} = ${t.map[k]}`) + .join(',\n ')}, +}` + return map + }, {}) +} + +const typeOverloads: Record = {} + +function analyzeTypes(json: ProtocolJSON, project: ProjectState): Record { + return json.types.reduce>((map, t) => { + if (project.seenTypes[t.name]) { + return map + } + + project.seenTypes[t.name] = true + + const typeOverload = typeOverloads[t.name] + if (typeOverload !== undefined) { + map[t.name] = typeOverload + return map + } + + switch (t.type) { + case 'record': + map[t.name] = `export type ${t.name} = ${parseRecord(t)}` + break + case 'enum': + break + case 'variant': + { + const parsed = parseVariant(t, project) + if (parsed) { + map[t.name] = `export type ${t.name} =${parsed}` + } + } + break + case 'fixed': + map[t.name] = `export type ${t.name} = string | null` + break + } + return map + }, {}) +} + +function figureType(type: TypeRef | undefined, prefix = ''): string { + if (!type) { + return 'null' // keep backwards compat with old script + } + + if (Array.isArray(type)) { + if (type.length === 2) { + if (type[0] === null) { + return `${renderTypeName(type[1], prefix)} | null` + } + if (type[1] === null) { + return `${renderTypeName(type[0], prefix)} | null` + } + } + + return `(${type.map(t => (t === null ? 'null' : renderTypeName(t, prefix))).join(' | ')})` + } else if (typeof type === 'object') { + if (isArrayTypeRef(type)) { + return `ReadonlyArray<${renderTypeName(type.items, prefix)}> | null` + } + if (isMapTypeRef(type)) { + return `{[key: string]: ${figureType(type.values, prefix)}} | null` + } + if (isRecordDefinition(type)) { + return parseRecord(type) + } + + console.log(`Unknown type: ${type}`) + return 'unknown' + } + + return renderTypeName(type, prefix) +} + +function capitalize(s: string): string { + return s.charAt(0).toUpperCase() + s.slice(1) +} + +function renderTypeName(type: string, prefix = ''): string { + return primitiveTypeMap[type] ?? prefix + capitalize(type) +} + +function analyzeMessages(json: ProtocolJSON, project: ProjectState): Record { + return Object.entries(json.messages).reduce>((map, [m, message]) => { + lintMessage(m, message) + + const arr = message.request + .filter(r => r.name !== 'sessionID') // We have the engine handle this under the hood + .map(r => { + const rtype = figureType(r.type) + return `readonly ${r.name}${ + r.hasOwnProperty('default') || rtype.endsWith('| null') ? '?' : '' + }: ${rtype}` + }) + const noParams = !arr.length + const inParam = noParams ? 'undefined' : `{${arr.join(',')}}` + const name = `${json.protocol}${capitalize(m)}` + const outParam = figureType(message.response) + const methodName = `'${json.namespace}.${json.protocol}.${m}'` + const hasIncoming = enabledCall(methodName, 'incoming') + const wantsCustom = enabledCall(methodName, 'custom') + if (wantsCustom && message.hasOwnProperty('notify')) { + console.log(colors.red('ERROR! Custom call cannot be a notify method:\n\n '), methodName) + process.exit(1) + } + const hasCustomResponse = wantsCustom && !message.hasOwnProperty('notify') + const isIncomingMethod = hasIncoming || hasCustomResponse + + if (isIncomingMethod) { + project.incomingMaps[methodName] = `(params: RpcIn<${methodName}>) => void` + } + if (hasCustomResponse) { + project.customResponseIncomingMaps[ + methodName + ] = `(params: RpcIn<${methodName}>, response: RpcResponse<${methodName}>) => void` + } + + const rpcPromise = isIncomingMethod ? '' : rpcPromiseGen(methodName, name, false) + const rpcPromiseType = isIncomingMethod ? '' : rpcPromiseGen(methodName, name, true) + const engineListener = isIncomingMethod ? '' : engineListenerGen(methodName, name, false) + const engineListenerType = isIncomingMethod ? '' : engineListenerGen(methodName, name, true) + + if (rpcPromise.length) { + project.hasEngine = true + } + if (engineListener) { + project.hasEngineListener = true + } + + const cleanName = methodName.substring(1, methodName.length - 1) + if (!enabledCalls[cleanName]) { + project.notEnabled.push(methodName) + } + + // Must be an rpc we use + if (rpcPromiseType || engineListenerType || isIncomingMethod) { + map[methodName] = { + inParam, + outParam: outParam === 'null' ? 'void' : outParam, + rpcPromise, + rpcPromiseType, + engineListener, + engineListenerType, + } + } + return map + }, {}) +} + +function enabledCall(methodName: string, type: EnabledCallType): boolean { + const cleanName = methodName.substring(1, methodName.length - 1) + return Boolean(enabledCalls[cleanName]?.[type]) +} + +function engineListenerGen(methodName: string, name: string, justType: boolean): string { + if (!enabledCall(methodName, 'engineListener')) { + return '' + } + return justType + ? `declare export const ${name}RpcListener: ListenerFn<${methodName}>` + : `export const ${name}RpcListener = createListener(${methodName})` +} + +function rpcPromiseGen(methodName: string, name: string, justType: boolean): string { + if (!enabledCall(methodName, 'promise')) { + return '' + } + return justType + ? `declare export const ${name}RpcPromise: RpcFn<${methodName}>` + : `export const ${name}RpcPromise = createRpc(${methodName})` +} + +function maybeIfNot(s: string): string { + if (s.endsWith('| null')) return s + return `${s} | null` +} + +// Type parsing +function parseInnerType(t: TypeRef | undefined): string { + if (!t) { + return 'void' // keep backwards compat with old script + } + + if (Array.isArray(t)) { + if (t.length === 2 && t[0] === null) { + return maybeIfNot(figureType(t[1])) + } else { + return parseUnion(t) + } + } + + if (typeof t === 'string') { + return figureType(t) + } + + if (isRecordDefinition(t)) { + return parseRecord(t) + } + + return figureType(t) +} + +function parseUnion(unionTypes: ReadonlyArray): string { + return unionTypes.map(parseInnerType).join(' | ') +} + +function parseRecord(t: RecordDefinition): string { + lintRecord(t) + if (t.typedef) { + return renderTypeName(t.typedef) + } + + const fields = t.fields + .map(f => { + const innerType = parseInnerType(f.type) + const innerOptional = innerType.endsWith('| null') + const name = f.mpackkey || f.name + const comment = f.mpackkey ? ` /* ${f.name} */ ` : '' + + // If we have a maybe type, let's also make the key optional + return `readonly ${name}${comment}${innerOptional ? '?' : ''}: ${innerType},` + }) + .join('') + + return `{${fields}}` +} + +function parseVariant(t: VariantDefinition, project: ProjectState): string { + let parts = t.switch.type.split('.') + if (parts.length > 1) { + const projectKey = parts.shift() + if (projectKey && projectKey in projects) { + project = projects[projectKey as ProjectKey] + } + } + + const rootType = t.switch.type + const rootEnum = project.enums[rootType] + if (!rootEnum) { + console.log(colors.red(`ERROR! Missing enum for variant switch type:\n\n ${rootType}`)) + process.exit(1) + } + + const unhandled = new Set(Object.keys(rootEnum)) + const type = parts.shift() ?? '' + const cases = t.cases + .map(c => { + if (c.label.def) { + return null + } else { + var label = fixCase(c.label.name) + unhandled.delete(label) + let bodyType = '' + if (c.body === null) { + bodyType = 'null' + } else if (typeof c.body === 'string') { + bodyType = renderTypeName(c.body) + } else if (isArrayTypeRef(c.body)) { + bodyType = `ReadonlyArray<${renderTypeName(c.body.items)}>` + } + const bodyStr = c.body ? `, ${label}: ${bodyType}` : '' + return `{ ${t.switch.name}: ${type}.${label}${bodyStr} }` + } + }) + .filter(Boolean) + + const otherCases = [...unhandled].map(label => `{ ${t.switch.name}: ${type}.${label}}`) + const s = [...cases, ...otherCases].join(' | ') + + return s || 'void' +} + +async function writeActions(): Promise { + const seenProjects: Partial> = {} + + const data = { + actions: Object.keys(projects).reduce>((list, p) => { + const projectKey = p as ProjectKey + const callMap = projects[projectKey].incomingMaps + callMap && + Object.keys(callMap).reduce((actions, method) => { + seenProjects[projectKey] = true + actions.push({ + hasResponse: Boolean(projects[projectKey].customResponseIncomingMaps[method]), + method, + projectKey, + }) + return actions + }, list) + return list + }, []), + } + + return writeEngineActions({ + prelude: Object.keys(seenProjects).map( + p => `import type * as ${p}Types from '@/constants/rpc/${projects[p as ProjectKey].out}'` + ), + ...data, + }) +} + +type GroupedActions = Partial; response: Array}>> + +function groupActions(actions: Array): GroupedActions { + return actions.reduce((grouped, action) => { + const projectActions = grouped[action.projectKey] ?? {incoming: [], response: []} + const methods = action.hasResponse ? projectActions.response : projectActions.incoming + methods.push(action.method) + grouped[action.projectKey] = projectActions + return grouped + }, {}) +} + +function renderActionTypeName(projectKey: ProjectKey, hasResponse: boolean): string { + return `${capitalize(projectKey)}${hasResponse ? 'Response' : 'Incoming'}Action` +} + +function renderActionUnion(projectKey: ProjectKey, hasResponse: boolean, methods: Array): string { + return `type ${renderActionTypeName(projectKey, hasResponse)} = + ${methods.sort().join(' |\n ')}` +} + +function renderActionHelper(projectKey: ProjectKey, hasResponse: boolean): string { + const typeName = `${renderActionTypeName(projectKey, hasResponse)}Map` + const rpcNamespace = `${projectKey}Types` + const payload = hasResponse + ? `{readonly params: ${rpcNamespace}.RpcIn

; readonly response: ${rpcNamespace}.RpcResponse

}` + : `{readonly params: ${rpcNamespace}.RpcIn

}` + + return `type ${typeName} = { + [P in K]: ${payload} +}` +} + +function compileActionsFile({prelude, actions}: CompileActionsArgs): string { + const groupedActions = groupActions(actions) + const usedProjects = (Object.keys(projects) as Array).filter(projectKey => + Boolean(groupedActions[projectKey]) + ) + const actionHelpers = usedProjects + .flatMap(projectKey => { + const projectActions = groupedActions[projectKey] + if (!projectActions) { + return [] + } + const helpers: Array = [] + if (projectActions.incoming.length) { + helpers.push(renderActionUnion(projectKey, false, projectActions.incoming)) + helpers.push(renderActionHelper(projectKey, false)) + } + if (projectActions.response.length) { + helpers.push(renderActionUnion(projectKey, true, projectActions.response)) + helpers.push(renderActionHelper(projectKey, true)) + } + return helpers + }) + .join('\n\n') + const actionSpec = usedProjects + .flatMap(projectKey => { + const projectActions = groupedActions[projectKey] + if (!projectActions) { + return [] + } + + const types: Array = [] + if (projectActions.incoming.length) { + types.push(`${renderActionTypeName(projectKey, false)}Map<${renderActionTypeName(projectKey, false)}>`) + } + if (projectActions.response.length) { + types.push(`${renderActionTypeName(projectKey, true)}Map<${renderActionTypeName(projectKey, true)}>`) + } + return types + }) + .join(' &\n ') + + return `// NOTE: This file is GENERATED from json files in actions/json. Run 'yarn build-actions' to regenerate +${prelude.join('\n')} + +${actionHelpers} + +type ActionSpec = + ${actionSpec} + +export type ActionKey = keyof ActionSpec +type EngineActionMap = { + [K in ActionKey]: {readonly payload: ActionSpec[K]; readonly type: K} +} + +export type ActionPayload = ActionSpec[K] +export type EngineAction = EngineActionMap[K] +export type EngineActions = EngineAction +export type Actions = EngineActions +export type ActionType = ActionKey +export type ActionOf = Extract +export type PayloadOf = ActionOf extends {readonly payload: infer P} ? P : never +export type ParamsOf = PayloadOf extends {readonly params: infer P} ? P : never +export type ResponseOf = PayloadOf extends {readonly response: infer R} ? R : never +` +} + +async function writeEngineActions(desc: CompileActionsArgs): Promise { + const outPath = path.join(__dirname, '../../shared/constants/rpc', 'index.tsx') + fs.writeFileSync(outPath, compileActionsFile(desc)) +} + +async function writeAll(): Promise { + const imports = Object.keys(projects) + .map( + p => `import type { + CustomResponseIncomingCallMap as ${p}CustomResponseIncomingCallMap, + IncomingCallMapType as ${p}IncomingCallMap, +} from './${projects[p as ProjectKey].out}' +` + ) + .join('\n') + + const exports = ` + export type IncomingCallMapType = ${Object.keys(projects) + .map(p => `${p}IncomingCallMap`) + .join(' & ')} + export type CustomResponseIncomingCallMapType = ${Object.keys(projects) + .map(p => `${p}CustomResponseIncomingCallMap`) + .join(' & ')} + ` + const toWrite = [imports, exports].join('\n') + fs.writeFileSync(`js/rpc-all-gen.tsx`, toWrite) +} + +async function writeFlow(typeDefs: AnalysisResult, project: ProjectState): Promise { + const importMap: Record = { + Gregor1: "import * as Gregor1 from './rpc-gregor-gen'", + Keybase1: "import * as Keybase1 from './rpc-gen'", + Stellar1: "import * as Stellar1 from './rpc-stellar-gen'", + } + + const engineImports = [ + project.hasEngine ? 'getEngine as engine' : '', + project.hasEngineListener ? 'getEngineListener' : '', + ] + .filter(f => f.length) + .join(', ') + const engineImport = engineImports.length ? `import {${engineImports}} from '@/engine/require'` : '' + const messageEntries = Object.entries(typeDefs.messages).sort(([left], [right]) => left.localeCompare(right)) + const promiseMethods = messageEntries.filter(([, message]) => message.rpcPromise).map(([key]) => key) + const listenerMethods = messageEntries.filter(([, message]) => message.engineListener).map(([key]) => key) + const incomingMethods = Object.keys(project.incomingMaps) + .filter(im => enabledCall(im, 'incoming')) + .sort() + const customIncomingMethods = Object.keys(project.customResponseIncomingMaps) + .filter(im => enabledCall(im, 'custom')) + .sort() + const promiseMethodUnion = promiseMethods.length ? promiseMethods.join(' | ') : 'never' + const listenerMethodUnion = listenerMethods.length ? listenerMethods.join(' | ') : 'never' + const incomingMethodUnion = incomingMethods.length ? incomingMethods.join(' | ') : 'never' + const customIncomingMethodUnion = customIncomingMethods.length ? customIncomingMethods.join(' | ') : 'never' + const rpcHelpers = [ + `export type MessageKey = keyof MessageTypes`, + `export type RpcIn = MessageTypes[M]['inParam']`, + `export type RpcOut = MessageTypes[M]['outParam']`, + `export type RpcResponse = {error: IncomingErrorCallback, result: (res: RpcOut) => void}`, + project.hasEngine + ? `type PromiseMethod = ${promiseMethodUnion} +export type RpcFn = [RpcIn] extends [undefined] + ? (params?: undefined, waitingKey?: WaitingKey) => Promise> + : (params: RpcIn, waitingKey?: WaitingKey) => Promise> +const createRpc = (method: M): RpcFn => + ((params?: RpcIn, waitingKey?: WaitingKey) => + new Promise>((resolve, reject) => + engine()._rpcOutgoing({ + method, + params, + callback: (error: SimpleError, result: RpcOut) => error ? reject(error) : resolve(result), + waitingKey, + }))) as RpcFn` + : '', + project.hasEngineListener + ? `type ListenerMethod = ${listenerMethodUnion} +type ListenerArgs = { + params: RpcIn, + incomingCallMap: IncomingCallMapType, + customResponseIncomingCallMap?: CustomResponseIncomingCallMap, + waitingKey?: WaitingKey, +} +export type ListenerFn = (p: ListenerArgs) => Promise> +const createListener = (method: M): ListenerFn => + ((p: ListenerArgs) => + getEngineListener, Promise>>()({ + method, + params: p.params, + incomingCallMap: p.incomingCallMap, + customResponseIncomingCallMap: p.customResponseIncomingCallMap, + waitingKey: p.waitingKey, + })) as ListenerFn` + : '', + ] + .filter(Boolean) + .join('\n') + const typePrelude = `/* eslint-disable */ + +// This file is auto-generated. Run \`yarn update-protocol\` to regenerate it. +${engineImport} +${project.import.map(n => importMap[n] || '').join('\n')} +${project.import.map(n => `export {${n}}`).join('\n')} +${project.hasEngine ? 'type WaitingKey = string | ReadonlyArray' : ''} +type SimpleError = {code?: number, desc?: string} +export type IncomingErrorCallback = (err?: SimpleError | null) => void + +` + const consts = Object.keys(typeDefs.consts).map(k => typeDefs.consts[k]) + const types = Object.keys(typeDefs.types).map(k => typeDefs.types[k]) + const messagePromise = messageEntries.map(([, message]) => message.rpcPromise) + const messageEngineListener = messageEntries.map(([, message]) => message.engineListener) + const incomingMap = `\ntype IncomingMethod = ${incomingMethodUnion} +export type IncomingCallMapType = Partial<{[M in IncomingMethod]: (params: RpcIn) => void}>` + + const customResponseIncomingMap = `\ntype CustomIncomingMethod = ${customIncomingMethodUnion} +export type CustomResponseIncomingCallMap = Partial<{[M in CustomIncomingMethod]: (params: RpcIn, response: RpcResponse) => void}>` + + const messageTypesData = messageEntries + .map(([k, data]) => { + return ` ${k}: { + inParam: ${data.inParam}, + outParam: ${data.outParam || 'void'}, + },` + }) + .sort() + .join('\n') + + const messageTypes = `\nexport type MessageTypes = { +${messageTypesData} +}` + + const data = [ + messageTypes, + rpcHelpers, + ...[...consts, ...types].sort(), + incomingMap, + customResponseIncomingMap, + ...[...messagePromise, ...messageEngineListener].sort(), + ] + .filter(Boolean) + .join('\n') + + const notEnabled = `// Not enabled calls. To enable add to enabled-calls.json:\n// ${project.notEnabled.join( + '\n// ' + )}` + + const toWrite = [typePrelude, data, notEnabled].join('\n') + fs.writeFileSync(`js/${project.out}.tsx`, toWrite) +} + +function decapitalize(s: string): string { + return s.charAt(0).toLowerCase() + s.slice(1) +} + +function localCamelcase(s: string): string { + if (!/[^A-Za-z0-9]/.test(s)) { + return s + } + + const parts = s.split(/[^A-Za-z0-9]+/).filter(Boolean) + if (!parts.length) { + return s + } + + const first = parts[0] + if (!first) { + return s + } + const rest = parts.slice(1) + return ( + first.toLowerCase() + + rest.map(part => part.charAt(0).toUpperCase() + part.slice(1).toLowerCase()).join('') + ) +} + +function isTaggedTypeRef(type: TypeRef | undefined): type is ArrayTypeRef | MapTypeRef | RecordDefinition { + return !!type && !Array.isArray(type) && typeof type === 'object' && 'type' in type +} + +function isArrayTypeRef(type: TypeRef | undefined): type is ArrayTypeRef { + return isTaggedTypeRef(type) && type.type === 'array' +} + +function isMapTypeRef(type: TypeRef | undefined): type is MapTypeRef { + return isTaggedTypeRef(type) && type.type === 'map' +} + +function isRecordDefinition(type: TypeRef | undefined): type is RecordDefinition { + return isTaggedTypeRef(type) && type.type === 'record' +} + +const shorthands: ReadonlyArray<{ + into: string + into2: string + re: RegExp + re2: RegExp +}> = [ + {re: /Tty([A-Zs]|$)/g, into: 'TTY$1', re2: /^TTY/, into2: 'tty'}, + {re: /Tlf([A-Zs]|$)/g, into: 'TLF$1', re2: /^TLF/, into2: 'tlf'}, + {re: /Uid([A-Zs]|$)/g, into: 'UID$1', re2: /^UID/, into2: 'uid'}, + {re: /Kid([A-Zs]|$)/g, into: 'KID$1', re2: /^KID/, into2: 'kid'}, + {re: /Cli([A-Z]|$)/g, into: 'CLI$1', re2: /^CLI/, into2: 'cli'}, + {re: /Api([A-Zs]|$)/g, into: 'API$1', re2: /^API/, into2: 'api'}, + {re: /Btc([A-Z]|$)/g, into: 'BTC$1', re2: /^BTC/, into2: 'btc'}, + {re: /Pgp([A-Z]|$)/g, into: 'PGP$1', re2: /^PGP/, into2: 'pgp'}, + {re: /Gpg([A-Z]|$)/g, into: 'GPG$1', re2: /^GPG/, into2: 'gpg'}, + {re: /Uri([A-Zs]|$)/g, into: 'URI$1', re2: /^URI/, into2: 'uri'}, + {re: /Gui([A-Z]|$)/g, into: 'GUI$1', re2: /^GUI/, into2: 'gui'}, + + {re: /Kbfs([A-Z]|$)/g, into: 'KBFS$1', re2: /^KBFS/, into2: 'kbfs'}, + {re: /Json([A-Z]|$)/g, into: 'JSON$1', re2: /^JSON/, into2: 'json'}, + + {re: /Ed25519([A-Z]|$)/g, into: 'ED25519$1', re2: /^ED25519/, into2: 'ed25519'}, + + {re: /Id([A-Zs]|$)/g, into: 'ID$1', re2: /^ID/, into2: 'id'}, + {re: /Kv([A-Zs]|$)/g, into: 'KV$1', re2: /^KV/, into2: 'kv'}, + {re: /Ui([A-Z]|$)/g, into: 'UI$1', re2: /^UI/, into2: 'ui'}, // this has to be placed after the one for UID + {re: /Fs([A-Z]|$)/g, into: 'FS$1', re2: /^FS/, into2: 'fs'}, + {re: /Md([A-Z]|$)/g, into: 'MD$1', re2: /^MD/, into2: 'md'}, + {re: /Ok([A-Z]|$)/g, into: 'OK$1', re2: /^OK/, into2: 'ok'}, +] + +function camelcaseWithSpecialHandlings(s: string, shouldCapitalize: boolean): string { + const capitalized = capitalize(localCamelcase(s)) + let specialized = capitalized + for (const shorthand of shorthands) { + specialized = specialized.replace(shorthand.re, shorthand.into) + } + specialized = specialized.replace(/[Tt][Ll][Ff][Ii][Dd]([A-Zs]|$)/g, 'TLFID$1') + + // since the handling FS would replace TLFs with TLFS + specialized = specialized.replace(/T[Ll]FS/g, 'TLFs') + + if (shouldCapitalize) { + return specialized + } + + for (const shorthand of shorthands) { + specialized = specialized.replace(shorthand.re2, shorthand.into2) + } + + return decapitalize(specialized) +} + +function lintTypedef(record: RecordDefinition, typedef: string | undefined): void { + switch (typedef) { + case 'int64': + case 'uint': + case 'uint64': + lintError( + `${record.name}: ${typedef} cannot be fully represented as a Javascript number (double)`, + record.lint + ) + break + } +} + +function lintRecord(record: RecordDefinition): void { + lintTypedef(record, record.typedef) + const rName = camelcaseWithSpecialHandlings(record.name, true) + if (rName !== record.name) { + lintError(`Record name ${record.name} should be ${rName}`, record.lint) + } + record.fields.forEach(f => { + const fName = camelcaseWithSpecialHandlings(f.name, false) + if (fName !== f.name) { + lintError(`Record variable name ${record.name}.${f.name} should be ${rName}.${fName}`, f.lint) + } + if (f.type === 'bool') { + lintError(`Use boolean instead of bool: ${f.name}`) + } + }) +} + +function lintMessage(name: string, message: MessageDefinition): void { + const mName = camelcaseWithSpecialHandlings(name, false) + if (mName !== name) { + lintError(`Method name ${name} should be ${mName}`, message.lint) + } + + message.request.forEach(f => { + const fName = camelcaseWithSpecialHandlings(f.name, false) + if (fName !== f.name) { + lintError(`Method arg name ${f.name} should be ${fName}`, message.lint) + } + if (f.type === 'bool') { + lintError(`Use boolean instead of bool: ${f.name}`) + } + }) +} + +function lintJSON(json: ProtocolJSON): void { + const pName = camelcaseWithSpecialHandlings(json.protocol, true) + if (pName !== json.protocol) { + // Ignore protocol name lint errors by default + // lintError(`Protocol names should be capitalized: ${json.protocol}`, 'ignore') + } +} + +function lintError(s: string, lint?: JsonLint): void { + if (lint === 'ignore') { + // console.log('Ignoring lint error:', colors.yellow(s)) + } else { + console.log(colors.red(s)) + process.exit(1) + } +} + +async function main(): Promise { + const keys = Object.keys(projects) + for (const key of keys) { + const project = projects[key as ProjectKey] + const typeDefs = fs + .readdirSync(project.root) + .filter(jsonOnly) + .map(file => load(file, project)) + .map(json => analyze(json, project)) + .reduce( + (map, next) => { + map.consts = {...map.consts, ...next.consts} + map.types = {...map.types, ...next.types} + map.messages = {...map.messages, ...next.messages} + return map + }, + {consts: {}, messages: {}, types: {}} + ) + await writeFlow(typeDefs, project) + } + await writeAll() + await writeActions() +} + +main().catch(error => { + console.error(error) + process.exit(1) +}) diff --git a/protocol/json/keybase1/login.json b/protocol/json/keybase1/login.json index ec5d4da54935..20bc3bf201b5 100644 --- a/protocol/json/keybase1/login.json +++ b/protocol/json/keybase1/login.json @@ -26,6 +26,10 @@ { "type": "boolean", "name": "isCurrent" + }, + { + "type": "UID", + "name": "uid" } ] } diff --git a/protocol/package.json b/protocol/package.json index 0452f4851000..e9a79dd4b4b1 100644 --- a/protocol/package.json +++ b/protocol/package.json @@ -2,7 +2,7 @@ "name": "keybase-protocol", "version": "1.0.0", "description": "An IDL and protocol generator for Keybase components", - "main": "bin/compile.iced", + "type": "module", "scripts": { "test": "echo \"Error: no test specified\" && exit 1" }, @@ -19,13 +19,10 @@ "dependencies": { "avdl-compiler": "github:keybase/node-avdl-compiler#7fe780ac783fa214e2d0f54d8f48ea490e8c1612", "avdl2json": "2.2.5", - "camelcase": "6.3.0", - "iced-coffee-script": "108.0.14", - "iced-error": "0.0.13", - "iced-logger": "0.0.6", - "iced-runtime": "1.0.4", - "iced-utils": "0.1.27", - "json5": "2.2.1", - "prettier": "2.6.2" + "json5": "2.2.3" + }, + "devDependencies": { + "@types/node": "24.10.15", + "typescript": "6.0.0-beta" } } diff --git a/protocol/tsconfig.json b/protocol/tsconfig.json new file mode 100644 index 000000000000..fbcb6d70a09e --- /dev/null +++ b/protocol/tsconfig.json @@ -0,0 +1,50 @@ +{ + "compilerOptions": { + "allowJs": false, + "allowUnreachableCode": false, + "allowUnusedLabels": false, + "checkJs": false, + "esModuleInterop": true, + "incremental": true, + "isolatedModules": true, + "lib": [ + "ESNext" + ], + "module": "preserve", + "moduleResolution": "bundler", + "noEmit": true, + "noFallthroughCasesInSwitch": true, + "noImplicitAny": true, + "noImplicitReturns": true, + "noImplicitThis": true, + "noPropertyAccessFromIndexSignature": true, + "noUncheckedIndexedAccess": true, + "noUnusedLocals": true, + "noUnusedParameters": true, + "outDir": "./.tsOuts/.tsOut/emit", + "resolveJsonModule": true, + "skipLibCheck": true, + "sourceMap": false, + "strict": true, + "target": "esnext", + "tsBuildInfoFile": "./.tsOuts/.tsOut/cache", + "types": [ + "node" + ] + }, + "include": [ + "./**/*.ts" + ], + "exclude": [ + "**/node_modules" + ], + "watchOptions": { + "watchFile": "useFsEvents", + "watchDirectory": "useFsEvents", + "fallbackPolling": "dynamicPriority", + "synchronousWatchDirectory": true, + "excludeDirectories": [ + "**/node_modules" + ] + } +} diff --git a/protocol/yarn.lock b/protocol/yarn.lock index 3777ca14c466..8adef27a1535 100644 --- a/protocol/yarn.lock +++ b/protocol/yarn.lock @@ -2,6 +2,13 @@ # yarn lockfile v1 +"@types/node@24.10.15": + version "24.10.15" + resolved "https://registry.yarnpkg.com/@types/node/-/node-24.10.15.tgz#83e016a4c3dbf4e672dc257cf4c941527f1a3aa3" + integrity sha512-BgjLoRuSr0MTI5wA6gMw9Xy0sFudAaUuvrnjgGx9wZ522fYYLA5SYJ+1Y30vTcJEG+DRCyDHx/gzQVfofYzSdg== + dependencies: + undici-types "~7.16.0" + JSONSelect@0.4.0: version "0.4.0" resolved "https://registry.yarnpkg.com/JSONSelect/-/JSONSelect-0.4.0.tgz#a08edcc67eb3fcbe99ed630855344a0cf282bb8d" @@ -19,7 +26,7 @@ amdefine@>=0.0.4: "avdl-compiler@github:keybase/node-avdl-compiler#7fe780ac783fa214e2d0f54d8f48ea490e8c1612": version "1.4.10" - resolved "https://codeload.github.com/keybase/node-avdl-compiler/tar.gz/7fe780ac783fa214e2d0f54d8f48ea490e8c1612" + resolved "https://codeload.github.com/keybase/node-avdl-compiler/tar.gz/4b29feaf4fdf84f90382b1fff1f09c2943874f13" dependencies: avdl2json "^2.2.5" iced-error "0.0.9" @@ -39,11 +46,6 @@ avdl2json@2.2.5, avdl2json@^2.2.5: jison "^0.4.17" minimist "^1.2.0" -camelcase@6.3.0: - version "6.3.0" - resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-6.3.0.tgz#5685b95eb209ac9c0c177467778c9c84df58ba9a" - integrity sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA== - cjson@0.3.0: version "0.3.0" resolved "https://registry.yarnpkg.com/cjson/-/cjson-0.3.0.tgz#e6439b90703d312ff6e2224097bea92ce3d02a14" @@ -66,11 +68,6 @@ colors@^1.1.2: resolved "https://registry.yarnpkg.com/colors/-/colors-1.3.2.tgz#2df8ff573dfbf255af562f8ce7181d6b971a359b" integrity sha512-rhP0JSBGYvpcNQj4s5AdShMeE5ahMop96cTeDl/v9qQQm2fYClE2QXZRi8wLzc+GmXSxdIqqbOIAhyObEXDbfQ== -colors@~0.6.2: - version "0.6.2" - resolved "https://registry.yarnpkg.com/colors/-/colors-0.6.2.tgz#2423fe6678ac0c5dae8852e5d0e5be08c997abcc" - integrity sha1-JCP+ZnisDF2uiFLl0OW+CMmXq8w= - deep-equal@>=0.2.1: version "1.0.1" resolved "https://registry.yarnpkg.com/deep-equal/-/deep-equal-1.0.1.tgz#f5d260292b660e084eff4cdbc9f08ad3247448b5" @@ -107,49 +104,12 @@ esutils@~1.0.0: resolved "https://registry.yarnpkg.com/esutils/-/esutils-1.0.0.tgz#8151d358e20c8acc7fb745e7472c0025fe496570" integrity sha1-gVHTWOIMisx/t0XnRywAJf5JZXA= -iced-coffee-script@108.0.14: - version "108.0.14" - resolved "https://registry.yarnpkg.com/iced-coffee-script/-/iced-coffee-script-108.0.14.tgz#9ca5b258decf4a5eafb16f5663ff7683227c4f1a" - integrity sha512-e0CNmz51UGWRa2glPnUMnJM7oKQE81cxeC0WAgCjJDRImv3FDHldZr/Ngkbrgdbf1drGGzYWp+PWeJwXIfHwDw== - dependencies: - iced-runtime ">=0.0.1" - uglify-js "^3.5.9" - -iced-error@0.0.13: - version "0.0.13" - resolved "https://registry.yarnpkg.com/iced-error/-/iced-error-0.0.13.tgz#a4a8a4f1461a59c7a2a380b4f745ffd80718f08b" - integrity sha512-yEEaG8QfyyRL0SsbNNDw3rVgTyqwHFMCuV6jDvD43f/2shmdaFXkqvFLGhDlsYNSolzYHwVLM/CrXt9GygYopA== - iced-error@0.0.9: version "0.0.9" resolved "https://registry.yarnpkg.com/iced-error/-/iced-error-0.0.9.tgz#c7c3057614c0a187d96b3d18c6d520e6b872ed37" integrity sha1-x8MFdhTAoYfZaz0YxtUg5rhy7Tc= -iced-error@^0.0.10: - version "0.0.10" - resolved "https://registry.yarnpkg.com/iced-error/-/iced-error-0.0.10.tgz#f82e4368f79f4afdf3ed20375acc28a8702809e8" - integrity sha1-+C5DaPefSv3z7SA3WswoqHAoCeg= - -iced-lock@^1.0.2: - version "1.1.0" - resolved "https://registry.yarnpkg.com/iced-lock/-/iced-lock-1.1.0.tgz#6116ef1cab3acd6e6b10893bb27ba622fd3fde72" - integrity sha1-YRbvHKs6zW5rEIk7snumIv0/3nI= - dependencies: - iced-runtime "^1.0.0" - -iced-logger@0.0.6: - version "0.0.6" - resolved "https://registry.yarnpkg.com/iced-logger/-/iced-logger-0.0.6.tgz#3f38081e4df4742aab09b86bb0adf8ea6c12de82" - integrity sha1-PzgIHk30dCqrCbhrsK346mwS3oI= - dependencies: - colors "~0.6.2" - -iced-runtime@1.0.4: - version "1.0.4" - resolved "https://registry.yarnpkg.com/iced-runtime/-/iced-runtime-1.0.4.tgz#e9de26dfe98cd8621201f7f3dfb9f7f09c550990" - integrity sha512-rgiJXNF6ZgF2Clh/TKUlBDW3q51YPDJUXmxGQXx1b8tbZpVpTn+1RX9q1sjNkujXIIaVxZByQzPHHORg7KV51g== - -iced-runtime@>=0.0.1, "iced-runtime@>=0.0.1 <2.0.0-0", iced-runtime@^1.0.0, iced-runtime@^1.0.3: +iced-runtime@>=0.0.1, iced-runtime@^1.0.3: version "1.0.3" resolved "https://registry.yarnpkg.com/iced-runtime/-/iced-runtime-1.0.3.tgz#2d4f4fb999ab7aa5430b193c77a7fce4118319ce" integrity sha1-LU9PuZmreqVDCxk8d6f85BGDGc4= @@ -164,15 +124,6 @@ iced-test@0.0.22: iced-runtime ">=0.0.1" minimist ">=0.0.8" -iced-utils@0.1.27: - version "0.1.27" - resolved "https://registry.yarnpkg.com/iced-utils/-/iced-utils-0.1.27.tgz#dcd4da765dbe93f2af12576d0c2dac9a6b35a172" - integrity sha512-Yi17vdjWBXfdqYEA08mCVy1AcLCkj7UsUg3/wCJUMeE5/ZWilc2vhM7nlFpRXpa9LYgbPbg8fNAnP5V8L+TZdw== - dependencies: - iced-error "^0.0.10" - iced-lock "^1.0.2" - iced-runtime ">=0.0.1 <2.0.0-0" - jison-lex@0.3.x: version "0.3.4" resolved "https://registry.yarnpkg.com/jison-lex/-/jison-lex-0.3.4.tgz#81ca28d84f84499dfa8c594dcde3d8a3f26ec7a5" @@ -195,10 +146,10 @@ jison@^0.4.17: lex-parser "~0.1.3" nomnom "1.5.2" -json5@2.2.1: - version "2.2.1" - resolved "https://registry.yarnpkg.com/json5/-/json5-2.2.1.tgz#655d50ed1e6f95ad1a3caababd2b0efda10b395c" - integrity sha512-1hqLFMSrGHRHxav9q9gNjJ5EXznIxGVO09xQRrwplcS8qs28pZ8s8hupZAmqDwZUmVZ2Qb2jnyPOWcDH8m8dlA== +json5@2.2.3: + version "2.2.3" + resolved "https://registry.yarnpkg.com/json5/-/json5-2.2.3.tgz#78cd6f1a19bdc12b73db5ad0c61efd66c1e29283" + integrity sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg== jsonlint@1.6.0: version "1.6.0" @@ -231,11 +182,6 @@ nomnom@1.5.2, "nomnom@>= 1.5.x": colors "0.5.x" underscore "1.1.x" -prettier@2.6.2: - version "2.6.2" - resolved "https://registry.yarnpkg.com/prettier/-/prettier-2.6.2.tgz#e26d71a18a74c3d0f0597f55f01fb6c06c206032" - integrity sha512-PkUpF+qoXTqhOeWL9fu7As8LXsIUZ1WYaJiY/a7McAQzxjk82OF0tibkFXVCDImZtWxbvojFjerkiLb0/q8mew== - source-map@~0.1.33: version "0.1.43" resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.1.43.tgz#c24bc146ca517c1471f5dacbe2571b2b7f9e3346" @@ -243,12 +189,17 @@ source-map@~0.1.33: dependencies: amdefine ">=0.0.4" -uglify-js@^3.5.9: - version "3.15.4" - resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-3.15.4.tgz#fa95c257e88f85614915b906204b9623d4fa340d" - integrity sha512-vMOPGDuvXecPs34V74qDKk4iJ/SN4vL3Ow/23ixafENYvtrNvtbcgUeugTcUGRGsOF/5fU8/NYSL5Hyb3l1OJA== +typescript@6.0.0-beta: + version "6.0.0-beta" + resolved "https://registry.yarnpkg.com/typescript/-/typescript-6.0.0-beta.tgz#2f87bd0cd1a291f675b3414a02a00bd4f7b48357" + integrity sha512-CldZdztDpQRLM1HC6WDQjQkQN5Ub5zRau737a1diGh3lPmb9oRsaWHk1y5iqK0o7+1bNJ0oXfEGRkAogFZBL+Q== underscore@1.1.x: version "1.1.7" resolved "https://registry.yarnpkg.com/underscore/-/underscore-1.1.7.tgz#40bab84bad19d230096e8d6ef628bff055d83db0" integrity sha1-QLq4S60Z0jAJbo1u9ii/8FXYPbA= + +undici-types@~7.16.0: + version "7.16.0" + resolved "https://registry.yarnpkg.com/undici-types/-/undici-types-7.16.0.tgz#ffccdff36aea4884cbfce9a750a0580224f58a46" + integrity sha512-Zz+aZWSj8LE6zoxD+xrjh4VfkIG8Ya6LvYkZqtUQGJPZjYl53ypCaUwWqo7eI0x66KBGeRo+mlBEkMSeSZ38Nw== diff --git a/rnmodules/react-native-kb/android/CMakeLists.txt b/rnmodules/react-native-kb/android/CMakeLists.txt index c016c8798d8a..92cacd494863 100644 --- a/rnmodules/react-native-kb/android/CMakeLists.txt +++ b/rnmodules/react-native-kb/android/CMakeLists.txt @@ -2,7 +2,7 @@ project(cpp) cmake_minimum_required(VERSION 3.4.1) set (CMAKE_VERBOSE_MAKEFILE ON) -set (CMAKE_CXX_STANDARD 17) +set (CMAKE_CXX_STANDARD 20) set (NODE_MODULES_DIR "${CMAKE_SOURCE_DIR}/../..") add_library(cpp @@ -16,12 +16,12 @@ message(INFO "params: ${NODE_MODULES_DIR}") # Specifies a path to native header files. include_directories( ../cpp - "${NODE_MODULES_DIR}/msgpack-cxx-6.1.0/include" + "${NODE_MODULES_DIR}/msgpack-cxx-7.0.0/include" ) set_target_properties( cpp PROPERTIES - CXX_STANDARD 17 + CXX_STANDARD 20 CXX_EXTENSIONS OFF POSITION_INDEPENDENT_CODE ON ) diff --git a/rnmodules/react-native-kb/android/cpp-adapter.cpp b/rnmodules/react-native-kb/android/cpp-adapter.cpp index f7ed9c8da652..b11e52b4e737 100644 --- a/rnmodules/react-native-kb/android/cpp-adapter.cpp +++ b/rnmodules/react-native-kb/android/cpp-adapter.cpp @@ -1,158 +1,81 @@ -// https://github.com/ammarahm-ed/react-native-jsi-template/blob/master/android/cpp-adapter.cpp -#include "pthread.h" #include "react-native-kb.h" +#include #include -#include +#include #include -#include #include -#include using namespace facebook; using namespace facebook::jsi; -using namespace std; -using namespace kb; +using namespace facebook::react; -JavaVM *java_vm = NULL; -jclass java_class; -jobject java_object; - -/** - * A simple callback function that allows us to detach current JNI Environment - * when the thread - * See https://stackoverflow.com/a/30026231 for detailed explanation - */ - -void DeferThreadDetach(JNIEnv *env) { - static pthread_key_t thread_key; - - // Set up a Thread Specific Data key, and a callback that - // will be executed when a thread is destroyed. - // This is only done once, across all threads, and the value - // associated with the key for any given thread will initially - // be NULL. - static auto run_once = [] { - const auto err = pthread_key_create(&thread_key, [](void *ts_env) { - if (ts_env) { - java_vm->DetachCurrentThread(); - } - }); - if (err) { - // Failed to create TSD key. Throw an exception if you want to. - } - return 0; - }(); - static_cast(run_once); - - // For the callback to actually be executed when a thread exits - // we need to associate a non-NULL value with the key on that thread. - // We can use the JNIEnv* as that value. - const auto ts_env = pthread_getspecific(thread_key); - if (!ts_env) { - if (pthread_setspecific(thread_key, env)) { - // Failed to set thread-specific value for key. Throw an exception if you - // want to. - } - } -} - -/** - * Get a JNIEnv* valid for this thread, regardless of whether - * we're on a native thread or a Java thread. - * If the calling thread is not currently attached to the JVM - * it will be attached, and then automatically detached when the - * thread is destroyed. - * - * See https://stackoverflow.com/a/30026231 for detailed explanation - */ -JNIEnv *GetJniEnv() { - JNIEnv *env = nullptr; - // We still call GetEnv first to detect if the thread already - // is attached. This is done to avoid setting up a DetachCurrentThread - // call on a Java thread. +struct JKbModule : jni::JavaClass { + static constexpr auto kJavaDescriptor = "Lcom/reactnativekb/KbModule;"; +}; - // g_vm is a global. - auto get_env_result = java_vm->GetEnv((void **)&env, JNI_VERSION_1_6); - if (get_env_result == JNI_EDETACHED) { - if (java_vm->AttachCurrentThread(&env, NULL) == JNI_OK) { - DeferThreadDetach(env); - } else { - // Failed to attach thread. Throw an exception if you want to. - } - } else if (get_env_result == JNI_EVERSION) { - // Unsupported JNI version. Throw an exception if you want to. +class KbNativeAdapter { +public: + jni::global_ref jModule_; + std::shared_ptr bridge_; + + explicit KbNativeAdapter(jni::alias_ref jModule) + : jModule_(jni::make_global(jModule)) {} + + void writeToGo(void *ptr, size_t size) { + jni::ThreadScope scope; + auto env = jni::Environment::current(); + auto jba = env->NewByteArray(size); + env->SetByteArrayRegion(jba, 0, size, (jbyte *)ptr); + static auto method = + JKbModule::javaClassStatic() + ->getMethod)>("rpcOnGo"); + method(jModule_, jni::wrap_alias(jba)); + env->DeleteLocalRef(jba); } - return env; -} - -static jstring string2jstring(JNIEnv *env, const string &str) { - return (*env).NewStringUTF(str.c_str()); -} +}; -void install(facebook::jsi::Runtime &jsiRuntime) { - auto rpcOnGo = Function::createFromHostFunction( - jsiRuntime, PropNameID::forAscii(jsiRuntime, "rpcOnGo"), 1, - [](Runtime &runtime, const Value &thisValue, const Value *arguments, - size_t count) -> Value { - return RpcOnGo( - runtime, thisValue, arguments, count, [](void *ptr, size_t size) { - JNIEnv *jniEnv = GetJniEnv(); - java_class = jniEnv->GetObjectClass(java_object); - jmethodID rpcOnGo = - jniEnv->GetMethodID(java_class, "rpcOnGo", "([B)V"); - jbyteArray jba = jniEnv->NewByteArray(size); - jniEnv->SetByteArrayRegion(jba, 0, size, (jbyte *)ptr); - jvalue params[1]; - params[0].l = jba; - jniEnv->CallVoidMethodA(java_object, rpcOnGo, params); +static std::shared_ptr g_adapter; + +static jni::local_ref +getBindingsInstaller(jni::alias_ref thiz) { + g_adapter = std::make_shared(thiz); + + return BindingsInstallerHolder::newObjectCxxArgs( + [adapter = g_adapter](jsi::Runtime &runtime, + const std::shared_ptr &callInvoker) { + if (adapter->bridge_) { + adapter->bridge_->teardown(); + } + adapter->bridge_ = std::make_shared(); + adapter->bridge_->install( + runtime, callInvoker, + [weak = std::weak_ptr(adapter)](void *ptr, size_t size) { + if (auto a = weak.lock()) + a->writeToGo(ptr, size); + }, + [](const std::string &err) { + __android_log_print(ANDROID_LOG_ERROR, "KBBridge", + "JSI error: %s", err.c_str()); }); }); - jsiRuntime.global().setProperty(jsiRuntime, "rpcOnGo", std::move(rpcOnGo)); } -extern "C" JNIEXPORT void JNICALL installJSI(JNIEnv *env, jobject thiz, jlong jsi) { - auto runtime = reinterpret_cast(jsi); - if (runtime) { - install(*runtime); - } - env->GetJavaVM(&java_vm); - java_object = env->NewGlobalRef(thiz); +static void nativeOnDataFromGo(jni::alias_ref thiz, + jni::alias_ref data) { + auto adapter = g_adapter; + if (!adapter || !adapter->bridge_ || !data) + return; + auto pinned = data->pin(); + adapter->bridge_->onDataFromGo(reinterpret_cast(pinned.get()), + pinned.size()); } -extern "C" JNIEXPORT void JNICALL emit(JNIEnv *env, jclass clazz, jlong jsi, jobject boxedCallInvokerHolder, jbyteArray data) { - auto rPtr = reinterpret_cast(jsi); - auto &runtime = *rPtr; - auto boxedCallInvokerRef = jni::make_local(boxedCallInvokerHolder); - auto callInvokerHolder = - jni::dynamic_ref_cast( - boxedCallInvokerRef); - auto callInvoker = callInvokerHolder->cthis()->getCallInvoker(); - - auto size = static_cast(env->GetArrayLength(data)); - auto payloadBytes = - reinterpret_cast(env->GetByteArrayElements(data, nullptr)); - auto values = PrepRpcOnJS(runtime, payloadBytes, size); - callInvoker->invokeAsync([values, &runtime]() { - RpcOnJS(runtime, values, [](const std::string &err) { - JNIEnv *jniEnv = GetJniEnv(); - java_class = jniEnv->GetObjectClass(java_object); - jmethodID log = - jniEnv->GetMethodID(java_class, "log", "(Ljava/lang/String;)V"); - auto s = string2jstring(jniEnv, err); - jvalue params[1]; - params[0].l = s; - jniEnv->CallVoidMethodA(java_object, log, params); - }); +JNIEXPORT jint JNICALL JNI_OnLoad(JavaVM *vm, void *) { + return jni::initialize(vm, [] { + jni::findClassStatic("com/reactnativekb/KbModule") + ->registerNatives({ + makeNativeMethod("getBindingsInstaller", getBindingsInstaller), + makeNativeMethod("nativeOnDataFromGo", nativeOnDataFromGo), + }); }); } - -static JNINativeMethod methods[] = { - {"installJSI", "(J)V", (void *)&installJSI}, - {"emit", "(JLcom/facebook/react/turbomodule/core/CallInvokerHolderImpl;[B)V", (void *)&emit}, -}; - - -extern "C" JNIEXPORT void JNICALL Java_com_reactnativekb_KbModule_registerNatives(JNIEnv *env, jobject thiz, jlong jsi) { - jclass clazz = env->FindClass("com/reactnativekb/KbModule"); - env->RegisterNatives(clazz, methods, sizeof(methods)/sizeof(methods[0])); -} diff --git a/rnmodules/react-native-kb/android/src/main/java/com/reactnativekb/DarkModePrefHelper.kt b/rnmodules/react-native-kb/android/src/main/java/com/reactnativekb/DarkModePrefHelper.kt index 192bc517d23a..1c76672c567f 100644 --- a/rnmodules/react-native-kb/android/src/main/java/com/reactnativekb/DarkModePrefHelper.kt +++ b/rnmodules/react-native-kb/android/src/main/java/com/reactnativekb/DarkModePrefHelper.kt @@ -1,7 +1,5 @@ package com.reactnativekb -import kotlin.Throws - object DarkModePrefHelper { fun fromString(prefString: String): DarkModePreference { return when (prefString) { diff --git a/rnmodules/react-native-kb/android/src/main/java/com/reactnativekb/DarkModePreference.kt b/rnmodules/react-native-kb/android/src/main/java/com/reactnativekb/DarkModePreference.kt index b62b89766471..c318913c62cd 100644 --- a/rnmodules/react-native-kb/android/src/main/java/com/reactnativekb/DarkModePreference.kt +++ b/rnmodules/react-native-kb/android/src/main/java/com/reactnativekb/DarkModePreference.kt @@ -1,7 +1,5 @@ package com.reactnativekb -import kotlin.Throws - enum class DarkModePreference { System, AlwaysDark, diff --git a/rnmodules/react-native-kb/android/src/main/java/com/reactnativekb/GuiConfig.kt b/rnmodules/react-native-kb/android/src/main/java/com/reactnativekb/GuiConfig.kt index c78a5fd2ebcb..0544d0295070 100644 --- a/rnmodules/react-native-kb/android/src/main/java/com/reactnativekb/GuiConfig.kt +++ b/rnmodules/react-native-kb/android/src/main/java/com/reactnativekb/GuiConfig.kt @@ -1,27 +1,19 @@ package com.reactnativekb -import androidx.annotation.Nullable - import org.json.JSONException import org.json.JSONObject import java.io.File -class GuiConfig private constructor(filesDir: File?) { - private val filesDir: File? - - init { - this.filesDir = filesDir - } - +class GuiConfig private constructor(private val filesDir: File?) { fun asString(): String? { val filePath = File(filesDir, "/.config/keybase/gui_config.json") - return ReadFileAsString.read(filePath.getAbsolutePath()) + return ReadFileAsString.read(filePath.absolutePath) } fun getDarkMode(): DarkModePreference { return try { - val jsonObject = JSONObject(asString()) + val jsonObject = JSONObject(asString() ?: return DarkModePreference.System) val jsonObjectUI: JSONObject = jsonObject.getJSONObject("ui") val darkModeString: String = jsonObjectUI.getString("darkMode") DarkModePrefHelper.fromString(darkModeString) diff --git a/rnmodules/react-native-kb/android/src/main/java/com/reactnativekb/KbModule.kt b/rnmodules/react-native-kb/android/src/main/java/com/reactnativekb/KbModule.kt index d8e277578a87..6c4ac83fa285 100644 --- a/rnmodules/react-native-kb/android/src/main/java/com/reactnativekb/KbModule.kt +++ b/rnmodules/react-native-kb/android/src/main/java/com/reactnativekb/KbModule.kt @@ -5,7 +5,6 @@ import android.app.DownloadManager import android.app.KeyguardManager import android.content.Context import android.content.Intent -import android.content.SharedPreferences import android.content.res.AssetFileDescriptor import android.net.Uri import android.os.Build @@ -14,11 +13,8 @@ import android.os.Environment import android.os.Handler import android.os.Looper import android.provider.Settings -import android.telephony.TelephonyManager import android.text.format.DateFormat import android.util.Log -import android.view.Window -import android.view.WindowManager import androidx.core.app.NotificationCompat import androidx.core.app.NotificationManagerCompat import androidx.core.content.FileProvider @@ -33,10 +29,9 @@ import com.facebook.react.bridge.ReadableMap import com.facebook.react.bridge.WritableArray import com.facebook.react.bridge.WritableMap import com.facebook.react.module.annotations.ReactModule -import com.facebook.react.modules.core.DeviceEventManagerModule -import com.facebook.react.turbomodule.core.CallInvokerHolderImpl -import com.google.android.gms.tasks.OnCompleteListener -import com.google.android.gms.tasks.Task +import com.facebook.react.turbomodule.core.interfaces.TurboModuleWithJSIBindings +import com.facebook.react.turbomodule.core.interfaces.BindingsInstallerHolder +import com.facebook.proguard.annotations.DoNotStrip import com.google.firebase.messaging.FirebaseMessagingService import com.google.firebase.messaging.FirebaseMessaging import com.google.firebase.FirebaseApp @@ -55,14 +50,11 @@ import java.util.concurrent.ExecutorService import java.util.concurrent.Executors import java.util.concurrent.TimeUnit import java.util.concurrent.atomic.AtomicReference -import java.util.regex.Matcher -import java.util.regex.Pattern import keybase.Keybase import me.leolin.shortcutbadger.ShortcutBadger import keybase.Keybase.readArr import keybase.Keybase.version import keybase.Keybase.writeArr -import com.facebook.react.common.annotations.FrameworkAPI import android.media.MediaMetadataRetriever import androidx.media3.transformer.TransformationRequest import androidx.media3.transformer.Transformer @@ -80,16 +72,16 @@ import androidx.media3.transformer.DefaultEncoderFactory import java.nio.ByteBuffer import kotlin.math.min -@OptIn(FrameworkAPI::class) -class KbModule(reactContext: ReactApplicationContext?) : KbSpec(reactContext) { +class KbModule(reactContext: ReactApplicationContext?) : KbSpec(reactContext), TurboModuleWithJSIBindings { private val misTestDevice: Boolean private val initialIntent: HashMap? = null private val reactContext: ReactApplicationContext - private external fun registerNatives(jsiPtr: Long) - private external fun installJSI(jsiPtr: Long) - private external fun emit(jsiPtr: Long, jsInvoker: CallInvokerHolderImpl?, data: ByteArray?) + + @DoNotStrip + external override fun getBindingsInstaller(): BindingsInstallerHolder + private external fun nativeOnDataFromGo(data: ByteArray) + private var executor: ExecutorService? = null - private var jsiInstalled: Boolean? = false override fun getName(): String { return NAME @@ -113,170 +105,6 @@ class KbModule(reactContext: ReactApplicationContext?) : KbSpec(reactContext) { // not used } - /* - @ReactMethod - override fun processVideo(path: String, promise: Promise) { - Executors.newSingleThreadExecutor().execute { - try { - val inputFile = File(path) - if (!inputFile.exists()) { - promise.reject("FILE_NOT_FOUND", "Video file not found: $path") - return@execute - } - - val retriever = MediaMetadataRetriever() - try { - retriever.setDataSource(path) - val widthStr = retriever.extractMetadata(MediaMetadataRetriever.METADATA_KEY_VIDEO_WIDTH) - val heightStr = retriever.extractMetadata(MediaMetadataRetriever.METADATA_KEY_VIDEO_HEIGHT) - val fileSize = inputFile.length() - - val width = widthStr?.toIntOrNull() ?: 0 - val height = heightStr?.toIntOrNull() ?: 0 - val maxPixels = 1920 * 1080 - val maxFileSize = 50L * 1024 * 1024 // 50MB - val pixelCount = width * height - - val needsCompression = pixelCount > maxPixels || fileSize > maxFileSize - NativeLogger.info("Video processing: width=$width, height=$height, pixelCount=$pixelCount, fileSize=$fileSize, needsCompression=$needsCompression") - - if (!needsCompression) { - Log.i("VideoCompression", "Video does not need compression, returning original path") - promise.resolve(path) - return@execute - } - - val outputFile = File(inputFile.parent, "${inputFile.nameWithoutExtension}.processed.mp4") - NativeLogger.info("Starting video compression: $path -> ${outputFile.absolutePath}") - compressVideo(path, outputFile.absolutePath, width, height, maxPixels) - - // Verify output file exists and is valid before resolving - if (!outputFile.exists()) { - throw IllegalStateException("Compressed video file does not exist: ${outputFile.absolutePath}") - } - val outputSize = outputFile.length() - if (outputSize == 0L) { - throw IllegalStateException("Compressed video file is empty: ${outputFile.absolutePath}") - } - NativeLogger.info("Video compression completed successfully: ${outputFile.absolutePath}, size=$outputSize bytes (original=${inputFile.length()} bytes)") - promise.resolve(outputFile.absolutePath) - } finally { - retriever.release() - } - } catch (e: Exception) { - NativeLogger.error("Error compressing video", e) - promise.reject("COMPRESSION_ERROR", "Failed to compress video: ${e.message}", e) - } - } - } - */ - - /* - private fun compressVideo(inputPath: String, outputPath: String, originalWidth: Int, originalHeight: Int, maxPixels: Int) { - val (outputWidth, outputHeight) = calculateOutputDimensions(originalWidth, originalHeight, maxPixels) - val targetBitrate = calculateBitrate(outputWidth, outputHeight) - - // Ensure output directory exists - val outputFile = File(outputPath) - outputFile.parentFile?.mkdirs() - - // Use Media3 Transformer for simple, reliable transcoding - // Note: Bitrate is controlled by the encoder automatically based on resolution - // Media3 Transformer doesn't expose direct bitrate control in TransformationRequest - // Transformer and all Media3 objects must be created and used on a thread with a Looper (main thread) - val latch = CountDownLatch(1) - val exceptionRef = AtomicReference(null) - val mainHandler = Handler(Looper.getMainLooper()) - - mainHandler.post { - try { - NativeLogger.info("compressVideo: Creating Media3 objects on main thread") - // Create file URI properly - val inputFile = File(inputPath) - val inputUri = Uri.fromFile(inputFile) - val mediaItem = MediaItem.fromUri(inputUri) - - // Apply scaling transformation if needed - val editedMediaItemBuilder = EditedMediaItem.Builder(mediaItem) - if (outputWidth != originalWidth || outputHeight != originalHeight) { - val scaleX = outputWidth.toFloat() / originalWidth.toFloat() - val scaleY = outputHeight.toFloat() / originalHeight.toFloat() - NativeLogger.info("compressVideo: Scaling from ${originalWidth}x${originalHeight} to ${outputWidth}x${outputHeight} (scale=$scaleX,$scaleY)") - val scaleTransformation = ScaleAndRotateTransformation.Builder() - .setScale(scaleX, scaleY) - .build() - // Effects class wraps video effects and audio processors - // Constructor takes (audioProcessors, videoEffects) as positional parameters - editedMediaItemBuilder.setEffects( - Effects(listOf(), listOf(scaleTransformation)) - ) - } - val editedMediaItem = editedMediaItemBuilder.build() - - // Set video encoder settings with target bitrate to actually compress the video - val videoEncoderSettings = VideoEncoderSettings.Builder() - .setBitrate(targetBitrate) - .build() - - // Create encoder factory with video encoder settings - val encoderFactory = DefaultEncoderFactory.Builder(reactContext) - .setRequestedVideoEncoderSettings(videoEncoderSettings) - .build() - - val transformationRequest = TransformationRequest.Builder() - .setVideoMimeType(MimeTypes.VIDEO_H264) - .setAudioMimeType(MimeTypes.AUDIO_AAC) - .build() - - NativeLogger.info("compressVideo: Creating Transformer with listener") - val transformer = Transformer.Builder(reactContext) - .setTransformationRequest(transformationRequest) - .setEncoderFactory(encoderFactory) - .addListener(object : Listener { - override fun onCompleted(composition: Composition, result: ExportResult) { - NativeLogger.info("compressVideo: Transformation completed successfully") - latch.countDown() - } - - override fun onError(composition: Composition, result: ExportResult, exception: ExportException) { - NativeLogger.error("compressVideo: Transformation error", exception) - exceptionRef.set(exception) - latch.countDown() - } - }) - .build() - - NativeLogger.info("compressVideo: Starting Transformer.start() (asynchronous)") - // Transformer.start() is asynchronous - completion is signaled via Listener callbacks - transformer.start(editedMediaItem, outputPath) - } catch (e: Exception) { - NativeLogger.error("Error in compressVideo Transformer operation", e) - exceptionRef.set(e) - latch.countDown() - } - } - - // Wait for Transformer operation to complete on main thread - // The Listener callbacks will signal completion via latch.countDown() - latch.await() - - // Check if an exception occurred during transformation - val exception = exceptionRef.get() - if (exception != null) { - throw exception - } - - // Validate that output file was created and is valid - if (!outputFile.exists()) { - throw IllegalStateException("Compressed video file was not created: $outputPath") - } - if (outputFile.length() == 0L) { - throw IllegalStateException("Compressed video file is empty: $outputPath") - } - NativeLogger.info("compressVideo: Output file validated - size=${outputFile.length()} bytes") - } - */ - private fun calculateOutputDimensions(width: Int, height: Int, maxPixels: Int): Pair { val pixelCount = width * height if (pixelCount <= maxPixels) { @@ -309,7 +137,7 @@ class KbModule(reactContext: ReactApplicationContext?) : KbSpec(reactContext) { */ private fun getBuildConfigValue(fieldName: String): Any? { try { - val clazz: Class<*> = Class.forName(reactContext.getPackageName() + ".BuildConfig") + val clazz: Class<*> = Class.forName("${reactContext.packageName}.BuildConfig") val field = clazz.getField(fieldName) return field.get(null) } catch (e: ClassNotFoundException) { @@ -323,7 +151,7 @@ class KbModule(reactContext: ReactApplicationContext?) : KbSpec(reactContext) { } private fun readGuiConfig(): String? { - return GuiConfig.getInstance(reactContext.getFilesDir())?.asString() + return GuiConfig.getInstance(reactContext.filesDir)?.asString() } @ReactMethod(isBlockingSynchronousMethod = true) @@ -333,28 +161,28 @@ class KbModule(reactContext: ReactApplicationContext?) : KbSpec(reactContext) { var isDeviceSecure = false try { val keyguardManager: KeyguardManager = reactContext.getSystemService(Context.KEYGUARD_SERVICE) as KeyguardManager - isDeviceSecure = keyguardManager.isKeyguardSecure() + isDeviceSecure = keyguardManager.isKeyguardSecure } catch (e: Exception) { NativeLogger.warn(": Error reading keyguard secure state", e) } var serverConfig = "" try { - serverConfig = ReadFileAsString.read(reactContext.getCacheDir().getAbsolutePath() + "/Keybase/keybase.app.serverConfig") + serverConfig = ReadFileAsString.read("${reactContext.cacheDir.absolutePath}/Keybase/keybase.app.serverConfig") } catch (e: Exception) { NativeLogger.warn(": Error reading server config", e) } var cacheDir = "" run { - val dir: File? = reactContext.getCacheDir() + val dir: File? = reactContext.cacheDir if (dir != null) { - cacheDir = dir.getAbsolutePath() + cacheDir = dir.absolutePath } } var downloadDir = "" run { val dir: File? = reactContext.getExternalFilesDir(Environment.DIRECTORY_DOWNLOADS) if (dir != null) { - downloadDir = dir.getAbsolutePath() + downloadDir = dir.absolutePath } } @@ -373,18 +201,6 @@ class KbModule(reactContext: ReactApplicationContext?) : KbSpec(reactContext) { return constants } - // country code - @ReactMethod - override fun getDefaultCountryCode(promise: Promise) { - try { - val tm: TelephonyManager = reactContext.getSystemService(Context.TELEPHONY_SERVICE) as TelephonyManager - val countryCode: String = tm.getNetworkCountryIso() - promise.resolve(countryCode) - } catch (e: Exception) { - promise.reject(e) - } - } - // Logging @ReactMethod override fun logSend(status: String, feedback: String, sendLogs: Boolean, sendMaxBytes: Boolean, traceDir: String, cpuProfileDir: String, promise: Promise) { @@ -399,62 +215,16 @@ class KbModule(reactContext: ReactApplicationContext?) : KbSpec(reactContext) { } } - // Settings - @ReactMethod - override fun androidOpenSettings() { - val intent = Intent() - intent.setAction(Settings.ACTION_APPLICATION_DETAILS_SETTINGS) - val uri: Uri = Uri.fromParts("package", reactContext.getPackageName(), null) - intent.setData(uri) - intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK) - reactContext.startActivity(intent) - } - - // Screen protector - @ReactMethod - override fun androidSetSecureFlagSetting(setSecure: Boolean, promise: Promise) { - val prefs: SharedPreferences = reactContext.getSharedPreferences("SecureFlag", Context.MODE_PRIVATE) - val success: Boolean = prefs.edit().putBoolean("setSecure", setSecure).commit() - promise.resolve(success) - setSecureFlag() - } - - @ReactMethod - override fun androidGetSecureFlagSetting(promise: Promise) { - val prefs: SharedPreferences = reactContext.getSharedPreferences("SecureFlag", Context.MODE_PRIVATE) - val setSecure: Boolean = prefs.getBoolean("setSecure", !misTestDevice) - promise.resolve(setSecure) - } - - private fun setSecureFlag() { - val prefs: SharedPreferences = reactContext.getSharedPreferences("SecureFlag", Context.MODE_PRIVATE) - val setSecure: Boolean = prefs.getBoolean("setSecure", !misTestDevice) - val activity: Activity? = reactContext.getCurrentActivity() - if (activity != null) { - activity.runOnUiThread(object : Runnable { - @Override - override fun run() { - val window: Window = activity.getWindow() - if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.ICE_CREAM_SANDWICH && setSecure) { - window.addFlags(WindowManager.LayoutParams.FLAG_SECURE) - } else { - window.clearFlags(WindowManager.LayoutParams.FLAG_SECURE) - } - } - }) - } - } - - @ReactMethod override fun shareListenersRegistered() { try { - val activity: Activity? = reactContext.getCurrentActivity() + val activity: Activity? = reactContext.currentActivity if (activity != null) { val m: Method = activity.javaClass.getMethod("shareListenersRegistered") m.invoke(activity) } } catch (ex: Exception) { + NativeLogger.warn("Error calling shareListenersRegistered", ex) } } @@ -498,12 +268,12 @@ class KbModule(reactContext: ReactApplicationContext?) : KbSpec(reactContext) { private fun handleNonTextFileSharing(file: File, intent: Intent, promise: Promise) { try { // note in JS initPlatformSpecific changes the cache dir so this works - val fileUri: Uri = FileProvider.getUriForFile(reactContext, reactContext.getPackageName() + ".fileprovider", file) + val fileUri: Uri = FileProvider.getUriForFile(reactContext, "${reactContext.packageName}.fileprovider", file) intent.putExtra(Intent.EXTRA_STREAM, fileUri) intent.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION) startSharing(intent, promise) } catch (ex: Exception) { - promise.reject(Error("Error sharing file " + ex.getLocalizedMessage())) + promise.reject(Error("Error sharing file ${ex.localizedMessage}")) } } @@ -552,62 +322,28 @@ class KbModule(reactContext: ReactApplicationContext?) : KbSpec(reactContext) { override fun getRegistrationToken(promise: Promise) { ensureFirebase() FirebaseMessaging.getInstance().getToken() - .addOnCompleteListener(OnCompleteListener { task -> - if (!task.isSuccessful()) { - NativeLogger.info("Fetching FCM registration token failed " + task.getException()) - promise.reject("Fetching FCM registration token failed") - return@OnCompleteListener + .addOnCompleteListener { task -> + if (!task.isSuccessful) { + NativeLogger.info("Fetching FCM registration token failed ${task.exception}") + promise.reject("E_FCM_TOKEN", "Fetching FCM registration token failed") + return@addOnCompleteListener } // Get new FCM registration token val token: String? = task.result if (token == null) { - promise.reject("null token") - return@OnCompleteListener + promise.reject("E_FCM_TOKEN", "null token") + return@addOnCompleteListener } NativeLogger.info("Got token: $token") promise.resolve(token) - }) - } - - // Unlink - @Throws(IOException::class) - private fun deleteRecursive(fileOrDirectory: File) { - if (fileOrDirectory.isDirectory()) { - val files = fileOrDirectory.listFiles() - if (files == null) { - throw NullPointerException("Received null trying to list files of directory '$fileOrDirectory'") - } else { - for (child in files) { - deleteRecursive(child) - } - } - } - val result: Boolean = fileOrDirectory.delete() - if (!result) { - throw IOException("Failed to delete '$fileOrDirectory'") - } + } } init { this.reactContext = reactContext!! instance = this misTestDevice = isTestDevice(reactContext) - setSecureFlag() - reactContext.addLifecycleEventListener(object : LifecycleEventListener { - @Override - override fun onHostResume() { - setSecureFlag() - } - - @Override - override fun onHostPause() { - } - - @Override - override fun onHostDestroy() { - } - }) } private fun isAsset(path: String): Boolean { @@ -629,17 +365,6 @@ class KbModule(reactContext: ReactApplicationContext?) : KbSpec(reactContext) { } } - @ReactMethod - override fun androidUnlink(path: String, promise: Promise) { - try { - val normalizedPath = normalizePath(path) - deleteRecursive(File(normalizedPath)) - promise.resolve(true) - } catch (err: Exception) { - promise.reject("EUNSPECIFIED", err.getLocalizedMessage()) - } - } - // download private fun statFile(_path: String): WritableMap? { var path = _path @@ -648,20 +373,20 @@ class KbModule(reactContext: ReactApplicationContext?) : KbSpec(reactContext) { val stat: WritableMap = Arguments.createMap() if (isAsset(path)) { val name: String = path.replace(FILE_PREFIX_BUNDLE_ASSET, "") - val fd: AssetFileDescriptor = reactContext.getAssets().openFd(name) + val fd: AssetFileDescriptor = reactContext.assets.openFd(name) stat.putString("filename", name) stat.putString("path", path) stat.putString("type", "asset") - stat.putString("size", fd.getLength().toString()) + stat.putString("size", fd.length.toString()) stat.putInt("lastModified", 0) } else { val target = File(path) if (!target.exists()) { return null } - stat.putString("filename", target.getName()) - stat.putString("path", target.getPath()) - stat.putString("type", if (target.isDirectory()) "directory" else "file") + stat.putString("filename", target.name) + stat.putString("path", target.path) + stat.putString("type", if (target.isDirectory) "directory" else "file") stat.putString("size", target.length().toString()) val lastModified: String = target.lastModified().toString() stat.putString("lastModified", lastModified) @@ -694,6 +419,7 @@ class KbModule(reactContext: ReactApplicationContext?) : KbSpec(reactContext) { size = sizeStr.toLong() } } + @Suppress("DEPRECATION") dm.addCompletedDownload( if (config.hasKey("title")) config.getString("title") else "", if (config.hasKey("description")) config.getString("description") else "", @@ -705,7 +431,7 @@ class KbModule(reactContext: ReactApplicationContext?) : KbSpec(reactContext) { ) promise.resolve(null) } catch (ex: Exception) { - promise.reject("EUNSPECIFIED", ex.getLocalizedMessage()) + promise.reject("EUNSPECIFIED", ex.localizedMessage) } } @@ -714,13 +440,14 @@ class KbModule(reactContext: ReactApplicationContext?) : KbSpec(reactContext) { @ReactMethod override fun androidAppColorSchemeChanged(prefString: String) { try { - val activity: Activity? = reactContext.getCurrentActivity() + val activity: Activity? = reactContext.currentActivity if (activity != null) { val m: Method = activity.javaClass.getMethod("setBackgroundColor", DarkModePreference::class.java) val pref: DarkModePreference = DarkModePrefHelper.fromString(prefString) m.invoke(activity, pref) } } catch (ex: Exception) { + NativeLogger.warn("Error calling androidAppColorSchemeChanged", ex) } } @@ -747,19 +474,17 @@ class KbModule(reactContext: ReactApplicationContext?) : KbSpec(reactContext) { private fun emitPushNotificationInternal(notification: Bundle) { android.util.Log.d("KbModule", "emitPushNotificationInternal called") - if (reactContext.hasActiveCatalystInstance()) { - android.util.Log.d("KbModule", "emitPushNotificationInternal has active catalyst instance, emitting event") + if (reactContext.hasActiveReactInstance()) { + android.util.Log.d("KbModule", "emitPushNotificationInternal has active react instance, emitting event") try { val payload = Arguments.fromBundle(notification) - reactContext - .getJSModule(DeviceEventManagerModule.RCTDeviceEventEmitter::class.java) - .emit("onPushNotification", payload) + reactContext.emitDeviceEvent("onPushNotification", payload) android.util.Log.d("KbModule", "emitPushNotificationInternal event emitted successfully") } catch (e: Exception) { android.util.Log.e("KbModule", "emitPushNotificationInternal failed to emit: " + e.message) } } else { - android.util.Log.w("KbModule", "emitPushNotificationInternal no active catalyst instance") + android.util.Log.w("KbModule", "emitPushNotificationInternal no active react instance") } } @@ -800,20 +525,8 @@ class KbModule(reactContext: ReactApplicationContext?) : KbSpec(reactContext) { @ReactMethod(isBlockingSynchronousMethod = true) override fun install(): Boolean { - try { - System.loadLibrary("cpp") - jsiInstalled = true - val jsi = reactContext.javaScriptContextHolder?.get() - if (jsi != null) { - registerNatives(jsi) - installJSI(jsi) - } else { - throw Exception("No context holder") - } - } catch (exception: Exception) { - NativeLogger.error("Exception in installJSI", exception) - } - return true; + // No-op: JSI bindings are now installed via TurboModuleWithJSIBindings.getBindingsInstaller() + return true } @ReactMethod @@ -851,7 +564,6 @@ class KbModule(reactContext: ReactApplicationContext?) : KbSpec(reactContext) { init { this.reactContext = reactContext reactContext.addLifecycleEventListener(object : LifecycleEventListener { - @Override override fun onHostResume() { if (executor == null) { val ex = Executors.newSingleThreadExecutor() @@ -860,35 +572,25 @@ class KbModule(reactContext: ReactApplicationContext?) : KbSpec(reactContext) { } } - @Override override fun onHostPause() { } - @Override override fun onHostDestroy() { destroy() } }) } - @Override override fun run() { do { try { - Thread.currentThread().setName("ReadFromKBLib") + Thread.currentThread().name = "ReadFromKBLib" val data: ByteArray = readArr() - if (!reactContext.hasActiveCatalystInstance()) { - NativeLogger.info(NAME.toString() + ": JS Bridge is dead, dropping engine message: " + data) - - } - - val callInvoker: CallInvokerHolderImpl = reactContext.getJSCallInvokerHolder() as CallInvokerHolderImpl - val jsi = reactContext.javaScriptContextHolder?.get() - if (jsi != null) { - emit(jsi, callInvoker, data) - } else { - throw Exception("No context holder") + if (!reactContext.hasActiveReactInstance()) { + NativeLogger.info("$NAME: JS Bridge is dead, dropping engine message") + continue } + nativeOnDataFromGo(data) } catch (e: Exception) { if (e.message != null && e.message.equals("Read error: EOF")) { NativeLogger.info("Got EOF from read. Likely because of reset.") @@ -896,7 +598,7 @@ class KbModule(reactContext: ReactApplicationContext?) : KbSpec(reactContext) { NativeLogger.error("Exception in ReadFromKBLib.run", e) } } - } while (!Thread.currentThread().isInterrupted() && reactContext.hasActiveCatalystInstance()) + } while (!Thread.currentThread().isInterrupted && reactContext.hasActiveReactInstance()) } } @@ -913,7 +615,7 @@ class KbModule(reactContext: ReactApplicationContext?) : KbSpec(reactContext) { // We often hit this timeout during app resume, e.g. hit the back // button to go to home screen and then tap Keybase app icon again. if (executor?.awaitTermination(3, TimeUnit.SECONDS)== false) { - NativeLogger.warn(NAME.toString() + ": Executor pool didn't shut down cleanly") + NativeLogger.warn("$NAME: Executor pool didn't shut down cleanly") } executor = null } catch (e: Exception) { @@ -938,16 +640,18 @@ class KbModule(reactContext: ReactApplicationContext?) : KbSpec(reactContext) { private fun sendHardwareKeyEvent(keyName: String) { val params = Arguments.createMap() params.putString("pressedKey", keyName) - reactContext - .getJSModule(DeviceEventManagerModule.RCTDeviceEventEmitter::class.java) - .emit(HW_KEY_EVENT, params) + reactContext.emitDeviceEvent(HW_KEY_EVENT, params) } companion object { + init { + System.loadLibrary("cpp") + } + const val NAME: String = "Kb" - private val RN_NAME: String = "ReactNativeJS" - private val RPC_META_EVENT_NAME: String = "kb-meta-engine-event" - private val RPC_META_EVENT_ENGINE_RESET: String = "kb-engine-reset" + private const val RN_NAME: String = "ReactNativeJS" + private const val RPC_META_EVENT_NAME: String = "kb-meta-engine-event" + private const val RPC_META_EVENT_ENGINE_RESET: String = "kb-engine-reset" private const val MAX_TEXT_FILE_SIZE = 100 * 1024 // 100 kiB private val LINE_SEPARATOR: String? = System.getProperty("line.separator") private const val HW_KEY_EVENT: String = "hardwareKeyPressed" @@ -987,16 +691,14 @@ class KbModule(reactContext: ReactApplicationContext?) : KbSpec(reactContext) { return "true".equals(testLabSetting) } - private val FILE_PREFIX_BUNDLE_ASSET: String = "bundle-assets://" + private const val FILE_PREFIX_BUNDLE_ASSET: String = "bundle-assets://" // engine private fun relayReset(reactContext: ReactApplicationContext) { - if (!reactContext.hasActiveCatalystInstance()) { - NativeLogger.info(NAME.toString() + ": JS Bridge is dead, Can't send EOF message") + if (!reactContext.hasActiveReactInstance()) { + NativeLogger.info("$NAME: JS Bridge is dead, Can't send EOF message") } else { - reactContext - .getJSModule(DeviceEventManagerModule.RCTDeviceEventEmitter::class.java) - .emit(RPC_META_EVENT_NAME, RPC_META_EVENT_ENGINE_RESET) + reactContext.emitDeviceEvent(RPC_META_EVENT_NAME, RPC_META_EVENT_ENGINE_RESET) } } } diff --git a/rnmodules/react-native-kb/android/src/main/java/com/reactnativekb/KbPackage.kt b/rnmodules/react-native-kb/android/src/main/java/com/reactnativekb/KbPackage.kt index 021c99ae8cf0..8f88320027f6 100644 --- a/rnmodules/react-native-kb/android/src/main/java/com/reactnativekb/KbPackage.kt +++ b/rnmodules/react-native-kb/android/src/main/java/com/reactnativekb/KbPackage.kt @@ -1,18 +1,12 @@ package com.reactnativekb -import androidx.annotation.Nullable - import com.facebook.react.bridge.NativeModule import com.facebook.react.bridge.ReactApplicationContext import com.facebook.react.module.model.ReactModuleInfo import com.facebook.react.module.model.ReactModuleInfoProvider -import com.facebook.react.TurboReactPackage - -import java.util.HashMap -import java.util.Map +import com.facebook.react.BaseReactPackage -class KbPackage : TurboReactPackage() { - @Nullable +class KbPackage : BaseReactPackage() { override fun getModule(name: String, reactContext: ReactApplicationContext): NativeModule? { return if (name == KbModule.NAME) { KbModule(reactContext) @@ -23,12 +17,11 @@ class KbPackage : TurboReactPackage() { override fun getReactModuleInfoProvider(): ReactModuleInfoProvider { return ReactModuleInfoProvider { - val moduleInfos: MutableMap = HashMap() + val moduleInfos: MutableMap = mutableMapOf() val isTurboModule = true moduleInfos[KbModule.NAME] = ReactModuleInfo( KbModule.NAME, KbModule.NAME, - false, // canOverrideExistingModule false, // needsEagerInit true, // hasConstants false, // isCxxModule diff --git a/rnmodules/react-native-kb/android/src/main/java/com/reactnativekb/NativeLogger.kt b/rnmodules/react-native-kb/android/src/main/java/com/reactnativekb/NativeLogger.kt index 17852364de2d..ed81980d427e 100644 --- a/rnmodules/react-native-kb/android/src/main/java/com/reactnativekb/NativeLogger.kt +++ b/rnmodules/react-native-kb/android/src/main/java/com/reactnativekb/NativeLogger.kt @@ -12,21 +12,20 @@ import com.facebook.react.bridge.ReadableArray import com.facebook.react.bridge.WritableArray class NativeLogger(reactContext: ReactApplicationContext?) : ReactContextBaseJavaModule(reactContext) { - @Override override fun getName(): String { return NAME } companion object { - private val NAME: String = "NativeLogger" - private val RN_NAME: String = "ReactNativeJS" + private const val NAME: String = "NativeLogger" + private const val RN_NAME: String = "ReactNativeJS" fun rawLog(tag: String, jsonLog: String) { Log.i(tag + NAME, jsonLog) } private fun formatLine(tagPrefix: String, toLog: String): String { // Copies the Style JS outputs in native/logger.native.tsx - return tagPrefix + NAME + ": [" + System.currentTimeMillis() + ",\"" + toLog + "\"]" + return "${tagPrefix}${NAME}: [${System.currentTimeMillis()},\"$toLog\"]" } fun error(log: String) { diff --git a/rnmodules/react-native-kb/android/src/main/java/com/reactnativekb/PathResolver.kt b/rnmodules/react-native-kb/android/src/main/java/com/reactnativekb/PathResolver.kt index 1c907d246b15..3d81c772d932 100644 --- a/rnmodules/react-native-kb/android/src/main/java/com/reactnativekb/PathResolver.kt +++ b/rnmodules/react-native-kb/android/src/main/java/com/reactnativekb/PathResolver.kt @@ -1,10 +1,8 @@ package com.reactnativekb // part of https://raw.githubusercontent.com/RonRadtke/react-native-blob-util/master/android/src/main/java/com/ReactNativeBlobUtil/Utils/PathResolver.java -import android.annotation.TargetApi import android.content.Context import android.database.Cursor import android.net.Uri -import android.os.Build import android.provider.DocumentsContract import android.provider.MediaStore import android.content.ContentUris @@ -14,21 +12,19 @@ import java.io.File; import java.io.InputStream; import java.io.FileOutputStream; object PathResolver { - @TargetApi(19) fun getRealPathFromURI(context: Context?, uri: Uri?): String? { if (context == null || uri == null) { return null } - val isKitKat: Boolean = Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT // DocumentProvider - if (isKitKat && DocumentsContract.isDocumentUri(context, uri)) { + if (DocumentsContract.isDocumentUri(context, uri)) { // ExternalStorageProvider if (isExternalStorageDocument(uri)) { val docId: String = DocumentsContract.getDocumentId(uri) val split: List = docId.split(":") val type = split[0] - if ("primary".equals(type, ignoreCase = true) && context != null) { + if ("primary".equals(type, ignoreCase = true)) { val dir: File? = context.getExternalFilesDir(null) return if (dir != null) dir.toString() + "/" + split[1] else "" } @@ -39,13 +35,13 @@ object PathResolver { val id: String = DocumentsContract.getDocumentId(uri) //Starting with Android O, this "id" is not necessarily a long (row number), //but might also be a "raw:/some/file/path" URL - if (id != null && id.startsWith("raw:/")) { + if (id.startsWith("raw:/")) { val rawuri: Uri = Uri.parse(id) - return rawuri.getPath() + return rawuri.path } var docId: Long? = null //Since Android 10, uri can start with msf scheme like "msf:12345" - if (id != null && id.startsWith("msf:")) { + if (id.startsWith("msf:")) { val split: List = id.split(":") val v = split[1] if (v != null) { @@ -68,40 +64,36 @@ object PathResolver { val docId: String = DocumentsContract.getDocumentId(uri) val split: List = docId.split(":") val type = split[0] - var contentUri: Uri? = null - if ("image".equals(type)) { - contentUri = MediaStore.Images.Media.EXTERNAL_CONTENT_URI - } else if ("video".equals(type)) { - contentUri = MediaStore.Video.Media.EXTERNAL_CONTENT_URI - } else if ("audio".equals(type)) { - contentUri = MediaStore.Audio.Media.EXTERNAL_CONTENT_URI + val contentUri: Uri? = when (type) { + "image" -> MediaStore.Images.Media.EXTERNAL_CONTENT_URI + "video" -> MediaStore.Video.Media.EXTERNAL_CONTENT_URI + "audio" -> MediaStore.Audio.Media.EXTERNAL_CONTENT_URI + else -> null } val selection = "_id=?" val selectionArgs = arrayOf( split[1] ) return getDataColumn(context, contentUri, selection, selectionArgs) - } else if ("content".equals(uri.getScheme(), ignoreCase = true)) { + } else if ("content".equals(uri.scheme, ignoreCase = true)) { // Return the remote address - return if (isGooglePhotosUri(uri)) uri.getLastPathSegment() else getDataColumn(context, uri, null, null) + return if (isGooglePhotosUri(uri)) uri.lastPathSegment else getDataColumn(context, uri, null, null) } else { try { - val cr = context.getContentResolver() - if (cr != null) { - val attachment: InputStream? = cr.openInputStream(uri) - if (attachment != null) { - val filename = getContentName(context.getContentResolver(), uri) - if (filename != null) { - val file = File(context.getCacheDir(), filename) - val tmp = FileOutputStream(file) - val buffer = ByteArray(1024) - while (attachment.read(buffer) > 0) { - tmp.write(buffer) - } - tmp.close() - attachment.close() - return file.getAbsolutePath() + val cr = context.contentResolver + val attachment: InputStream? = cr.openInputStream(uri) + if (attachment != null) { + val filename = getContentName(context.contentResolver, uri) + if (filename != null) { + val file = File(context.cacheDir, filename) + val tmp = FileOutputStream(file) + val buffer = ByteArray(1024) + while (attachment.read(buffer) > 0) { + tmp.write(buffer) } + tmp.close() + attachment.close() + return file.absolutePath } } } catch (e: Exception) { @@ -109,12 +101,12 @@ object PathResolver { return null } } - } else if ("content".equals(uri.getScheme(), ignoreCase = true)) { + } else if ("content".equals(uri.scheme, ignoreCase = true)) { // Return the remote address - return if (isGooglePhotosUri(uri)) uri.getLastPathSegment() else getDataColumn(context, uri, null, null) - } else if ("file".equals(uri.getScheme(), ignoreCase = true)) { - return uri.getPath() + return if (isGooglePhotosUri(uri)) uri.lastPathSegment else getDataColumn(context, uri, null, null) + } else if ("file".equals(uri.scheme, ignoreCase = true)) { + return uri.path } return null } @@ -152,26 +144,18 @@ object PathResolver { if (context == null || uri == null) { return null } - var cursor: Cursor? = null - var result: String? = null val column = "_data" val projection = arrayOf( column ) - try { - cursor = context.getContentResolver().query(uri, projection, selection, selectionArgs, - null) - if (cursor != null && cursor.moveToFirst()) { + context.contentResolver.query(uri, projection, selection, selectionArgs, + null)?.use { cursor -> + if (cursor.moveToFirst()) { val index: Int = cursor.getColumnIndexOrThrow(column) - result = cursor.getString(index) + return cursor.getString(index) } - } catch (ex: Exception) { - ex.printStackTrace() - return null - } finally { - if (cursor != null) cursor.close() } - return result + return null } /** @@ -179,7 +163,7 @@ object PathResolver { * @return Whether the Uri authority is ExternalStorageProvider. */ fun isExternalStorageDocument(uri: Uri): Boolean { - return "com.android.externalstorage.documents".equals(uri.getAuthority()) + return "com.android.externalstorage.documents" == uri.authority } /** @@ -187,7 +171,7 @@ object PathResolver { * @return Whether the Uri authority is DownloadsProvider. */ fun isDownloadsDocument(uri: Uri): Boolean { - return "com.android.providers.downloads.documents".equals(uri.getAuthority()) + return "com.android.providers.downloads.documents" == uri.authority } /** @@ -195,7 +179,7 @@ object PathResolver { * @return Whether the Uri authority is MediaProvider. */ fun isMediaDocument(uri: Uri): Boolean { - return "com.android.providers.media.documents".equals(uri.getAuthority()) + return "com.android.providers.media.documents" == uri.authority } /** @@ -203,6 +187,6 @@ object PathResolver { * @return Whether the Uri authority is Google Photos. */ fun isGooglePhotosUri(uri: Uri): Boolean { - return "com.google.android.apps.photos.content".equals(uri.getAuthority()) + return "com.google.android.apps.photos.content" == uri.authority } } diff --git a/rnmodules/react-native-kb/android/src/main/java/com/reactnativekb/ReadFileAsString.kt b/rnmodules/react-native-kb/android/src/main/java/com/reactnativekb/ReadFileAsString.kt index cecd14f8c4fd..c4238b5f8419 100644 --- a/rnmodules/react-native-kb/android/src/main/java/com/reactnativekb/ReadFileAsString.kt +++ b/rnmodules/react-native-kb/android/src/main/java/com/reactnativekb/ReadFileAsString.kt @@ -1,38 +1,17 @@ package com.reactnativekb -import java.io.BufferedReader import java.io.File -import java.io.FileInputStream import java.io.FileNotFoundException import java.io.IOException -import java.io.InputStreamReader object ReadFileAsString { fun read(path: String): String { - var ret = "" - - try { - val inputStream = FileInputStream(File(path)) - - inputStream.use { - val inputStreamReader = InputStreamReader(it) - val bufferedReader = BufferedReader(inputStreamReader) - val stringBuilder = StringBuilder() - - var receiveString: String? - - while (bufferedReader.readLine().also { receiveString = it } != null) { - stringBuilder.append(receiveString) - } - - ret = stringBuilder.toString() - } + return try { + File(path).readText() } catch (e: FileNotFoundException) { - // ignore + "" } catch (e: IOException) { - // ignore + "" } - - return ret } } diff --git a/rnmodules/react-native-kb/cpp/msgpack-safe.hpp b/rnmodules/react-native-kb/cpp/msgpack-safe.hpp new file mode 100644 index 000000000000..3f1bf095f2d0 --- /dev/null +++ b/rnmodules/react-native-kb/cpp/msgpack-safe.hpp @@ -0,0 +1,19 @@ +// Safe msgpack include wrapper. +// ObjC defines `nil` as a macro (#define nil nullptr), which conflicts with +// msgpack's `typedef nil_t nil;`. This header saves/undefines nil before +// including msgpack and restores it afterward, so it's safe to use from +// both .cpp and .mm files. +#pragma once + +#ifdef nil +#pragma push_macro("nil") +#undef nil +#define KB_MSGPACK_NIL_PUSHED +#endif + +#include + +#ifdef KB_MSGPACK_NIL_PUSHED +#pragma pop_macro("nil") +#undef KB_MSGPACK_NIL_PUSHED +#endif diff --git a/rnmodules/react-native-kb/cpp/react-native-kb.cpp b/rnmodules/react-native-kb/cpp/react-native-kb.cpp index babec40e935f..ef1be84eead8 100644 --- a/rnmodules/react-native-kb/cpp/react-native-kb.cpp +++ b/rnmodules/react-native-kb/cpp/react-native-kb.cpp @@ -1,42 +1,50 @@ #include "react-native-kb.h" -#include -#include +#include +#include +#include "msgpack-safe.hpp" #include using namespace facebook; using namespace facebook::jsi; namespace kb { -std::atomic isTornDown{false}; -void Teardown() { isTornDown.store(true); } +struct KBBridge::MsgpackState { + msgpack::unpacker unpacker; + msgpack::sbuffer sendBuf; +}; -void Tearup() { isTornDown.store(false); } +KBBridge::KBBridge() = default; +KBBridge::~KBBridge() = default; -Value RpcOnGo(Runtime &runtime, const Value &thisValue, const Value *arguments, - size_t count, void (*callback)(void *ptr, size_t size)) { - try { - auto obj = arguments[0].asObject(runtime); - auto buffer = obj.getArrayBuffer(runtime); - auto ptr = buffer.data(runtime); - auto size = buffer.size(runtime); - callback(ptr, size); - return Value(true); - } catch (const std::exception &e) { - throw std::runtime_error("Error in RpcOnGo: " + std::string(e.what())); - } catch (...) { - throw std::runtime_error("Unknown error in RpcOnGo"); +void KBBridge::teardown() { + isTornDown_.store(true); + // Clear cached JSI objects while the runtime is still alive. + // This prevents stale jsi::Function destructors from crashing + // if the bridge outlives the runtime (due to shared_ptr captures). + cachedUint8ArrayCtor_.reset(); + cachedRpcOnJs_.reset(); + cachedRuntime_ = nullptr; +} + +void KBBridge::tearup() { isTornDown_.store(false); } + +void KBBridge::resetCaches(Runtime &runtime) { + if (cachedRuntime_ != &runtime) { + cachedUint8ArrayCtor_.reset(); + cachedRpcOnJs_.reset(); + cachedRuntime_ = &runtime; } } -std::string mpToString(msgpack::object &o) { +static std::string mpToString(msgpack::object &o) { switch (o.type) { case msgpack::type::STR: return o.as(); case msgpack::type::POSITIVE_INTEGER: - return std::to_string(o.as()); + return std::to_string(o.as()); case msgpack::type::NEGATIVE_INTEGER: - return std::to_string(o.as()); + return std::to_string(o.as()); case msgpack::type::FLOAT32: return std::to_string(o.as()); case msgpack::type::FLOAT64: @@ -46,14 +54,16 @@ std::string mpToString(msgpack::object &o) { } } -Value convertMPToJSI(Runtime &runtime, msgpack::object &o) { +Value KBBridge::convertMPToJSI(Runtime &runtime, void *mpObj) { + auto &o = *static_cast(mpObj); switch (o.type) { case msgpack::type::STR: - return jsi::String::createFromUtf8(runtime, o.as()); + return jsi::String::createFromUtf8(runtime, + reinterpret_cast(o.via.str.ptr), o.via.str.size); case msgpack::type::POSITIVE_INTEGER: return jsi::Value(o.as()); case msgpack::type::NEGATIVE_INTEGER: - return jsi::Value(o.as()); + return jsi::Value(o.as()); case msgpack::type::FLOAT32: return jsi::Value(o.as()); case msgpack::type::FLOAT64: @@ -69,9 +79,18 @@ Value convertMPToJSI(Runtime &runtime, msgpack::object &o) { auto *p = o.via.map.ptr; auto *const pend = o.via.map.ptr + o.via.map.size; for (; p < pend; ++p) { - auto key = mpToString(p->key); - auto val = convertMPToJSI(runtime, p->val); - obj.setProperty(runtime, jsi::String::createFromUtf8(runtime, key), val); + auto val = convertMPToJSI(runtime, &p->val); + auto &k = p->key; + if (k.type == msgpack::type::STR) { + obj.setProperty(runtime, + jsi::PropNameID::forUtf8(runtime, + reinterpret_cast(k.via.str.ptr), k.via.str.size), + val); + } else { + auto keyStr = mpToString(k); + obj.setProperty(runtime, + jsi::PropNameID::forUtf8(runtime, keyStr), val); + } } return obj; } @@ -79,30 +98,28 @@ Value convertMPToJSI(Runtime &runtime, msgpack::object &o) { auto ptr = o.via.bin.ptr; int size = o.via.bin.size; - // make ArrayBuffer and copy in data - // non-owning - static Function* cachedUint8ArrayCtor = nullptr; - static Runtime* cachedRuntime = nullptr; - if (cachedRuntime != &runtime) { - cachedUint8ArrayCtor = nullptr; - cachedRuntime = &runtime; - } - if (!cachedUint8ArrayCtor) { - auto ctor = runtime.global().getPropertyAsFunction(runtime, "Uint8Array"); - cachedUint8ArrayCtor = new Function(std::move(ctor)); + resetCaches(runtime); + if (!cachedUint8ArrayCtor_) { + auto ctor = + runtime.global().getPropertyAsFunction(runtime, "Uint8Array"); + cachedUint8ArrayCtor_ = std::make_unique(std::move(ctor)); } - Value uint8Array = cachedUint8ArrayCtor->callAsConstructor(runtime, size); + Value uint8Array = + cachedUint8ArrayCtor_->callAsConstructor(runtime, size); Object uint8ArrayObj = uint8Array.asObject(runtime); - ArrayBuffer buffer = uint8ArrayObj.getProperty(runtime, "buffer").asObject(runtime).getArrayBuffer(runtime); + ArrayBuffer buffer = uint8ArrayObj.getProperty(runtime, "buffer") + .asObject(runtime) + .getArrayBuffer(runtime); std::memcpy(buffer.data(runtime), ptr, size); return uint8Array; } case msgpack::type::ARRAY: { auto size = o.via.array.size; jsi::Array arr(runtime, size); - for (int i = 0; i < size; ++i) { - arr.setValueAtIndex(runtime, i, convertMPToJSI(runtime, o.via.array.ptr[i])); + for (uint32_t i = 0; i < size; ++i) { + arr.setValueAtIndex(runtime, i, + convertMPToJSI(runtime, &o.via.array.ptr[i])); } return arr; } @@ -111,81 +128,276 @@ Value convertMPToJSI(Runtime &runtime, msgpack::object &o) { } } -enum class ReadState { needSize, needContent }; -ReadState g_state = ReadState::needSize; -msgpack::unpacker unp; +void KBBridge::convertJSIToMP(Runtime &runtime, const Value &value, + void *packer) { + auto &pk = *static_cast *>(packer); + if (value.isNull() || value.isUndefined()) { + pk.pack_nil(); + } else if (value.isBool()) { + pk.pack(value.getBool()); + } else if (value.isNumber()) { + double d = value.getNumber(); + // Doubles can exactly represent integers up to 2^53. Encode exact + // integers as msgpack int/uint (matching @msgpack/msgpack JS behavior) + // so Go's decoder sees integer types, not float64. + if (d == std::floor(d) && std::isfinite(d)) { + if (d >= 0) { + pk.pack(static_cast(d)); + } else { + pk.pack(static_cast(d)); + } + } else { + pk.pack(d); + } + } else if (value.isString()) { + auto str = value.getString(runtime).utf8(runtime); + pk.pack(str); + } else if (value.isObject()) { + auto obj = value.getObject(runtime); + if (obj.isArrayBuffer(runtime)) { + auto buf = obj.getArrayBuffer(runtime); + pk.pack_bin(static_cast(buf.size(runtime))); + pk.pack_bin_body(reinterpret_cast(buf.data(runtime)), + static_cast(buf.size(runtime))); + } else if (obj.isArray(runtime)) { + auto arr = obj.getArray(runtime); + auto len = arr.size(runtime); + pk.pack_array(static_cast(len)); + for (size_t i = 0; i < len; ++i) { + convertJSIToMP(runtime, arr.getValueAtIndex(runtime, i), &pk); + } + } else { + auto names = obj.getPropertyNames(runtime); + auto len = names.size(runtime); + + // Probe for TypedArray (Uint8Array). Extracted as a lambda so it + // can be called from two sites without duplicating the logic. + auto tryPackTypedArray = [&]() -> bool { + auto byteLengthProp = obj.getProperty(runtime, "byteLength"); + if (!byteLengthProp.isNumber()) return false; + auto bufferProp = obj.getProperty(runtime, "buffer"); + if (!bufferProp.isObject()) return false; + auto bufferObj = bufferProp.asObject(runtime); + if (!bufferObj.isArrayBuffer(runtime)) return false; + auto arrayBuf = bufferObj.getArrayBuffer(runtime); + auto byteOffset = obj.getProperty(runtime, "byteOffset"); + size_t offset = byteOffset.isNumber() + ? static_cast(byteOffset.getNumber()) + : 0; + size_t length = static_cast(byteLengthProp.getNumber()); + pk.pack_bin(static_cast(length)); + pk.pack_bin_body( + reinterpret_cast(arrayBuf.data(runtime)) + offset, + static_cast(length)); + return true; + }; + + // Empty object: could be {} or empty TypedArray — must probe + if (len == 0) { + if (tryPackTypedArray()) return; + pk.pack_map(0); + return; + } + + // Get first property name (needed for MAP encoding anyway). + // TypedArrays have numeric index keys ("0", "1", ...); regular + // RPC objects have string keys. Only probe for TypedArray when + // the first key looks numeric — saves a JSI call per regular object. + auto firstName = names.getValueAtIndex(runtime, 0).getString(runtime); + auto firstStr = firstName.utf8(runtime); + if (!firstStr.empty() && firstStr[0] >= '0' && firstStr[0] <= '9') { + if (tryPackTypedArray()) return; + } + + // Regular object — encode as MAP + pk.pack_map(static_cast(len)); + pk.pack(firstStr); + convertJSIToMP(runtime, obj.getProperty(runtime, firstName), &pk); + for (size_t i = 1; i < len; ++i) { + auto name = names.getValueAtIndex(runtime, i).getString(runtime); + auto nameStr = name.utf8(runtime); + pk.pack(nameStr); + convertJSIToMP(runtime, obj.getProperty(runtime, name), &pk); + } + } + } +} + +void KBBridge::packAndSend(Runtime &runtime, const Value &value) { + mp_->sendBuf.clear(); + msgpack::packer pk(&mp_->sendBuf); + convertJSIToMP(runtime, value, &pk); + + // Encode frame header (msgpack uint32 length prefix) on the stack. + // 0xce = msgpack uint32 format tag, followed by 4 big-endian bytes. + auto contentSize = static_cast(mp_->sendBuf.size()); + uint8_t frameHeader[5] = { + 0xce, + static_cast(contentSize >> 24), + static_cast(contentSize >> 16), + static_cast(contentSize >> 8), + static_cast(contentSize), + }; + constexpr size_t headerLen = 5; + + combinedBuf_.resize(headerLen + mp_->sendBuf.size()); + std::memcpy(combinedBuf_.data(), frameHeader, headerLen); + std::memcpy(combinedBuf_.data() + headerLen, mp_->sendBuf.data(), mp_->sendBuf.size()); + + writeToGo_(combinedBuf_.data(), combinedBuf_.size()); +} + +void KBBridge::install( + Runtime &runtime, + std::shared_ptr callInvoker, + std::function writeToGo, + std::function onError) { + callInvoker_ = std::move(callInvoker); + onError_ = std::move(onError); + writeToGo_ = std::move(writeToGo); + mp_ = std::make_unique(); + + auto rpcOnGo = Function::createFromHostFunction( + runtime, PropNameID::forAscii(runtime, "rpcOnGo"), 1, + [self = shared_from_this()](Runtime &runtime, const Value &thisValue, + const Value *arguments, + size_t count) -> Value { + try { + self->packAndSend(runtime, arguments[0]); + return Value(true); + } catch (const std::exception &e) { + throw std::runtime_error("Error in rpcOnGo: " + + std::string(e.what())); + } catch (...) { + throw std::runtime_error("Unknown error in rpcOnGo"); + } + }); + + runtime.global().setProperty(runtime, "rpcOnGo", std::move(rpcOnGo)); + + // HostObject that calls teardown when the JS runtime is destroyed + class KBTearDownSimple : public jsi::HostObject { + public: + KBTearDownSimple(std::weak_ptr bridge) : bridge_(bridge) { + if (auto b = bridge_.lock()) { + b->tearup(); + } + } + ~KBTearDownSimple() override { + if (auto b = bridge_.lock()) { + b->teardown(); + } + } + Value get(Runtime &, const PropNameID &) override { + return Value::undefined(); + } + void set(Runtime &, const PropNameID &, const Value &) override {} + std::vector getPropertyNames(Runtime &) override { return {}; } + + private: + std::weak_ptr bridge_; + }; + + runtime.global().setProperty( + runtime, "kbTeardown", + Object::createFromHostObject( + runtime, + std::make_shared(shared_from_this()))); +} + +void KBBridge::onDataFromGo(uint8_t *data, int size) { + if (isTornDown_.load() || size <= 0) { + return; + } -ShareValues PrepRpcOnJS(Runtime &runtime, uint8_t *data, int size) { try { auto values = std::make_shared>(); - if (size > 0) { - unp.reserve_buffer(size); - std::copy(data, data + size, unp.buffer()); - unp.buffer_consumed(size); - while (true) { - msgpack::object_handle result; - if (unp.next(result)) { - if (g_state == ReadState::needSize) { - g_state = ReadState::needContent; - } else { - values->push_back(std::move(result)); - g_state = ReadState::needSize; - } + mp_->unpacker.reserve_buffer(size); + std::copy(data, data + size, mp_->unpacker.buffer()); + mp_->unpacker.buffer_consumed(size); + while (true) { + msgpack::object_handle result; + if (mp_->unpacker.next(result)) { + if (readState_ == ReadState::needSize) { + readState_ = ReadState::needContent; } else { - break; + values->push_back(std::move(result)); + readState_ = ReadState::needSize; } + } else { + break; } } - return values; - } catch (const std::exception &e) { - throw std::runtime_error("Error in PrepRpcOnJS: " + - std::string(e.what())); - } catch (...) { - throw std::runtime_error("Unknown error in PrepRpcOnJS"); - } -} -void RpcOnJS(Runtime &runtime, ShareValues values, void (*err_callback)(const std::string &err)) { - try { - if (isTornDown.load()) { + if (values->empty()) { return; } - // non-owning - static Function* cachedRpcOnJs = nullptr; - static Runtime* cachedRuntime = nullptr; + auto self = shared_from_this(); + callInvoker_->invokeAsync([values, self](jsi::Runtime &runtime) { + try { + if (self->isTornDown_.load()) { + return; + } - if (cachedRuntime != &runtime) { - cachedRpcOnJs = nullptr; - cachedRuntime = &runtime; - } + self->resetCaches(runtime); + if (!self->cachedRpcOnJs_) { + try { + auto func = + runtime.global().getPropertyAsFunction(runtime, "rpcOnJs"); + self->cachedRpcOnJs_ = + std::make_unique(std::move(func)); + } catch (...) { + if (self->onError_) { + self->onError_("Failed to get rpcOnJs function"); + } + return; + } + } - if (!cachedRpcOnJs) { - try { - auto func = runtime.global().getPropertyAsFunction(runtime, "rpcOnJs"); - cachedRpcOnJs = new Function(std::move(func)); + if (values->size() == 1) { + // Single message: pass directly (no array wrapper) + msgpack::object obj((*values)[0].get()); + Value value = self->convertMPToJSI(runtime, &obj); + if (self->isTornDown_.load()) { + return; + } + self->cachedRpcOnJs_->call(runtime, std::move(value), + jsi::Value(1)); + } else { + // Multiple messages: batch into array, pass count + jsi::Array arr(runtime, values->size()); + for (size_t i = 0; i < values->size(); ++i) { + msgpack::object obj((*values)[i].get()); + arr.setValueAtIndex(runtime, i, + self->convertMPToJSI(runtime, &obj)); + } + if (self->isTornDown_.load()) { + return; + } + self->cachedRpcOnJs_->call( + runtime, std::move(arr), + jsi::Value(static_cast(values->size()))); + } + } catch (const std::exception &e) { + if (self->onError_) { + self->onError_(e.what()); + } } catch (...) { - err_callback("Failed to get rpcOnJs function"); - throw std::runtime_error("Failed to get rpcOnJs function:"); - return; - } - } - - for (auto &result : *values) { - msgpack::object obj(result.get()); - Value value = convertMPToJSI(runtime, obj); - if (isTornDown.load()) { - return; + if (self->onError_) { + self->onError_("unknown error in onDataFromGo JS callback"); + } } - Function rpcOnJs = runtime.global().getPropertyAsFunction(runtime, "rpcOnJs"); - rpcOnJs.call(runtime, std::move(value), 1); - } + }); } catch (const std::exception &e) { - err_callback(e.what()); - throw std::runtime_error("Error in RpcOnJS: " + std::string(e.what())); + if (onError_) { + onError_(std::string("Error in onDataFromGo: ") + e.what()); + } } catch (...) { - err_callback("unknown error"); - throw std::runtime_error("Unknown error in RpcOnJS"); + if (onError_) { + onError_("Unknown error in onDataFromGo"); + } } } + } // namespace kb diff --git a/rnmodules/react-native-kb/cpp/react-native-kb.h b/rnmodules/react-native-kb/cpp/react-native-kb.h index e3a2dc67d41f..8fc5521fd93f 100644 --- a/rnmodules/react-native-kb/cpp/react-native-kb.h +++ b/rnmodules/react-native-kb/cpp/react-native-kb.h @@ -1,22 +1,62 @@ +// WARNING: Do NOT #include in this header. +// It defines a `nil` typedef that conflicts with ObjC's `nil` macro, +// causing build failures when this header is included from .mm files. +// Use #include "msgpack-safe.hpp" in .cpp files instead — it wraps the +// include with #undef/#pragma push/pop to handle the conflict safely. #pragma once +#include +#include #include #include +#include #include #include -#include +#include +#include namespace kb { -facebook::jsi::Value RpcOnGo(facebook::jsi::Runtime &runtime, - const facebook::jsi::Value &thisValue, - const facebook::jsi::Value *arguments, - size_t count, - void (*callback)(void *ptr, size_t size)); - -typedef std::shared_ptr> ShareValues; -ShareValues PrepRpcOnJS(facebook::jsi::Runtime &runtime, uint8_t *data, - int size); -void RpcOnJS(facebook::jsi::Runtime &runtime, ShareValues values, - void (*err_callback)(const std::string &err)); -void Teardown(); -void Tearup(); + +class KBBridge : public std::enable_shared_from_this { +public: + KBBridge(); + ~KBBridge(); + KBBridge(const KBBridge &) = delete; + KBBridge &operator=(const KBBridge &) = delete; + KBBridge(KBBridge &&) = delete; + KBBridge &operator=(KBBridge &&) = delete; + void install(facebook::jsi::Runtime &runtime, + std::shared_ptr callInvoker, + std::function writeToGo, + std::function onError); + + void onDataFromGo(uint8_t *data, int size); + void teardown(); + void tearup(); + +private: + std::shared_ptr callInvoker_; + std::function onError_; + std::atomic isTornDown_{false}; + + enum class ReadState { needSize, needContent }; + ReadState readState_ = ReadState::needSize; + + struct MsgpackState; + std::unique_ptr mp_; + + std::unique_ptr cachedUint8ArrayCtor_; + std::unique_ptr cachedRpcOnJs_; + facebook::jsi::Runtime *cachedRuntime_ = nullptr; + std::function writeToGo_; + std::vector combinedBuf_; + + void resetCaches(facebook::jsi::Runtime &runtime); + facebook::jsi::Value convertMPToJSI(facebook::jsi::Runtime &runtime, + void *mpObj); + void convertJSIToMP(facebook::jsi::Runtime &runtime, + const facebook::jsi::Value &value, void *packer); + void packAndSend(facebook::jsi::Runtime &runtime, + const facebook::jsi::Value &value); +}; + } // namespace kb diff --git a/rnmodules/react-native-kb/ios/KBJSScheduler.cpp b/rnmodules/react-native-kb/ios/KBJSScheduler.cpp deleted file mode 100644 index 6898798e006f..000000000000 --- a/rnmodules/react-native-kb/ios/KBJSScheduler.cpp +++ /dev/null @@ -1,26 +0,0 @@ -// https://github.com/software-mansion/react-native-reanimated/blob/main/Common/cpp/Tools/ -#include "./KBJSScheduler.h" -using namespace facebook; -using namespace react; - -KBJSScheduler::KBJSScheduler( jsi::Runtime &rnRuntime, const std::shared_ptr &jsCallInvoker) - : scheduleOnJS([&](KBJob job) { - jsCallInvoker_->invokeAsync( - [job = std::move(job), &rt = rnRuntime_] { job(rt); }); - }), - rnRuntime_(rnRuntime), - jsCallInvoker_(jsCallInvoker) {} - -// With `runtimeExecutor`. -KBJSScheduler::KBJSScheduler( jsi::Runtime &rnRuntime, RuntimeExecutor runtimeExecutor) - : scheduleOnJS([&](KBJob job) { - runtimeExecutor_( - [job = std::move(job)](jsi::Runtime &runtime) { job(runtime); }); - }), - rnRuntime_(rnRuntime), - runtimeExecutor_(runtimeExecutor) {} - -const std::shared_ptr KBJSScheduler::getJSCallInvoker() const { - assert( jsCallInvoker_ != nullptr && " Expected jsCallInvoker, got nullptr instead."); - return jsCallInvoker_; -} diff --git a/rnmodules/react-native-kb/ios/KBJSScheduler.h b/rnmodules/react-native-kb/ios/KBJSScheduler.h deleted file mode 100644 index 2166c6056697..000000000000 --- a/rnmodules/react-native-kb/ios/KBJSScheduler.h +++ /dev/null @@ -1,29 +0,0 @@ -// https://github.com/software-mansion/react-native-reanimated/blob/main/Common/cpp/Tools/ -#pragma once - -#include -#include -#include - -#include -#include - -using namespace facebook; -using namespace react; - -using KBJob = std::function; - -class KBJSScheduler { - public: - // With `jsCallInvoker`. - explicit KBJSScheduler( jsi::Runtime &rnRuntime, const std::shared_ptr &jsCallInvoker); - // With `runtimeExecutor`. - explicit KBJSScheduler( jsi::Runtime &rnRuntime, RuntimeExecutor runtimeExecutor); - const std::function scheduleOnJS = nullptr; - const std::shared_ptr getJSCallInvoker() const; - - protected: - jsi::Runtime &rnRuntime_; - RuntimeExecutor runtimeExecutor_ = nullptr; - const std::shared_ptr jsCallInvoker_ = nullptr; -}; diff --git a/rnmodules/react-native-kb/ios/Kb.h b/rnmodules/react-native-kb/ios/Kb.h index 8c919fbfa7dc..6a0c4ee019c1 100644 --- a/rnmodules/react-native-kb/ios/Kb.h +++ b/rnmodules/react-native-kb/ios/Kb.h @@ -8,7 +8,8 @@ #ifdef RCT_NEW_ARCH_ENABLED #import #import -@interface Kb : RCTEventEmitter +#import +@interface Kb : RCTEventEmitter @end #else #endif // RCT_NEW_ARCH_ENABLED diff --git a/rnmodules/react-native-kb/ios/Kb.mm b/rnmodules/react-native-kb/ios/Kb.mm index 8494d25892b5..6715f6a3aac1 100644 --- a/rnmodules/react-native-kb/ios/Kb.mm +++ b/rnmodules/react-native-kb/ios/Kb.mm @@ -1,11 +1,6 @@ #import "Kb.h" #import "Keybasego.h" -#import -#import #import -#import -#import -#import #import #import #import @@ -15,7 +10,6 @@ #import #import #import -#import "./KBJSScheduler.h" #import "RNKbSpec.h" #import @@ -24,23 +18,6 @@ using namespace std; using namespace kb; -// used to keep track of objects getting destroyed on the js side -class KBTearDown : public jsi::HostObject { -public: - KBTearDown() { Tearup(); } - virtual ~KBTearDown() { - NSLog(@"KBTeardown!!!"); - Teardown(); - } - virtual jsi::Value get(jsi::Runtime &, const jsi::PropNameID &name) { - return jsi::Value::undefined(); - } - virtual void set(jsi::Runtime &, const jsi::PropNameID &name, const jsi::Value &value) {} - virtual std::vector getPropertyNames(jsi::Runtime &rt) { - return {}; - } -}; - @implementation FsPathsHolder @synthesize fsPaths; @@ -75,32 +52,14 @@ - (void)dealloc { static NSString *kbStoredDeviceToken = nil; static NSDictionary *kbInitialNotification = nil; -@interface RCTBridge (JSIRuntime) -- (void *)runtime; -@end - -@interface RCTBridge (RCTTurboModule) -- (std::shared_ptr)jsCallInvoker; -- (void)_tryAndHandleError:(dispatch_block_t)block; -@end - -@interface RCTBridge () -- (JSGlobalContextRef)jsContextRef; -- (void *)runtime; -- (void)dispatchBlock:(dispatch_block_t)block queue:(dispatch_queue_t)queue; -@end - @interface Kb () @property dispatch_queue_t readQueue; @end -@implementation Kb - -jsi::Runtime *_jsRuntime; -std::shared_ptr jsScheduler; - -// sanity check the runtime isn't out of sync due to reload etc -void *currentRuntime = nil; +@implementation Kb { + std::shared_ptr kbBridge_; + BOOL isInvalidated_; +} RCT_EXPORT_MODULE() @@ -111,6 +70,7 @@ + (BOOL)requiresMainQueueSetup { - (instancetype)init { self = [super init]; kbSharedInstance = self; + isInvalidated_ = NO; [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(handleHardwareKeyPressed:) name:@"hardwareKeyPressed" @@ -125,13 +85,13 @@ + (void)swizzleUITextViewPaste { Class cls = [UITextView class]; SEL originalPaste = @selector(paste:); - SEL swizzledPaste = @selector(kb_paste:); + SEL swizzledPaste = NSSelectorFromString(@"kb_paste:"); Method originalPasteMethod = class_getInstanceMethod(cls, originalPaste); Method swizzledPasteMethod = class_getInstanceMethod(cls, swizzledPaste); method_exchangeImplementations(originalPasteMethod, swizzledPasteMethod); SEL originalCanPerform = @selector(canPerformAction:withSender:); - SEL swizzledCanPerform = @selector(kb_canPerformAction:withSender:); + SEL swizzledCanPerform = NSSelectorFromString(@"kb_canPerformAction:withSender:"); Method originalCanPerformMethod = class_getInstanceMethod(cls, originalCanPerform); Method swizzledCanPerformMethod = class_getInstanceMethod(cls, swizzledCanPerform); method_exchangeImplementations(originalCanPerformMethod, swizzledCanPerformMethod); @@ -161,12 +121,13 @@ + (void)handlePastedImages:(NSArray *)images { - (void)invalidate { [[NSNotificationCenter defaultCenter] removeObserver:self]; - currentRuntime = nil; - _jsRuntime = nil; + isInvalidated_ = YES; kbPasteImageEnabled = NO; + if (kbBridge_) { + kbBridge_->teardown(); + kbBridge_.reset(); + } [super invalidate]; - Teardown(); - self.bridge = nil; self.readQueue = nil; NSError *error = nil; KeybaseReset(&error); @@ -186,45 +147,30 @@ - (void)invalidate { return std::make_shared(params); } -- (void)sendToJS:(NSData *)data { - __weak __typeof__(self) weakSelf = self; - - jsScheduler->scheduleOnJS([data, weakSelf](jsi::Runtime &jsiRuntime) { - __typeof__(self) strongSelf = weakSelf; - if (!strongSelf) { - NSLog(@"Failed to find self in sendToJS invokeAsync!!!"); - return; - } - auto jsRuntimePtr = [strongSelf javaScriptRuntimePointer]; - if (!jsRuntimePtr) { - NSLog(@"Failed to find jsi in sendToJS invokeAsync!!!"); - return; - } - - int size = (int)[data length]; - if (size <= 0) { - NSLog(@"Invalid data size in sendToJS: %d", size); - return; - } - try { - auto values = PrepRpcOnJS(jsiRuntime, (uint8_t *)[data bytes], size); - RpcOnJS(jsiRuntime, values, [](const std::string &err) { - KeybaseLogToService([NSString - stringWithFormat:@"dNativeLogger: [%f,\"jsi rpconjs error: %@\"]", - [[NSDate date] timeIntervalSince1970] * 1000, - [NSString stringWithUTF8String:err.c_str()]]); +// RCTTurboModuleWithJSIBindings — called automatically by RN when the module loads +- (void)installJSIBindingsWithRuntime:(jsi::Runtime &)runtime + callInvoker:(const std::shared_ptr &)callInvoker { + kbBridge_ = std::make_shared(); + kbBridge_->install(runtime, callInvoker, + // writeToGo callback + [](void *ptr, size_t size) { + NSData *data = [NSData dataWithBytesNoCopy:ptr length:size freeWhenDone:NO]; + NSError *error = nil; + KeybaseWriteArr(data, &error); + if (error) { + NSLog(@"Error writing data: %@", error); + } + }, + // error callback + [](const std::string &err) { + KeybaseLogToService([NSString + stringWithFormat:@"dNativeLogger: [%f,\"jsi error: %s\"]", + [[NSDate date] timeIntervalSince1970] * 1000, + err.c_str()]); }); - } catch (const std::exception &e) { - NSLog(@"Exception in sendToJS msgpack processing: %s", e.what()); - KeybaseLogToService([NSString - stringWithFormat:@"dNativeLogger: [%f,\"sendToJS unknown exception\"]", - [[NSDate date] timeIntervalSince1970] * 1000]); - } - }); -} -- (jsi::Runtime *)javaScriptRuntimePointer { - return _jsRuntime; + KeybaseLogToService([NSString stringWithFormat:@"dNativeLogger: [%f,\"jsi install success (via installJSIBindings)\"]", + [[NSDate date] timeIntervalSince1970] * 1000]); } // from react-native-localize @@ -319,18 +265,17 @@ - (NSDictionary *)getConstants { } } +RCT_EXPORT_BLOCKING_SYNCHRONOUS_METHOD(install) { + // No-op: JSI bindings are now installed via installJSIBindingsWithRuntime:callInvoker: + return @YES; +} + RCT_EXPORT_METHOD(notifyJSReady) { __weak __typeof__(self) weakSelf = self; NSLog(@"notifyJSReady: called from JS, queuing main thread block"); dispatch_async(dispatch_get_main_queue(), ^{ - NSLog(@"notifyJSReady: main thread block executing"); - // Setup infrastructure - [[NSNotificationCenter defaultCenter] - addObserver:self - selector:@selector(engineReset) - name:RCTJavaScriptWillStartLoadingNotification - object:nil]; + self.readQueue = dispatch_queue_create("go_bridge_queue_read", DISPATCH_QUEUE_SERIAL); // Signal to Go that JS is ready @@ -342,8 +287,8 @@ - (NSDictionary *)getConstants { while (true) { { __typeof__(self) strongSelf = weakSelf; - if (!strongSelf || !strongSelf.bridge) { - NSLog(@"Bridge dead, bailing from ReadArr loop"); + if (!strongSelf || strongSelf->isInvalidated_) { + NSLog(@"Module invalidated, bailing from ReadArr loop"); return; } } @@ -354,8 +299,8 @@ - (NSDictionary *)getConstants { NSLog(@"Error reading data: %@", error); } else if (data) { __typeof__(self) strongSelf = weakSelf; - if (strongSelf) { - [strongSelf sendToJS:data]; + if (strongSelf && strongSelf->kbBridge_) { + strongSelf->kbBridge_->onDataFromGo((uint8_t *)[data bytes], (int)[data length]); } } } @@ -365,45 +310,6 @@ - (NSDictionary *)getConstants { @synthesize callInvoker = _callInvoker; -RCT_EXPORT_BLOCKING_SYNCHRONOUS_METHOD(install) { - RCTCxxBridge *cxxBridge = (RCTCxxBridge *)self.bridge; - _jsRuntime = (jsi::Runtime *)cxxBridge.runtime; - auto &rnRuntime = *(jsi::Runtime *)cxxBridge.runtime; - jsScheduler = std::make_shared(rnRuntime, _callInvoker.callInvoker); - - // stash the current runtime to keep in sync - auto rpcOnGoWrap = [](Runtime &runtime, const Value &thisValue, const Value *arguments, size_t count) -> Value { - return RpcOnGo(runtime, thisValue, arguments, count, [](void *ptr, size_t size) { - NSData *result = [NSData dataWithBytesNoCopy:ptr length:size freeWhenDone:NO]; - NSError *error = nil; - KeybaseWriteArr(result, &error); - if (error) { - NSLog(@"Error writing data: %@", error); - } - }); - }; - - KeybaseLogToService([NSString stringWithFormat:@"dNativeLogger: [%f,\"jsi install success\"]", - [[NSDate date] timeIntervalSince1970] * 1000]); - - _jsRuntime->global().setProperty(*_jsRuntime, "rpcOnGo", - Function::createFromHostFunction(*_jsRuntime, PropNameID::forAscii(*_jsRuntime, "rpcOnGo"), 1, std::move(rpcOnGoWrap))); - - // register a global so we get notified when the runtime is killed so we can - // cleanup - _jsRuntime->global().setProperty(*_jsRuntime, "kbTeardown", jsi::Object::createFromHostObject(*_jsRuntime, std::make_shared())); - return @YES; -} - -RCT_EXPORT_METHOD(getDefaultCountryCode - : (RCTPromiseResolveBlock)resolve reject - : (RCTPromiseRejectBlock)reject) { - CTTelephonyNetworkInfo *network_Info = [CTTelephonyNetworkInfo new]; - // TODO this will stop working at some point - CTCarrier *carrier = network_Info.subscriberCellularProvider; - resolve(carrier.isoCountryCode); -} - RCT_EXPORT_METHOD(logSend:(NSString *)status feedback:(NSString *)feedback sendLogs:(BOOL)sendLogs sendMaxBytes:(BOOL)sendMaxBytes traceDir:(NSString *)traceDir cpuProfileDir:(NSString *)cpuProfileDir resolve:(RCTPromiseResolveBlock)resolve reject:(RCTPromiseRejectBlock)reject) { NSString *logId = nil; NSError *err = nil; @@ -491,33 +397,33 @@ - (NSDictionary *)getConstants { FsPathsHolder *holder = [FsPathsHolder sharedFsPathsHolder]; NSDictionary *fsPaths = holder.fsPaths; NSString *logFilePath = fsPaths[@"logFile"]; - + if (!logFilePath || logFilePath.length == 0) { resolve(@YES); return; } - + NSString *logDir = [logFilePath stringByDeletingLastPathComponent]; NSFileManager *fm = [NSFileManager defaultManager]; - + if (![fm fileExistsAtPath:logDir]) { resolve(@YES); return; } - + NSError *error = nil; NSArray *files = [fm contentsOfDirectoryAtPath:logDir error:&error]; - + if (error) { NSLog(@"Error listing log directory: %@", error.localizedDescription); resolve(@YES); return; } - + for (NSString *fileName in files) { NSString *filePath = [logDir stringByAppendingPathComponent:fileName]; NSFileHandle *fileHandle = [NSFileHandle fileHandleForWritingAtPath:filePath]; - + if (fileHandle) { @try { [fileHandle truncateFileAtOffset:0]; @@ -528,7 +434,7 @@ - (NSDictionary *)getConstants { } } } - + resolve(@YES); } @@ -586,10 +492,6 @@ + (void)setInitialNotification:(NSDictionary *)notification { } + (void)emitPushNotification:(NSDictionary *)notification { - NSString *type = notification[@"type"] ?: @"unknown"; - NSString *convID = notification[@"convID"] ?: notification[@"c"] ?: @"unknown"; - NSNumber *userInteraction = notification[@"userInteraction"]; - if (kbSharedInstance) { [kbSharedInstance sendEventWithName:@"onPushNotification" body:notification]; NSLog(@"Kb.emitPushNotification: sent event 'onPushNotification' to JS"); @@ -612,26 +514,18 @@ - (void)handleHardwareKeyPressed:(NSNotification *)notification { } - (NSNumber *)androidCheckPushPermissions {return @-1;} -- (NSNumber *)androidGetSecureFlagSetting {return @-1;} - (NSNumber *)androidRequestPushPermissions {return @-1;} -- (NSNumber *)androidSetSecureFlagSetting:(BOOL)s {return @-1;} - (NSNumber *)androidShare:(NSString *)text mimeType:(NSString *)mimeType {return @-1;} - (NSNumber *)androidShareText:(NSString *)text mimeType:(NSString *)mimeType {return @-1;} - (NSString *)androidGetRegistrationToken {return @"";} -- (void)androidAddCompleteDownload:(/*JS::NativeKb::SpecAndroidAddCompleteDownloadO &*/id)o resolve:(RCTPromiseResolveBlock)resolve reject:(RCTPromiseRejectBlock)reject {} +- (void)androidAddCompleteDownload:(JS::NativeKb::SpecAndroidAddCompleteDownloadO &)o resolve:(RCTPromiseResolveBlock)resolve reject:(RCTPromiseRejectBlock)reject {} - (void)androidAppColorSchemeChanged:(NSString *)mode {} - (void)androidCheckPushPermissions:(RCTPromiseResolveBlock)resolve reject:(RCTPromiseRejectBlock)reject {} - (void)androidGetRegistrationToken:(RCTPromiseResolveBlock)resolve reject:(RCTPromiseRejectBlock)reject {} -- (void)androidGetSecureFlagSetting:(RCTPromiseResolveBlock)resolve reject:(RCTPromiseRejectBlock)reject {} -- (void)androidOpenSettings {} - (void)androidRequestPushPermissions:(RCTPromiseResolveBlock)resolve reject:(RCTPromiseRejectBlock)reject{} - (void)androidSetApplicationIconBadgeNumber:(double)n {} -- (void)androidSetSecureFlagSetting:(BOOL)s resolve:(RCTPromiseResolveBlock)resolve reject:(RCTPromiseRejectBlock)reject {} - (void)androidShare:(NSString *)text mimeType:(NSString *)mimeType resolve:(RCTPromiseResolveBlock)resolve reject:(RCTPromiseRejectBlock)reject {} - (void)androidShareText:(NSString *)text mimeType:(NSString *)mimeType resolve:(RCTPromiseResolveBlock)resolve reject:(RCTPromiseRejectBlock)reject {} -- (void)androidUnlink:(NSString *)path resolve:(RCTPromiseResolveBlock)resolve reject:(RCTPromiseRejectBlock)reject {} -- (void)androidUnlink:(NSString *)path {} - @end @implementation UITextView (KBPasteImage) diff --git a/rnmodules/react-native-kb/react-native-kb.podspec b/rnmodules/react-native-kb/react-native-kb.podspec index fd69e6c875ef..5091221340d4 100644 --- a/rnmodules/react-native-kb/react-native-kb.podspec +++ b/rnmodules/react-native-kb/react-native-kb.podspec @@ -26,7 +26,7 @@ Pod::Spec.new do |s| # See https://github.com/facebook/react-native/blob/febf6b7f33fdb4904669f99d795eba4c0f95d7bf/scripts/cocoapods/new_architecture.rb#L79. if respond_to?(:install_modules_dependencies, true) s.pod_target_xcconfig = { - "HEADER_SEARCH_PATHS" => "\"$(PODS_ROOT)/boost\" $(PODS_ROOT)/../../node_modules/msgpack-cxx-6.1.0/include $(PODS_ROOT)/../keybasego.xcframework/ios-arm64/Keybasego.framework/Headers \"$(PODS_CONFIGURATION_BUILD_DIR)/KBCommon\"", + "HEADER_SEARCH_PATHS" => "\"$(PODS_ROOT)/boost\" $(PODS_ROOT)/../../node_modules/msgpack-cxx-7.0.0/include $(PODS_ROOT)/../keybasego.xcframework/ios-arm64/Keybasego.framework/Headers \"$(PODS_CONFIGURATION_BUILD_DIR)/KBCommon\"", "OTHER_CPLUSPLUSFLAGS" => "-DFOLLY_NO_CONFIG -DFOLLY_MOBILE=1 -DFOLLY_USE_LIBCPP=1 -DMSGPACK_NO_BOOST=1", "CLANG_CXX_LANGUAGE_STANDARD" => "c++17" } @@ -38,7 +38,7 @@ Pod::Spec.new do |s| if ENV['RCT_NEW_ARCH_ENABLED'] == '1' then s.compiler_flags = folly_compiler_flags + " -DRCT_NEW_ARCH_ENABLED=1" s.pod_target_xcconfig = { - "HEADER_SEARCH_PATHS" => "\"$(PODS_ROOT)/boost\" $(PODS_ROOT)/../../node_modules/msgpack-cxx-6.1.0/include $(PODS_ROOT)/../keybasego.xcframework/ios-arm64/Keybasego.framework/Headers \"$(PODS_CONFIGURATION_BUILD_DIR)/KBCommon\"", + "HEADER_SEARCH_PATHS" => "\"$(PODS_ROOT)/boost\" $(PODS_ROOT)/../../node_modules/msgpack-cxx-7.0.0/include $(PODS_ROOT)/../keybasego.xcframework/ios-arm64/Keybasego.framework/Headers \"$(PODS_CONFIGURATION_BUILD_DIR)/KBCommon\"", "OTHER_CPLUSPLUSFLAGS" => "-DFOLLY_NO_CONFIG -DFOLLY_MOBILE=1 -DFOLLY_USE_LIBCPP=1 -DMSGPACK_NO_BOOST=1", "CLANG_CXX_LANGUAGE_STANDARD" => "c++17" } @@ -49,7 +49,7 @@ Pod::Spec.new do |s| s.dependency "ReactCommon/turbomodule/core" else s.pod_target_xcconfig = { - "HEADER_SEARCH_PATHS" => "\"$(PODS_ROOT)/boost\" $(PODS_ROOT)/../../node_modules/msgpack-cxx-6.1.0/include $(PODS_ROOT)/../keybasego.xcframework/ios-arm64/Keybasego.framework/Headers \"$(PODS_CONFIGURATION_BUILD_DIR)/KBCommon\"", + "HEADER_SEARCH_PATHS" => "\"$(PODS_ROOT)/boost\" $(PODS_ROOT)/../../node_modules/msgpack-cxx-7.0.0/include $(PODS_ROOT)/../keybasego.xcframework/ios-arm64/Keybasego.framework/Headers \"$(PODS_CONFIGURATION_BUILD_DIR)/KBCommon\"", "OTHER_CPLUSPLUSFLAGS" => "-DFOLLY_NO_CONFIG -DFOLLY_MOBILE=1 -DFOLLY_USE_LIBCPP=1 -DMSGPACK_NO_BOOST=1", "CLANG_CXX_LANGUAGE_STANDARD" => "c++17" } diff --git a/rnmodules/react-native-kb/src/NativeKb.ts b/rnmodules/react-native-kb/src/NativeKb.ts index 30b85f7f79eb..1e8aca4aad91 100644 --- a/rnmodules/react-native-kb/src/NativeKb.ts +++ b/rnmodules/react-native-kb/src/NativeKb.ts @@ -17,7 +17,6 @@ export interface Spec extends TurboModule { uses24HourClock: boolean version: string } - getDefaultCountryCode(): Promise logSend( status: string, feedback: string, @@ -27,12 +26,8 @@ export interface Spec extends TurboModule { cpuProfileDir: string ): Promise iosGetHasShownPushPrompt(): Promise - androidOpenSettings(): void - androidSetSecureFlagSetting(s: boolean): Promise - androidGetSecureFlagSetting(): Promise androidShareText(text: string, mimeType: string): Promise androidShare(text: string, mimeType: string): Promise - androidUnlink(path: string): Promise androidAddCompleteDownload(o: { description: string mime: string diff --git a/rnmodules/react-native-kb/src/index.tsx b/rnmodules/react-native-kb/src/index.tsx index 964365198291..89f66c05cf42 100644 --- a/rnmodules/react-native-kb/src/index.tsx +++ b/rnmodules/react-native-kb/src/index.tsx @@ -1,29 +1,7 @@ -import {NativeModules, Platform, NativeEventEmitter} from 'react-native' +import {Platform, NativeEventEmitter} from 'react-native' +import KbNative from './NativeKb' -const LINKING_ERROR = - `The package 'react-native-kb' doesn't seem to be linked. Make sure: \n\n` + - Platform.select({ios: "- You have run 'pod install'\n", default: ''}) + - '- You rebuilt the app after installing the package\n' + - '- You are not using Expo Go\n' - -const isTurboModuleEnabled = global.__turboModuleProxy != null - -const KbModule = isTurboModuleEnabled ? require('./NativeKb').default : NativeModules['Kb'] - -const Kb = KbModule - ? KbModule - : new Proxy( - {}, - { - get() { - throw new Error(LINKING_ERROR) - }, - } - ) - -export const getDefaultCountryCode = (): Promise => { - return Kb.getDefaultCountryCode() -} +const Kb = KbNative export const logSend = ( status: string, @@ -37,7 +15,7 @@ export const logSend = ( } export const install = () => { - Kb.install() + // No-op: JSI bindings are now installed automatically via TurboModuleWithJSIBindings } export const iosGetHasShownPushPrompt = (): Promise => { if (Platform.OS === 'ios') { @@ -46,26 +24,6 @@ export const iosGetHasShownPushPrompt = (): Promise => { return Promise.resolve(false) } -export const androidOpenSettings = () => { - if (Platform.OS === 'android') { - Kb.androidOpenSettings() - } -} - -export const androidSetSecureFlagSetting = (s: boolean): Promise => { - if (Platform.OS === 'android') { - return Kb.androidSetSecureFlagSetting(s) - } - return Promise.resolve(false) -} - -export const androidGetSecureFlagSetting = (): Promise => { - if (Platform.OS === 'android') { - return Kb.androidGetSecureFlagSetting() - } - return Promise.resolve(false) -} - export const androidShareText = (text: string, mimeType: string): Promise => { if (Platform.OS === 'android') { return Kb.androidShareText(text, mimeType) @@ -80,13 +38,6 @@ export const androidShare = (text: string, mimeType: string): Promise = return Promise.resolve(false) } -export const androidUnlink = (path: string): Promise => { - if (Platform.OS === 'android') { - return Kb.androidUnlink(path) - } - return Promise.reject() -} - export const androidAddCompleteDownload = (o: { description: string mime: string diff --git a/shared/.maestro/performance/perf-inbox-scroll.yaml b/shared/.maestro/performance/perf-inbox-scroll.yaml new file mode 100644 index 000000000000..9fbb2bbe7348 --- /dev/null +++ b/shared/.maestro/performance/perf-inbox-scroll.yaml @@ -0,0 +1,29 @@ +appId: keybase.ios + +--- + +- launchApp: + stopApp: true + arguments: + PERF_FPS_MONITOR: "true" + +- runFlow: ../subflows/navigate-to-chat.yaml + +- repeat: + times: 3 + commands: + - swipe: + id: "inboxList" + direction: UP + duration: 150 + +- repeat: + times: 3 + commands: + - swipe: + id: "inboxList" + direction: DOWN + duration: 150 + +# Press Home to trigger app background → flushes profiler data +- pressKey: Home diff --git a/shared/.maestro/performance/perf-teams-scroll.yaml b/shared/.maestro/performance/perf-teams-scroll.yaml new file mode 100644 index 000000000000..5fa77755de69 --- /dev/null +++ b/shared/.maestro/performance/perf-teams-scroll.yaml @@ -0,0 +1,29 @@ +appId: keybase.ios + +--- + +- launchApp: + stopApp: true + arguments: + PERF_FPS_MONITOR: "true" + +- runFlow: ../subflows/navigate-to-teams.yaml + +- repeat: + times: 3 + commands: + - swipe: + id: "teamsList" + direction: UP + duration: 150 + +- repeat: + times: 3 + commands: + - swipe: + id: "teamsList" + direction: DOWN + duration: 150 + +# Press Home to trigger app background → flushes profiler data +- pressKey: Home diff --git a/shared/.maestro/performance/perf-thread-scroll.yaml b/shared/.maestro/performance/perf-thread-scroll.yaml new file mode 100644 index 000000000000..4ea1ab0ddbbd --- /dev/null +++ b/shared/.maestro/performance/perf-thread-scroll.yaml @@ -0,0 +1,20 @@ +appId: keybase.ios +--- +- launchApp: + stopApp: true + arguments: + PERF_FPS_MONITOR: 'true' + +- runFlow: ../subflows/navigate-to-thread.yaml + +- repeat: + times: 10 + commands: + - swipe: + id: 'messageList' + direction: DOWN + duration: 400 + waitToSettleTimeoutMs: 50 + +# Press Home to trigger app background → flushes profiler data +- pressKey: Home diff --git a/shared/.maestro/subflows/escape-to-tabs.yaml b/shared/.maestro/subflows/escape-to-tabs.yaml new file mode 100644 index 000000000000..4bccc6ccb921 --- /dev/null +++ b/shared/.maestro/subflows/escape-to-tabs.yaml @@ -0,0 +1,15 @@ +appId: keybase.ios + +--- + +- waitForAnimationToEnd: + timeout: 30000 + +# If starting inside a conversation, the tab bar is hidden — go back first +- runFlow: + when: + visible: + id: "backButton" + commands: + - tapOn: + id: "backButton" diff --git a/shared/.maestro/subflows/navigate-to-chat.yaml b/shared/.maestro/subflows/navigate-to-chat.yaml new file mode 100644 index 000000000000..eafb8cbaf32a --- /dev/null +++ b/shared/.maestro/subflows/navigate-to-chat.yaml @@ -0,0 +1,13 @@ +appId: keybase.ios + +--- + +- runFlow: escape-to-tabs.yaml + +- tapOn: + text: "Chat" + +- extendedWaitUntil: + visible: + id: "inboxList" + timeout: 10000 diff --git a/shared/.maestro/subflows/navigate-to-teams.yaml b/shared/.maestro/subflows/navigate-to-teams.yaml new file mode 100644 index 000000000000..086e7c109af9 --- /dev/null +++ b/shared/.maestro/subflows/navigate-to-teams.yaml @@ -0,0 +1,13 @@ +appId: keybase.ios + +--- + +- runFlow: escape-to-tabs.yaml + +- tapOn: + text: "Teams" + +- extendedWaitUntil: + visible: + id: "teamsList" + timeout: 10000 diff --git a/shared/.maestro/subflows/navigate-to-thread.yaml b/shared/.maestro/subflows/navigate-to-thread.yaml new file mode 100644 index 000000000000..53225e2f3a8a --- /dev/null +++ b/shared/.maestro/subflows/navigate-to-thread.yaml @@ -0,0 +1,23 @@ +appId: keybase.ios + +--- + +- runFlow: escape-to-tabs.yaml + +# Tab bar is now visible — navigate to chat inbox +- tapOn: + text: "Chat" + +- extendedWaitUntil: + visible: + id: "inboxRow" + timeout: 10000 + +- tapOn: + id: "inboxRow" + index: 0 + +- extendedWaitUntil: + visible: + id: "messageList" + timeout: 10000 diff --git a/shared/.maestro/visual-diff/nav-chat.yaml b/shared/.maestro/visual-diff/nav-chat.yaml new file mode 100644 index 000000000000..1cb2bd6f69af --- /dev/null +++ b/shared/.maestro/visual-diff/nav-chat.yaml @@ -0,0 +1,6 @@ +appId: keybase.ios +--- +- tapOn: + text: "Chat" +- assertVisible: + text: "Chat" diff --git a/shared/.maestro/visual-diff/nav-files.yaml b/shared/.maestro/visual-diff/nav-files.yaml new file mode 100644 index 000000000000..84de4e236e28 --- /dev/null +++ b/shared/.maestro/visual-diff/nav-files.yaml @@ -0,0 +1,6 @@ +appId: keybase.ios +--- +- tapOn: + text: "Files" +- assertVisible: + text: "Files" diff --git a/shared/.maestro/visual-diff/nav-more-back.yaml b/shared/.maestro/visual-diff/nav-more-back.yaml new file mode 100644 index 000000000000..4666c1da3695 --- /dev/null +++ b/shared/.maestro/visual-diff/nav-more-back.yaml @@ -0,0 +1,10 @@ +appId: keybase.ios +--- +- swipe: + start: "1%, 50%" + end: "80%, 50%" + duration: 400 +- extendedWaitUntil: + visible: + text: ".*Crypto" + timeout: 10000 diff --git a/shared/.maestro/visual-diff/nav-more-crypto.yaml b/shared/.maestro/visual-diff/nav-more-crypto.yaml new file mode 100644 index 000000000000..5867499a46ba --- /dev/null +++ b/shared/.maestro/visual-diff/nav-more-crypto.yaml @@ -0,0 +1,9 @@ +appId: keybase.ios +--- +- tapOn: + text: ".*Crypto" + retryTapIfNoChange: false +- extendedWaitUntil: + visible: + text: "Encrypt,.*" + timeout: 10000 diff --git a/shared/.maestro/visual-diff/nav-more-devices.yaml b/shared/.maestro/visual-diff/nav-more-devices.yaml new file mode 100644 index 000000000000..1190d54dc786 --- /dev/null +++ b/shared/.maestro/visual-diff/nav-more-devices.yaml @@ -0,0 +1,5 @@ +appId: keybase.ios +--- +- tapOn: + text: ".*Devices" + retryTapIfNoChange: false diff --git a/shared/.maestro/visual-diff/nav-more-git.yaml b/shared/.maestro/visual-diff/nav-more-git.yaml new file mode 100644 index 000000000000..fe5549b3a524 --- /dev/null +++ b/shared/.maestro/visual-diff/nav-more-git.yaml @@ -0,0 +1,5 @@ +appId: keybase.ios +--- +- tapOn: + text: ".*Git" + retryTapIfNoChange: false diff --git a/shared/.maestro/visual-diff/nav-more-settings.yaml b/shared/.maestro/visual-diff/nav-more-settings.yaml new file mode 100644 index 000000000000..a93a182cda08 --- /dev/null +++ b/shared/.maestro/visual-diff/nav-more-settings.yaml @@ -0,0 +1,6 @@ +appId: keybase.ios +--- +# The "More" screen itself serves as the settings page on mobile. +# Just ensure we're back on the More screen. +- assertVisible: + text: ".*Crypto" diff --git a/shared/.maestro/visual-diff/nav-more.yaml b/shared/.maestro/visual-diff/nav-more.yaml new file mode 100644 index 000000000000..ebdd4283e5a0 --- /dev/null +++ b/shared/.maestro/visual-diff/nav-more.yaml @@ -0,0 +1,8 @@ +appId: keybase.ios +--- +- tapOn: + text: "More" +- extendedWaitUntil: + visible: + text: ".*Crypto" + timeout: 30000 diff --git a/shared/.maestro/visual-diff/nav-people.yaml b/shared/.maestro/visual-diff/nav-people.yaml new file mode 100644 index 000000000000..b28cbf3866b2 --- /dev/null +++ b/shared/.maestro/visual-diff/nav-people.yaml @@ -0,0 +1,6 @@ +appId: keybase.ios +--- +- tapOn: + text: "People" +- assertVisible: + text: "People" diff --git a/shared/.maestro/visual-diff/nav-teams.yaml b/shared/.maestro/visual-diff/nav-teams.yaml new file mode 100644 index 000000000000..f66ffa19d152 --- /dev/null +++ b/shared/.maestro/visual-diff/nav-teams.yaml @@ -0,0 +1,6 @@ +appId: keybase.ios +--- +- tapOn: + text: "Teams" +- assertVisible: + text: "Teams" diff --git a/shared/.maestro/visual-diff/visual-diff-tabs.yaml b/shared/.maestro/visual-diff/visual-diff-tabs.yaml new file mode 100644 index 000000000000..0c87eeec0aaf --- /dev/null +++ b/shared/.maestro/visual-diff/visual-diff-tabs.yaml @@ -0,0 +1,104 @@ +appId: keybase.ios + +--- + +# Visual diff: navigate to each tab and take a screenshot. +# Run via: maestro test --output /tmp/visual-diff-ios/ .maestro/visual-diff/visual-diff-tabs.yaml +# +# Note: "More" sub-items have accessibility labels like ", Crypto" (with leading comma+space +# from icon+text concatenation), so we match with regex. +# Sub-screen items have composite labels like "Encrypt, Encrypt to anyone..." +# Use swipe RIGHT from screen edge to go back (iOS back gesture). + +- launchApp + +- extendedWaitUntil: + visible: + text: "Chat" + timeout: 60000 + +# --- Bottom bar tabs --- + +- tapOn: + text: "People" +- assertVisible: + text: "People" +- takeScreenshot: people + +- tapOn: + text: "Chat" +- assertVisible: + text: "Chat" +- takeScreenshot: chat + +- tapOn: + text: "Files" +- assertVisible: + text: "Files" +- takeScreenshot: files + +- tapOn: + text: "Teams" +- assertVisible: + text: "Teams" +- takeScreenshot: teams + +# --- "More" menu tabs --- + +- tapOn: + text: "More" +- extendedWaitUntil: + visible: + text: ".*Crypto" + timeout: 30000 + +- tapOn: + text: ".*Crypto" + retryTapIfNoChange: false +- extendedWaitUntil: + visible: + text: "Encrypt,.*" + timeout: 10000 +- takeScreenshot: crypto +- swipe: + start: "1%, 50%" + end: "80%, 50%" + duration: 400 + +- extendedWaitUntil: + visible: + text: ".*Git" + timeout: 10000 + +- tapOn: + text: ".*Git" + retryTapIfNoChange: false +- takeScreenshot: git +- swipe: + start: "1%, 50%" + end: "80%, 50%" + duration: 400 + +- extendedWaitUntil: + visible: + text: ".*Devices" + timeout: 10000 + +- tapOn: + text: ".*Devices" + retryTapIfNoChange: false +- takeScreenshot: devices +- swipe: + start: "1%, 50%" + end: "80%, 50%" + duration: 400 + +- extendedWaitUntil: + visible: + text: "Account" + timeout: 10000 + +- tapOn: + text: "Account" + retryTapIfNoChange: false +- takeScreenshot: settings diff --git a/shared/README.md b/shared/README.md index 7ea2ad7758d9..9b97f438fda5 100644 --- a/shared/README.md +++ b/shared/README.md @@ -23,14 +23,13 @@ yarn modules The following `yarn run` commands, to build, run or package the app: -| Command | Description | -| ---------- | --------------------------------------------------- | -| start | Build a development bundle and start app | -| hot-server | Start the hot-reloading server (with start-hot) | -| start-hot | Connect to a hot-reloading server (with hot-server) | -| build-dev | Build development bundle | -| build-prod | Build prod bundle | -| package | Package app | +| Command | Description | +| ---------- | ---------------------------------------- | +| start | Build a development bundle and start app | +| start-hot | Electron with hot reloading | +| build-dev | Build development bundle | +| build-prod | Build prod bundle | +| package | Package app | You can set environment variables for debugging: @@ -55,6 +54,16 @@ You can also edit `~/Library/Logs/Keybase.app.debug` on macOS, 1. Install react-dev-tools using npm or yarn globally 1. Run it while running a dev build +### Desktop Performance Testing + +Requires `playwright-core` installed globally: + +```sh +yarn global add playwright-core +``` + +Start the app with `yarn start-hot-debug`, then see `perf/PERF-TESTING.md` for usage. + ## Other docs see [Docs](docs) diff --git a/shared/actions/engine-gen-gen.tsx b/shared/actions/engine-gen-gen.tsx deleted file mode 100644 index e2e6151d4327..000000000000 --- a/shared/actions/engine-gen-gen.tsx +++ /dev/null @@ -1,2184 +0,0 @@ -// NOTE: This file is GENERATED from json files in actions/json. Run 'yarn build-actions' to regenerate - -import type * as chat1Types from '@/constants/types/rpc-chat-gen' -import type * as keybase1Types from '@/constants/types/rpc-gen' -import type * as stellar1Types from '@/constants/types/rpc-stellar-gen' - -// Constants -export const resetStore = 'common:resetStore' // not a part of engine-gen but is handled by every reducer. NEVER dispatch this -export const typePrefix = 'engine-gen:' -export const chat1ChatUiChatBotCommandsUpdateStatus = 'engine-gen:chat1ChatUiChatBotCommandsUpdateStatus' -export const chat1ChatUiChatClearWatch = 'engine-gen:chat1ChatUiChatClearWatch' -export const chat1ChatUiChatCoinFlipStatus = 'engine-gen:chat1ChatUiChatCoinFlipStatus' -export const chat1ChatUiChatCommandMarkdown = 'engine-gen:chat1ChatUiChatCommandMarkdown' -export const chat1ChatUiChatCommandStatus = 'engine-gen:chat1ChatUiChatCommandStatus' -export const chat1ChatUiChatConfirmChannelDelete = 'engine-gen:chat1ChatUiChatConfirmChannelDelete' -export const chat1ChatUiChatGiphySearchResults = 'engine-gen:chat1ChatUiChatGiphySearchResults' -export const chat1ChatUiChatGiphyToggleResultWindow = 'engine-gen:chat1ChatUiChatGiphyToggleResultWindow' -export const chat1ChatUiChatInboxConversation = 'engine-gen:chat1ChatUiChatInboxConversation' -export const chat1ChatUiChatInboxFailed = 'engine-gen:chat1ChatUiChatInboxFailed' -export const chat1ChatUiChatInboxLayout = 'engine-gen:chat1ChatUiChatInboxLayout' -export const chat1ChatUiChatInboxUnverified = 'engine-gen:chat1ChatUiChatInboxUnverified' -export const chat1ChatUiChatLoadGalleryHit = 'engine-gen:chat1ChatUiChatLoadGalleryHit' -export const chat1ChatUiChatMaybeMentionUpdate = 'engine-gen:chat1ChatUiChatMaybeMentionUpdate' -export const chat1ChatUiChatSearchBotHits = 'engine-gen:chat1ChatUiChatSearchBotHits' -export const chat1ChatUiChatSearchConvHits = 'engine-gen:chat1ChatUiChatSearchConvHits' -export const chat1ChatUiChatSearchDone = 'engine-gen:chat1ChatUiChatSearchDone' -export const chat1ChatUiChatSearchHit = 'engine-gen:chat1ChatUiChatSearchHit' -export const chat1ChatUiChatSearchInboxDone = 'engine-gen:chat1ChatUiChatSearchInboxDone' -export const chat1ChatUiChatSearchInboxHit = 'engine-gen:chat1ChatUiChatSearchInboxHit' -export const chat1ChatUiChatSearchInboxStart = 'engine-gen:chat1ChatUiChatSearchInboxStart' -export const chat1ChatUiChatSearchIndexStatus = 'engine-gen:chat1ChatUiChatSearchIndexStatus' -export const chat1ChatUiChatSearchTeamHits = 'engine-gen:chat1ChatUiChatSearchTeamHits' -export const chat1ChatUiChatShowManageChannels = 'engine-gen:chat1ChatUiChatShowManageChannels' -export const chat1ChatUiChatStellarDataConfirm = 'engine-gen:chat1ChatUiChatStellarDataConfirm' -export const chat1ChatUiChatStellarDataError = 'engine-gen:chat1ChatUiChatStellarDataError' -export const chat1ChatUiChatStellarDone = 'engine-gen:chat1ChatUiChatStellarDone' -export const chat1ChatUiChatStellarShowConfirm = 'engine-gen:chat1ChatUiChatStellarShowConfirm' -export const chat1ChatUiChatThreadCached = 'engine-gen:chat1ChatUiChatThreadCached' -export const chat1ChatUiChatThreadFull = 'engine-gen:chat1ChatUiChatThreadFull' -export const chat1ChatUiChatThreadStatus = 'engine-gen:chat1ChatUiChatThreadStatus' -export const chat1ChatUiChatWatchPosition = 'engine-gen:chat1ChatUiChatWatchPosition' -export const chat1ChatUiTriggerContactSync = 'engine-gen:chat1ChatUiTriggerContactSync' -export const chat1NotifyChatChatArchiveComplete = 'engine-gen:chat1NotifyChatChatArchiveComplete' -export const chat1NotifyChatChatArchiveProgress = 'engine-gen:chat1NotifyChatChatArchiveProgress' -export const chat1NotifyChatChatAttachmentDownloadComplete = - 'engine-gen:chat1NotifyChatChatAttachmentDownloadComplete' -export const chat1NotifyChatChatAttachmentDownloadProgress = - 'engine-gen:chat1NotifyChatChatAttachmentDownloadProgress' -export const chat1NotifyChatChatAttachmentUploadProgress = - 'engine-gen:chat1NotifyChatChatAttachmentUploadProgress' -export const chat1NotifyChatChatAttachmentUploadStart = 'engine-gen:chat1NotifyChatChatAttachmentUploadStart' -export const chat1NotifyChatChatConvUpdate = 'engine-gen:chat1NotifyChatChatConvUpdate' -export const chat1NotifyChatChatIdentifyUpdate = 'engine-gen:chat1NotifyChatChatIdentifyUpdate' -export const chat1NotifyChatChatInboxStale = 'engine-gen:chat1NotifyChatChatInboxStale' -export const chat1NotifyChatChatInboxSyncStarted = 'engine-gen:chat1NotifyChatChatInboxSyncStarted' -export const chat1NotifyChatChatInboxSynced = 'engine-gen:chat1NotifyChatChatInboxSynced' -export const chat1NotifyChatChatJoinedConversation = 'engine-gen:chat1NotifyChatChatJoinedConversation' -export const chat1NotifyChatChatKBFSToImpteamUpgrade = 'engine-gen:chat1NotifyChatChatKBFSToImpteamUpgrade' -export const chat1NotifyChatChatLeftConversation = 'engine-gen:chat1NotifyChatChatLeftConversation' -export const chat1NotifyChatChatParticipantsInfo = 'engine-gen:chat1NotifyChatChatParticipantsInfo' -export const chat1NotifyChatChatPaymentInfo = 'engine-gen:chat1NotifyChatChatPaymentInfo' -export const chat1NotifyChatChatPromptUnfurl = 'engine-gen:chat1NotifyChatChatPromptUnfurl' -export const chat1NotifyChatChatRequestInfo = 'engine-gen:chat1NotifyChatChatRequestInfo' -export const chat1NotifyChatChatResetConversation = 'engine-gen:chat1NotifyChatChatResetConversation' -export const chat1NotifyChatChatSetConvRetention = 'engine-gen:chat1NotifyChatChatSetConvRetention' -export const chat1NotifyChatChatSetConvSettings = 'engine-gen:chat1NotifyChatChatSetConvSettings' -export const chat1NotifyChatChatSetTeamRetention = 'engine-gen:chat1NotifyChatChatSetTeamRetention' -export const chat1NotifyChatChatSubteamRename = 'engine-gen:chat1NotifyChatChatSubteamRename' -export const chat1NotifyChatChatTLFFinalize = 'engine-gen:chat1NotifyChatChatTLFFinalize' -export const chat1NotifyChatChatTLFResolve = 'engine-gen:chat1NotifyChatChatTLFResolve' -export const chat1NotifyChatChatThreadsStale = 'engine-gen:chat1NotifyChatChatThreadsStale' -export const chat1NotifyChatChatTypingUpdate = 'engine-gen:chat1NotifyChatChatTypingUpdate' -export const chat1NotifyChatChatWelcomeMessageLoaded = 'engine-gen:chat1NotifyChatChatWelcomeMessageLoaded' -export const chat1NotifyChatNewChatActivity = 'engine-gen:chat1NotifyChatNewChatActivity' -export const keybase1GpgUiConfirmDuplicateKeyChosen = 'engine-gen:keybase1GpgUiConfirmDuplicateKeyChosen' -export const keybase1GpgUiConfirmImportSecretToExistingKey = - 'engine-gen:keybase1GpgUiConfirmImportSecretToExistingKey' -export const keybase1GpgUiGetTTY = 'engine-gen:keybase1GpgUiGetTTY' -export const keybase1GpgUiSelectKey = 'engine-gen:keybase1GpgUiSelectKey' -export const keybase1GpgUiSelectKeyAndPushOption = 'engine-gen:keybase1GpgUiSelectKeyAndPushOption' -export const keybase1GpgUiSign = 'engine-gen:keybase1GpgUiSign' -export const keybase1GpgUiWantToAddGPGKey = 'engine-gen:keybase1GpgUiWantToAddGPGKey' -export const keybase1GregorUIPushOutOfBandMessages = 'engine-gen:keybase1GregorUIPushOutOfBandMessages' -export const keybase1GregorUIPushState = 'engine-gen:keybase1GregorUIPushState' -export const keybase1HomeUIHomeUIRefresh = 'engine-gen:keybase1HomeUIHomeUIRefresh' -export const keybase1Identify3UiIdentify3Result = 'engine-gen:keybase1Identify3UiIdentify3Result' -export const keybase1Identify3UiIdentify3ShowTracker = 'engine-gen:keybase1Identify3UiIdentify3ShowTracker' -export const keybase1Identify3UiIdentify3Summary = 'engine-gen:keybase1Identify3UiIdentify3Summary' -export const keybase1Identify3UiIdentify3TrackerTimedOut = - 'engine-gen:keybase1Identify3UiIdentify3TrackerTimedOut' -export const keybase1Identify3UiIdentify3UpdateRow = 'engine-gen:keybase1Identify3UiIdentify3UpdateRow' -export const keybase1Identify3UiIdentify3UpdateUserCard = - 'engine-gen:keybase1Identify3UiIdentify3UpdateUserCard' -export const keybase1Identify3UiIdentify3UserReset = 'engine-gen:keybase1Identify3UiIdentify3UserReset' -export const keybase1IdentifyUiCancel = 'engine-gen:keybase1IdentifyUiCancel' -export const keybase1IdentifyUiConfirm = 'engine-gen:keybase1IdentifyUiConfirm' -export const keybase1IdentifyUiDelegateIdentifyUI = 'engine-gen:keybase1IdentifyUiDelegateIdentifyUI' -export const keybase1IdentifyUiDismiss = 'engine-gen:keybase1IdentifyUiDismiss' -export const keybase1IdentifyUiDisplayCryptocurrency = 'engine-gen:keybase1IdentifyUiDisplayCryptocurrency' -export const keybase1IdentifyUiDisplayKey = 'engine-gen:keybase1IdentifyUiDisplayKey' -export const keybase1IdentifyUiDisplayStellarAccount = 'engine-gen:keybase1IdentifyUiDisplayStellarAccount' -export const keybase1IdentifyUiDisplayTLFCreateWithInvite = - 'engine-gen:keybase1IdentifyUiDisplayTLFCreateWithInvite' -export const keybase1IdentifyUiDisplayTrackStatement = 'engine-gen:keybase1IdentifyUiDisplayTrackStatement' -export const keybase1IdentifyUiDisplayUserCard = 'engine-gen:keybase1IdentifyUiDisplayUserCard' -export const keybase1IdentifyUiFinish = 'engine-gen:keybase1IdentifyUiFinish' -export const keybase1IdentifyUiFinishSocialProofCheck = 'engine-gen:keybase1IdentifyUiFinishSocialProofCheck' -export const keybase1IdentifyUiFinishWebProofCheck = 'engine-gen:keybase1IdentifyUiFinishWebProofCheck' -export const keybase1IdentifyUiLaunchNetworkChecks = 'engine-gen:keybase1IdentifyUiLaunchNetworkChecks' -export const keybase1IdentifyUiReportLastTrack = 'engine-gen:keybase1IdentifyUiReportLastTrack' -export const keybase1IdentifyUiReportTrackToken = 'engine-gen:keybase1IdentifyUiReportTrackToken' -export const keybase1IdentifyUiStart = 'engine-gen:keybase1IdentifyUiStart' -export const keybase1LogUiLog = 'engine-gen:keybase1LogUiLog' -export const keybase1LoginUiChooseDeviceToRecoverWith = 'engine-gen:keybase1LoginUiChooseDeviceToRecoverWith' -export const keybase1LoginUiDisplayPaperKeyPhrase = 'engine-gen:keybase1LoginUiDisplayPaperKeyPhrase' -export const keybase1LoginUiDisplayPrimaryPaperKey = 'engine-gen:keybase1LoginUiDisplayPrimaryPaperKey' -export const keybase1LoginUiDisplayResetMessage = 'engine-gen:keybase1LoginUiDisplayResetMessage' -export const keybase1LoginUiDisplayResetProgress = 'engine-gen:keybase1LoginUiDisplayResetProgress' -export const keybase1LoginUiExplainDeviceRecovery = 'engine-gen:keybase1LoginUiExplainDeviceRecovery' -export const keybase1LoginUiGetEmailOrUsername = 'engine-gen:keybase1LoginUiGetEmailOrUsername' -export const keybase1LoginUiPromptPassphraseRecovery = 'engine-gen:keybase1LoginUiPromptPassphraseRecovery' -export const keybase1LoginUiPromptResetAccount = 'engine-gen:keybase1LoginUiPromptResetAccount' -export const keybase1LoginUiPromptRevokePaperKeys = 'engine-gen:keybase1LoginUiPromptRevokePaperKeys' -export const keybase1LogsendPrepareLogsend = 'engine-gen:keybase1LogsendPrepareLogsend' -export const keybase1NotifyAppExit = 'engine-gen:keybase1NotifyAppExit' -export const keybase1NotifyAuditBoxAuditError = 'engine-gen:keybase1NotifyAuditBoxAuditError' -export const keybase1NotifyAuditRootAuditError = 'engine-gen:keybase1NotifyAuditRootAuditError' -export const keybase1NotifyBadgesBadgeState = 'engine-gen:keybase1NotifyBadgesBadgeState' -export const keybase1NotifyCanUserPerformCanUserPerformChanged = - 'engine-gen:keybase1NotifyCanUserPerformCanUserPerformChanged' -export const keybase1NotifyDeviceCloneDeviceCloneCountChanged = - 'engine-gen:keybase1NotifyDeviceCloneDeviceCloneCountChanged' -export const keybase1NotifyEmailAddressEmailAddressVerified = - 'engine-gen:keybase1NotifyEmailAddressEmailAddressVerified' -export const keybase1NotifyEmailAddressEmailsChanged = 'engine-gen:keybase1NotifyEmailAddressEmailsChanged' -export const keybase1NotifyEphemeralNewTeamEk = 'engine-gen:keybase1NotifyEphemeralNewTeamEk' -export const keybase1NotifyEphemeralNewTeambotEk = 'engine-gen:keybase1NotifyEphemeralNewTeambotEk' -export const keybase1NotifyEphemeralTeambotEkNeeded = 'engine-gen:keybase1NotifyEphemeralTeambotEkNeeded' -export const keybase1NotifyFSFSActivity = 'engine-gen:keybase1NotifyFSFSActivity' -export const keybase1NotifyFSFSEditListResponse = 'engine-gen:keybase1NotifyFSFSEditListResponse' -export const keybase1NotifyFSFSFavoritesChanged = 'engine-gen:keybase1NotifyFSFSFavoritesChanged' -export const keybase1NotifyFSFSOnlineStatusChanged = 'engine-gen:keybase1NotifyFSFSOnlineStatusChanged' -export const keybase1NotifyFSFSOverallSyncStatusChanged = - 'engine-gen:keybase1NotifyFSFSOverallSyncStatusChanged' -export const keybase1NotifyFSFSPathUpdated = 'engine-gen:keybase1NotifyFSFSPathUpdated' -export const keybase1NotifyFSFSSubscriptionNotify = 'engine-gen:keybase1NotifyFSFSSubscriptionNotify' -export const keybase1NotifyFSFSSubscriptionNotifyPath = 'engine-gen:keybase1NotifyFSFSSubscriptionNotifyPath' -export const keybase1NotifyFSFSSyncActivity = 'engine-gen:keybase1NotifyFSFSSyncActivity' -export const keybase1NotifyFSFSSyncStatusResponse = 'engine-gen:keybase1NotifyFSFSSyncStatusResponse' -export const keybase1NotifyFavoritesFavoritesChanged = 'engine-gen:keybase1NotifyFavoritesFavoritesChanged' -export const keybase1NotifyFeaturedBotsFeaturedBotsUpdate = - 'engine-gen:keybase1NotifyFeaturedBotsFeaturedBotsUpdate' -export const keybase1NotifyInviteFriendsUpdateInviteCounts = - 'engine-gen:keybase1NotifyInviteFriendsUpdateInviteCounts' -export const keybase1NotifyKeyfamilyKeyfamilyChanged = 'engine-gen:keybase1NotifyKeyfamilyKeyfamilyChanged' -export const keybase1NotifyPGPPgpKeyInSecretStoreFile = 'engine-gen:keybase1NotifyPGPPgpKeyInSecretStoreFile' -export const keybase1NotifyPaperKeyPaperKeyCached = 'engine-gen:keybase1NotifyPaperKeyPaperKeyCached' -export const keybase1NotifyPhoneNumberPhoneNumbersChanged = - 'engine-gen:keybase1NotifyPhoneNumberPhoneNumbersChanged' -export const keybase1NotifyRuntimeStatsRuntimeStatsUpdate = - 'engine-gen:keybase1NotifyRuntimeStatsRuntimeStatsUpdate' -export const keybase1NotifySaltpackSaltpackOperationDone = - 'engine-gen:keybase1NotifySaltpackSaltpackOperationDone' -export const keybase1NotifySaltpackSaltpackOperationProgress = - 'engine-gen:keybase1NotifySaltpackSaltpackOperationProgress' -export const keybase1NotifySaltpackSaltpackOperationStart = - 'engine-gen:keybase1NotifySaltpackSaltpackOperationStart' -export const keybase1NotifyServiceHTTPSrvInfoUpdate = 'engine-gen:keybase1NotifyServiceHTTPSrvInfoUpdate' -export const keybase1NotifyServiceHandleKeybaseLink = 'engine-gen:keybase1NotifyServiceHandleKeybaseLink' -export const keybase1NotifyServiceShutdown = 'engine-gen:keybase1NotifyServiceShutdown' -export const keybase1NotifySessionClientOutOfDate = 'engine-gen:keybase1NotifySessionClientOutOfDate' -export const keybase1NotifySessionLoggedIn = 'engine-gen:keybase1NotifySessionLoggedIn' -export const keybase1NotifySessionLoggedOut = 'engine-gen:keybase1NotifySessionLoggedOut' -export const keybase1NotifySimpleFSSimpleFSArchiveStatusChanged = - 'engine-gen:keybase1NotifySimpleFSSimpleFSArchiveStatusChanged' -export const keybase1NotifyTeamAvatarUpdated = 'engine-gen:keybase1NotifyTeamAvatarUpdated' -export const keybase1NotifyTeamNewlyAddedToTeam = 'engine-gen:keybase1NotifyTeamNewlyAddedToTeam' -export const keybase1NotifyTeamTeamAbandoned = 'engine-gen:keybase1NotifyTeamTeamAbandoned' -export const keybase1NotifyTeamTeamChangedByID = 'engine-gen:keybase1NotifyTeamTeamChangedByID' -export const keybase1NotifyTeamTeamChangedByName = 'engine-gen:keybase1NotifyTeamTeamChangedByName' -export const keybase1NotifyTeamTeamDeleted = 'engine-gen:keybase1NotifyTeamTeamDeleted' -export const keybase1NotifyTeamTeamExit = 'engine-gen:keybase1NotifyTeamTeamExit' -export const keybase1NotifyTeamTeamMetadataUpdate = 'engine-gen:keybase1NotifyTeamTeamMetadataUpdate' -export const keybase1NotifyTeamTeamRoleMapChanged = 'engine-gen:keybase1NotifyTeamTeamRoleMapChanged' -export const keybase1NotifyTeamTeamTreeMembershipsDone = - 'engine-gen:keybase1NotifyTeamTeamTreeMembershipsDone' -export const keybase1NotifyTeamTeamTreeMembershipsPartial = - 'engine-gen:keybase1NotifyTeamTeamTreeMembershipsPartial' -export const keybase1NotifyTeambotNewTeambotKey = 'engine-gen:keybase1NotifyTeambotNewTeambotKey' -export const keybase1NotifyTeambotTeambotKeyNeeded = 'engine-gen:keybase1NotifyTeambotTeambotKeyNeeded' -export const keybase1NotifyTrackingNotifyUserBlocked = 'engine-gen:keybase1NotifyTrackingNotifyUserBlocked' -export const keybase1NotifyTrackingTrackingChanged = 'engine-gen:keybase1NotifyTrackingTrackingChanged' -export const keybase1NotifyTrackingTrackingInfo = 'engine-gen:keybase1NotifyTrackingTrackingInfo' -export const keybase1NotifyUsersIdentifyUpdate = 'engine-gen:keybase1NotifyUsersIdentifyUpdate' -export const keybase1NotifyUsersPasswordChanged = 'engine-gen:keybase1NotifyUsersPasswordChanged' -export const keybase1NotifyUsersUserChanged = 'engine-gen:keybase1NotifyUsersUserChanged' -export const keybase1NotifyUsersWebOfTrustChanged = 'engine-gen:keybase1NotifyUsersWebOfTrustChanged' -export const keybase1PgpUiFinished = 'engine-gen:keybase1PgpUiFinished' -export const keybase1PgpUiKeyGenerated = 'engine-gen:keybase1PgpUiKeyGenerated' -export const keybase1PgpUiOutputPGPWarning = 'engine-gen:keybase1PgpUiOutputPGPWarning' -export const keybase1PgpUiOutputSignatureNonKeybase = 'engine-gen:keybase1PgpUiOutputSignatureNonKeybase' -export const keybase1PgpUiOutputSignatureSuccess = 'engine-gen:keybase1PgpUiOutputSignatureSuccess' -export const keybase1PgpUiShouldPushPrivate = 'engine-gen:keybase1PgpUiShouldPushPrivate' -export const keybase1ProveUiChecking = 'engine-gen:keybase1ProveUiChecking' -export const keybase1ProveUiContinueChecking = 'engine-gen:keybase1ProveUiContinueChecking' -export const keybase1ProveUiDisplayRecheckWarning = 'engine-gen:keybase1ProveUiDisplayRecheckWarning' -export const keybase1ProveUiOkToCheck = 'engine-gen:keybase1ProveUiOkToCheck' -export const keybase1ProveUiOutputInstructions = 'engine-gen:keybase1ProveUiOutputInstructions' -export const keybase1ProveUiOutputPrechecks = 'engine-gen:keybase1ProveUiOutputPrechecks' -export const keybase1ProveUiPreProofWarning = 'engine-gen:keybase1ProveUiPreProofWarning' -export const keybase1ProveUiPromptOverwrite = 'engine-gen:keybase1ProveUiPromptOverwrite' -export const keybase1ProveUiPromptUsername = 'engine-gen:keybase1ProveUiPromptUsername' -export const keybase1ProvisionUiChooseDevice = 'engine-gen:keybase1ProvisionUiChooseDevice' -export const keybase1ProvisionUiChooseDeviceType = 'engine-gen:keybase1ProvisionUiChooseDeviceType' -export const keybase1ProvisionUiChooseGPGMethod = 'engine-gen:keybase1ProvisionUiChooseGPGMethod' -export const keybase1ProvisionUiChooseProvisioningMethod = - 'engine-gen:keybase1ProvisionUiChooseProvisioningMethod' -export const keybase1ProvisionUiDisplayAndPromptSecret = - 'engine-gen:keybase1ProvisionUiDisplayAndPromptSecret' -export const keybase1ProvisionUiDisplaySecretExchanged = - 'engine-gen:keybase1ProvisionUiDisplaySecretExchanged' -export const keybase1ProvisionUiPromptNewDeviceName = 'engine-gen:keybase1ProvisionUiPromptNewDeviceName' -export const keybase1ProvisionUiProvisioneeSuccess = 'engine-gen:keybase1ProvisionUiProvisioneeSuccess' -export const keybase1ProvisionUiProvisionerSuccess = 'engine-gen:keybase1ProvisionUiProvisionerSuccess' -export const keybase1ProvisionUiSwitchToGPGSignOK = 'engine-gen:keybase1ProvisionUiSwitchToGPGSignOK' -export const keybase1ReachabilityReachabilityChanged = 'engine-gen:keybase1ReachabilityReachabilityChanged' -export const keybase1RekeyUIDelegateRekeyUI = 'engine-gen:keybase1RekeyUIDelegateRekeyUI' -export const keybase1RekeyUIRefresh = 'engine-gen:keybase1RekeyUIRefresh' -export const keybase1RekeyUIRekeySendEvent = 'engine-gen:keybase1RekeyUIRekeySendEvent' -export const keybase1SaltpackUiSaltpackPromptForDecrypt = - 'engine-gen:keybase1SaltpackUiSaltpackPromptForDecrypt' -export const keybase1SaltpackUiSaltpackVerifyBadSender = - 'engine-gen:keybase1SaltpackUiSaltpackVerifyBadSender' -export const keybase1SaltpackUiSaltpackVerifySuccess = 'engine-gen:keybase1SaltpackUiSaltpackVerifySuccess' -export const keybase1SecretUiGetPassphrase = 'engine-gen:keybase1SecretUiGetPassphrase' -export const keybase1StreamUiClose = 'engine-gen:keybase1StreamUiClose' -export const keybase1StreamUiRead = 'engine-gen:keybase1StreamUiRead' -export const keybase1StreamUiReset = 'engine-gen:keybase1StreamUiReset' -export const keybase1StreamUiWrite = 'engine-gen:keybase1StreamUiWrite' -export const keybase1TeamsUiConfirmInviteLinkAccept = 'engine-gen:keybase1TeamsUiConfirmInviteLinkAccept' -export const keybase1TeamsUiConfirmRootTeamDelete = 'engine-gen:keybase1TeamsUiConfirmRootTeamDelete' -export const keybase1TeamsUiConfirmSubteamDelete = 'engine-gen:keybase1TeamsUiConfirmSubteamDelete' -export const keybase1UiPromptYesNo = 'engine-gen:keybase1UiPromptYesNo' -export const stellar1NotifyAccountDetailsUpdate = 'engine-gen:stellar1NotifyAccountDetailsUpdate' -export const stellar1NotifyAccountsUpdate = 'engine-gen:stellar1NotifyAccountsUpdate' -export const stellar1NotifyPaymentNotification = 'engine-gen:stellar1NotifyPaymentNotification' -export const stellar1NotifyPaymentStatusNotification = 'engine-gen:stellar1NotifyPaymentStatusNotification' -export const stellar1NotifyPendingPaymentsUpdate = 'engine-gen:stellar1NotifyPendingPaymentsUpdate' -export const stellar1NotifyRecentPaymentsUpdate = 'engine-gen:stellar1NotifyRecentPaymentsUpdate' -export const stellar1NotifyRequestStatusNotification = 'engine-gen:stellar1NotifyRequestStatusNotification' -export const stellar1UiPaymentReviewed = 'engine-gen:stellar1UiPaymentReviewed' - -// Action Creators -type createChat1ChatUiChatBotCommandsUpdateStatus = (payload: { - readonly params: chat1Types.MessageTypes['chat.1.chatUi.chatBotCommandsUpdateStatus']['inParam'] - response: { - error: chat1Types.IncomingErrorCallback - result: (param: chat1Types.MessageTypes['chat.1.chatUi.chatBotCommandsUpdateStatus']['outParam']) => void - } -}) => {payload: typeof payload; type: typeof chat1ChatUiChatBotCommandsUpdateStatus} -type createChat1ChatUiChatClearWatch = (payload: { - readonly params: chat1Types.MessageTypes['chat.1.chatUi.chatClearWatch']['inParam'] - response: { - error: chat1Types.IncomingErrorCallback - result: (param: chat1Types.MessageTypes['chat.1.chatUi.chatClearWatch']['outParam']) => void - } -}) => {payload: typeof payload; type: typeof chat1ChatUiChatClearWatch} -type createChat1ChatUiChatCoinFlipStatus = (payload: { - readonly params: chat1Types.MessageTypes['chat.1.chatUi.chatCoinFlipStatus']['inParam'] - response: { - error: chat1Types.IncomingErrorCallback - result: (param: chat1Types.MessageTypes['chat.1.chatUi.chatCoinFlipStatus']['outParam']) => void - } -}) => {payload: typeof payload; type: typeof chat1ChatUiChatCoinFlipStatus} -type createChat1ChatUiChatCommandMarkdown = (payload: { - readonly params: chat1Types.MessageTypes['chat.1.chatUi.chatCommandMarkdown']['inParam'] - response: { - error: chat1Types.IncomingErrorCallback - result: (param: chat1Types.MessageTypes['chat.1.chatUi.chatCommandMarkdown']['outParam']) => void - } -}) => {payload: typeof payload; type: typeof chat1ChatUiChatCommandMarkdown} -type createChat1ChatUiChatCommandStatus = (payload: { - readonly params: chat1Types.MessageTypes['chat.1.chatUi.chatCommandStatus']['inParam'] - response: { - error: chat1Types.IncomingErrorCallback - result: (param: chat1Types.MessageTypes['chat.1.chatUi.chatCommandStatus']['outParam']) => void - } -}) => {payload: typeof payload; type: typeof chat1ChatUiChatCommandStatus} -type createChat1ChatUiChatConfirmChannelDelete = (payload: { - readonly params: chat1Types.MessageTypes['chat.1.chatUi.chatConfirmChannelDelete']['inParam'] - response: { - error: chat1Types.IncomingErrorCallback - result: (param: chat1Types.MessageTypes['chat.1.chatUi.chatConfirmChannelDelete']['outParam']) => void - } -}) => {payload: typeof payload; type: typeof chat1ChatUiChatConfirmChannelDelete} -type createChat1ChatUiChatGiphySearchResults = (payload: { - readonly params: chat1Types.MessageTypes['chat.1.chatUi.chatGiphySearchResults']['inParam'] - response: { - error: chat1Types.IncomingErrorCallback - result: (param: chat1Types.MessageTypes['chat.1.chatUi.chatGiphySearchResults']['outParam']) => void - } -}) => {payload: typeof payload; type: typeof chat1ChatUiChatGiphySearchResults} -type createChat1ChatUiChatGiphyToggleResultWindow = (payload: { - readonly params: chat1Types.MessageTypes['chat.1.chatUi.chatGiphyToggleResultWindow']['inParam'] - response: { - error: chat1Types.IncomingErrorCallback - result: (param: chat1Types.MessageTypes['chat.1.chatUi.chatGiphyToggleResultWindow']['outParam']) => void - } -}) => {payload: typeof payload; type: typeof chat1ChatUiChatGiphyToggleResultWindow} -type createChat1ChatUiChatInboxConversation = (payload: { - readonly params: chat1Types.MessageTypes['chat.1.chatUi.chatInboxConversation']['inParam'] - response: { - error: chat1Types.IncomingErrorCallback - result: (param: chat1Types.MessageTypes['chat.1.chatUi.chatInboxConversation']['outParam']) => void - } -}) => {payload: typeof payload; type: typeof chat1ChatUiChatInboxConversation} -type createChat1ChatUiChatInboxFailed = (payload: { - readonly params: chat1Types.MessageTypes['chat.1.chatUi.chatInboxFailed']['inParam'] - response: { - error: chat1Types.IncomingErrorCallback - result: (param: chat1Types.MessageTypes['chat.1.chatUi.chatInboxFailed']['outParam']) => void - } -}) => {payload: typeof payload; type: typeof chat1ChatUiChatInboxFailed} -type createChat1ChatUiChatInboxLayout = (payload: { - readonly params: chat1Types.MessageTypes['chat.1.chatUi.chatInboxLayout']['inParam'] - response: { - error: chat1Types.IncomingErrorCallback - result: (param: chat1Types.MessageTypes['chat.1.chatUi.chatInboxLayout']['outParam']) => void - } -}) => {payload: typeof payload; type: typeof chat1ChatUiChatInboxLayout} -type createChat1ChatUiChatInboxUnverified = (payload: { - readonly params: chat1Types.MessageTypes['chat.1.chatUi.chatInboxUnverified']['inParam'] - response: { - error: chat1Types.IncomingErrorCallback - result: (param: chat1Types.MessageTypes['chat.1.chatUi.chatInboxUnverified']['outParam']) => void - } -}) => {payload: typeof payload; type: typeof chat1ChatUiChatInboxUnverified} -type createChat1ChatUiChatLoadGalleryHit = (payload: { - readonly params: chat1Types.MessageTypes['chat.1.chatUi.chatLoadGalleryHit']['inParam'] - response: { - error: chat1Types.IncomingErrorCallback - result: (param: chat1Types.MessageTypes['chat.1.chatUi.chatLoadGalleryHit']['outParam']) => void - } -}) => {payload: typeof payload; type: typeof chat1ChatUiChatLoadGalleryHit} -type createChat1ChatUiChatMaybeMentionUpdate = (payload: { - readonly params: chat1Types.MessageTypes['chat.1.chatUi.chatMaybeMentionUpdate']['inParam'] - response: { - error: chat1Types.IncomingErrorCallback - result: (param: chat1Types.MessageTypes['chat.1.chatUi.chatMaybeMentionUpdate']['outParam']) => void - } -}) => {payload: typeof payload; type: typeof chat1ChatUiChatMaybeMentionUpdate} -type createChat1ChatUiChatSearchBotHits = (payload: { - readonly params: chat1Types.MessageTypes['chat.1.chatUi.chatSearchBotHits']['inParam'] - response: { - error: chat1Types.IncomingErrorCallback - result: (param: chat1Types.MessageTypes['chat.1.chatUi.chatSearchBotHits']['outParam']) => void - } -}) => {payload: typeof payload; type: typeof chat1ChatUiChatSearchBotHits} -type createChat1ChatUiChatSearchConvHits = (payload: { - readonly params: chat1Types.MessageTypes['chat.1.chatUi.chatSearchConvHits']['inParam'] - response: { - error: chat1Types.IncomingErrorCallback - result: (param: chat1Types.MessageTypes['chat.1.chatUi.chatSearchConvHits']['outParam']) => void - } -}) => {payload: typeof payload; type: typeof chat1ChatUiChatSearchConvHits} -type createChat1ChatUiChatSearchDone = (payload: { - readonly params: chat1Types.MessageTypes['chat.1.chatUi.chatSearchDone']['inParam'] - response: { - error: chat1Types.IncomingErrorCallback - result: (param: chat1Types.MessageTypes['chat.1.chatUi.chatSearchDone']['outParam']) => void - } -}) => {payload: typeof payload; type: typeof chat1ChatUiChatSearchDone} -type createChat1ChatUiChatSearchHit = (payload: { - readonly params: chat1Types.MessageTypes['chat.1.chatUi.chatSearchHit']['inParam'] - response: { - error: chat1Types.IncomingErrorCallback - result: (param: chat1Types.MessageTypes['chat.1.chatUi.chatSearchHit']['outParam']) => void - } -}) => {payload: typeof payload; type: typeof chat1ChatUiChatSearchHit} -type createChat1ChatUiChatSearchInboxDone = (payload: { - readonly params: chat1Types.MessageTypes['chat.1.chatUi.chatSearchInboxDone']['inParam'] - response: { - error: chat1Types.IncomingErrorCallback - result: (param: chat1Types.MessageTypes['chat.1.chatUi.chatSearchInboxDone']['outParam']) => void - } -}) => {payload: typeof payload; type: typeof chat1ChatUiChatSearchInboxDone} -type createChat1ChatUiChatSearchInboxHit = (payload: { - readonly params: chat1Types.MessageTypes['chat.1.chatUi.chatSearchInboxHit']['inParam'] - response: { - error: chat1Types.IncomingErrorCallback - result: (param: chat1Types.MessageTypes['chat.1.chatUi.chatSearchInboxHit']['outParam']) => void - } -}) => {payload: typeof payload; type: typeof chat1ChatUiChatSearchInboxHit} -type createChat1ChatUiChatSearchInboxStart = (payload: { - readonly params: chat1Types.MessageTypes['chat.1.chatUi.chatSearchInboxStart']['inParam'] - response: { - error: chat1Types.IncomingErrorCallback - result: (param: chat1Types.MessageTypes['chat.1.chatUi.chatSearchInboxStart']['outParam']) => void - } -}) => {payload: typeof payload; type: typeof chat1ChatUiChatSearchInboxStart} -type createChat1ChatUiChatSearchIndexStatus = (payload: { - readonly params: chat1Types.MessageTypes['chat.1.chatUi.chatSearchIndexStatus']['inParam'] - response: { - error: chat1Types.IncomingErrorCallback - result: (param: chat1Types.MessageTypes['chat.1.chatUi.chatSearchIndexStatus']['outParam']) => void - } -}) => {payload: typeof payload; type: typeof chat1ChatUiChatSearchIndexStatus} -type createChat1ChatUiChatSearchTeamHits = (payload: { - readonly params: chat1Types.MessageTypes['chat.1.chatUi.chatSearchTeamHits']['inParam'] - response: { - error: chat1Types.IncomingErrorCallback - result: (param: chat1Types.MessageTypes['chat.1.chatUi.chatSearchTeamHits']['outParam']) => void - } -}) => {payload: typeof payload; type: typeof chat1ChatUiChatSearchTeamHits} -type createChat1ChatUiChatShowManageChannels = (payload: { - readonly params: chat1Types.MessageTypes['chat.1.chatUi.chatShowManageChannels']['inParam'] - response: { - error: chat1Types.IncomingErrorCallback - result: (param: chat1Types.MessageTypes['chat.1.chatUi.chatShowManageChannels']['outParam']) => void - } -}) => {payload: typeof payload; type: typeof chat1ChatUiChatShowManageChannels} -type createChat1ChatUiChatStellarDataConfirm = (payload: { - readonly params: chat1Types.MessageTypes['chat.1.chatUi.chatStellarDataConfirm']['inParam'] - response: { - error: chat1Types.IncomingErrorCallback - result: (param: chat1Types.MessageTypes['chat.1.chatUi.chatStellarDataConfirm']['outParam']) => void - } -}) => {payload: typeof payload; type: typeof chat1ChatUiChatStellarDataConfirm} -type createChat1ChatUiChatStellarDataError = (payload: { - readonly params: chat1Types.MessageTypes['chat.1.chatUi.chatStellarDataError']['inParam'] - response: { - error: chat1Types.IncomingErrorCallback - result: (param: chat1Types.MessageTypes['chat.1.chatUi.chatStellarDataError']['outParam']) => void - } -}) => {payload: typeof payload; type: typeof chat1ChatUiChatStellarDataError} -type createChat1ChatUiChatStellarDone = (payload: { - readonly params: chat1Types.MessageTypes['chat.1.chatUi.chatStellarDone']['inParam'] - response: { - error: chat1Types.IncomingErrorCallback - result: (param: chat1Types.MessageTypes['chat.1.chatUi.chatStellarDone']['outParam']) => void - } -}) => {payload: typeof payload; type: typeof chat1ChatUiChatStellarDone} -type createChat1ChatUiChatStellarShowConfirm = (payload: { - readonly params: chat1Types.MessageTypes['chat.1.chatUi.chatStellarShowConfirm']['inParam'] - response: { - error: chat1Types.IncomingErrorCallback - result: (param: chat1Types.MessageTypes['chat.1.chatUi.chatStellarShowConfirm']['outParam']) => void - } -}) => {payload: typeof payload; type: typeof chat1ChatUiChatStellarShowConfirm} -type createChat1ChatUiChatThreadCached = (payload: { - readonly params: chat1Types.MessageTypes['chat.1.chatUi.chatThreadCached']['inParam'] - response: { - error: chat1Types.IncomingErrorCallback - result: (param: chat1Types.MessageTypes['chat.1.chatUi.chatThreadCached']['outParam']) => void - } -}) => {payload: typeof payload; type: typeof chat1ChatUiChatThreadCached} -type createChat1ChatUiChatThreadFull = (payload: { - readonly params: chat1Types.MessageTypes['chat.1.chatUi.chatThreadFull']['inParam'] - response: { - error: chat1Types.IncomingErrorCallback - result: (param: chat1Types.MessageTypes['chat.1.chatUi.chatThreadFull']['outParam']) => void - } -}) => {payload: typeof payload; type: typeof chat1ChatUiChatThreadFull} -type createChat1ChatUiChatThreadStatus = (payload: { - readonly params: chat1Types.MessageTypes['chat.1.chatUi.chatThreadStatus']['inParam'] - response: { - error: chat1Types.IncomingErrorCallback - result: (param: chat1Types.MessageTypes['chat.1.chatUi.chatThreadStatus']['outParam']) => void - } -}) => {payload: typeof payload; type: typeof chat1ChatUiChatThreadStatus} -type createChat1ChatUiChatWatchPosition = (payload: { - readonly params: chat1Types.MessageTypes['chat.1.chatUi.chatWatchPosition']['inParam'] - response: { - error: chat1Types.IncomingErrorCallback - result: (param: chat1Types.MessageTypes['chat.1.chatUi.chatWatchPosition']['outParam']) => void - } -}) => {payload: typeof payload; type: typeof chat1ChatUiChatWatchPosition} -type createChat1ChatUiTriggerContactSync = (payload: { - readonly params: chat1Types.MessageTypes['chat.1.chatUi.triggerContactSync']['inParam'] - response: { - error: chat1Types.IncomingErrorCallback - result: (param: chat1Types.MessageTypes['chat.1.chatUi.triggerContactSync']['outParam']) => void - } -}) => {payload: typeof payload; type: typeof chat1ChatUiTriggerContactSync} -type createChat1NotifyChatChatArchiveComplete = (payload: { - readonly params: chat1Types.MessageTypes['chat.1.NotifyChat.ChatArchiveComplete']['inParam'] -}) => {payload: typeof payload; type: typeof chat1NotifyChatChatArchiveComplete} -type createChat1NotifyChatChatArchiveProgress = (payload: { - readonly params: chat1Types.MessageTypes['chat.1.NotifyChat.ChatArchiveProgress']['inParam'] -}) => {payload: typeof payload; type: typeof chat1NotifyChatChatArchiveProgress} -type createChat1NotifyChatChatAttachmentDownloadComplete = (payload: { - readonly params: chat1Types.MessageTypes['chat.1.NotifyChat.ChatAttachmentDownloadComplete']['inParam'] -}) => {payload: typeof payload; type: typeof chat1NotifyChatChatAttachmentDownloadComplete} -type createChat1NotifyChatChatAttachmentDownloadProgress = (payload: { - readonly params: chat1Types.MessageTypes['chat.1.NotifyChat.ChatAttachmentDownloadProgress']['inParam'] -}) => {payload: typeof payload; type: typeof chat1NotifyChatChatAttachmentDownloadProgress} -type createChat1NotifyChatChatAttachmentUploadProgress = (payload: { - readonly params: chat1Types.MessageTypes['chat.1.NotifyChat.ChatAttachmentUploadProgress']['inParam'] -}) => {payload: typeof payload; type: typeof chat1NotifyChatChatAttachmentUploadProgress} -type createChat1NotifyChatChatAttachmentUploadStart = (payload: { - readonly params: chat1Types.MessageTypes['chat.1.NotifyChat.ChatAttachmentUploadStart']['inParam'] -}) => {payload: typeof payload; type: typeof chat1NotifyChatChatAttachmentUploadStart} -type createChat1NotifyChatChatConvUpdate = (payload: { - readonly params: chat1Types.MessageTypes['chat.1.NotifyChat.ChatConvUpdate']['inParam'] -}) => {payload: typeof payload; type: typeof chat1NotifyChatChatConvUpdate} -type createChat1NotifyChatChatIdentifyUpdate = (payload: { - readonly params: chat1Types.MessageTypes['chat.1.NotifyChat.ChatIdentifyUpdate']['inParam'] -}) => {payload: typeof payload; type: typeof chat1NotifyChatChatIdentifyUpdate} -type createChat1NotifyChatChatInboxStale = (payload: { - readonly params: chat1Types.MessageTypes['chat.1.NotifyChat.ChatInboxStale']['inParam'] -}) => {payload: typeof payload; type: typeof chat1NotifyChatChatInboxStale} -type createChat1NotifyChatChatInboxSyncStarted = (payload: { - readonly params: chat1Types.MessageTypes['chat.1.NotifyChat.ChatInboxSyncStarted']['inParam'] -}) => {payload: typeof payload; type: typeof chat1NotifyChatChatInboxSyncStarted} -type createChat1NotifyChatChatInboxSynced = (payload: { - readonly params: chat1Types.MessageTypes['chat.1.NotifyChat.ChatInboxSynced']['inParam'] -}) => {payload: typeof payload; type: typeof chat1NotifyChatChatInboxSynced} -type createChat1NotifyChatChatJoinedConversation = (payload: { - readonly params: chat1Types.MessageTypes['chat.1.NotifyChat.ChatJoinedConversation']['inParam'] -}) => {payload: typeof payload; type: typeof chat1NotifyChatChatJoinedConversation} -type createChat1NotifyChatChatKBFSToImpteamUpgrade = (payload: { - readonly params: chat1Types.MessageTypes['chat.1.NotifyChat.ChatKBFSToImpteamUpgrade']['inParam'] -}) => {payload: typeof payload; type: typeof chat1NotifyChatChatKBFSToImpteamUpgrade} -type createChat1NotifyChatChatLeftConversation = (payload: { - readonly params: chat1Types.MessageTypes['chat.1.NotifyChat.ChatLeftConversation']['inParam'] -}) => {payload: typeof payload; type: typeof chat1NotifyChatChatLeftConversation} -type createChat1NotifyChatChatParticipantsInfo = (payload: { - readonly params: chat1Types.MessageTypes['chat.1.NotifyChat.ChatParticipantsInfo']['inParam'] -}) => {payload: typeof payload; type: typeof chat1NotifyChatChatParticipantsInfo} -type createChat1NotifyChatChatPaymentInfo = (payload: { - readonly params: chat1Types.MessageTypes['chat.1.NotifyChat.ChatPaymentInfo']['inParam'] -}) => {payload: typeof payload; type: typeof chat1NotifyChatChatPaymentInfo} -type createChat1NotifyChatChatPromptUnfurl = (payload: { - readonly params: chat1Types.MessageTypes['chat.1.NotifyChat.ChatPromptUnfurl']['inParam'] -}) => {payload: typeof payload; type: typeof chat1NotifyChatChatPromptUnfurl} -type createChat1NotifyChatChatRequestInfo = (payload: { - readonly params: chat1Types.MessageTypes['chat.1.NotifyChat.ChatRequestInfo']['inParam'] -}) => {payload: typeof payload; type: typeof chat1NotifyChatChatRequestInfo} -type createChat1NotifyChatChatResetConversation = (payload: { - readonly params: chat1Types.MessageTypes['chat.1.NotifyChat.ChatResetConversation']['inParam'] -}) => {payload: typeof payload; type: typeof chat1NotifyChatChatResetConversation} -type createChat1NotifyChatChatSetConvRetention = (payload: { - readonly params: chat1Types.MessageTypes['chat.1.NotifyChat.ChatSetConvRetention']['inParam'] -}) => {payload: typeof payload; type: typeof chat1NotifyChatChatSetConvRetention} -type createChat1NotifyChatChatSetConvSettings = (payload: { - readonly params: chat1Types.MessageTypes['chat.1.NotifyChat.ChatSetConvSettings']['inParam'] -}) => {payload: typeof payload; type: typeof chat1NotifyChatChatSetConvSettings} -type createChat1NotifyChatChatSetTeamRetention = (payload: { - readonly params: chat1Types.MessageTypes['chat.1.NotifyChat.ChatSetTeamRetention']['inParam'] -}) => {payload: typeof payload; type: typeof chat1NotifyChatChatSetTeamRetention} -type createChat1NotifyChatChatSubteamRename = (payload: { - readonly params: chat1Types.MessageTypes['chat.1.NotifyChat.ChatSubteamRename']['inParam'] -}) => {payload: typeof payload; type: typeof chat1NotifyChatChatSubteamRename} -type createChat1NotifyChatChatTLFFinalize = (payload: { - readonly params: chat1Types.MessageTypes['chat.1.NotifyChat.ChatTLFFinalize']['inParam'] -}) => {payload: typeof payload; type: typeof chat1NotifyChatChatTLFFinalize} -type createChat1NotifyChatChatTLFResolve = (payload: { - readonly params: chat1Types.MessageTypes['chat.1.NotifyChat.ChatTLFResolve']['inParam'] -}) => {payload: typeof payload; type: typeof chat1NotifyChatChatTLFResolve} -type createChat1NotifyChatChatThreadsStale = (payload: { - readonly params: chat1Types.MessageTypes['chat.1.NotifyChat.ChatThreadsStale']['inParam'] -}) => {payload: typeof payload; type: typeof chat1NotifyChatChatThreadsStale} -type createChat1NotifyChatChatTypingUpdate = (payload: { - readonly params: chat1Types.MessageTypes['chat.1.NotifyChat.ChatTypingUpdate']['inParam'] -}) => {payload: typeof payload; type: typeof chat1NotifyChatChatTypingUpdate} -type createChat1NotifyChatChatWelcomeMessageLoaded = (payload: { - readonly params: chat1Types.MessageTypes['chat.1.NotifyChat.ChatWelcomeMessageLoaded']['inParam'] -}) => {payload: typeof payload; type: typeof chat1NotifyChatChatWelcomeMessageLoaded} -type createChat1NotifyChatNewChatActivity = (payload: { - readonly params: chat1Types.MessageTypes['chat.1.NotifyChat.NewChatActivity']['inParam'] -}) => {payload: typeof payload; type: typeof chat1NotifyChatNewChatActivity} -type createKeybase1GpgUiConfirmDuplicateKeyChosen = (payload: { - readonly params: keybase1Types.MessageTypes['keybase.1.gpgUi.confirmDuplicateKeyChosen']['inParam'] - response: { - error: keybase1Types.IncomingErrorCallback - result: ( - param: keybase1Types.MessageTypes['keybase.1.gpgUi.confirmDuplicateKeyChosen']['outParam'] - ) => void - } -}) => {payload: typeof payload; type: typeof keybase1GpgUiConfirmDuplicateKeyChosen} -type createKeybase1GpgUiConfirmImportSecretToExistingKey = (payload: { - readonly params: keybase1Types.MessageTypes['keybase.1.gpgUi.confirmImportSecretToExistingKey']['inParam'] - response: { - error: keybase1Types.IncomingErrorCallback - result: ( - param: keybase1Types.MessageTypes['keybase.1.gpgUi.confirmImportSecretToExistingKey']['outParam'] - ) => void - } -}) => {payload: typeof payload; type: typeof keybase1GpgUiConfirmImportSecretToExistingKey} -type createKeybase1GpgUiGetTTY = (payload: { - readonly params: keybase1Types.MessageTypes['keybase.1.gpgUi.getTTY']['inParam'] - response: { - error: keybase1Types.IncomingErrorCallback - result: (param: keybase1Types.MessageTypes['keybase.1.gpgUi.getTTY']['outParam']) => void - } -}) => {payload: typeof payload; type: typeof keybase1GpgUiGetTTY} -type createKeybase1GpgUiSelectKey = (payload: { - readonly params: keybase1Types.MessageTypes['keybase.1.gpgUi.selectKey']['inParam'] - response: { - error: keybase1Types.IncomingErrorCallback - result: (param: keybase1Types.MessageTypes['keybase.1.gpgUi.selectKey']['outParam']) => void - } -}) => {payload: typeof payload; type: typeof keybase1GpgUiSelectKey} -type createKeybase1GpgUiSelectKeyAndPushOption = (payload: { - readonly params: keybase1Types.MessageTypes['keybase.1.gpgUi.selectKeyAndPushOption']['inParam'] - response: { - error: keybase1Types.IncomingErrorCallback - result: (param: keybase1Types.MessageTypes['keybase.1.gpgUi.selectKeyAndPushOption']['outParam']) => void - } -}) => {payload: typeof payload; type: typeof keybase1GpgUiSelectKeyAndPushOption} -type createKeybase1GpgUiSign = (payload: { - readonly params: keybase1Types.MessageTypes['keybase.1.gpgUi.sign']['inParam'] - response: { - error: keybase1Types.IncomingErrorCallback - result: (param: keybase1Types.MessageTypes['keybase.1.gpgUi.sign']['outParam']) => void - } -}) => {payload: typeof payload; type: typeof keybase1GpgUiSign} -type createKeybase1GpgUiWantToAddGPGKey = (payload: { - readonly params: keybase1Types.MessageTypes['keybase.1.gpgUi.wantToAddGPGKey']['inParam'] - response: { - error: keybase1Types.IncomingErrorCallback - result: (param: keybase1Types.MessageTypes['keybase.1.gpgUi.wantToAddGPGKey']['outParam']) => void - } -}) => {payload: typeof payload; type: typeof keybase1GpgUiWantToAddGPGKey} -type createKeybase1GregorUIPushOutOfBandMessages = (payload: { - readonly params: keybase1Types.MessageTypes['keybase.1.gregorUI.pushOutOfBandMessages']['inParam'] - response: { - error: keybase1Types.IncomingErrorCallback - result: ( - param: keybase1Types.MessageTypes['keybase.1.gregorUI.pushOutOfBandMessages']['outParam'] - ) => void - } -}) => {payload: typeof payload; type: typeof keybase1GregorUIPushOutOfBandMessages} -type createKeybase1GregorUIPushState = (payload: { - readonly params: keybase1Types.MessageTypes['keybase.1.gregorUI.pushState']['inParam'] - response: { - error: keybase1Types.IncomingErrorCallback - result: (param: keybase1Types.MessageTypes['keybase.1.gregorUI.pushState']['outParam']) => void - } -}) => {payload: typeof payload; type: typeof keybase1GregorUIPushState} -type createKeybase1HomeUIHomeUIRefresh = (payload: { - readonly params: keybase1Types.MessageTypes['keybase.1.homeUI.homeUIRefresh']['inParam'] - response: { - error: keybase1Types.IncomingErrorCallback - result: (param: keybase1Types.MessageTypes['keybase.1.homeUI.homeUIRefresh']['outParam']) => void - } -}) => {payload: typeof payload; type: typeof keybase1HomeUIHomeUIRefresh} -type createKeybase1Identify3UiIdentify3Result = (payload: { - readonly params: keybase1Types.MessageTypes['keybase.1.identify3Ui.identify3Result']['inParam'] - response: { - error: keybase1Types.IncomingErrorCallback - result: (param: keybase1Types.MessageTypes['keybase.1.identify3Ui.identify3Result']['outParam']) => void - } -}) => {payload: typeof payload; type: typeof keybase1Identify3UiIdentify3Result} -type createKeybase1Identify3UiIdentify3ShowTracker = (payload: { - readonly params: keybase1Types.MessageTypes['keybase.1.identify3Ui.identify3ShowTracker']['inParam'] - response: { - error: keybase1Types.IncomingErrorCallback - result: ( - param: keybase1Types.MessageTypes['keybase.1.identify3Ui.identify3ShowTracker']['outParam'] - ) => void - } -}) => {payload: typeof payload; type: typeof keybase1Identify3UiIdentify3ShowTracker} -type createKeybase1Identify3UiIdentify3Summary = (payload: { - readonly params: keybase1Types.MessageTypes['keybase.1.identify3Ui.identify3Summary']['inParam'] - response: { - error: keybase1Types.IncomingErrorCallback - result: (param: keybase1Types.MessageTypes['keybase.1.identify3Ui.identify3Summary']['outParam']) => void - } -}) => {payload: typeof payload; type: typeof keybase1Identify3UiIdentify3Summary} -type createKeybase1Identify3UiIdentify3TrackerTimedOut = (payload: { - readonly params: keybase1Types.MessageTypes['keybase.1.identify3Ui.identify3TrackerTimedOut']['inParam'] - response: { - error: keybase1Types.IncomingErrorCallback - result: ( - param: keybase1Types.MessageTypes['keybase.1.identify3Ui.identify3TrackerTimedOut']['outParam'] - ) => void - } -}) => {payload: typeof payload; type: typeof keybase1Identify3UiIdentify3TrackerTimedOut} -type createKeybase1Identify3UiIdentify3UpdateRow = (payload: { - readonly params: keybase1Types.MessageTypes['keybase.1.identify3Ui.identify3UpdateRow']['inParam'] - response: { - error: keybase1Types.IncomingErrorCallback - result: ( - param: keybase1Types.MessageTypes['keybase.1.identify3Ui.identify3UpdateRow']['outParam'] - ) => void - } -}) => {payload: typeof payload; type: typeof keybase1Identify3UiIdentify3UpdateRow} -type createKeybase1Identify3UiIdentify3UpdateUserCard = (payload: { - readonly params: keybase1Types.MessageTypes['keybase.1.identify3Ui.identify3UpdateUserCard']['inParam'] - response: { - error: keybase1Types.IncomingErrorCallback - result: ( - param: keybase1Types.MessageTypes['keybase.1.identify3Ui.identify3UpdateUserCard']['outParam'] - ) => void - } -}) => {payload: typeof payload; type: typeof keybase1Identify3UiIdentify3UpdateUserCard} -type createKeybase1Identify3UiIdentify3UserReset = (payload: { - readonly params: keybase1Types.MessageTypes['keybase.1.identify3Ui.identify3UserReset']['inParam'] - response: { - error: keybase1Types.IncomingErrorCallback - result: ( - param: keybase1Types.MessageTypes['keybase.1.identify3Ui.identify3UserReset']['outParam'] - ) => void - } -}) => {payload: typeof payload; type: typeof keybase1Identify3UiIdentify3UserReset} -type createKeybase1IdentifyUiCancel = (payload: { - readonly params: keybase1Types.MessageTypes['keybase.1.identifyUi.cancel']['inParam'] - response: { - error: keybase1Types.IncomingErrorCallback - result: (param: keybase1Types.MessageTypes['keybase.1.identifyUi.cancel']['outParam']) => void - } -}) => {payload: typeof payload; type: typeof keybase1IdentifyUiCancel} -type createKeybase1IdentifyUiConfirm = (payload: { - readonly params: keybase1Types.MessageTypes['keybase.1.identifyUi.confirm']['inParam'] - response: { - error: keybase1Types.IncomingErrorCallback - result: (param: keybase1Types.MessageTypes['keybase.1.identifyUi.confirm']['outParam']) => void - } -}) => {payload: typeof payload; type: typeof keybase1IdentifyUiConfirm} -type createKeybase1IdentifyUiDelegateIdentifyUI = (payload: { - readonly params: keybase1Types.MessageTypes['keybase.1.identifyUi.delegateIdentifyUI']['inParam'] - response: { - error: keybase1Types.IncomingErrorCallback - result: (param: keybase1Types.MessageTypes['keybase.1.identifyUi.delegateIdentifyUI']['outParam']) => void - } -}) => {payload: typeof payload; type: typeof keybase1IdentifyUiDelegateIdentifyUI} -type createKeybase1IdentifyUiDismiss = (payload: { - readonly params: keybase1Types.MessageTypes['keybase.1.identifyUi.dismiss']['inParam'] - response: { - error: keybase1Types.IncomingErrorCallback - result: (param: keybase1Types.MessageTypes['keybase.1.identifyUi.dismiss']['outParam']) => void - } -}) => {payload: typeof payload; type: typeof keybase1IdentifyUiDismiss} -type createKeybase1IdentifyUiDisplayCryptocurrency = (payload: { - readonly params: keybase1Types.MessageTypes['keybase.1.identifyUi.displayCryptocurrency']['inParam'] - response: { - error: keybase1Types.IncomingErrorCallback - result: ( - param: keybase1Types.MessageTypes['keybase.1.identifyUi.displayCryptocurrency']['outParam'] - ) => void - } -}) => {payload: typeof payload; type: typeof keybase1IdentifyUiDisplayCryptocurrency} -type createKeybase1IdentifyUiDisplayKey = (payload: { - readonly params: keybase1Types.MessageTypes['keybase.1.identifyUi.displayKey']['inParam'] - response: { - error: keybase1Types.IncomingErrorCallback - result: (param: keybase1Types.MessageTypes['keybase.1.identifyUi.displayKey']['outParam']) => void - } -}) => {payload: typeof payload; type: typeof keybase1IdentifyUiDisplayKey} -type createKeybase1IdentifyUiDisplayStellarAccount = (payload: { - readonly params: keybase1Types.MessageTypes['keybase.1.identifyUi.displayStellarAccount']['inParam'] - response: { - error: keybase1Types.IncomingErrorCallback - result: ( - param: keybase1Types.MessageTypes['keybase.1.identifyUi.displayStellarAccount']['outParam'] - ) => void - } -}) => {payload: typeof payload; type: typeof keybase1IdentifyUiDisplayStellarAccount} -type createKeybase1IdentifyUiDisplayTLFCreateWithInvite = (payload: { - readonly params: keybase1Types.MessageTypes['keybase.1.identifyUi.displayTLFCreateWithInvite']['inParam'] - response: { - error: keybase1Types.IncomingErrorCallback - result: ( - param: keybase1Types.MessageTypes['keybase.1.identifyUi.displayTLFCreateWithInvite']['outParam'] - ) => void - } -}) => {payload: typeof payload; type: typeof keybase1IdentifyUiDisplayTLFCreateWithInvite} -type createKeybase1IdentifyUiDisplayTrackStatement = (payload: { - readonly params: keybase1Types.MessageTypes['keybase.1.identifyUi.displayTrackStatement']['inParam'] - response: { - error: keybase1Types.IncomingErrorCallback - result: ( - param: keybase1Types.MessageTypes['keybase.1.identifyUi.displayTrackStatement']['outParam'] - ) => void - } -}) => {payload: typeof payload; type: typeof keybase1IdentifyUiDisplayTrackStatement} -type createKeybase1IdentifyUiDisplayUserCard = (payload: { - readonly params: keybase1Types.MessageTypes['keybase.1.identifyUi.displayUserCard']['inParam'] - response: { - error: keybase1Types.IncomingErrorCallback - result: (param: keybase1Types.MessageTypes['keybase.1.identifyUi.displayUserCard']['outParam']) => void - } -}) => {payload: typeof payload; type: typeof keybase1IdentifyUiDisplayUserCard} -type createKeybase1IdentifyUiFinish = (payload: { - readonly params: keybase1Types.MessageTypes['keybase.1.identifyUi.finish']['inParam'] - response: { - error: keybase1Types.IncomingErrorCallback - result: (param: keybase1Types.MessageTypes['keybase.1.identifyUi.finish']['outParam']) => void - } -}) => {payload: typeof payload; type: typeof keybase1IdentifyUiFinish} -type createKeybase1IdentifyUiFinishSocialProofCheck = (payload: { - readonly params: keybase1Types.MessageTypes['keybase.1.identifyUi.finishSocialProofCheck']['inParam'] - response: { - error: keybase1Types.IncomingErrorCallback - result: ( - param: keybase1Types.MessageTypes['keybase.1.identifyUi.finishSocialProofCheck']['outParam'] - ) => void - } -}) => {payload: typeof payload; type: typeof keybase1IdentifyUiFinishSocialProofCheck} -type createKeybase1IdentifyUiFinishWebProofCheck = (payload: { - readonly params: keybase1Types.MessageTypes['keybase.1.identifyUi.finishWebProofCheck']['inParam'] - response: { - error: keybase1Types.IncomingErrorCallback - result: ( - param: keybase1Types.MessageTypes['keybase.1.identifyUi.finishWebProofCheck']['outParam'] - ) => void - } -}) => {payload: typeof payload; type: typeof keybase1IdentifyUiFinishWebProofCheck} -type createKeybase1IdentifyUiLaunchNetworkChecks = (payload: { - readonly params: keybase1Types.MessageTypes['keybase.1.identifyUi.launchNetworkChecks']['inParam'] - response: { - error: keybase1Types.IncomingErrorCallback - result: ( - param: keybase1Types.MessageTypes['keybase.1.identifyUi.launchNetworkChecks']['outParam'] - ) => void - } -}) => {payload: typeof payload; type: typeof keybase1IdentifyUiLaunchNetworkChecks} -type createKeybase1IdentifyUiReportLastTrack = (payload: { - readonly params: keybase1Types.MessageTypes['keybase.1.identifyUi.reportLastTrack']['inParam'] - response: { - error: keybase1Types.IncomingErrorCallback - result: (param: keybase1Types.MessageTypes['keybase.1.identifyUi.reportLastTrack']['outParam']) => void - } -}) => {payload: typeof payload; type: typeof keybase1IdentifyUiReportLastTrack} -type createKeybase1IdentifyUiReportTrackToken = (payload: { - readonly params: keybase1Types.MessageTypes['keybase.1.identifyUi.reportTrackToken']['inParam'] - response: { - error: keybase1Types.IncomingErrorCallback - result: (param: keybase1Types.MessageTypes['keybase.1.identifyUi.reportTrackToken']['outParam']) => void - } -}) => {payload: typeof payload; type: typeof keybase1IdentifyUiReportTrackToken} -type createKeybase1IdentifyUiStart = (payload: { - readonly params: keybase1Types.MessageTypes['keybase.1.identifyUi.start']['inParam'] - response: { - error: keybase1Types.IncomingErrorCallback - result: (param: keybase1Types.MessageTypes['keybase.1.identifyUi.start']['outParam']) => void - } -}) => {payload: typeof payload; type: typeof keybase1IdentifyUiStart} -type createKeybase1LogUiLog = (payload: { - readonly params: keybase1Types.MessageTypes['keybase.1.logUi.log']['inParam'] - response: { - error: keybase1Types.IncomingErrorCallback - result: (param: keybase1Types.MessageTypes['keybase.1.logUi.log']['outParam']) => void - } -}) => {payload: typeof payload; type: typeof keybase1LogUiLog} -type createKeybase1LoginUiChooseDeviceToRecoverWith = (payload: { - readonly params: keybase1Types.MessageTypes['keybase.1.loginUi.chooseDeviceToRecoverWith']['inParam'] - response: { - error: keybase1Types.IncomingErrorCallback - result: ( - param: keybase1Types.MessageTypes['keybase.1.loginUi.chooseDeviceToRecoverWith']['outParam'] - ) => void - } -}) => {payload: typeof payload; type: typeof keybase1LoginUiChooseDeviceToRecoverWith} -type createKeybase1LoginUiDisplayPaperKeyPhrase = (payload: { - readonly params: keybase1Types.MessageTypes['keybase.1.loginUi.displayPaperKeyPhrase']['inParam'] - response: { - error: keybase1Types.IncomingErrorCallback - result: (param: keybase1Types.MessageTypes['keybase.1.loginUi.displayPaperKeyPhrase']['outParam']) => void - } -}) => {payload: typeof payload; type: typeof keybase1LoginUiDisplayPaperKeyPhrase} -type createKeybase1LoginUiDisplayPrimaryPaperKey = (payload: { - readonly params: keybase1Types.MessageTypes['keybase.1.loginUi.displayPrimaryPaperKey']['inParam'] - response: { - error: keybase1Types.IncomingErrorCallback - result: ( - param: keybase1Types.MessageTypes['keybase.1.loginUi.displayPrimaryPaperKey']['outParam'] - ) => void - } -}) => {payload: typeof payload; type: typeof keybase1LoginUiDisplayPrimaryPaperKey} -type createKeybase1LoginUiDisplayResetMessage = (payload: { - readonly params: keybase1Types.MessageTypes['keybase.1.loginUi.displayResetMessage']['inParam'] - response: { - error: keybase1Types.IncomingErrorCallback - result: (param: keybase1Types.MessageTypes['keybase.1.loginUi.displayResetMessage']['outParam']) => void - } -}) => {payload: typeof payload; type: typeof keybase1LoginUiDisplayResetMessage} -type createKeybase1LoginUiDisplayResetProgress = (payload: { - readonly params: keybase1Types.MessageTypes['keybase.1.loginUi.displayResetProgress']['inParam'] - response: { - error: keybase1Types.IncomingErrorCallback - result: (param: keybase1Types.MessageTypes['keybase.1.loginUi.displayResetProgress']['outParam']) => void - } -}) => {payload: typeof payload; type: typeof keybase1LoginUiDisplayResetProgress} -type createKeybase1LoginUiExplainDeviceRecovery = (payload: { - readonly params: keybase1Types.MessageTypes['keybase.1.loginUi.explainDeviceRecovery']['inParam'] - response: { - error: keybase1Types.IncomingErrorCallback - result: (param: keybase1Types.MessageTypes['keybase.1.loginUi.explainDeviceRecovery']['outParam']) => void - } -}) => {payload: typeof payload; type: typeof keybase1LoginUiExplainDeviceRecovery} -type createKeybase1LoginUiGetEmailOrUsername = (payload: { - readonly params: keybase1Types.MessageTypes['keybase.1.loginUi.getEmailOrUsername']['inParam'] - response: { - error: keybase1Types.IncomingErrorCallback - result: (param: keybase1Types.MessageTypes['keybase.1.loginUi.getEmailOrUsername']['outParam']) => void - } -}) => {payload: typeof payload; type: typeof keybase1LoginUiGetEmailOrUsername} -type createKeybase1LoginUiPromptPassphraseRecovery = (payload: { - readonly params: keybase1Types.MessageTypes['keybase.1.loginUi.promptPassphraseRecovery']['inParam'] - response: { - error: keybase1Types.IncomingErrorCallback - result: ( - param: keybase1Types.MessageTypes['keybase.1.loginUi.promptPassphraseRecovery']['outParam'] - ) => void - } -}) => {payload: typeof payload; type: typeof keybase1LoginUiPromptPassphraseRecovery} -type createKeybase1LoginUiPromptResetAccount = (payload: { - readonly params: keybase1Types.MessageTypes['keybase.1.loginUi.promptResetAccount']['inParam'] - response: { - error: keybase1Types.IncomingErrorCallback - result: (param: keybase1Types.MessageTypes['keybase.1.loginUi.promptResetAccount']['outParam']) => void - } -}) => {payload: typeof payload; type: typeof keybase1LoginUiPromptResetAccount} -type createKeybase1LoginUiPromptRevokePaperKeys = (payload: { - readonly params: keybase1Types.MessageTypes['keybase.1.loginUi.promptRevokePaperKeys']['inParam'] - response: { - error: keybase1Types.IncomingErrorCallback - result: (param: keybase1Types.MessageTypes['keybase.1.loginUi.promptRevokePaperKeys']['outParam']) => void - } -}) => {payload: typeof payload; type: typeof keybase1LoginUiPromptRevokePaperKeys} -type createKeybase1LogsendPrepareLogsend = (payload: { - readonly params: keybase1Types.MessageTypes['keybase.1.logsend.prepareLogsend']['inParam'] - response: { - error: keybase1Types.IncomingErrorCallback - result: (param: keybase1Types.MessageTypes['keybase.1.logsend.prepareLogsend']['outParam']) => void - } -}) => {payload: typeof payload; type: typeof keybase1LogsendPrepareLogsend} -type createKeybase1NotifyAppExit = (payload: { - readonly params: keybase1Types.MessageTypes['keybase.1.NotifyApp.exit']['inParam'] - response: { - error: keybase1Types.IncomingErrorCallback - result: (param: keybase1Types.MessageTypes['keybase.1.NotifyApp.exit']['outParam']) => void - } -}) => {payload: typeof payload; type: typeof keybase1NotifyAppExit} -type createKeybase1NotifyAuditBoxAuditError = (payload: { - readonly params: keybase1Types.MessageTypes['keybase.1.NotifyAudit.boxAuditError']['inParam'] -}) => {payload: typeof payload; type: typeof keybase1NotifyAuditBoxAuditError} -type createKeybase1NotifyAuditRootAuditError = (payload: { - readonly params: keybase1Types.MessageTypes['keybase.1.NotifyAudit.rootAuditError']['inParam'] -}) => {payload: typeof payload; type: typeof keybase1NotifyAuditRootAuditError} -type createKeybase1NotifyBadgesBadgeState = (payload: { - readonly params: keybase1Types.MessageTypes['keybase.1.NotifyBadges.badgeState']['inParam'] -}) => {payload: typeof payload; type: typeof keybase1NotifyBadgesBadgeState} -type createKeybase1NotifyCanUserPerformCanUserPerformChanged = (payload: { - readonly params: keybase1Types.MessageTypes['keybase.1.NotifyCanUserPerform.canUserPerformChanged']['inParam'] -}) => {payload: typeof payload; type: typeof keybase1NotifyCanUserPerformCanUserPerformChanged} -type createKeybase1NotifyDeviceCloneDeviceCloneCountChanged = (payload: { - readonly params: keybase1Types.MessageTypes['keybase.1.NotifyDeviceClone.deviceCloneCountChanged']['inParam'] -}) => {payload: typeof payload; type: typeof keybase1NotifyDeviceCloneDeviceCloneCountChanged} -type createKeybase1NotifyEmailAddressEmailAddressVerified = (payload: { - readonly params: keybase1Types.MessageTypes['keybase.1.NotifyEmailAddress.emailAddressVerified']['inParam'] - response: { - error: keybase1Types.IncomingErrorCallback - result: ( - param: keybase1Types.MessageTypes['keybase.1.NotifyEmailAddress.emailAddressVerified']['outParam'] - ) => void - } -}) => {payload: typeof payload; type: typeof keybase1NotifyEmailAddressEmailAddressVerified} -type createKeybase1NotifyEmailAddressEmailsChanged = (payload: { - readonly params: keybase1Types.MessageTypes['keybase.1.NotifyEmailAddress.emailsChanged']['inParam'] - response: { - error: keybase1Types.IncomingErrorCallback - result: ( - param: keybase1Types.MessageTypes['keybase.1.NotifyEmailAddress.emailsChanged']['outParam'] - ) => void - } -}) => {payload: typeof payload; type: typeof keybase1NotifyEmailAddressEmailsChanged} -type createKeybase1NotifyEphemeralNewTeamEk = (payload: { - readonly params: keybase1Types.MessageTypes['keybase.1.NotifyEphemeral.newTeamEk']['inParam'] -}) => {payload: typeof payload; type: typeof keybase1NotifyEphemeralNewTeamEk} -type createKeybase1NotifyEphemeralNewTeambotEk = (payload: { - readonly params: keybase1Types.MessageTypes['keybase.1.NotifyEphemeral.newTeambotEk']['inParam'] - response: { - error: keybase1Types.IncomingErrorCallback - result: (param: keybase1Types.MessageTypes['keybase.1.NotifyEphemeral.newTeambotEk']['outParam']) => void - } -}) => {payload: typeof payload; type: typeof keybase1NotifyEphemeralNewTeambotEk} -type createKeybase1NotifyEphemeralTeambotEkNeeded = (payload: { - readonly params: keybase1Types.MessageTypes['keybase.1.NotifyEphemeral.teambotEkNeeded']['inParam'] - response: { - error: keybase1Types.IncomingErrorCallback - result: ( - param: keybase1Types.MessageTypes['keybase.1.NotifyEphemeral.teambotEkNeeded']['outParam'] - ) => void - } -}) => {payload: typeof payload; type: typeof keybase1NotifyEphemeralTeambotEkNeeded} -type createKeybase1NotifyFSFSActivity = (payload: { - readonly params: keybase1Types.MessageTypes['keybase.1.NotifyFS.FSActivity']['inParam'] -}) => {payload: typeof payload; type: typeof keybase1NotifyFSFSActivity} -type createKeybase1NotifyFSFSEditListResponse = (payload: { - readonly params: keybase1Types.MessageTypes['keybase.1.NotifyFS.FSEditListResponse']['inParam'] - response: { - error: keybase1Types.IncomingErrorCallback - result: (param: keybase1Types.MessageTypes['keybase.1.NotifyFS.FSEditListResponse']['outParam']) => void - } -}) => {payload: typeof payload; type: typeof keybase1NotifyFSFSEditListResponse} -type createKeybase1NotifyFSFSFavoritesChanged = (payload: { - readonly params: keybase1Types.MessageTypes['keybase.1.NotifyFS.FSFavoritesChanged']['inParam'] - response: { - error: keybase1Types.IncomingErrorCallback - result: (param: keybase1Types.MessageTypes['keybase.1.NotifyFS.FSFavoritesChanged']['outParam']) => void - } -}) => {payload: typeof payload; type: typeof keybase1NotifyFSFSFavoritesChanged} -type createKeybase1NotifyFSFSOnlineStatusChanged = (payload: { - readonly params: keybase1Types.MessageTypes['keybase.1.NotifyFS.FSOnlineStatusChanged']['inParam'] - response: { - error: keybase1Types.IncomingErrorCallback - result: ( - param: keybase1Types.MessageTypes['keybase.1.NotifyFS.FSOnlineStatusChanged']['outParam'] - ) => void - } -}) => {payload: typeof payload; type: typeof keybase1NotifyFSFSOnlineStatusChanged} -type createKeybase1NotifyFSFSOverallSyncStatusChanged = (payload: { - readonly params: keybase1Types.MessageTypes['keybase.1.NotifyFS.FSOverallSyncStatusChanged']['inParam'] - response: { - error: keybase1Types.IncomingErrorCallback - result: ( - param: keybase1Types.MessageTypes['keybase.1.NotifyFS.FSOverallSyncStatusChanged']['outParam'] - ) => void - } -}) => {payload: typeof payload; type: typeof keybase1NotifyFSFSOverallSyncStatusChanged} -type createKeybase1NotifyFSFSPathUpdated = (payload: { - readonly params: keybase1Types.MessageTypes['keybase.1.NotifyFS.FSPathUpdated']['inParam'] -}) => {payload: typeof payload; type: typeof keybase1NotifyFSFSPathUpdated} -type createKeybase1NotifyFSFSSubscriptionNotify = (payload: { - readonly params: keybase1Types.MessageTypes['keybase.1.NotifyFS.FSSubscriptionNotify']['inParam'] - response: { - error: keybase1Types.IncomingErrorCallback - result: (param: keybase1Types.MessageTypes['keybase.1.NotifyFS.FSSubscriptionNotify']['outParam']) => void - } -}) => {payload: typeof payload; type: typeof keybase1NotifyFSFSSubscriptionNotify} -type createKeybase1NotifyFSFSSubscriptionNotifyPath = (payload: { - readonly params: keybase1Types.MessageTypes['keybase.1.NotifyFS.FSSubscriptionNotifyPath']['inParam'] - response: { - error: keybase1Types.IncomingErrorCallback - result: ( - param: keybase1Types.MessageTypes['keybase.1.NotifyFS.FSSubscriptionNotifyPath']['outParam'] - ) => void - } -}) => {payload: typeof payload; type: typeof keybase1NotifyFSFSSubscriptionNotifyPath} -type createKeybase1NotifyFSFSSyncActivity = (payload: { - readonly params: keybase1Types.MessageTypes['keybase.1.NotifyFS.FSSyncActivity']['inParam'] - response: { - error: keybase1Types.IncomingErrorCallback - result: (param: keybase1Types.MessageTypes['keybase.1.NotifyFS.FSSyncActivity']['outParam']) => void - } -}) => {payload: typeof payload; type: typeof keybase1NotifyFSFSSyncActivity} -type createKeybase1NotifyFSFSSyncStatusResponse = (payload: { - readonly params: keybase1Types.MessageTypes['keybase.1.NotifyFS.FSSyncStatusResponse']['inParam'] - response: { - error: keybase1Types.IncomingErrorCallback - result: (param: keybase1Types.MessageTypes['keybase.1.NotifyFS.FSSyncStatusResponse']['outParam']) => void - } -}) => {payload: typeof payload; type: typeof keybase1NotifyFSFSSyncStatusResponse} -type createKeybase1NotifyFavoritesFavoritesChanged = (payload: { - readonly params: keybase1Types.MessageTypes['keybase.1.NotifyFavorites.favoritesChanged']['inParam'] -}) => {payload: typeof payload; type: typeof keybase1NotifyFavoritesFavoritesChanged} -type createKeybase1NotifyFeaturedBotsFeaturedBotsUpdate = (payload: { - readonly params: keybase1Types.MessageTypes['keybase.1.NotifyFeaturedBots.featuredBotsUpdate']['inParam'] - response: { - error: keybase1Types.IncomingErrorCallback - result: ( - param: keybase1Types.MessageTypes['keybase.1.NotifyFeaturedBots.featuredBotsUpdate']['outParam'] - ) => void - } -}) => {payload: typeof payload; type: typeof keybase1NotifyFeaturedBotsFeaturedBotsUpdate} -type createKeybase1NotifyInviteFriendsUpdateInviteCounts = (payload: { - readonly params: keybase1Types.MessageTypes['keybase.1.NotifyInviteFriends.updateInviteCounts']['inParam'] - response: { - error: keybase1Types.IncomingErrorCallback - result: ( - param: keybase1Types.MessageTypes['keybase.1.NotifyInviteFriends.updateInviteCounts']['outParam'] - ) => void - } -}) => {payload: typeof payload; type: typeof keybase1NotifyInviteFriendsUpdateInviteCounts} -type createKeybase1NotifyKeyfamilyKeyfamilyChanged = (payload: { - readonly params: keybase1Types.MessageTypes['keybase.1.NotifyKeyfamily.keyfamilyChanged']['inParam'] - response: { - error: keybase1Types.IncomingErrorCallback - result: ( - param: keybase1Types.MessageTypes['keybase.1.NotifyKeyfamily.keyfamilyChanged']['outParam'] - ) => void - } -}) => {payload: typeof payload; type: typeof keybase1NotifyKeyfamilyKeyfamilyChanged} -type createKeybase1NotifyPGPPgpKeyInSecretStoreFile = (payload: { - readonly params: keybase1Types.MessageTypes['keybase.1.NotifyPGP.pgpKeyInSecretStoreFile']['inParam'] - response: { - error: keybase1Types.IncomingErrorCallback - result: ( - param: keybase1Types.MessageTypes['keybase.1.NotifyPGP.pgpKeyInSecretStoreFile']['outParam'] - ) => void - } -}) => {payload: typeof payload; type: typeof keybase1NotifyPGPPgpKeyInSecretStoreFile} -type createKeybase1NotifyPaperKeyPaperKeyCached = (payload: { - readonly params: keybase1Types.MessageTypes['keybase.1.NotifyPaperKey.paperKeyCached']['inParam'] - response: { - error: keybase1Types.IncomingErrorCallback - result: (param: keybase1Types.MessageTypes['keybase.1.NotifyPaperKey.paperKeyCached']['outParam']) => void - } -}) => {payload: typeof payload; type: typeof keybase1NotifyPaperKeyPaperKeyCached} -type createKeybase1NotifyPhoneNumberPhoneNumbersChanged = (payload: { - readonly params: keybase1Types.MessageTypes['keybase.1.NotifyPhoneNumber.phoneNumbersChanged']['inParam'] - response: { - error: keybase1Types.IncomingErrorCallback - result: ( - param: keybase1Types.MessageTypes['keybase.1.NotifyPhoneNumber.phoneNumbersChanged']['outParam'] - ) => void - } -}) => {payload: typeof payload; type: typeof keybase1NotifyPhoneNumberPhoneNumbersChanged} -type createKeybase1NotifyRuntimeStatsRuntimeStatsUpdate = (payload: { - readonly params: keybase1Types.MessageTypes['keybase.1.NotifyRuntimeStats.runtimeStatsUpdate']['inParam'] - response: { - error: keybase1Types.IncomingErrorCallback - result: ( - param: keybase1Types.MessageTypes['keybase.1.NotifyRuntimeStats.runtimeStatsUpdate']['outParam'] - ) => void - } -}) => {payload: typeof payload; type: typeof keybase1NotifyRuntimeStatsRuntimeStatsUpdate} -type createKeybase1NotifySaltpackSaltpackOperationDone = (payload: { - readonly params: keybase1Types.MessageTypes['keybase.1.NotifySaltpack.saltpackOperationDone']['inParam'] - response: { - error: keybase1Types.IncomingErrorCallback - result: ( - param: keybase1Types.MessageTypes['keybase.1.NotifySaltpack.saltpackOperationDone']['outParam'] - ) => void - } -}) => {payload: typeof payload; type: typeof keybase1NotifySaltpackSaltpackOperationDone} -type createKeybase1NotifySaltpackSaltpackOperationProgress = (payload: { - readonly params: keybase1Types.MessageTypes['keybase.1.NotifySaltpack.saltpackOperationProgress']['inParam'] - response: { - error: keybase1Types.IncomingErrorCallback - result: ( - param: keybase1Types.MessageTypes['keybase.1.NotifySaltpack.saltpackOperationProgress']['outParam'] - ) => void - } -}) => {payload: typeof payload; type: typeof keybase1NotifySaltpackSaltpackOperationProgress} -type createKeybase1NotifySaltpackSaltpackOperationStart = (payload: { - readonly params: keybase1Types.MessageTypes['keybase.1.NotifySaltpack.saltpackOperationStart']['inParam'] - response: { - error: keybase1Types.IncomingErrorCallback - result: ( - param: keybase1Types.MessageTypes['keybase.1.NotifySaltpack.saltpackOperationStart']['outParam'] - ) => void - } -}) => {payload: typeof payload; type: typeof keybase1NotifySaltpackSaltpackOperationStart} -type createKeybase1NotifyServiceHTTPSrvInfoUpdate = (payload: { - readonly params: keybase1Types.MessageTypes['keybase.1.NotifyService.HTTPSrvInfoUpdate']['inParam'] - response: { - error: keybase1Types.IncomingErrorCallback - result: ( - param: keybase1Types.MessageTypes['keybase.1.NotifyService.HTTPSrvInfoUpdate']['outParam'] - ) => void - } -}) => {payload: typeof payload; type: typeof keybase1NotifyServiceHTTPSrvInfoUpdate} -type createKeybase1NotifyServiceHandleKeybaseLink = (payload: { - readonly params: keybase1Types.MessageTypes['keybase.1.NotifyService.handleKeybaseLink']['inParam'] - response: { - error: keybase1Types.IncomingErrorCallback - result: ( - param: keybase1Types.MessageTypes['keybase.1.NotifyService.handleKeybaseLink']['outParam'] - ) => void - } -}) => {payload: typeof payload; type: typeof keybase1NotifyServiceHandleKeybaseLink} -type createKeybase1NotifyServiceShutdown = (payload: { - readonly params: keybase1Types.MessageTypes['keybase.1.NotifyService.shutdown']['inParam'] - response: { - error: keybase1Types.IncomingErrorCallback - result: (param: keybase1Types.MessageTypes['keybase.1.NotifyService.shutdown']['outParam']) => void - } -}) => {payload: typeof payload; type: typeof keybase1NotifyServiceShutdown} -type createKeybase1NotifySessionClientOutOfDate = (payload: { - readonly params: keybase1Types.MessageTypes['keybase.1.NotifySession.clientOutOfDate']['inParam'] - response: { - error: keybase1Types.IncomingErrorCallback - result: (param: keybase1Types.MessageTypes['keybase.1.NotifySession.clientOutOfDate']['outParam']) => void - } -}) => {payload: typeof payload; type: typeof keybase1NotifySessionClientOutOfDate} -type createKeybase1NotifySessionLoggedIn = (payload: { - readonly params: keybase1Types.MessageTypes['keybase.1.NotifySession.loggedIn']['inParam'] - response: { - error: keybase1Types.IncomingErrorCallback - result: (param: keybase1Types.MessageTypes['keybase.1.NotifySession.loggedIn']['outParam']) => void - } -}) => {payload: typeof payload; type: typeof keybase1NotifySessionLoggedIn} -type createKeybase1NotifySessionLoggedOut = (payload: { - readonly params: keybase1Types.MessageTypes['keybase.1.NotifySession.loggedOut']['inParam'] -}) => {payload: typeof payload; type: typeof keybase1NotifySessionLoggedOut} -type createKeybase1NotifySimpleFSSimpleFSArchiveStatusChanged = (payload: { - readonly params: keybase1Types.MessageTypes['keybase.1.NotifySimpleFS.simpleFSArchiveStatusChanged']['inParam'] - response: { - error: keybase1Types.IncomingErrorCallback - result: ( - param: keybase1Types.MessageTypes['keybase.1.NotifySimpleFS.simpleFSArchiveStatusChanged']['outParam'] - ) => void - } -}) => {payload: typeof payload; type: typeof keybase1NotifySimpleFSSimpleFSArchiveStatusChanged} -type createKeybase1NotifyTeamAvatarUpdated = (payload: { - readonly params: keybase1Types.MessageTypes['keybase.1.NotifyTeam.avatarUpdated']['inParam'] - response: { - error: keybase1Types.IncomingErrorCallback - result: (param: keybase1Types.MessageTypes['keybase.1.NotifyTeam.avatarUpdated']['outParam']) => void - } -}) => {payload: typeof payload; type: typeof keybase1NotifyTeamAvatarUpdated} -type createKeybase1NotifyTeamNewlyAddedToTeam = (payload: { - readonly params: keybase1Types.MessageTypes['keybase.1.NotifyTeam.newlyAddedToTeam']['inParam'] - response: { - error: keybase1Types.IncomingErrorCallback - result: (param: keybase1Types.MessageTypes['keybase.1.NotifyTeam.newlyAddedToTeam']['outParam']) => void - } -}) => {payload: typeof payload; type: typeof keybase1NotifyTeamNewlyAddedToTeam} -type createKeybase1NotifyTeamTeamAbandoned = (payload: { - readonly params: keybase1Types.MessageTypes['keybase.1.NotifyTeam.teamAbandoned']['inParam'] - response: { - error: keybase1Types.IncomingErrorCallback - result: (param: keybase1Types.MessageTypes['keybase.1.NotifyTeam.teamAbandoned']['outParam']) => void - } -}) => {payload: typeof payload; type: typeof keybase1NotifyTeamTeamAbandoned} -type createKeybase1NotifyTeamTeamChangedByID = (payload: { - readonly params: keybase1Types.MessageTypes['keybase.1.NotifyTeam.teamChangedByID']['inParam'] - response: { - error: keybase1Types.IncomingErrorCallback - result: (param: keybase1Types.MessageTypes['keybase.1.NotifyTeam.teamChangedByID']['outParam']) => void - } -}) => {payload: typeof payload; type: typeof keybase1NotifyTeamTeamChangedByID} -type createKeybase1NotifyTeamTeamChangedByName = (payload: { - readonly params: keybase1Types.MessageTypes['keybase.1.NotifyTeam.teamChangedByName']['inParam'] - response: { - error: keybase1Types.IncomingErrorCallback - result: (param: keybase1Types.MessageTypes['keybase.1.NotifyTeam.teamChangedByName']['outParam']) => void - } -}) => {payload: typeof payload; type: typeof keybase1NotifyTeamTeamChangedByName} -type createKeybase1NotifyTeamTeamDeleted = (payload: { - readonly params: keybase1Types.MessageTypes['keybase.1.NotifyTeam.teamDeleted']['inParam'] - response: { - error: keybase1Types.IncomingErrorCallback - result: (param: keybase1Types.MessageTypes['keybase.1.NotifyTeam.teamDeleted']['outParam']) => void - } -}) => {payload: typeof payload; type: typeof keybase1NotifyTeamTeamDeleted} -type createKeybase1NotifyTeamTeamExit = (payload: { - readonly params: keybase1Types.MessageTypes['keybase.1.NotifyTeam.teamExit']['inParam'] - response: { - error: keybase1Types.IncomingErrorCallback - result: (param: keybase1Types.MessageTypes['keybase.1.NotifyTeam.teamExit']['outParam']) => void - } -}) => {payload: typeof payload; type: typeof keybase1NotifyTeamTeamExit} -type createKeybase1NotifyTeamTeamMetadataUpdate = (payload: { - readonly params: keybase1Types.MessageTypes['keybase.1.NotifyTeam.teamMetadataUpdate']['inParam'] - response: { - error: keybase1Types.IncomingErrorCallback - result: (param: keybase1Types.MessageTypes['keybase.1.NotifyTeam.teamMetadataUpdate']['outParam']) => void - } -}) => {payload: typeof payload; type: typeof keybase1NotifyTeamTeamMetadataUpdate} -type createKeybase1NotifyTeamTeamRoleMapChanged = (payload: { - readonly params: keybase1Types.MessageTypes['keybase.1.NotifyTeam.teamRoleMapChanged']['inParam'] - response: { - error: keybase1Types.IncomingErrorCallback - result: (param: keybase1Types.MessageTypes['keybase.1.NotifyTeam.teamRoleMapChanged']['outParam']) => void - } -}) => {payload: typeof payload; type: typeof keybase1NotifyTeamTeamRoleMapChanged} -type createKeybase1NotifyTeamTeamTreeMembershipsDone = (payload: { - readonly params: keybase1Types.MessageTypes['keybase.1.NotifyTeam.teamTreeMembershipsDone']['inParam'] - response: { - error: keybase1Types.IncomingErrorCallback - result: ( - param: keybase1Types.MessageTypes['keybase.1.NotifyTeam.teamTreeMembershipsDone']['outParam'] - ) => void - } -}) => {payload: typeof payload; type: typeof keybase1NotifyTeamTeamTreeMembershipsDone} -type createKeybase1NotifyTeamTeamTreeMembershipsPartial = (payload: { - readonly params: keybase1Types.MessageTypes['keybase.1.NotifyTeam.teamTreeMembershipsPartial']['inParam'] - response: { - error: keybase1Types.IncomingErrorCallback - result: ( - param: keybase1Types.MessageTypes['keybase.1.NotifyTeam.teamTreeMembershipsPartial']['outParam'] - ) => void - } -}) => {payload: typeof payload; type: typeof keybase1NotifyTeamTeamTreeMembershipsPartial} -type createKeybase1NotifyTeambotNewTeambotKey = (payload: { - readonly params: keybase1Types.MessageTypes['keybase.1.NotifyTeambot.newTeambotKey']['inParam'] -}) => {payload: typeof payload; type: typeof keybase1NotifyTeambotNewTeambotKey} -type createKeybase1NotifyTeambotTeambotKeyNeeded = (payload: { - readonly params: keybase1Types.MessageTypes['keybase.1.NotifyTeambot.teambotKeyNeeded']['inParam'] - response: { - error: keybase1Types.IncomingErrorCallback - result: ( - param: keybase1Types.MessageTypes['keybase.1.NotifyTeambot.teambotKeyNeeded']['outParam'] - ) => void - } -}) => {payload: typeof payload; type: typeof keybase1NotifyTeambotTeambotKeyNeeded} -type createKeybase1NotifyTrackingNotifyUserBlocked = (payload: { - readonly params: keybase1Types.MessageTypes['keybase.1.NotifyTracking.notifyUserBlocked']['inParam'] - response: { - error: keybase1Types.IncomingErrorCallback - result: ( - param: keybase1Types.MessageTypes['keybase.1.NotifyTracking.notifyUserBlocked']['outParam'] - ) => void - } -}) => {payload: typeof payload; type: typeof keybase1NotifyTrackingNotifyUserBlocked} -type createKeybase1NotifyTrackingTrackingChanged = (payload: { - readonly params: keybase1Types.MessageTypes['keybase.1.NotifyTracking.trackingChanged']['inParam'] -}) => {payload: typeof payload; type: typeof keybase1NotifyTrackingTrackingChanged} -type createKeybase1NotifyTrackingTrackingInfo = (payload: { - readonly params: keybase1Types.MessageTypes['keybase.1.NotifyTracking.trackingInfo']['inParam'] - response: { - error: keybase1Types.IncomingErrorCallback - result: (param: keybase1Types.MessageTypes['keybase.1.NotifyTracking.trackingInfo']['outParam']) => void - } -}) => {payload: typeof payload; type: typeof keybase1NotifyTrackingTrackingInfo} -type createKeybase1NotifyUsersIdentifyUpdate = (payload: { - readonly params: keybase1Types.MessageTypes['keybase.1.NotifyUsers.identifyUpdate']['inParam'] - response: { - error: keybase1Types.IncomingErrorCallback - result: (param: keybase1Types.MessageTypes['keybase.1.NotifyUsers.identifyUpdate']['outParam']) => void - } -}) => {payload: typeof payload; type: typeof keybase1NotifyUsersIdentifyUpdate} -type createKeybase1NotifyUsersPasswordChanged = (payload: { - readonly params: keybase1Types.MessageTypes['keybase.1.NotifyUsers.passwordChanged']['inParam'] - response: { - error: keybase1Types.IncomingErrorCallback - result: (param: keybase1Types.MessageTypes['keybase.1.NotifyUsers.passwordChanged']['outParam']) => void - } -}) => {payload: typeof payload; type: typeof keybase1NotifyUsersPasswordChanged} -type createKeybase1NotifyUsersUserChanged = (payload: { - readonly params: keybase1Types.MessageTypes['keybase.1.NotifyUsers.userChanged']['inParam'] -}) => {payload: typeof payload; type: typeof keybase1NotifyUsersUserChanged} -type createKeybase1NotifyUsersWebOfTrustChanged = (payload: { - readonly params: keybase1Types.MessageTypes['keybase.1.NotifyUsers.webOfTrustChanged']['inParam'] -}) => {payload: typeof payload; type: typeof keybase1NotifyUsersWebOfTrustChanged} -type createKeybase1PgpUiFinished = (payload: { - readonly params: keybase1Types.MessageTypes['keybase.1.pgpUi.finished']['inParam'] - response: { - error: keybase1Types.IncomingErrorCallback - result: (param: keybase1Types.MessageTypes['keybase.1.pgpUi.finished']['outParam']) => void - } -}) => {payload: typeof payload; type: typeof keybase1PgpUiFinished} -type createKeybase1PgpUiKeyGenerated = (payload: { - readonly params: keybase1Types.MessageTypes['keybase.1.pgpUi.keyGenerated']['inParam'] - response: { - error: keybase1Types.IncomingErrorCallback - result: (param: keybase1Types.MessageTypes['keybase.1.pgpUi.keyGenerated']['outParam']) => void - } -}) => {payload: typeof payload; type: typeof keybase1PgpUiKeyGenerated} -type createKeybase1PgpUiOutputPGPWarning = (payload: { - readonly params: keybase1Types.MessageTypes['keybase.1.pgpUi.outputPGPWarning']['inParam'] - response: { - error: keybase1Types.IncomingErrorCallback - result: (param: keybase1Types.MessageTypes['keybase.1.pgpUi.outputPGPWarning']['outParam']) => void - } -}) => {payload: typeof payload; type: typeof keybase1PgpUiOutputPGPWarning} -type createKeybase1PgpUiOutputSignatureNonKeybase = (payload: { - readonly params: keybase1Types.MessageTypes['keybase.1.pgpUi.outputSignatureNonKeybase']['inParam'] - response: { - error: keybase1Types.IncomingErrorCallback - result: ( - param: keybase1Types.MessageTypes['keybase.1.pgpUi.outputSignatureNonKeybase']['outParam'] - ) => void - } -}) => {payload: typeof payload; type: typeof keybase1PgpUiOutputSignatureNonKeybase} -type createKeybase1PgpUiOutputSignatureSuccess = (payload: { - readonly params: keybase1Types.MessageTypes['keybase.1.pgpUi.outputSignatureSuccess']['inParam'] - response: { - error: keybase1Types.IncomingErrorCallback - result: (param: keybase1Types.MessageTypes['keybase.1.pgpUi.outputSignatureSuccess']['outParam']) => void - } -}) => {payload: typeof payload; type: typeof keybase1PgpUiOutputSignatureSuccess} -type createKeybase1PgpUiShouldPushPrivate = (payload: { - readonly params: keybase1Types.MessageTypes['keybase.1.pgpUi.shouldPushPrivate']['inParam'] - response: { - error: keybase1Types.IncomingErrorCallback - result: (param: keybase1Types.MessageTypes['keybase.1.pgpUi.shouldPushPrivate']['outParam']) => void - } -}) => {payload: typeof payload; type: typeof keybase1PgpUiShouldPushPrivate} -type createKeybase1ProveUiChecking = (payload: { - readonly params: keybase1Types.MessageTypes['keybase.1.proveUi.checking']['inParam'] - response: { - error: keybase1Types.IncomingErrorCallback - result: (param: keybase1Types.MessageTypes['keybase.1.proveUi.checking']['outParam']) => void - } -}) => {payload: typeof payload; type: typeof keybase1ProveUiChecking} -type createKeybase1ProveUiContinueChecking = (payload: { - readonly params: keybase1Types.MessageTypes['keybase.1.proveUi.continueChecking']['inParam'] - response: { - error: keybase1Types.IncomingErrorCallback - result: (param: keybase1Types.MessageTypes['keybase.1.proveUi.continueChecking']['outParam']) => void - } -}) => {payload: typeof payload; type: typeof keybase1ProveUiContinueChecking} -type createKeybase1ProveUiDisplayRecheckWarning = (payload: { - readonly params: keybase1Types.MessageTypes['keybase.1.proveUi.displayRecheckWarning']['inParam'] - response: { - error: keybase1Types.IncomingErrorCallback - result: (param: keybase1Types.MessageTypes['keybase.1.proveUi.displayRecheckWarning']['outParam']) => void - } -}) => {payload: typeof payload; type: typeof keybase1ProveUiDisplayRecheckWarning} -type createKeybase1ProveUiOkToCheck = (payload: { - readonly params: keybase1Types.MessageTypes['keybase.1.proveUi.okToCheck']['inParam'] - response: { - error: keybase1Types.IncomingErrorCallback - result: (param: keybase1Types.MessageTypes['keybase.1.proveUi.okToCheck']['outParam']) => void - } -}) => {payload: typeof payload; type: typeof keybase1ProveUiOkToCheck} -type createKeybase1ProveUiOutputInstructions = (payload: { - readonly params: keybase1Types.MessageTypes['keybase.1.proveUi.outputInstructions']['inParam'] - response: { - error: keybase1Types.IncomingErrorCallback - result: (param: keybase1Types.MessageTypes['keybase.1.proveUi.outputInstructions']['outParam']) => void - } -}) => {payload: typeof payload; type: typeof keybase1ProveUiOutputInstructions} -type createKeybase1ProveUiOutputPrechecks = (payload: { - readonly params: keybase1Types.MessageTypes['keybase.1.proveUi.outputPrechecks']['inParam'] - response: { - error: keybase1Types.IncomingErrorCallback - result: (param: keybase1Types.MessageTypes['keybase.1.proveUi.outputPrechecks']['outParam']) => void - } -}) => {payload: typeof payload; type: typeof keybase1ProveUiOutputPrechecks} -type createKeybase1ProveUiPreProofWarning = (payload: { - readonly params: keybase1Types.MessageTypes['keybase.1.proveUi.preProofWarning']['inParam'] - response: { - error: keybase1Types.IncomingErrorCallback - result: (param: keybase1Types.MessageTypes['keybase.1.proveUi.preProofWarning']['outParam']) => void - } -}) => {payload: typeof payload; type: typeof keybase1ProveUiPreProofWarning} -type createKeybase1ProveUiPromptOverwrite = (payload: { - readonly params: keybase1Types.MessageTypes['keybase.1.proveUi.promptOverwrite']['inParam'] - response: { - error: keybase1Types.IncomingErrorCallback - result: (param: keybase1Types.MessageTypes['keybase.1.proveUi.promptOverwrite']['outParam']) => void - } -}) => {payload: typeof payload; type: typeof keybase1ProveUiPromptOverwrite} -type createKeybase1ProveUiPromptUsername = (payload: { - readonly params: keybase1Types.MessageTypes['keybase.1.proveUi.promptUsername']['inParam'] - response: { - error: keybase1Types.IncomingErrorCallback - result: (param: keybase1Types.MessageTypes['keybase.1.proveUi.promptUsername']['outParam']) => void - } -}) => {payload: typeof payload; type: typeof keybase1ProveUiPromptUsername} -type createKeybase1ProvisionUiChooseDevice = (payload: { - readonly params: keybase1Types.MessageTypes['keybase.1.provisionUi.chooseDevice']['inParam'] - response: { - error: keybase1Types.IncomingErrorCallback - result: (param: keybase1Types.MessageTypes['keybase.1.provisionUi.chooseDevice']['outParam']) => void - } -}) => {payload: typeof payload; type: typeof keybase1ProvisionUiChooseDevice} -type createKeybase1ProvisionUiChooseDeviceType = (payload: { - readonly params: keybase1Types.MessageTypes['keybase.1.provisionUi.chooseDeviceType']['inParam'] - response: { - error: keybase1Types.IncomingErrorCallback - result: (param: keybase1Types.MessageTypes['keybase.1.provisionUi.chooseDeviceType']['outParam']) => void - } -}) => {payload: typeof payload; type: typeof keybase1ProvisionUiChooseDeviceType} -type createKeybase1ProvisionUiChooseGPGMethod = (payload: { - readonly params: keybase1Types.MessageTypes['keybase.1.provisionUi.chooseGPGMethod']['inParam'] - response: { - error: keybase1Types.IncomingErrorCallback - result: (param: keybase1Types.MessageTypes['keybase.1.provisionUi.chooseGPGMethod']['outParam']) => void - } -}) => {payload: typeof payload; type: typeof keybase1ProvisionUiChooseGPGMethod} -type createKeybase1ProvisionUiChooseProvisioningMethod = (payload: { - readonly params: keybase1Types.MessageTypes['keybase.1.provisionUi.chooseProvisioningMethod']['inParam'] - response: { - error: keybase1Types.IncomingErrorCallback - result: ( - param: keybase1Types.MessageTypes['keybase.1.provisionUi.chooseProvisioningMethod']['outParam'] - ) => void - } -}) => {payload: typeof payload; type: typeof keybase1ProvisionUiChooseProvisioningMethod} -type createKeybase1ProvisionUiDisplayAndPromptSecret = (payload: { - readonly params: keybase1Types.MessageTypes['keybase.1.provisionUi.DisplayAndPromptSecret']['inParam'] - response: { - error: keybase1Types.IncomingErrorCallback - result: ( - param: keybase1Types.MessageTypes['keybase.1.provisionUi.DisplayAndPromptSecret']['outParam'] - ) => void - } -}) => {payload: typeof payload; type: typeof keybase1ProvisionUiDisplayAndPromptSecret} -type createKeybase1ProvisionUiDisplaySecretExchanged = (payload: { - readonly params: keybase1Types.MessageTypes['keybase.1.provisionUi.DisplaySecretExchanged']['inParam'] - response: { - error: keybase1Types.IncomingErrorCallback - result: ( - param: keybase1Types.MessageTypes['keybase.1.provisionUi.DisplaySecretExchanged']['outParam'] - ) => void - } -}) => {payload: typeof payload; type: typeof keybase1ProvisionUiDisplaySecretExchanged} -type createKeybase1ProvisionUiPromptNewDeviceName = (payload: { - readonly params: keybase1Types.MessageTypes['keybase.1.provisionUi.PromptNewDeviceName']['inParam'] - response: { - error: keybase1Types.IncomingErrorCallback - result: ( - param: keybase1Types.MessageTypes['keybase.1.provisionUi.PromptNewDeviceName']['outParam'] - ) => void - } -}) => {payload: typeof payload; type: typeof keybase1ProvisionUiPromptNewDeviceName} -type createKeybase1ProvisionUiProvisioneeSuccess = (payload: { - readonly params: keybase1Types.MessageTypes['keybase.1.provisionUi.ProvisioneeSuccess']['inParam'] - response: { - error: keybase1Types.IncomingErrorCallback - result: ( - param: keybase1Types.MessageTypes['keybase.1.provisionUi.ProvisioneeSuccess']['outParam'] - ) => void - } -}) => {payload: typeof payload; type: typeof keybase1ProvisionUiProvisioneeSuccess} -type createKeybase1ProvisionUiProvisionerSuccess = (payload: { - readonly params: keybase1Types.MessageTypes['keybase.1.provisionUi.ProvisionerSuccess']['inParam'] - response: { - error: keybase1Types.IncomingErrorCallback - result: ( - param: keybase1Types.MessageTypes['keybase.1.provisionUi.ProvisionerSuccess']['outParam'] - ) => void - } -}) => {payload: typeof payload; type: typeof keybase1ProvisionUiProvisionerSuccess} -type createKeybase1ProvisionUiSwitchToGPGSignOK = (payload: { - readonly params: keybase1Types.MessageTypes['keybase.1.provisionUi.switchToGPGSignOK']['inParam'] - response: { - error: keybase1Types.IncomingErrorCallback - result: (param: keybase1Types.MessageTypes['keybase.1.provisionUi.switchToGPGSignOK']['outParam']) => void - } -}) => {payload: typeof payload; type: typeof keybase1ProvisionUiSwitchToGPGSignOK} -type createKeybase1ReachabilityReachabilityChanged = (payload: { - readonly params: keybase1Types.MessageTypes['keybase.1.reachability.reachabilityChanged']['inParam'] -}) => {payload: typeof payload; type: typeof keybase1ReachabilityReachabilityChanged} -type createKeybase1RekeyUIDelegateRekeyUI = (payload: { - readonly params: keybase1Types.MessageTypes['keybase.1.rekeyUI.delegateRekeyUI']['inParam'] - response: { - error: keybase1Types.IncomingErrorCallback - result: (param: keybase1Types.MessageTypes['keybase.1.rekeyUI.delegateRekeyUI']['outParam']) => void - } -}) => {payload: typeof payload; type: typeof keybase1RekeyUIDelegateRekeyUI} -type createKeybase1RekeyUIRefresh = (payload: { - readonly params: keybase1Types.MessageTypes['keybase.1.rekeyUI.refresh']['inParam'] - response: { - error: keybase1Types.IncomingErrorCallback - result: (param: keybase1Types.MessageTypes['keybase.1.rekeyUI.refresh']['outParam']) => void - } -}) => {payload: typeof payload; type: typeof keybase1RekeyUIRefresh} -type createKeybase1RekeyUIRekeySendEvent = (payload: { - readonly params: keybase1Types.MessageTypes['keybase.1.rekeyUI.rekeySendEvent']['inParam'] - response: { - error: keybase1Types.IncomingErrorCallback - result: (param: keybase1Types.MessageTypes['keybase.1.rekeyUI.rekeySendEvent']['outParam']) => void - } -}) => {payload: typeof payload; type: typeof keybase1RekeyUIRekeySendEvent} -type createKeybase1SaltpackUiSaltpackPromptForDecrypt = (payload: { - readonly params: keybase1Types.MessageTypes['keybase.1.saltpackUi.saltpackPromptForDecrypt']['inParam'] - response: { - error: keybase1Types.IncomingErrorCallback - result: ( - param: keybase1Types.MessageTypes['keybase.1.saltpackUi.saltpackPromptForDecrypt']['outParam'] - ) => void - } -}) => {payload: typeof payload; type: typeof keybase1SaltpackUiSaltpackPromptForDecrypt} -type createKeybase1SaltpackUiSaltpackVerifyBadSender = (payload: { - readonly params: keybase1Types.MessageTypes['keybase.1.saltpackUi.saltpackVerifyBadSender']['inParam'] - response: { - error: keybase1Types.IncomingErrorCallback - result: ( - param: keybase1Types.MessageTypes['keybase.1.saltpackUi.saltpackVerifyBadSender']['outParam'] - ) => void - } -}) => {payload: typeof payload; type: typeof keybase1SaltpackUiSaltpackVerifyBadSender} -type createKeybase1SaltpackUiSaltpackVerifySuccess = (payload: { - readonly params: keybase1Types.MessageTypes['keybase.1.saltpackUi.saltpackVerifySuccess']['inParam'] - response: { - error: keybase1Types.IncomingErrorCallback - result: ( - param: keybase1Types.MessageTypes['keybase.1.saltpackUi.saltpackVerifySuccess']['outParam'] - ) => void - } -}) => {payload: typeof payload; type: typeof keybase1SaltpackUiSaltpackVerifySuccess} -type createKeybase1SecretUiGetPassphrase = (payload: { - readonly params: keybase1Types.MessageTypes['keybase.1.secretUi.getPassphrase']['inParam'] - response: { - error: keybase1Types.IncomingErrorCallback - result: (param: keybase1Types.MessageTypes['keybase.1.secretUi.getPassphrase']['outParam']) => void - } -}) => {payload: typeof payload; type: typeof keybase1SecretUiGetPassphrase} -type createKeybase1StreamUiClose = (payload: { - readonly params: keybase1Types.MessageTypes['keybase.1.streamUi.close']['inParam'] - response: { - error: keybase1Types.IncomingErrorCallback - result: (param: keybase1Types.MessageTypes['keybase.1.streamUi.close']['outParam']) => void - } -}) => {payload: typeof payload; type: typeof keybase1StreamUiClose} -type createKeybase1StreamUiRead = (payload: { - readonly params: keybase1Types.MessageTypes['keybase.1.streamUi.read']['inParam'] - response: { - error: keybase1Types.IncomingErrorCallback - result: (param: keybase1Types.MessageTypes['keybase.1.streamUi.read']['outParam']) => void - } -}) => {payload: typeof payload; type: typeof keybase1StreamUiRead} -type createKeybase1StreamUiReset = (payload: { - readonly params: keybase1Types.MessageTypes['keybase.1.streamUi.reset']['inParam'] - response: { - error: keybase1Types.IncomingErrorCallback - result: (param: keybase1Types.MessageTypes['keybase.1.streamUi.reset']['outParam']) => void - } -}) => {payload: typeof payload; type: typeof keybase1StreamUiReset} -type createKeybase1StreamUiWrite = (payload: { - readonly params: keybase1Types.MessageTypes['keybase.1.streamUi.write']['inParam'] - response: { - error: keybase1Types.IncomingErrorCallback - result: (param: keybase1Types.MessageTypes['keybase.1.streamUi.write']['outParam']) => void - } -}) => {payload: typeof payload; type: typeof keybase1StreamUiWrite} -type createKeybase1TeamsUiConfirmInviteLinkAccept = (payload: { - readonly params: keybase1Types.MessageTypes['keybase.1.teamsUi.confirmInviteLinkAccept']['inParam'] - response: { - error: keybase1Types.IncomingErrorCallback - result: ( - param: keybase1Types.MessageTypes['keybase.1.teamsUi.confirmInviteLinkAccept']['outParam'] - ) => void - } -}) => {payload: typeof payload; type: typeof keybase1TeamsUiConfirmInviteLinkAccept} -type createKeybase1TeamsUiConfirmRootTeamDelete = (payload: { - readonly params: keybase1Types.MessageTypes['keybase.1.teamsUi.confirmRootTeamDelete']['inParam'] - response: { - error: keybase1Types.IncomingErrorCallback - result: (param: keybase1Types.MessageTypes['keybase.1.teamsUi.confirmRootTeamDelete']['outParam']) => void - } -}) => {payload: typeof payload; type: typeof keybase1TeamsUiConfirmRootTeamDelete} -type createKeybase1TeamsUiConfirmSubteamDelete = (payload: { - readonly params: keybase1Types.MessageTypes['keybase.1.teamsUi.confirmSubteamDelete']['inParam'] - response: { - error: keybase1Types.IncomingErrorCallback - result: (param: keybase1Types.MessageTypes['keybase.1.teamsUi.confirmSubteamDelete']['outParam']) => void - } -}) => {payload: typeof payload; type: typeof keybase1TeamsUiConfirmSubteamDelete} -type createKeybase1UiPromptYesNo = (payload: { - readonly params: keybase1Types.MessageTypes['keybase.1.ui.promptYesNo']['inParam'] - response: { - error: keybase1Types.IncomingErrorCallback - result: (param: keybase1Types.MessageTypes['keybase.1.ui.promptYesNo']['outParam']) => void - } -}) => {payload: typeof payload; type: typeof keybase1UiPromptYesNo} -type createStellar1NotifyAccountDetailsUpdate = (payload: { - readonly params: stellar1Types.MessageTypes['stellar.1.notify.accountDetailsUpdate']['inParam'] -}) => {payload: typeof payload; type: typeof stellar1NotifyAccountDetailsUpdate} -type createStellar1NotifyAccountsUpdate = (payload: { - readonly params: stellar1Types.MessageTypes['stellar.1.notify.accountsUpdate']['inParam'] -}) => {payload: typeof payload; type: typeof stellar1NotifyAccountsUpdate} -type createStellar1NotifyPaymentNotification = (payload: { - readonly params: stellar1Types.MessageTypes['stellar.1.notify.paymentNotification']['inParam'] -}) => {payload: typeof payload; type: typeof stellar1NotifyPaymentNotification} -type createStellar1NotifyPaymentStatusNotification = (payload: { - readonly params: stellar1Types.MessageTypes['stellar.1.notify.paymentStatusNotification']['inParam'] -}) => {payload: typeof payload; type: typeof stellar1NotifyPaymentStatusNotification} -type createStellar1NotifyPendingPaymentsUpdate = (payload: { - readonly params: stellar1Types.MessageTypes['stellar.1.notify.pendingPaymentsUpdate']['inParam'] -}) => {payload: typeof payload; type: typeof stellar1NotifyPendingPaymentsUpdate} -type createStellar1NotifyRecentPaymentsUpdate = (payload: { - readonly params: stellar1Types.MessageTypes['stellar.1.notify.recentPaymentsUpdate']['inParam'] -}) => {payload: typeof payload; type: typeof stellar1NotifyRecentPaymentsUpdate} -type createStellar1NotifyRequestStatusNotification = (payload: { - readonly params: stellar1Types.MessageTypes['stellar.1.notify.requestStatusNotification']['inParam'] -}) => {payload: typeof payload; type: typeof stellar1NotifyRequestStatusNotification} -type createStellar1UiPaymentReviewed = (payload: { - readonly params: stellar1Types.MessageTypes['stellar.1.ui.paymentReviewed']['inParam'] - response: { - error: stellar1Types.IncomingErrorCallback - result: (param: stellar1Types.MessageTypes['stellar.1.ui.paymentReviewed']['outParam']) => void - } -}) => {payload: typeof payload; type: typeof stellar1UiPaymentReviewed} - -// Action Payloads -export type Chat1ChatUiChatBotCommandsUpdateStatusPayload = - ReturnType -export type Chat1ChatUiChatClearWatchPayload = ReturnType -export type Chat1ChatUiChatCoinFlipStatusPayload = ReturnType -export type Chat1ChatUiChatCommandMarkdownPayload = ReturnType -export type Chat1ChatUiChatCommandStatusPayload = ReturnType -export type Chat1ChatUiChatConfirmChannelDeletePayload = ReturnType -export type Chat1ChatUiChatGiphySearchResultsPayload = ReturnType -export type Chat1ChatUiChatGiphyToggleResultWindowPayload = - ReturnType -export type Chat1ChatUiChatInboxConversationPayload = ReturnType -export type Chat1ChatUiChatInboxFailedPayload = ReturnType -export type Chat1ChatUiChatInboxLayoutPayload = ReturnType -export type Chat1ChatUiChatInboxUnverifiedPayload = ReturnType -export type Chat1ChatUiChatLoadGalleryHitPayload = ReturnType -export type Chat1ChatUiChatMaybeMentionUpdatePayload = ReturnType -export type Chat1ChatUiChatSearchBotHitsPayload = ReturnType -export type Chat1ChatUiChatSearchConvHitsPayload = ReturnType -export type Chat1ChatUiChatSearchDonePayload = ReturnType -export type Chat1ChatUiChatSearchHitPayload = ReturnType -export type Chat1ChatUiChatSearchInboxDonePayload = ReturnType -export type Chat1ChatUiChatSearchInboxHitPayload = ReturnType -export type Chat1ChatUiChatSearchInboxStartPayload = ReturnType -export type Chat1ChatUiChatSearchIndexStatusPayload = ReturnType -export type Chat1ChatUiChatSearchTeamHitsPayload = ReturnType -export type Chat1ChatUiChatShowManageChannelsPayload = ReturnType -export type Chat1ChatUiChatStellarDataConfirmPayload = ReturnType -export type Chat1ChatUiChatStellarDataErrorPayload = ReturnType -export type Chat1ChatUiChatStellarDonePayload = ReturnType -export type Chat1ChatUiChatStellarShowConfirmPayload = ReturnType -export type Chat1ChatUiChatThreadCachedPayload = ReturnType -export type Chat1ChatUiChatThreadFullPayload = ReturnType -export type Chat1ChatUiChatThreadStatusPayload = ReturnType -export type Chat1ChatUiChatWatchPositionPayload = ReturnType -export type Chat1ChatUiTriggerContactSyncPayload = ReturnType -export type Chat1NotifyChatChatArchiveCompletePayload = ReturnType -export type Chat1NotifyChatChatArchiveProgressPayload = ReturnType -export type Chat1NotifyChatChatAttachmentDownloadCompletePayload = - ReturnType -export type Chat1NotifyChatChatAttachmentDownloadProgressPayload = - ReturnType -export type Chat1NotifyChatChatAttachmentUploadProgressPayload = - ReturnType -export type Chat1NotifyChatChatAttachmentUploadStartPayload = - ReturnType -export type Chat1NotifyChatChatConvUpdatePayload = ReturnType -export type Chat1NotifyChatChatIdentifyUpdatePayload = ReturnType -export type Chat1NotifyChatChatInboxStalePayload = ReturnType -export type Chat1NotifyChatChatInboxSyncStartedPayload = ReturnType -export type Chat1NotifyChatChatInboxSyncedPayload = ReturnType -export type Chat1NotifyChatChatJoinedConversationPayload = - ReturnType -export type Chat1NotifyChatChatKBFSToImpteamUpgradePayload = - ReturnType -export type Chat1NotifyChatChatLeftConversationPayload = ReturnType -export type Chat1NotifyChatChatParticipantsInfoPayload = ReturnType -export type Chat1NotifyChatChatPaymentInfoPayload = ReturnType -export type Chat1NotifyChatChatPromptUnfurlPayload = ReturnType -export type Chat1NotifyChatChatRequestInfoPayload = ReturnType -export type Chat1NotifyChatChatResetConversationPayload = - ReturnType -export type Chat1NotifyChatChatSetConvRetentionPayload = ReturnType -export type Chat1NotifyChatChatSetConvSettingsPayload = ReturnType -export type Chat1NotifyChatChatSetTeamRetentionPayload = ReturnType -export type Chat1NotifyChatChatSubteamRenamePayload = ReturnType -export type Chat1NotifyChatChatTLFFinalizePayload = ReturnType -export type Chat1NotifyChatChatTLFResolvePayload = ReturnType -export type Chat1NotifyChatChatThreadsStalePayload = ReturnType -export type Chat1NotifyChatChatTypingUpdatePayload = ReturnType -export type Chat1NotifyChatChatWelcomeMessageLoadedPayload = - ReturnType -export type Chat1NotifyChatNewChatActivityPayload = ReturnType -export type Keybase1GpgUiConfirmDuplicateKeyChosenPayload = - ReturnType -export type Keybase1GpgUiConfirmImportSecretToExistingKeyPayload = - ReturnType -export type Keybase1GpgUiGetTTYPayload = ReturnType -export type Keybase1GpgUiSelectKeyAndPushOptionPayload = ReturnType -export type Keybase1GpgUiSelectKeyPayload = ReturnType -export type Keybase1GpgUiSignPayload = ReturnType -export type Keybase1GpgUiWantToAddGPGKeyPayload = ReturnType -export type Keybase1GregorUIPushOutOfBandMessagesPayload = - ReturnType -export type Keybase1GregorUIPushStatePayload = ReturnType -export type Keybase1HomeUIHomeUIRefreshPayload = ReturnType -export type Keybase1Identify3UiIdentify3ResultPayload = ReturnType -export type Keybase1Identify3UiIdentify3ShowTrackerPayload = - ReturnType -export type Keybase1Identify3UiIdentify3SummaryPayload = ReturnType -export type Keybase1Identify3UiIdentify3TrackerTimedOutPayload = - ReturnType -export type Keybase1Identify3UiIdentify3UpdateRowPayload = - ReturnType -export type Keybase1Identify3UiIdentify3UpdateUserCardPayload = - ReturnType -export type Keybase1Identify3UiIdentify3UserResetPayload = - ReturnType -export type Keybase1IdentifyUiCancelPayload = ReturnType -export type Keybase1IdentifyUiConfirmPayload = ReturnType -export type Keybase1IdentifyUiDelegateIdentifyUIPayload = - ReturnType -export type Keybase1IdentifyUiDismissPayload = ReturnType -export type Keybase1IdentifyUiDisplayCryptocurrencyPayload = - ReturnType -export type Keybase1IdentifyUiDisplayKeyPayload = ReturnType -export type Keybase1IdentifyUiDisplayStellarAccountPayload = - ReturnType -export type Keybase1IdentifyUiDisplayTLFCreateWithInvitePayload = - ReturnType -export type Keybase1IdentifyUiDisplayTrackStatementPayload = - ReturnType -export type Keybase1IdentifyUiDisplayUserCardPayload = ReturnType -export type Keybase1IdentifyUiFinishPayload = ReturnType -export type Keybase1IdentifyUiFinishSocialProofCheckPayload = - ReturnType -export type Keybase1IdentifyUiFinishWebProofCheckPayload = - ReturnType -export type Keybase1IdentifyUiLaunchNetworkChecksPayload = - ReturnType -export type Keybase1IdentifyUiReportLastTrackPayload = ReturnType -export type Keybase1IdentifyUiReportTrackTokenPayload = ReturnType -export type Keybase1IdentifyUiStartPayload = ReturnType -export type Keybase1LogUiLogPayload = ReturnType -export type Keybase1LoginUiChooseDeviceToRecoverWithPayload = - ReturnType -export type Keybase1LoginUiDisplayPaperKeyPhrasePayload = - ReturnType -export type Keybase1LoginUiDisplayPrimaryPaperKeyPayload = - ReturnType -export type Keybase1LoginUiDisplayResetMessagePayload = ReturnType -export type Keybase1LoginUiDisplayResetProgressPayload = ReturnType -export type Keybase1LoginUiExplainDeviceRecoveryPayload = - ReturnType -export type Keybase1LoginUiGetEmailOrUsernamePayload = ReturnType -export type Keybase1LoginUiPromptPassphraseRecoveryPayload = - ReturnType -export type Keybase1LoginUiPromptResetAccountPayload = ReturnType -export type Keybase1LoginUiPromptRevokePaperKeysPayload = - ReturnType -export type Keybase1LogsendPrepareLogsendPayload = ReturnType -export type Keybase1NotifyAppExitPayload = ReturnType -export type Keybase1NotifyAuditBoxAuditErrorPayload = ReturnType -export type Keybase1NotifyAuditRootAuditErrorPayload = ReturnType -export type Keybase1NotifyBadgesBadgeStatePayload = ReturnType -export type Keybase1NotifyCanUserPerformCanUserPerformChangedPayload = - ReturnType -export type Keybase1NotifyDeviceCloneDeviceCloneCountChangedPayload = - ReturnType -export type Keybase1NotifyEmailAddressEmailAddressVerifiedPayload = - ReturnType -export type Keybase1NotifyEmailAddressEmailsChangedPayload = - ReturnType -export type Keybase1NotifyEphemeralNewTeamEkPayload = ReturnType -export type Keybase1NotifyEphemeralNewTeambotEkPayload = ReturnType -export type Keybase1NotifyEphemeralTeambotEkNeededPayload = - ReturnType -export type Keybase1NotifyFSFSActivityPayload = ReturnType -export type Keybase1NotifyFSFSEditListResponsePayload = ReturnType -export type Keybase1NotifyFSFSFavoritesChangedPayload = ReturnType -export type Keybase1NotifyFSFSOnlineStatusChangedPayload = - ReturnType -export type Keybase1NotifyFSFSOverallSyncStatusChangedPayload = - ReturnType -export type Keybase1NotifyFSFSPathUpdatedPayload = ReturnType -export type Keybase1NotifyFSFSSubscriptionNotifyPathPayload = - ReturnType -export type Keybase1NotifyFSFSSubscriptionNotifyPayload = - ReturnType -export type Keybase1NotifyFSFSSyncActivityPayload = ReturnType -export type Keybase1NotifyFSFSSyncStatusResponsePayload = - ReturnType -export type Keybase1NotifyFavoritesFavoritesChangedPayload = - ReturnType -export type Keybase1NotifyFeaturedBotsFeaturedBotsUpdatePayload = - ReturnType -export type Keybase1NotifyInviteFriendsUpdateInviteCountsPayload = - ReturnType -export type Keybase1NotifyKeyfamilyKeyfamilyChangedPayload = - ReturnType -export type Keybase1NotifyPGPPgpKeyInSecretStoreFilePayload = - ReturnType -export type Keybase1NotifyPaperKeyPaperKeyCachedPayload = - ReturnType -export type Keybase1NotifyPhoneNumberPhoneNumbersChangedPayload = - ReturnType -export type Keybase1NotifyRuntimeStatsRuntimeStatsUpdatePayload = - ReturnType -export type Keybase1NotifySaltpackSaltpackOperationDonePayload = - ReturnType -export type Keybase1NotifySaltpackSaltpackOperationProgressPayload = - ReturnType -export type Keybase1NotifySaltpackSaltpackOperationStartPayload = - ReturnType -export type Keybase1NotifyServiceHTTPSrvInfoUpdatePayload = - ReturnType -export type Keybase1NotifyServiceHandleKeybaseLinkPayload = - ReturnType -export type Keybase1NotifyServiceShutdownPayload = ReturnType -export type Keybase1NotifySessionClientOutOfDatePayload = - ReturnType -export type Keybase1NotifySessionLoggedInPayload = ReturnType -export type Keybase1NotifySessionLoggedOutPayload = ReturnType -export type Keybase1NotifySimpleFSSimpleFSArchiveStatusChangedPayload = - ReturnType -export type Keybase1NotifyTeamAvatarUpdatedPayload = ReturnType -export type Keybase1NotifyTeamNewlyAddedToTeamPayload = ReturnType -export type Keybase1NotifyTeamTeamAbandonedPayload = ReturnType -export type Keybase1NotifyTeamTeamChangedByIDPayload = ReturnType -export type Keybase1NotifyTeamTeamChangedByNamePayload = ReturnType -export type Keybase1NotifyTeamTeamDeletedPayload = ReturnType -export type Keybase1NotifyTeamTeamExitPayload = ReturnType -export type Keybase1NotifyTeamTeamMetadataUpdatePayload = - ReturnType -export type Keybase1NotifyTeamTeamRoleMapChangedPayload = - ReturnType -export type Keybase1NotifyTeamTeamTreeMembershipsDonePayload = - ReturnType -export type Keybase1NotifyTeamTeamTreeMembershipsPartialPayload = - ReturnType -export type Keybase1NotifyTeambotNewTeambotKeyPayload = ReturnType -export type Keybase1NotifyTeambotTeambotKeyNeededPayload = - ReturnType -export type Keybase1NotifyTrackingNotifyUserBlockedPayload = - ReturnType -export type Keybase1NotifyTrackingTrackingChangedPayload = - ReturnType -export type Keybase1NotifyTrackingTrackingInfoPayload = ReturnType -export type Keybase1NotifyUsersIdentifyUpdatePayload = ReturnType -export type Keybase1NotifyUsersPasswordChangedPayload = ReturnType -export type Keybase1NotifyUsersUserChangedPayload = ReturnType -export type Keybase1NotifyUsersWebOfTrustChangedPayload = - ReturnType -export type Keybase1PgpUiFinishedPayload = ReturnType -export type Keybase1PgpUiKeyGeneratedPayload = ReturnType -export type Keybase1PgpUiOutputPGPWarningPayload = ReturnType -export type Keybase1PgpUiOutputSignatureNonKeybasePayload = - ReturnType -export type Keybase1PgpUiOutputSignatureSuccessPayload = ReturnType -export type Keybase1PgpUiShouldPushPrivatePayload = ReturnType -export type Keybase1ProveUiCheckingPayload = ReturnType -export type Keybase1ProveUiContinueCheckingPayload = ReturnType -export type Keybase1ProveUiDisplayRecheckWarningPayload = - ReturnType -export type Keybase1ProveUiOkToCheckPayload = ReturnType -export type Keybase1ProveUiOutputInstructionsPayload = ReturnType -export type Keybase1ProveUiOutputPrechecksPayload = ReturnType -export type Keybase1ProveUiPreProofWarningPayload = ReturnType -export type Keybase1ProveUiPromptOverwritePayload = ReturnType -export type Keybase1ProveUiPromptUsernamePayload = ReturnType -export type Keybase1ProvisionUiChooseDevicePayload = ReturnType -export type Keybase1ProvisionUiChooseDeviceTypePayload = ReturnType -export type Keybase1ProvisionUiChooseGPGMethodPayload = ReturnType -export type Keybase1ProvisionUiChooseProvisioningMethodPayload = - ReturnType -export type Keybase1ProvisionUiDisplayAndPromptSecretPayload = - ReturnType -export type Keybase1ProvisionUiDisplaySecretExchangedPayload = - ReturnType -export type Keybase1ProvisionUiPromptNewDeviceNamePayload = - ReturnType -export type Keybase1ProvisionUiProvisioneeSuccessPayload = - ReturnType -export type Keybase1ProvisionUiProvisionerSuccessPayload = - ReturnType -export type Keybase1ProvisionUiSwitchToGPGSignOKPayload = - ReturnType -export type Keybase1ReachabilityReachabilityChangedPayload = - ReturnType -export type Keybase1RekeyUIDelegateRekeyUIPayload = ReturnType -export type Keybase1RekeyUIRefreshPayload = ReturnType -export type Keybase1RekeyUIRekeySendEventPayload = ReturnType -export type Keybase1SaltpackUiSaltpackPromptForDecryptPayload = - ReturnType -export type Keybase1SaltpackUiSaltpackVerifyBadSenderPayload = - ReturnType -export type Keybase1SaltpackUiSaltpackVerifySuccessPayload = - ReturnType -export type Keybase1SecretUiGetPassphrasePayload = ReturnType -export type Keybase1StreamUiClosePayload = ReturnType -export type Keybase1StreamUiReadPayload = ReturnType -export type Keybase1StreamUiResetPayload = ReturnType -export type Keybase1StreamUiWritePayload = ReturnType -export type Keybase1TeamsUiConfirmInviteLinkAcceptPayload = - ReturnType -export type Keybase1TeamsUiConfirmRootTeamDeletePayload = - ReturnType -export type Keybase1TeamsUiConfirmSubteamDeletePayload = ReturnType -export type Keybase1UiPromptYesNoPayload = ReturnType -export type Stellar1NotifyAccountDetailsUpdatePayload = ReturnType -export type Stellar1NotifyAccountsUpdatePayload = ReturnType -export type Stellar1NotifyPaymentNotificationPayload = ReturnType -export type Stellar1NotifyPaymentStatusNotificationPayload = - ReturnType -export type Stellar1NotifyPendingPaymentsUpdatePayload = ReturnType -export type Stellar1NotifyRecentPaymentsUpdatePayload = ReturnType -export type Stellar1NotifyRequestStatusNotificationPayload = - ReturnType -export type Stellar1UiPaymentReviewedPayload = ReturnType - -// All Actions -// prettier-ignore -export type Actions = - | Chat1ChatUiChatBotCommandsUpdateStatusPayload - | Chat1ChatUiChatClearWatchPayload - | Chat1ChatUiChatCoinFlipStatusPayload - | Chat1ChatUiChatCommandMarkdownPayload - | Chat1ChatUiChatCommandStatusPayload - | Chat1ChatUiChatConfirmChannelDeletePayload - | Chat1ChatUiChatGiphySearchResultsPayload - | Chat1ChatUiChatGiphyToggleResultWindowPayload - | Chat1ChatUiChatInboxConversationPayload - | Chat1ChatUiChatInboxFailedPayload - | Chat1ChatUiChatInboxLayoutPayload - | Chat1ChatUiChatInboxUnverifiedPayload - | Chat1ChatUiChatLoadGalleryHitPayload - | Chat1ChatUiChatMaybeMentionUpdatePayload - | Chat1ChatUiChatSearchBotHitsPayload - | Chat1ChatUiChatSearchConvHitsPayload - | Chat1ChatUiChatSearchDonePayload - | Chat1ChatUiChatSearchHitPayload - | Chat1ChatUiChatSearchInboxDonePayload - | Chat1ChatUiChatSearchInboxHitPayload - | Chat1ChatUiChatSearchInboxStartPayload - | Chat1ChatUiChatSearchIndexStatusPayload - | Chat1ChatUiChatSearchTeamHitsPayload - | Chat1ChatUiChatShowManageChannelsPayload - | Chat1ChatUiChatStellarDataConfirmPayload - | Chat1ChatUiChatStellarDataErrorPayload - | Chat1ChatUiChatStellarDonePayload - | Chat1ChatUiChatStellarShowConfirmPayload - | Chat1ChatUiChatThreadCachedPayload - | Chat1ChatUiChatThreadFullPayload - | Chat1ChatUiChatThreadStatusPayload - | Chat1ChatUiChatWatchPositionPayload - | Chat1ChatUiTriggerContactSyncPayload - | Chat1NotifyChatChatArchiveCompletePayload - | Chat1NotifyChatChatArchiveProgressPayload - | Chat1NotifyChatChatAttachmentDownloadCompletePayload - | Chat1NotifyChatChatAttachmentDownloadProgressPayload - | Chat1NotifyChatChatAttachmentUploadProgressPayload - | Chat1NotifyChatChatAttachmentUploadStartPayload - | Chat1NotifyChatChatConvUpdatePayload - | Chat1NotifyChatChatIdentifyUpdatePayload - | Chat1NotifyChatChatInboxStalePayload - | Chat1NotifyChatChatInboxSyncStartedPayload - | Chat1NotifyChatChatInboxSyncedPayload - | Chat1NotifyChatChatJoinedConversationPayload - | Chat1NotifyChatChatKBFSToImpteamUpgradePayload - | Chat1NotifyChatChatLeftConversationPayload - | Chat1NotifyChatChatParticipantsInfoPayload - | Chat1NotifyChatChatPaymentInfoPayload - | Chat1NotifyChatChatPromptUnfurlPayload - | Chat1NotifyChatChatRequestInfoPayload - | Chat1NotifyChatChatResetConversationPayload - | Chat1NotifyChatChatSetConvRetentionPayload - | Chat1NotifyChatChatSetConvSettingsPayload - | Chat1NotifyChatChatSetTeamRetentionPayload - | Chat1NotifyChatChatSubteamRenamePayload - | Chat1NotifyChatChatTLFFinalizePayload - | Chat1NotifyChatChatTLFResolvePayload - | Chat1NotifyChatChatThreadsStalePayload - | Chat1NotifyChatChatTypingUpdatePayload - | Chat1NotifyChatChatWelcomeMessageLoadedPayload - | Chat1NotifyChatNewChatActivityPayload - | Keybase1GpgUiConfirmDuplicateKeyChosenPayload - | Keybase1GpgUiConfirmImportSecretToExistingKeyPayload - | Keybase1GpgUiGetTTYPayload - | Keybase1GpgUiSelectKeyAndPushOptionPayload - | Keybase1GpgUiSelectKeyPayload - | Keybase1GpgUiSignPayload - | Keybase1GpgUiWantToAddGPGKeyPayload - | Keybase1GregorUIPushOutOfBandMessagesPayload - | Keybase1GregorUIPushStatePayload - | Keybase1HomeUIHomeUIRefreshPayload - | Keybase1Identify3UiIdentify3ResultPayload - | Keybase1Identify3UiIdentify3ShowTrackerPayload - | Keybase1Identify3UiIdentify3SummaryPayload - | Keybase1Identify3UiIdentify3TrackerTimedOutPayload - | Keybase1Identify3UiIdentify3UpdateRowPayload - | Keybase1Identify3UiIdentify3UpdateUserCardPayload - | Keybase1Identify3UiIdentify3UserResetPayload - | Keybase1IdentifyUiCancelPayload - | Keybase1IdentifyUiConfirmPayload - | Keybase1IdentifyUiDelegateIdentifyUIPayload - | Keybase1IdentifyUiDismissPayload - | Keybase1IdentifyUiDisplayCryptocurrencyPayload - | Keybase1IdentifyUiDisplayKeyPayload - | Keybase1IdentifyUiDisplayStellarAccountPayload - | Keybase1IdentifyUiDisplayTLFCreateWithInvitePayload - | Keybase1IdentifyUiDisplayTrackStatementPayload - | Keybase1IdentifyUiDisplayUserCardPayload - | Keybase1IdentifyUiFinishPayload - | Keybase1IdentifyUiFinishSocialProofCheckPayload - | Keybase1IdentifyUiFinishWebProofCheckPayload - | Keybase1IdentifyUiLaunchNetworkChecksPayload - | Keybase1IdentifyUiReportLastTrackPayload - | Keybase1IdentifyUiReportTrackTokenPayload - | Keybase1IdentifyUiStartPayload - | Keybase1LogUiLogPayload - | Keybase1LoginUiChooseDeviceToRecoverWithPayload - | Keybase1LoginUiDisplayPaperKeyPhrasePayload - | Keybase1LoginUiDisplayPrimaryPaperKeyPayload - | Keybase1LoginUiDisplayResetMessagePayload - | Keybase1LoginUiDisplayResetProgressPayload - | Keybase1LoginUiExplainDeviceRecoveryPayload - | Keybase1LoginUiGetEmailOrUsernamePayload - | Keybase1LoginUiPromptPassphraseRecoveryPayload - | Keybase1LoginUiPromptResetAccountPayload - | Keybase1LoginUiPromptRevokePaperKeysPayload - | Keybase1LogsendPrepareLogsendPayload - | Keybase1NotifyAppExitPayload - | Keybase1NotifyAuditBoxAuditErrorPayload - | Keybase1NotifyAuditRootAuditErrorPayload - | Keybase1NotifyBadgesBadgeStatePayload - | Keybase1NotifyCanUserPerformCanUserPerformChangedPayload - | Keybase1NotifyDeviceCloneDeviceCloneCountChangedPayload - | Keybase1NotifyEmailAddressEmailAddressVerifiedPayload - | Keybase1NotifyEmailAddressEmailsChangedPayload - | Keybase1NotifyEphemeralNewTeamEkPayload - | Keybase1NotifyEphemeralNewTeambotEkPayload - | Keybase1NotifyEphemeralTeambotEkNeededPayload - | Keybase1NotifyFSFSActivityPayload - | Keybase1NotifyFSFSEditListResponsePayload - | Keybase1NotifyFSFSFavoritesChangedPayload - | Keybase1NotifyFSFSOnlineStatusChangedPayload - | Keybase1NotifyFSFSOverallSyncStatusChangedPayload - | Keybase1NotifyFSFSPathUpdatedPayload - | Keybase1NotifyFSFSSubscriptionNotifyPathPayload - | Keybase1NotifyFSFSSubscriptionNotifyPayload - | Keybase1NotifyFSFSSyncActivityPayload - | Keybase1NotifyFSFSSyncStatusResponsePayload - | Keybase1NotifyFavoritesFavoritesChangedPayload - | Keybase1NotifyFeaturedBotsFeaturedBotsUpdatePayload - | Keybase1NotifyInviteFriendsUpdateInviteCountsPayload - | Keybase1NotifyKeyfamilyKeyfamilyChangedPayload - | Keybase1NotifyPGPPgpKeyInSecretStoreFilePayload - | Keybase1NotifyPaperKeyPaperKeyCachedPayload - | Keybase1NotifyPhoneNumberPhoneNumbersChangedPayload - | Keybase1NotifyRuntimeStatsRuntimeStatsUpdatePayload - | Keybase1NotifySaltpackSaltpackOperationDonePayload - | Keybase1NotifySaltpackSaltpackOperationProgressPayload - | Keybase1NotifySaltpackSaltpackOperationStartPayload - | Keybase1NotifyServiceHTTPSrvInfoUpdatePayload - | Keybase1NotifyServiceHandleKeybaseLinkPayload - | Keybase1NotifyServiceShutdownPayload - | Keybase1NotifySessionClientOutOfDatePayload - | Keybase1NotifySessionLoggedInPayload - | Keybase1NotifySessionLoggedOutPayload - | Keybase1NotifySimpleFSSimpleFSArchiveStatusChangedPayload - | Keybase1NotifyTeamAvatarUpdatedPayload - | Keybase1NotifyTeamNewlyAddedToTeamPayload - | Keybase1NotifyTeamTeamAbandonedPayload - | Keybase1NotifyTeamTeamChangedByIDPayload - | Keybase1NotifyTeamTeamChangedByNamePayload - | Keybase1NotifyTeamTeamDeletedPayload - | Keybase1NotifyTeamTeamExitPayload - | Keybase1NotifyTeamTeamMetadataUpdatePayload - | Keybase1NotifyTeamTeamRoleMapChangedPayload - | Keybase1NotifyTeamTeamTreeMembershipsDonePayload - | Keybase1NotifyTeamTeamTreeMembershipsPartialPayload - | Keybase1NotifyTeambotNewTeambotKeyPayload - | Keybase1NotifyTeambotTeambotKeyNeededPayload - | Keybase1NotifyTrackingNotifyUserBlockedPayload - | Keybase1NotifyTrackingTrackingChangedPayload - | Keybase1NotifyTrackingTrackingInfoPayload - | Keybase1NotifyUsersIdentifyUpdatePayload - | Keybase1NotifyUsersPasswordChangedPayload - | Keybase1NotifyUsersUserChangedPayload - | Keybase1NotifyUsersWebOfTrustChangedPayload - | Keybase1PgpUiFinishedPayload - | Keybase1PgpUiKeyGeneratedPayload - | Keybase1PgpUiOutputPGPWarningPayload - | Keybase1PgpUiOutputSignatureNonKeybasePayload - | Keybase1PgpUiOutputSignatureSuccessPayload - | Keybase1PgpUiShouldPushPrivatePayload - | Keybase1ProveUiCheckingPayload - | Keybase1ProveUiContinueCheckingPayload - | Keybase1ProveUiDisplayRecheckWarningPayload - | Keybase1ProveUiOkToCheckPayload - | Keybase1ProveUiOutputInstructionsPayload - | Keybase1ProveUiOutputPrechecksPayload - | Keybase1ProveUiPreProofWarningPayload - | Keybase1ProveUiPromptOverwritePayload - | Keybase1ProveUiPromptUsernamePayload - | Keybase1ProvisionUiChooseDevicePayload - | Keybase1ProvisionUiChooseDeviceTypePayload - | Keybase1ProvisionUiChooseGPGMethodPayload - | Keybase1ProvisionUiChooseProvisioningMethodPayload - | Keybase1ProvisionUiDisplayAndPromptSecretPayload - | Keybase1ProvisionUiDisplaySecretExchangedPayload - | Keybase1ProvisionUiPromptNewDeviceNamePayload - | Keybase1ProvisionUiProvisioneeSuccessPayload - | Keybase1ProvisionUiProvisionerSuccessPayload - | Keybase1ProvisionUiSwitchToGPGSignOKPayload - | Keybase1ReachabilityReachabilityChangedPayload - | Keybase1RekeyUIDelegateRekeyUIPayload - | Keybase1RekeyUIRefreshPayload - | Keybase1RekeyUIRekeySendEventPayload - | Keybase1SaltpackUiSaltpackPromptForDecryptPayload - | Keybase1SaltpackUiSaltpackVerifyBadSenderPayload - | Keybase1SaltpackUiSaltpackVerifySuccessPayload - | Keybase1SecretUiGetPassphrasePayload - | Keybase1StreamUiClosePayload - | Keybase1StreamUiReadPayload - | Keybase1StreamUiResetPayload - | Keybase1StreamUiWritePayload - | Keybase1TeamsUiConfirmInviteLinkAcceptPayload - | Keybase1TeamsUiConfirmRootTeamDeletePayload - | Keybase1TeamsUiConfirmSubteamDeletePayload - | Keybase1UiPromptYesNoPayload - | Stellar1NotifyAccountDetailsUpdatePayload - | Stellar1NotifyAccountsUpdatePayload - | Stellar1NotifyPaymentNotificationPayload - | Stellar1NotifyPaymentStatusNotificationPayload - | Stellar1NotifyPendingPaymentsUpdatePayload - | Stellar1NotifyRecentPaymentsUpdatePayload - | Stellar1NotifyRequestStatusNotificationPayload - | Stellar1UiPaymentReviewedPayload - | {readonly type: 'common:resetStore', readonly payload: undefined} diff --git a/shared/actions/json/engine-gen.json b/shared/actions/json/engine-gen.json deleted file mode 100644 index e97dbd8ab8d4..000000000000 --- a/shared/actions/json/engine-gen.json +++ /dev/null @@ -1,657 +0,0 @@ -{ - "prelude": [ - "import type * as chat1Types from '@/constants/types/rpc-chat-gen'", - "import type * as keybase1Types from '@/constants/types/rpc-gen'", - "import type * as stellar1Types from '@/constants/types/rpc-stellar-gen'" - ], - "actions": { - "chat1ChatUiChatInboxLayout": { - "params": "chat1Types.MessageTypes['chat.1.chatUi.chatInboxLayout']['inParam'] , response: {error: chat1Types.IncomingErrorCallback, result: (param: chat1Types.MessageTypes['chat.1.chatUi.chatInboxLayout']['outParam']) => void}" - }, - "chat1ChatUiChatInboxUnverified": { - "params": "chat1Types.MessageTypes['chat.1.chatUi.chatInboxUnverified']['inParam'] , response: {error: chat1Types.IncomingErrorCallback, result: (param: chat1Types.MessageTypes['chat.1.chatUi.chatInboxUnverified']['outParam']) => void}" - }, - "chat1ChatUiChatInboxConversation": { - "params": "chat1Types.MessageTypes['chat.1.chatUi.chatInboxConversation']['inParam'] , response: {error: chat1Types.IncomingErrorCallback, result: (param: chat1Types.MessageTypes['chat.1.chatUi.chatInboxConversation']['outParam']) => void}" - }, - "chat1ChatUiChatInboxFailed": { - "params": "chat1Types.MessageTypes['chat.1.chatUi.chatInboxFailed']['inParam'] , response: {error: chat1Types.IncomingErrorCallback, result: (param: chat1Types.MessageTypes['chat.1.chatUi.chatInboxFailed']['outParam']) => void}" - }, - "chat1ChatUiChatThreadCached": { - "params": "chat1Types.MessageTypes['chat.1.chatUi.chatThreadCached']['inParam'] , response: {error: chat1Types.IncomingErrorCallback, result: (param: chat1Types.MessageTypes['chat.1.chatUi.chatThreadCached']['outParam']) => void}" - }, - "chat1ChatUiChatThreadFull": { - "params": "chat1Types.MessageTypes['chat.1.chatUi.chatThreadFull']['inParam'] , response: {error: chat1Types.IncomingErrorCallback, result: (param: chat1Types.MessageTypes['chat.1.chatUi.chatThreadFull']['outParam']) => void}" - }, - "chat1ChatUiChatThreadStatus": { - "params": "chat1Types.MessageTypes['chat.1.chatUi.chatThreadStatus']['inParam'] , response: {error: chat1Types.IncomingErrorCallback, result: (param: chat1Types.MessageTypes['chat.1.chatUi.chatThreadStatus']['outParam']) => void}" - }, - "chat1ChatUiChatSearchHit": { - "params": "chat1Types.MessageTypes['chat.1.chatUi.chatSearchHit']['inParam'] , response: {error: chat1Types.IncomingErrorCallback, result: (param: chat1Types.MessageTypes['chat.1.chatUi.chatSearchHit']['outParam']) => void}" - }, - "chat1ChatUiChatSearchDone": { - "params": "chat1Types.MessageTypes['chat.1.chatUi.chatSearchDone']['inParam'] , response: {error: chat1Types.IncomingErrorCallback, result: (param: chat1Types.MessageTypes['chat.1.chatUi.chatSearchDone']['outParam']) => void}" - }, - "chat1ChatUiChatSearchInboxStart": { - "params": "chat1Types.MessageTypes['chat.1.chatUi.chatSearchInboxStart']['inParam'] , response: {error: chat1Types.IncomingErrorCallback, result: (param: chat1Types.MessageTypes['chat.1.chatUi.chatSearchInboxStart']['outParam']) => void}" - }, - "chat1ChatUiChatSearchInboxHit": { - "params": "chat1Types.MessageTypes['chat.1.chatUi.chatSearchInboxHit']['inParam'] , response: {error: chat1Types.IncomingErrorCallback, result: (param: chat1Types.MessageTypes['chat.1.chatUi.chatSearchInboxHit']['outParam']) => void}" - }, - "chat1ChatUiChatSearchInboxDone": { - "params": "chat1Types.MessageTypes['chat.1.chatUi.chatSearchInboxDone']['inParam'] , response: {error: chat1Types.IncomingErrorCallback, result: (param: chat1Types.MessageTypes['chat.1.chatUi.chatSearchInboxDone']['outParam']) => void}" - }, - "chat1ChatUiChatSearchIndexStatus": { - "params": "chat1Types.MessageTypes['chat.1.chatUi.chatSearchIndexStatus']['inParam'] , response: {error: chat1Types.IncomingErrorCallback, result: (param: chat1Types.MessageTypes['chat.1.chatUi.chatSearchIndexStatus']['outParam']) => void}" - }, - "chat1ChatUiChatSearchConvHits": { - "params": "chat1Types.MessageTypes['chat.1.chatUi.chatSearchConvHits']['inParam'] , response: {error: chat1Types.IncomingErrorCallback, result: (param: chat1Types.MessageTypes['chat.1.chatUi.chatSearchConvHits']['outParam']) => void}" - }, - "chat1ChatUiChatSearchTeamHits": { - "params": "chat1Types.MessageTypes['chat.1.chatUi.chatSearchTeamHits']['inParam'] , response: {error: chat1Types.IncomingErrorCallback, result: (param: chat1Types.MessageTypes['chat.1.chatUi.chatSearchTeamHits']['outParam']) => void}" - }, - "chat1ChatUiChatSearchBotHits": { - "params": "chat1Types.MessageTypes['chat.1.chatUi.chatSearchBotHits']['inParam'] , response: {error: chat1Types.IncomingErrorCallback, result: (param: chat1Types.MessageTypes['chat.1.chatUi.chatSearchBotHits']['outParam']) => void}" - }, - "chat1ChatUiChatConfirmChannelDelete": { - "params": "chat1Types.MessageTypes['chat.1.chatUi.chatConfirmChannelDelete']['inParam'] , response: {error: chat1Types.IncomingErrorCallback, result: (param: chat1Types.MessageTypes['chat.1.chatUi.chatConfirmChannelDelete']['outParam']) => void}" - }, - "chat1ChatUiChatStellarShowConfirm": { - "params": "chat1Types.MessageTypes['chat.1.chatUi.chatStellarShowConfirm']['inParam'] , response: {error: chat1Types.IncomingErrorCallback, result: (param: chat1Types.MessageTypes['chat.1.chatUi.chatStellarShowConfirm']['outParam']) => void}" - }, - "chat1ChatUiChatStellarDataConfirm": { - "params": "chat1Types.MessageTypes['chat.1.chatUi.chatStellarDataConfirm']['inParam'] , response: {error: chat1Types.IncomingErrorCallback, result: (param: chat1Types.MessageTypes['chat.1.chatUi.chatStellarDataConfirm']['outParam']) => void}" - }, - "chat1ChatUiChatStellarDataError": { - "params": "chat1Types.MessageTypes['chat.1.chatUi.chatStellarDataError']['inParam'] , response: {error: chat1Types.IncomingErrorCallback, result: (param: chat1Types.MessageTypes['chat.1.chatUi.chatStellarDataError']['outParam']) => void}" - }, - "chat1ChatUiChatStellarDone": { - "params": "chat1Types.MessageTypes['chat.1.chatUi.chatStellarDone']['inParam'] , response: {error: chat1Types.IncomingErrorCallback, result: (param: chat1Types.MessageTypes['chat.1.chatUi.chatStellarDone']['outParam']) => void}" - }, - "chat1ChatUiChatGiphySearchResults": { - "params": "chat1Types.MessageTypes['chat.1.chatUi.chatGiphySearchResults']['inParam'] , response: {error: chat1Types.IncomingErrorCallback, result: (param: chat1Types.MessageTypes['chat.1.chatUi.chatGiphySearchResults']['outParam']) => void}" - }, - "chat1ChatUiChatGiphyToggleResultWindow": { - "params": "chat1Types.MessageTypes['chat.1.chatUi.chatGiphyToggleResultWindow']['inParam'] , response: {error: chat1Types.IncomingErrorCallback, result: (param: chat1Types.MessageTypes['chat.1.chatUi.chatGiphyToggleResultWindow']['outParam']) => void}" - }, - "chat1ChatUiChatShowManageChannels": { - "params": "chat1Types.MessageTypes['chat.1.chatUi.chatShowManageChannels']['inParam'] , response: {error: chat1Types.IncomingErrorCallback, result: (param: chat1Types.MessageTypes['chat.1.chatUi.chatShowManageChannels']['outParam']) => void}" - }, - "chat1ChatUiChatCoinFlipStatus": { - "params": "chat1Types.MessageTypes['chat.1.chatUi.chatCoinFlipStatus']['inParam'] , response: {error: chat1Types.IncomingErrorCallback, result: (param: chat1Types.MessageTypes['chat.1.chatUi.chatCoinFlipStatus']['outParam']) => void}" - }, - "chat1ChatUiChatCommandMarkdown": { - "params": "chat1Types.MessageTypes['chat.1.chatUi.chatCommandMarkdown']['inParam'] , response: {error: chat1Types.IncomingErrorCallback, result: (param: chat1Types.MessageTypes['chat.1.chatUi.chatCommandMarkdown']['outParam']) => void}" - }, - "chat1ChatUiChatMaybeMentionUpdate": { - "params": "chat1Types.MessageTypes['chat.1.chatUi.chatMaybeMentionUpdate']['inParam'] , response: {error: chat1Types.IncomingErrorCallback, result: (param: chat1Types.MessageTypes['chat.1.chatUi.chatMaybeMentionUpdate']['outParam']) => void}" - }, - "chat1ChatUiChatLoadGalleryHit": { - "params": "chat1Types.MessageTypes['chat.1.chatUi.chatLoadGalleryHit']['inParam'] , response: {error: chat1Types.IncomingErrorCallback, result: (param: chat1Types.MessageTypes['chat.1.chatUi.chatLoadGalleryHit']['outParam']) => void}" - }, - "chat1ChatUiChatWatchPosition": { - "params": "chat1Types.MessageTypes['chat.1.chatUi.chatWatchPosition']['inParam'] , response: {error: chat1Types.IncomingErrorCallback, result: (param: chat1Types.MessageTypes['chat.1.chatUi.chatWatchPosition']['outParam']) => void}" - }, - "chat1ChatUiChatClearWatch": { - "params": "chat1Types.MessageTypes['chat.1.chatUi.chatClearWatch']['inParam'] , response: {error: chat1Types.IncomingErrorCallback, result: (param: chat1Types.MessageTypes['chat.1.chatUi.chatClearWatch']['outParam']) => void}" - }, - "chat1ChatUiChatCommandStatus": { - "params": "chat1Types.MessageTypes['chat.1.chatUi.chatCommandStatus']['inParam'] , response: {error: chat1Types.IncomingErrorCallback, result: (param: chat1Types.MessageTypes['chat.1.chatUi.chatCommandStatus']['outParam']) => void}" - }, - "chat1ChatUiChatBotCommandsUpdateStatus": { - "params": "chat1Types.MessageTypes['chat.1.chatUi.chatBotCommandsUpdateStatus']['inParam'] , response: {error: chat1Types.IncomingErrorCallback, result: (param: chat1Types.MessageTypes['chat.1.chatUi.chatBotCommandsUpdateStatus']['outParam']) => void}" - }, - "chat1ChatUiTriggerContactSync": { - "params": "chat1Types.MessageTypes['chat.1.chatUi.triggerContactSync']['inParam'] , response: {error: chat1Types.IncomingErrorCallback, result: (param: chat1Types.MessageTypes['chat.1.chatUi.triggerContactSync']['outParam']) => void}" - }, - "chat1NotifyChatNewChatActivity": { - "params": "chat1Types.MessageTypes['chat.1.NotifyChat.NewChatActivity']['inParam'] " - }, - "chat1NotifyChatChatIdentifyUpdate": { - "params": "chat1Types.MessageTypes['chat.1.NotifyChat.ChatIdentifyUpdate']['inParam'] " - }, - "chat1NotifyChatChatTLFFinalize": { - "params": "chat1Types.MessageTypes['chat.1.NotifyChat.ChatTLFFinalize']['inParam'] " - }, - "chat1NotifyChatChatTLFResolve": { - "params": "chat1Types.MessageTypes['chat.1.NotifyChat.ChatTLFResolve']['inParam'] " - }, - "chat1NotifyChatChatInboxStale": { - "params": "chat1Types.MessageTypes['chat.1.NotifyChat.ChatInboxStale']['inParam'] " - }, - "chat1NotifyChatChatThreadsStale": { - "params": "chat1Types.MessageTypes['chat.1.NotifyChat.ChatThreadsStale']['inParam'] " - }, - "chat1NotifyChatChatTypingUpdate": { - "params": "chat1Types.MessageTypes['chat.1.NotifyChat.ChatTypingUpdate']['inParam'] " - }, - "chat1NotifyChatChatJoinedConversation": { - "params": "chat1Types.MessageTypes['chat.1.NotifyChat.ChatJoinedConversation']['inParam'] " - }, - "chat1NotifyChatChatLeftConversation": { - "params": "chat1Types.MessageTypes['chat.1.NotifyChat.ChatLeftConversation']['inParam'] " - }, - "chat1NotifyChatChatResetConversation": { - "params": "chat1Types.MessageTypes['chat.1.NotifyChat.ChatResetConversation']['inParam'] " - }, - "chat1NotifyChatChatInboxSyncStarted": { - "params": "chat1Types.MessageTypes['chat.1.NotifyChat.ChatInboxSyncStarted']['inParam'] " - }, - "chat1NotifyChatChatInboxSynced": { - "params": "chat1Types.MessageTypes['chat.1.NotifyChat.ChatInboxSynced']['inParam'] " - }, - "chat1NotifyChatChatSetConvRetention": { - "params": "chat1Types.MessageTypes['chat.1.NotifyChat.ChatSetConvRetention']['inParam'] " - }, - "chat1NotifyChatChatSetTeamRetention": { - "params": "chat1Types.MessageTypes['chat.1.NotifyChat.ChatSetTeamRetention']['inParam'] " - }, - "chat1NotifyChatChatSetConvSettings": { - "params": "chat1Types.MessageTypes['chat.1.NotifyChat.ChatSetConvSettings']['inParam'] " - }, - "chat1NotifyChatChatSubteamRename": { - "params": "chat1Types.MessageTypes['chat.1.NotifyChat.ChatSubteamRename']['inParam'] " - }, - "chat1NotifyChatChatKBFSToImpteamUpgrade": { - "params": "chat1Types.MessageTypes['chat.1.NotifyChat.ChatKBFSToImpteamUpgrade']['inParam'] " - }, - "chat1NotifyChatChatAttachmentUploadStart": { - "params": "chat1Types.MessageTypes['chat.1.NotifyChat.ChatAttachmentUploadStart']['inParam'] " - }, - "chat1NotifyChatChatAttachmentUploadProgress": { - "params": "chat1Types.MessageTypes['chat.1.NotifyChat.ChatAttachmentUploadProgress']['inParam'] " - }, - "chat1NotifyChatChatAttachmentDownloadProgress": { - "params": "chat1Types.MessageTypes['chat.1.NotifyChat.ChatAttachmentDownloadProgress']['inParam'] " - }, - "chat1NotifyChatChatAttachmentDownloadComplete": { - "params": "chat1Types.MessageTypes['chat.1.NotifyChat.ChatAttachmentDownloadComplete']['inParam'] " - }, - "chat1NotifyChatChatArchiveProgress": { - "params": "chat1Types.MessageTypes['chat.1.NotifyChat.ChatArchiveProgress']['inParam'] " - }, - "chat1NotifyChatChatArchiveComplete": { - "params": "chat1Types.MessageTypes['chat.1.NotifyChat.ChatArchiveComplete']['inParam'] " - }, - "chat1NotifyChatChatPaymentInfo": { - "params": "chat1Types.MessageTypes['chat.1.NotifyChat.ChatPaymentInfo']['inParam'] " - }, - "chat1NotifyChatChatRequestInfo": { - "params": "chat1Types.MessageTypes['chat.1.NotifyChat.ChatRequestInfo']['inParam'] " - }, - "chat1NotifyChatChatPromptUnfurl": { - "params": "chat1Types.MessageTypes['chat.1.NotifyChat.ChatPromptUnfurl']['inParam'] " - }, - "chat1NotifyChatChatConvUpdate": { - "params": "chat1Types.MessageTypes['chat.1.NotifyChat.ChatConvUpdate']['inParam'] " - }, - "chat1NotifyChatChatWelcomeMessageLoaded": { - "params": "chat1Types.MessageTypes['chat.1.NotifyChat.ChatWelcomeMessageLoaded']['inParam'] " - }, - "chat1NotifyChatChatParticipantsInfo": { - "params": "chat1Types.MessageTypes['chat.1.NotifyChat.ChatParticipantsInfo']['inParam'] " - }, - "keybase1GpgUiWantToAddGPGKey": { - "params": "keybase1Types.MessageTypes['keybase.1.gpgUi.wantToAddGPGKey']['inParam'] , response: {error: keybase1Types.IncomingErrorCallback, result: (param: keybase1Types.MessageTypes['keybase.1.gpgUi.wantToAddGPGKey']['outParam']) => void}" - }, - "keybase1GpgUiConfirmDuplicateKeyChosen": { - "params": "keybase1Types.MessageTypes['keybase.1.gpgUi.confirmDuplicateKeyChosen']['inParam'] , response: {error: keybase1Types.IncomingErrorCallback, result: (param: keybase1Types.MessageTypes['keybase.1.gpgUi.confirmDuplicateKeyChosen']['outParam']) => void}" - }, - "keybase1GpgUiConfirmImportSecretToExistingKey": { - "params": "keybase1Types.MessageTypes['keybase.1.gpgUi.confirmImportSecretToExistingKey']['inParam'] , response: {error: keybase1Types.IncomingErrorCallback, result: (param: keybase1Types.MessageTypes['keybase.1.gpgUi.confirmImportSecretToExistingKey']['outParam']) => void}" - }, - "keybase1GpgUiSelectKeyAndPushOption": { - "params": "keybase1Types.MessageTypes['keybase.1.gpgUi.selectKeyAndPushOption']['inParam'] , response: {error: keybase1Types.IncomingErrorCallback, result: (param: keybase1Types.MessageTypes['keybase.1.gpgUi.selectKeyAndPushOption']['outParam']) => void}" - }, - "keybase1GpgUiSelectKey": { - "params": "keybase1Types.MessageTypes['keybase.1.gpgUi.selectKey']['inParam'] , response: {error: keybase1Types.IncomingErrorCallback, result: (param: keybase1Types.MessageTypes['keybase.1.gpgUi.selectKey']['outParam']) => void}" - }, - "keybase1GpgUiSign": { - "params": "keybase1Types.MessageTypes['keybase.1.gpgUi.sign']['inParam'] , response: {error: keybase1Types.IncomingErrorCallback, result: (param: keybase1Types.MessageTypes['keybase.1.gpgUi.sign']['outParam']) => void}" - }, - "keybase1GpgUiGetTTY": { - "params": "keybase1Types.MessageTypes['keybase.1.gpgUi.getTTY']['inParam'] , response: {error: keybase1Types.IncomingErrorCallback, result: (param: keybase1Types.MessageTypes['keybase.1.gpgUi.getTTY']['outParam']) => void}" - }, - "keybase1GregorUIPushState": { - "params": "keybase1Types.MessageTypes['keybase.1.gregorUI.pushState']['inParam'] , response: {error: keybase1Types.IncomingErrorCallback, result: (param: keybase1Types.MessageTypes['keybase.1.gregorUI.pushState']['outParam']) => void}" - }, - "keybase1GregorUIPushOutOfBandMessages": { - "params": "keybase1Types.MessageTypes['keybase.1.gregorUI.pushOutOfBandMessages']['inParam'] , response: {error: keybase1Types.IncomingErrorCallback, result: (param: keybase1Types.MessageTypes['keybase.1.gregorUI.pushOutOfBandMessages']['outParam']) => void}" - }, - "keybase1HomeUIHomeUIRefresh": { - "params": "keybase1Types.MessageTypes['keybase.1.homeUI.homeUIRefresh']['inParam'] , response: {error: keybase1Types.IncomingErrorCallback, result: (param: keybase1Types.MessageTypes['keybase.1.homeUI.homeUIRefresh']['outParam']) => void}" - }, - "keybase1Identify3UiIdentify3ShowTracker": { - "params": "keybase1Types.MessageTypes['keybase.1.identify3Ui.identify3ShowTracker']['inParam'] , response: {error: keybase1Types.IncomingErrorCallback, result: (param: keybase1Types.MessageTypes['keybase.1.identify3Ui.identify3ShowTracker']['outParam']) => void}" - }, - "keybase1Identify3UiIdentify3Summary": { - "params": "keybase1Types.MessageTypes['keybase.1.identify3Ui.identify3Summary']['inParam'] , response: {error: keybase1Types.IncomingErrorCallback, result: (param: keybase1Types.MessageTypes['keybase.1.identify3Ui.identify3Summary']['outParam']) => void}" - }, - "keybase1Identify3UiIdentify3UpdateRow": { - "params": "keybase1Types.MessageTypes['keybase.1.identify3Ui.identify3UpdateRow']['inParam'] , response: {error: keybase1Types.IncomingErrorCallback, result: (param: keybase1Types.MessageTypes['keybase.1.identify3Ui.identify3UpdateRow']['outParam']) => void}" - }, - "keybase1Identify3UiIdentify3UserReset": { - "params": "keybase1Types.MessageTypes['keybase.1.identify3Ui.identify3UserReset']['inParam'] , response: {error: keybase1Types.IncomingErrorCallback, result: (param: keybase1Types.MessageTypes['keybase.1.identify3Ui.identify3UserReset']['outParam']) => void}" - }, - "keybase1Identify3UiIdentify3UpdateUserCard": { - "params": "keybase1Types.MessageTypes['keybase.1.identify3Ui.identify3UpdateUserCard']['inParam'] , response: {error: keybase1Types.IncomingErrorCallback, result: (param: keybase1Types.MessageTypes['keybase.1.identify3Ui.identify3UpdateUserCard']['outParam']) => void}" - }, - "keybase1Identify3UiIdentify3TrackerTimedOut": { - "params": "keybase1Types.MessageTypes['keybase.1.identify3Ui.identify3TrackerTimedOut']['inParam'] , response: {error: keybase1Types.IncomingErrorCallback, result: (param: keybase1Types.MessageTypes['keybase.1.identify3Ui.identify3TrackerTimedOut']['outParam']) => void}" - }, - "keybase1Identify3UiIdentify3Result": { - "params": "keybase1Types.MessageTypes['keybase.1.identify3Ui.identify3Result']['inParam'] , response: {error: keybase1Types.IncomingErrorCallback, result: (param: keybase1Types.MessageTypes['keybase.1.identify3Ui.identify3Result']['outParam']) => void}" - }, - "keybase1IdentifyUiDisplayTLFCreateWithInvite": { - "params": "keybase1Types.MessageTypes['keybase.1.identifyUi.displayTLFCreateWithInvite']['inParam'] , response: {error: keybase1Types.IncomingErrorCallback, result: (param: keybase1Types.MessageTypes['keybase.1.identifyUi.displayTLFCreateWithInvite']['outParam']) => void}" - }, - "keybase1IdentifyUiDelegateIdentifyUI": { - "params": "keybase1Types.MessageTypes['keybase.1.identifyUi.delegateIdentifyUI']['inParam'] , response: {error: keybase1Types.IncomingErrorCallback, result: (param: keybase1Types.MessageTypes['keybase.1.identifyUi.delegateIdentifyUI']['outParam']) => void}" - }, - "keybase1IdentifyUiStart": { - "params": "keybase1Types.MessageTypes['keybase.1.identifyUi.start']['inParam'] , response: {error: keybase1Types.IncomingErrorCallback, result: (param: keybase1Types.MessageTypes['keybase.1.identifyUi.start']['outParam']) => void}" - }, - "keybase1IdentifyUiDisplayKey": { - "params": "keybase1Types.MessageTypes['keybase.1.identifyUi.displayKey']['inParam'] , response: {error: keybase1Types.IncomingErrorCallback, result: (param: keybase1Types.MessageTypes['keybase.1.identifyUi.displayKey']['outParam']) => void}" - }, - "keybase1IdentifyUiReportLastTrack": { - "params": "keybase1Types.MessageTypes['keybase.1.identifyUi.reportLastTrack']['inParam'] , response: {error: keybase1Types.IncomingErrorCallback, result: (param: keybase1Types.MessageTypes['keybase.1.identifyUi.reportLastTrack']['outParam']) => void}" - }, - "keybase1IdentifyUiLaunchNetworkChecks": { - "params": "keybase1Types.MessageTypes['keybase.1.identifyUi.launchNetworkChecks']['inParam'] , response: {error: keybase1Types.IncomingErrorCallback, result: (param: keybase1Types.MessageTypes['keybase.1.identifyUi.launchNetworkChecks']['outParam']) => void}" - }, - "keybase1IdentifyUiDisplayTrackStatement": { - "params": "keybase1Types.MessageTypes['keybase.1.identifyUi.displayTrackStatement']['inParam'] , response: {error: keybase1Types.IncomingErrorCallback, result: (param: keybase1Types.MessageTypes['keybase.1.identifyUi.displayTrackStatement']['outParam']) => void}" - }, - "keybase1IdentifyUiFinishWebProofCheck": { - "params": "keybase1Types.MessageTypes['keybase.1.identifyUi.finishWebProofCheck']['inParam'] , response: {error: keybase1Types.IncomingErrorCallback, result: (param: keybase1Types.MessageTypes['keybase.1.identifyUi.finishWebProofCheck']['outParam']) => void}" - }, - "keybase1IdentifyUiFinishSocialProofCheck": { - "params": "keybase1Types.MessageTypes['keybase.1.identifyUi.finishSocialProofCheck']['inParam'] , response: {error: keybase1Types.IncomingErrorCallback, result: (param: keybase1Types.MessageTypes['keybase.1.identifyUi.finishSocialProofCheck']['outParam']) => void}" - }, - "keybase1IdentifyUiDisplayCryptocurrency": { - "params": "keybase1Types.MessageTypes['keybase.1.identifyUi.displayCryptocurrency']['inParam'] , response: {error: keybase1Types.IncomingErrorCallback, result: (param: keybase1Types.MessageTypes['keybase.1.identifyUi.displayCryptocurrency']['outParam']) => void}" - }, - "keybase1IdentifyUiDisplayStellarAccount": { - "params": "keybase1Types.MessageTypes['keybase.1.identifyUi.displayStellarAccount']['inParam'] , response: {error: keybase1Types.IncomingErrorCallback, result: (param: keybase1Types.MessageTypes['keybase.1.identifyUi.displayStellarAccount']['outParam']) => void}" - }, - "keybase1IdentifyUiReportTrackToken": { - "params": "keybase1Types.MessageTypes['keybase.1.identifyUi.reportTrackToken']['inParam'] , response: {error: keybase1Types.IncomingErrorCallback, result: (param: keybase1Types.MessageTypes['keybase.1.identifyUi.reportTrackToken']['outParam']) => void}" - }, - "keybase1IdentifyUiDisplayUserCard": { - "params": "keybase1Types.MessageTypes['keybase.1.identifyUi.displayUserCard']['inParam'] , response: {error: keybase1Types.IncomingErrorCallback, result: (param: keybase1Types.MessageTypes['keybase.1.identifyUi.displayUserCard']['outParam']) => void}" - }, - "keybase1IdentifyUiConfirm": { - "params": "keybase1Types.MessageTypes['keybase.1.identifyUi.confirm']['inParam'] , response: {error: keybase1Types.IncomingErrorCallback, result: (param: keybase1Types.MessageTypes['keybase.1.identifyUi.confirm']['outParam']) => void}" - }, - "keybase1IdentifyUiCancel": { - "params": "keybase1Types.MessageTypes['keybase.1.identifyUi.cancel']['inParam'] , response: {error: keybase1Types.IncomingErrorCallback, result: (param: keybase1Types.MessageTypes['keybase.1.identifyUi.cancel']['outParam']) => void}" - }, - "keybase1IdentifyUiFinish": { - "params": "keybase1Types.MessageTypes['keybase.1.identifyUi.finish']['inParam'] , response: {error: keybase1Types.IncomingErrorCallback, result: (param: keybase1Types.MessageTypes['keybase.1.identifyUi.finish']['outParam']) => void}" - }, - "keybase1IdentifyUiDismiss": { - "params": "keybase1Types.MessageTypes['keybase.1.identifyUi.dismiss']['inParam'] , response: {error: keybase1Types.IncomingErrorCallback, result: (param: keybase1Types.MessageTypes['keybase.1.identifyUi.dismiss']['outParam']) => void}" - }, - "keybase1LogUiLog": { - "params": "keybase1Types.MessageTypes['keybase.1.logUi.log']['inParam'] , response: {error: keybase1Types.IncomingErrorCallback, result: (param: keybase1Types.MessageTypes['keybase.1.logUi.log']['outParam']) => void}" - }, - "keybase1LoginUiGetEmailOrUsername": { - "params": "keybase1Types.MessageTypes['keybase.1.loginUi.getEmailOrUsername']['inParam'] , response: {error: keybase1Types.IncomingErrorCallback, result: (param: keybase1Types.MessageTypes['keybase.1.loginUi.getEmailOrUsername']['outParam']) => void}" - }, - "keybase1LoginUiPromptRevokePaperKeys": { - "params": "keybase1Types.MessageTypes['keybase.1.loginUi.promptRevokePaperKeys']['inParam'] , response: {error: keybase1Types.IncomingErrorCallback, result: (param: keybase1Types.MessageTypes['keybase.1.loginUi.promptRevokePaperKeys']['outParam']) => void}" - }, - "keybase1LoginUiDisplayPaperKeyPhrase": { - "params": "keybase1Types.MessageTypes['keybase.1.loginUi.displayPaperKeyPhrase']['inParam'] , response: {error: keybase1Types.IncomingErrorCallback, result: (param: keybase1Types.MessageTypes['keybase.1.loginUi.displayPaperKeyPhrase']['outParam']) => void}" - }, - "keybase1LoginUiDisplayPrimaryPaperKey": { - "params": "keybase1Types.MessageTypes['keybase.1.loginUi.displayPrimaryPaperKey']['inParam'] , response: {error: keybase1Types.IncomingErrorCallback, result: (param: keybase1Types.MessageTypes['keybase.1.loginUi.displayPrimaryPaperKey']['outParam']) => void}" - }, - "keybase1LoginUiPromptResetAccount": { - "params": "keybase1Types.MessageTypes['keybase.1.loginUi.promptResetAccount']['inParam'] , response: {error: keybase1Types.IncomingErrorCallback, result: (param: keybase1Types.MessageTypes['keybase.1.loginUi.promptResetAccount']['outParam']) => void}" - }, - "keybase1LoginUiDisplayResetProgress": { - "params": "keybase1Types.MessageTypes['keybase.1.loginUi.displayResetProgress']['inParam'] , response: {error: keybase1Types.IncomingErrorCallback, result: (param: keybase1Types.MessageTypes['keybase.1.loginUi.displayResetProgress']['outParam']) => void}" - }, - "keybase1LoginUiExplainDeviceRecovery": { - "params": "keybase1Types.MessageTypes['keybase.1.loginUi.explainDeviceRecovery']['inParam'] , response: {error: keybase1Types.IncomingErrorCallback, result: (param: keybase1Types.MessageTypes['keybase.1.loginUi.explainDeviceRecovery']['outParam']) => void}" - }, - "keybase1LoginUiPromptPassphraseRecovery": { - "params": "keybase1Types.MessageTypes['keybase.1.loginUi.promptPassphraseRecovery']['inParam'] , response: {error: keybase1Types.IncomingErrorCallback, result: (param: keybase1Types.MessageTypes['keybase.1.loginUi.promptPassphraseRecovery']['outParam']) => void}" - }, - "keybase1LoginUiChooseDeviceToRecoverWith": { - "params": "keybase1Types.MessageTypes['keybase.1.loginUi.chooseDeviceToRecoverWith']['inParam'] , response: {error: keybase1Types.IncomingErrorCallback, result: (param: keybase1Types.MessageTypes['keybase.1.loginUi.chooseDeviceToRecoverWith']['outParam']) => void}" - }, - "keybase1LoginUiDisplayResetMessage": { - "params": "keybase1Types.MessageTypes['keybase.1.loginUi.displayResetMessage']['inParam'] , response: {error: keybase1Types.IncomingErrorCallback, result: (param: keybase1Types.MessageTypes['keybase.1.loginUi.displayResetMessage']['outParam']) => void}" - }, - "keybase1LogsendPrepareLogsend": { - "params": "keybase1Types.MessageTypes['keybase.1.logsend.prepareLogsend']['inParam'] , response: {error: keybase1Types.IncomingErrorCallback, result: (param: keybase1Types.MessageTypes['keybase.1.logsend.prepareLogsend']['outParam']) => void}" - }, - "keybase1NotifyAppExit": { - "params": "keybase1Types.MessageTypes['keybase.1.NotifyApp.exit']['inParam'] , response: {error: keybase1Types.IncomingErrorCallback, result: (param: keybase1Types.MessageTypes['keybase.1.NotifyApp.exit']['outParam']) => void}" - }, - "keybase1NotifyAuditRootAuditError": { - "params": "keybase1Types.MessageTypes['keybase.1.NotifyAudit.rootAuditError']['inParam'] " - }, - "keybase1NotifyAuditBoxAuditError": { - "params": "keybase1Types.MessageTypes['keybase.1.NotifyAudit.boxAuditError']['inParam'] " - }, - "keybase1NotifyBadgesBadgeState": { - "params": "keybase1Types.MessageTypes['keybase.1.NotifyBadges.badgeState']['inParam'] " - }, - "keybase1NotifyCanUserPerformCanUserPerformChanged": { - "params": "keybase1Types.MessageTypes['keybase.1.NotifyCanUserPerform.canUserPerformChanged']['inParam'] " - }, - "keybase1NotifyDeviceCloneDeviceCloneCountChanged": { - "params": "keybase1Types.MessageTypes['keybase.1.NotifyDeviceClone.deviceCloneCountChanged']['inParam'] " - }, - "keybase1NotifyEmailAddressEmailAddressVerified": { - "params": "keybase1Types.MessageTypes['keybase.1.NotifyEmailAddress.emailAddressVerified']['inParam'] , response: {error: keybase1Types.IncomingErrorCallback, result: (param: keybase1Types.MessageTypes['keybase.1.NotifyEmailAddress.emailAddressVerified']['outParam']) => void}" - }, - "keybase1NotifyEmailAddressEmailsChanged": { - "params": "keybase1Types.MessageTypes['keybase.1.NotifyEmailAddress.emailsChanged']['inParam'] , response: {error: keybase1Types.IncomingErrorCallback, result: (param: keybase1Types.MessageTypes['keybase.1.NotifyEmailAddress.emailsChanged']['outParam']) => void}" - }, - "keybase1NotifyEphemeralNewTeamEk": { - "params": "keybase1Types.MessageTypes['keybase.1.NotifyEphemeral.newTeamEk']['inParam'] " - }, - "keybase1NotifyEphemeralNewTeambotEk": { - "params": "keybase1Types.MessageTypes['keybase.1.NotifyEphemeral.newTeambotEk']['inParam'] , response: {error: keybase1Types.IncomingErrorCallback, result: (param: keybase1Types.MessageTypes['keybase.1.NotifyEphemeral.newTeambotEk']['outParam']) => void}" - }, - "keybase1NotifyEphemeralTeambotEkNeeded": { - "params": "keybase1Types.MessageTypes['keybase.1.NotifyEphemeral.teambotEkNeeded']['inParam'] , response: {error: keybase1Types.IncomingErrorCallback, result: (param: keybase1Types.MessageTypes['keybase.1.NotifyEphemeral.teambotEkNeeded']['outParam']) => void}" - }, - "keybase1NotifyFavoritesFavoritesChanged": { - "params": "keybase1Types.MessageTypes['keybase.1.NotifyFavorites.favoritesChanged']['inParam'] " - }, - "keybase1NotifyFeaturedBotsFeaturedBotsUpdate": { - "params": "keybase1Types.MessageTypes['keybase.1.NotifyFeaturedBots.featuredBotsUpdate']['inParam'] , response: {error: keybase1Types.IncomingErrorCallback, result: (param: keybase1Types.MessageTypes['keybase.1.NotifyFeaturedBots.featuredBotsUpdate']['outParam']) => void}" - }, - "keybase1NotifyFSFSActivity": { - "params": "keybase1Types.MessageTypes['keybase.1.NotifyFS.FSActivity']['inParam'] " - }, - "keybase1NotifyFSFSPathUpdated": { - "params": "keybase1Types.MessageTypes['keybase.1.NotifyFS.FSPathUpdated']['inParam'] " - }, - "keybase1NotifyFSFSSyncActivity": { - "params": "keybase1Types.MessageTypes['keybase.1.NotifyFS.FSSyncActivity']['inParam'] , response: {error: keybase1Types.IncomingErrorCallback, result: (param: keybase1Types.MessageTypes['keybase.1.NotifyFS.FSSyncActivity']['outParam']) => void}" - }, - "keybase1NotifyFSFSEditListResponse": { - "params": "keybase1Types.MessageTypes['keybase.1.NotifyFS.FSEditListResponse']['inParam'] , response: {error: keybase1Types.IncomingErrorCallback, result: (param: keybase1Types.MessageTypes['keybase.1.NotifyFS.FSEditListResponse']['outParam']) => void}" - }, - "keybase1NotifyFSFSSyncStatusResponse": { - "params": "keybase1Types.MessageTypes['keybase.1.NotifyFS.FSSyncStatusResponse']['inParam'] , response: {error: keybase1Types.IncomingErrorCallback, result: (param: keybase1Types.MessageTypes['keybase.1.NotifyFS.FSSyncStatusResponse']['outParam']) => void}" - }, - "keybase1NotifyFSFSOverallSyncStatusChanged": { - "params": "keybase1Types.MessageTypes['keybase.1.NotifyFS.FSOverallSyncStatusChanged']['inParam'] , response: {error: keybase1Types.IncomingErrorCallback, result: (param: keybase1Types.MessageTypes['keybase.1.NotifyFS.FSOverallSyncStatusChanged']['outParam']) => void}" - }, - "keybase1NotifyFSFSFavoritesChanged": { - "params": "keybase1Types.MessageTypes['keybase.1.NotifyFS.FSFavoritesChanged']['inParam'] , response: {error: keybase1Types.IncomingErrorCallback, result: (param: keybase1Types.MessageTypes['keybase.1.NotifyFS.FSFavoritesChanged']['outParam']) => void}" - }, - "keybase1NotifyFSFSOnlineStatusChanged": { - "params": "keybase1Types.MessageTypes['keybase.1.NotifyFS.FSOnlineStatusChanged']['inParam'] , response: {error: keybase1Types.IncomingErrorCallback, result: (param: keybase1Types.MessageTypes['keybase.1.NotifyFS.FSOnlineStatusChanged']['outParam']) => void}" - }, - "keybase1NotifyFSFSSubscriptionNotifyPath": { - "params": "keybase1Types.MessageTypes['keybase.1.NotifyFS.FSSubscriptionNotifyPath']['inParam'] , response: {error: keybase1Types.IncomingErrorCallback, result: (param: keybase1Types.MessageTypes['keybase.1.NotifyFS.FSSubscriptionNotifyPath']['outParam']) => void}" - }, - "keybase1NotifyFSFSSubscriptionNotify": { - "params": "keybase1Types.MessageTypes['keybase.1.NotifyFS.FSSubscriptionNotify']['inParam'] , response: {error: keybase1Types.IncomingErrorCallback, result: (param: keybase1Types.MessageTypes['keybase.1.NotifyFS.FSSubscriptionNotify']['outParam']) => void}" - }, - "keybase1NotifyInviteFriendsUpdateInviteCounts": { - "params": "keybase1Types.MessageTypes['keybase.1.NotifyInviteFriends.updateInviteCounts']['inParam'] , response: {error: keybase1Types.IncomingErrorCallback, result: (param: keybase1Types.MessageTypes['keybase.1.NotifyInviteFriends.updateInviteCounts']['outParam']) => void}" - }, - "keybase1NotifyKeyfamilyKeyfamilyChanged": { - "params": "keybase1Types.MessageTypes['keybase.1.NotifyKeyfamily.keyfamilyChanged']['inParam'] , response: {error: keybase1Types.IncomingErrorCallback, result: (param: keybase1Types.MessageTypes['keybase.1.NotifyKeyfamily.keyfamilyChanged']['outParam']) => void}" - }, - "keybase1NotifyPaperKeyPaperKeyCached": { - "params": "keybase1Types.MessageTypes['keybase.1.NotifyPaperKey.paperKeyCached']['inParam'] , response: {error: keybase1Types.IncomingErrorCallback, result: (param: keybase1Types.MessageTypes['keybase.1.NotifyPaperKey.paperKeyCached']['outParam']) => void}" - }, - "keybase1NotifyPGPPgpKeyInSecretStoreFile": { - "params": "keybase1Types.MessageTypes['keybase.1.NotifyPGP.pgpKeyInSecretStoreFile']['inParam'] , response: {error: keybase1Types.IncomingErrorCallback, result: (param: keybase1Types.MessageTypes['keybase.1.NotifyPGP.pgpKeyInSecretStoreFile']['outParam']) => void}" - }, - "keybase1NotifyPhoneNumberPhoneNumbersChanged": { - "params": "keybase1Types.MessageTypes['keybase.1.NotifyPhoneNumber.phoneNumbersChanged']['inParam'] , response: {error: keybase1Types.IncomingErrorCallback, result: (param: keybase1Types.MessageTypes['keybase.1.NotifyPhoneNumber.phoneNumbersChanged']['outParam']) => void}" - }, - "keybase1NotifyRuntimeStatsRuntimeStatsUpdate": { - "params": "keybase1Types.MessageTypes['keybase.1.NotifyRuntimeStats.runtimeStatsUpdate']['inParam'] , response: {error: keybase1Types.IncomingErrorCallback, result: (param: keybase1Types.MessageTypes['keybase.1.NotifyRuntimeStats.runtimeStatsUpdate']['outParam']) => void}" - }, - "keybase1NotifySaltpackSaltpackOperationStart": { - "params": "keybase1Types.MessageTypes['keybase.1.NotifySaltpack.saltpackOperationStart']['inParam'] , response: {error: keybase1Types.IncomingErrorCallback, result: (param: keybase1Types.MessageTypes['keybase.1.NotifySaltpack.saltpackOperationStart']['outParam']) => void}" - }, - "keybase1NotifySaltpackSaltpackOperationProgress": { - "params": "keybase1Types.MessageTypes['keybase.1.NotifySaltpack.saltpackOperationProgress']['inParam'] , response: {error: keybase1Types.IncomingErrorCallback, result: (param: keybase1Types.MessageTypes['keybase.1.NotifySaltpack.saltpackOperationProgress']['outParam']) => void}" - }, - "keybase1NotifySaltpackSaltpackOperationDone": { - "params": "keybase1Types.MessageTypes['keybase.1.NotifySaltpack.saltpackOperationDone']['inParam'] , response: {error: keybase1Types.IncomingErrorCallback, result: (param: keybase1Types.MessageTypes['keybase.1.NotifySaltpack.saltpackOperationDone']['outParam']) => void}" - }, - "keybase1NotifyServiceHTTPSrvInfoUpdate": { - "params": "keybase1Types.MessageTypes['keybase.1.NotifyService.HTTPSrvInfoUpdate']['inParam'] , response: {error: keybase1Types.IncomingErrorCallback, result: (param: keybase1Types.MessageTypes['keybase.1.NotifyService.HTTPSrvInfoUpdate']['outParam']) => void}" - }, - "keybase1NotifyServiceHandleKeybaseLink": { - "params": "keybase1Types.MessageTypes['keybase.1.NotifyService.handleKeybaseLink']['inParam'] , response: {error: keybase1Types.IncomingErrorCallback, result: (param: keybase1Types.MessageTypes['keybase.1.NotifyService.handleKeybaseLink']['outParam']) => void}" - }, - "keybase1NotifyServiceShutdown": { - "params": "keybase1Types.MessageTypes['keybase.1.NotifyService.shutdown']['inParam'] , response: {error: keybase1Types.IncomingErrorCallback, result: (param: keybase1Types.MessageTypes['keybase.1.NotifyService.shutdown']['outParam']) => void}" - }, - "keybase1NotifySessionLoggedOut": { - "params": "keybase1Types.MessageTypes['keybase.1.NotifySession.loggedOut']['inParam'] " - }, - "keybase1NotifySessionLoggedIn": { - "params": "keybase1Types.MessageTypes['keybase.1.NotifySession.loggedIn']['inParam'] , response: {error: keybase1Types.IncomingErrorCallback, result: (param: keybase1Types.MessageTypes['keybase.1.NotifySession.loggedIn']['outParam']) => void}" - }, - "keybase1NotifySessionClientOutOfDate": { - "params": "keybase1Types.MessageTypes['keybase.1.NotifySession.clientOutOfDate']['inParam'] , response: {error: keybase1Types.IncomingErrorCallback, result: (param: keybase1Types.MessageTypes['keybase.1.NotifySession.clientOutOfDate']['outParam']) => void}" - }, - "keybase1NotifySimpleFSSimpleFSArchiveStatusChanged": { - "params": "keybase1Types.MessageTypes['keybase.1.NotifySimpleFS.simpleFSArchiveStatusChanged']['inParam'] , response: {error: keybase1Types.IncomingErrorCallback, result: (param: keybase1Types.MessageTypes['keybase.1.NotifySimpleFS.simpleFSArchiveStatusChanged']['outParam']) => void}" - }, - "keybase1NotifyTeamTeamChangedByID": { - "params": "keybase1Types.MessageTypes['keybase.1.NotifyTeam.teamChangedByID']['inParam'] , response: {error: keybase1Types.IncomingErrorCallback, result: (param: keybase1Types.MessageTypes['keybase.1.NotifyTeam.teamChangedByID']['outParam']) => void}" - }, - "keybase1NotifyTeamTeamChangedByName": { - "params": "keybase1Types.MessageTypes['keybase.1.NotifyTeam.teamChangedByName']['inParam'] , response: {error: keybase1Types.IncomingErrorCallback, result: (param: keybase1Types.MessageTypes['keybase.1.NotifyTeam.teamChangedByName']['outParam']) => void}" - }, - "keybase1NotifyTeamTeamDeleted": { - "params": "keybase1Types.MessageTypes['keybase.1.NotifyTeam.teamDeleted']['inParam'] , response: {error: keybase1Types.IncomingErrorCallback, result: (param: keybase1Types.MessageTypes['keybase.1.NotifyTeam.teamDeleted']['outParam']) => void}" - }, - "keybase1NotifyTeamTeamAbandoned": { - "params": "keybase1Types.MessageTypes['keybase.1.NotifyTeam.teamAbandoned']['inParam'] , response: {error: keybase1Types.IncomingErrorCallback, result: (param: keybase1Types.MessageTypes['keybase.1.NotifyTeam.teamAbandoned']['outParam']) => void}" - }, - "keybase1NotifyTeamTeamExit": { - "params": "keybase1Types.MessageTypes['keybase.1.NotifyTeam.teamExit']['inParam'] , response: {error: keybase1Types.IncomingErrorCallback, result: (param: keybase1Types.MessageTypes['keybase.1.NotifyTeam.teamExit']['outParam']) => void}" - }, - "keybase1NotifyTeamNewlyAddedToTeam": { - "params": "keybase1Types.MessageTypes['keybase.1.NotifyTeam.newlyAddedToTeam']['inParam'] , response: {error: keybase1Types.IncomingErrorCallback, result: (param: keybase1Types.MessageTypes['keybase.1.NotifyTeam.newlyAddedToTeam']['outParam']) => void}" - }, - "keybase1NotifyTeamTeamRoleMapChanged": { - "params": "keybase1Types.MessageTypes['keybase.1.NotifyTeam.teamRoleMapChanged']['inParam'] , response: {error: keybase1Types.IncomingErrorCallback, result: (param: keybase1Types.MessageTypes['keybase.1.NotifyTeam.teamRoleMapChanged']['outParam']) => void}" - }, - "keybase1NotifyTeamAvatarUpdated": { - "params": "keybase1Types.MessageTypes['keybase.1.NotifyTeam.avatarUpdated']['inParam'] , response: {error: keybase1Types.IncomingErrorCallback, result: (param: keybase1Types.MessageTypes['keybase.1.NotifyTeam.avatarUpdated']['outParam']) => void}" - }, - "keybase1NotifyTeamTeamMetadataUpdate": { - "params": "keybase1Types.MessageTypes['keybase.1.NotifyTeam.teamMetadataUpdate']['inParam'] , response: {error: keybase1Types.IncomingErrorCallback, result: (param: keybase1Types.MessageTypes['keybase.1.NotifyTeam.teamMetadataUpdate']['outParam']) => void}" - }, - "keybase1NotifyTeamTeamTreeMembershipsPartial": { - "params": "keybase1Types.MessageTypes['keybase.1.NotifyTeam.teamTreeMembershipsPartial']['inParam'] , response: {error: keybase1Types.IncomingErrorCallback, result: (param: keybase1Types.MessageTypes['keybase.1.NotifyTeam.teamTreeMembershipsPartial']['outParam']) => void}" - }, - "keybase1NotifyTeamTeamTreeMembershipsDone": { - "params": "keybase1Types.MessageTypes['keybase.1.NotifyTeam.teamTreeMembershipsDone']['inParam'] , response: {error: keybase1Types.IncomingErrorCallback, result: (param: keybase1Types.MessageTypes['keybase.1.NotifyTeam.teamTreeMembershipsDone']['outParam']) => void}" - }, - "keybase1NotifyTeambotNewTeambotKey": { - "params": "keybase1Types.MessageTypes['keybase.1.NotifyTeambot.newTeambotKey']['inParam'] " - }, - "keybase1NotifyTeambotTeambotKeyNeeded": { - "params": "keybase1Types.MessageTypes['keybase.1.NotifyTeambot.teambotKeyNeeded']['inParam'] , response: {error: keybase1Types.IncomingErrorCallback, result: (param: keybase1Types.MessageTypes['keybase.1.NotifyTeambot.teambotKeyNeeded']['outParam']) => void}" - }, - "keybase1NotifyTrackingTrackingChanged": { - "params": "keybase1Types.MessageTypes['keybase.1.NotifyTracking.trackingChanged']['inParam'] " - }, - "keybase1NotifyTrackingTrackingInfo": { - "params": "keybase1Types.MessageTypes['keybase.1.NotifyTracking.trackingInfo']['inParam'] , response: {error: keybase1Types.IncomingErrorCallback, result: (param: keybase1Types.MessageTypes['keybase.1.NotifyTracking.trackingInfo']['outParam']) => void}" - }, - "keybase1NotifyTrackingNotifyUserBlocked": { - "params": "keybase1Types.MessageTypes['keybase.1.NotifyTracking.notifyUserBlocked']['inParam'] , response: {error: keybase1Types.IncomingErrorCallback, result: (param: keybase1Types.MessageTypes['keybase.1.NotifyTracking.notifyUserBlocked']['outParam']) => void}" - }, - "keybase1NotifyUsersUserChanged": { - "params": "keybase1Types.MessageTypes['keybase.1.NotifyUsers.userChanged']['inParam'] " - }, - "keybase1NotifyUsersWebOfTrustChanged": { - "params": "keybase1Types.MessageTypes['keybase.1.NotifyUsers.webOfTrustChanged']['inParam'] " - }, - "keybase1NotifyUsersPasswordChanged": { - "params": "keybase1Types.MessageTypes['keybase.1.NotifyUsers.passwordChanged']['inParam'] , response: {error: keybase1Types.IncomingErrorCallback, result: (param: keybase1Types.MessageTypes['keybase.1.NotifyUsers.passwordChanged']['outParam']) => void}" - }, - "keybase1NotifyUsersIdentifyUpdate": { - "params": "keybase1Types.MessageTypes['keybase.1.NotifyUsers.identifyUpdate']['inParam'] , response: {error: keybase1Types.IncomingErrorCallback, result: (param: keybase1Types.MessageTypes['keybase.1.NotifyUsers.identifyUpdate']['outParam']) => void}" - }, - "keybase1PgpUiOutputPGPWarning": { - "params": "keybase1Types.MessageTypes['keybase.1.pgpUi.outputPGPWarning']['inParam'] , response: {error: keybase1Types.IncomingErrorCallback, result: (param: keybase1Types.MessageTypes['keybase.1.pgpUi.outputPGPWarning']['outParam']) => void}" - }, - "keybase1PgpUiOutputSignatureSuccess": { - "params": "keybase1Types.MessageTypes['keybase.1.pgpUi.outputSignatureSuccess']['inParam'] , response: {error: keybase1Types.IncomingErrorCallback, result: (param: keybase1Types.MessageTypes['keybase.1.pgpUi.outputSignatureSuccess']['outParam']) => void}" - }, - "keybase1PgpUiOutputSignatureNonKeybase": { - "params": "keybase1Types.MessageTypes['keybase.1.pgpUi.outputSignatureNonKeybase']['inParam'] , response: {error: keybase1Types.IncomingErrorCallback, result: (param: keybase1Types.MessageTypes['keybase.1.pgpUi.outputSignatureNonKeybase']['outParam']) => void}" - }, - "keybase1PgpUiKeyGenerated": { - "params": "keybase1Types.MessageTypes['keybase.1.pgpUi.keyGenerated']['inParam'] , response: {error: keybase1Types.IncomingErrorCallback, result: (param: keybase1Types.MessageTypes['keybase.1.pgpUi.keyGenerated']['outParam']) => void}" - }, - "keybase1PgpUiShouldPushPrivate": { - "params": "keybase1Types.MessageTypes['keybase.1.pgpUi.shouldPushPrivate']['inParam'] , response: {error: keybase1Types.IncomingErrorCallback, result: (param: keybase1Types.MessageTypes['keybase.1.pgpUi.shouldPushPrivate']['outParam']) => void}" - }, - "keybase1PgpUiFinished": { - "params": "keybase1Types.MessageTypes['keybase.1.pgpUi.finished']['inParam'] , response: {error: keybase1Types.IncomingErrorCallback, result: (param: keybase1Types.MessageTypes['keybase.1.pgpUi.finished']['outParam']) => void}" - }, - "keybase1ProveUiPromptOverwrite": { - "params": "keybase1Types.MessageTypes['keybase.1.proveUi.promptOverwrite']['inParam'] , response: {error: keybase1Types.IncomingErrorCallback, result: (param: keybase1Types.MessageTypes['keybase.1.proveUi.promptOverwrite']['outParam']) => void}" - }, - "keybase1ProveUiPromptUsername": { - "params": "keybase1Types.MessageTypes['keybase.1.proveUi.promptUsername']['inParam'] , response: {error: keybase1Types.IncomingErrorCallback, result: (param: keybase1Types.MessageTypes['keybase.1.proveUi.promptUsername']['outParam']) => void}" - }, - "keybase1ProveUiOutputPrechecks": { - "params": "keybase1Types.MessageTypes['keybase.1.proveUi.outputPrechecks']['inParam'] , response: {error: keybase1Types.IncomingErrorCallback, result: (param: keybase1Types.MessageTypes['keybase.1.proveUi.outputPrechecks']['outParam']) => void}" - }, - "keybase1ProveUiPreProofWarning": { - "params": "keybase1Types.MessageTypes['keybase.1.proveUi.preProofWarning']['inParam'] , response: {error: keybase1Types.IncomingErrorCallback, result: (param: keybase1Types.MessageTypes['keybase.1.proveUi.preProofWarning']['outParam']) => void}" - }, - "keybase1ProveUiOutputInstructions": { - "params": "keybase1Types.MessageTypes['keybase.1.proveUi.outputInstructions']['inParam'] , response: {error: keybase1Types.IncomingErrorCallback, result: (param: keybase1Types.MessageTypes['keybase.1.proveUi.outputInstructions']['outParam']) => void}" - }, - "keybase1ProveUiOkToCheck": { - "params": "keybase1Types.MessageTypes['keybase.1.proveUi.okToCheck']['inParam'] , response: {error: keybase1Types.IncomingErrorCallback, result: (param: keybase1Types.MessageTypes['keybase.1.proveUi.okToCheck']['outParam']) => void}" - }, - "keybase1ProveUiChecking": { - "params": "keybase1Types.MessageTypes['keybase.1.proveUi.checking']['inParam'] , response: {error: keybase1Types.IncomingErrorCallback, result: (param: keybase1Types.MessageTypes['keybase.1.proveUi.checking']['outParam']) => void}" - }, - "keybase1ProveUiContinueChecking": { - "params": "keybase1Types.MessageTypes['keybase.1.proveUi.continueChecking']['inParam'] , response: {error: keybase1Types.IncomingErrorCallback, result: (param: keybase1Types.MessageTypes['keybase.1.proveUi.continueChecking']['outParam']) => void}" - }, - "keybase1ProveUiDisplayRecheckWarning": { - "params": "keybase1Types.MessageTypes['keybase.1.proveUi.displayRecheckWarning']['inParam'] , response: {error: keybase1Types.IncomingErrorCallback, result: (param: keybase1Types.MessageTypes['keybase.1.proveUi.displayRecheckWarning']['outParam']) => void}" - }, - "keybase1ProvisionUiChooseProvisioningMethod": { - "params": "keybase1Types.MessageTypes['keybase.1.provisionUi.chooseProvisioningMethod']['inParam'] , response: {error: keybase1Types.IncomingErrorCallback, result: (param: keybase1Types.MessageTypes['keybase.1.provisionUi.chooseProvisioningMethod']['outParam']) => void}" - }, - "keybase1ProvisionUiChooseGPGMethod": { - "params": "keybase1Types.MessageTypes['keybase.1.provisionUi.chooseGPGMethod']['inParam'] , response: {error: keybase1Types.IncomingErrorCallback, result: (param: keybase1Types.MessageTypes['keybase.1.provisionUi.chooseGPGMethod']['outParam']) => void}" - }, - "keybase1ProvisionUiSwitchToGPGSignOK": { - "params": "keybase1Types.MessageTypes['keybase.1.provisionUi.switchToGPGSignOK']['inParam'] , response: {error: keybase1Types.IncomingErrorCallback, result: (param: keybase1Types.MessageTypes['keybase.1.provisionUi.switchToGPGSignOK']['outParam']) => void}" - }, - "keybase1ProvisionUiChooseDevice": { - "params": "keybase1Types.MessageTypes['keybase.1.provisionUi.chooseDevice']['inParam'] , response: {error: keybase1Types.IncomingErrorCallback, result: (param: keybase1Types.MessageTypes['keybase.1.provisionUi.chooseDevice']['outParam']) => void}" - }, - "keybase1ProvisionUiChooseDeviceType": { - "params": "keybase1Types.MessageTypes['keybase.1.provisionUi.chooseDeviceType']['inParam'] , response: {error: keybase1Types.IncomingErrorCallback, result: (param: keybase1Types.MessageTypes['keybase.1.provisionUi.chooseDeviceType']['outParam']) => void}" - }, - "keybase1ProvisionUiDisplayAndPromptSecret": { - "params": "keybase1Types.MessageTypes['keybase.1.provisionUi.DisplayAndPromptSecret']['inParam'] , response: {error: keybase1Types.IncomingErrorCallback, result: (param: keybase1Types.MessageTypes['keybase.1.provisionUi.DisplayAndPromptSecret']['outParam']) => void}" - }, - "keybase1ProvisionUiDisplaySecretExchanged": { - "params": "keybase1Types.MessageTypes['keybase.1.provisionUi.DisplaySecretExchanged']['inParam'] , response: {error: keybase1Types.IncomingErrorCallback, result: (param: keybase1Types.MessageTypes['keybase.1.provisionUi.DisplaySecretExchanged']['outParam']) => void}" - }, - "keybase1ProvisionUiPromptNewDeviceName": { - "params": "keybase1Types.MessageTypes['keybase.1.provisionUi.PromptNewDeviceName']['inParam'] , response: {error: keybase1Types.IncomingErrorCallback, result: (param: keybase1Types.MessageTypes['keybase.1.provisionUi.PromptNewDeviceName']['outParam']) => void}" - }, - "keybase1ProvisionUiProvisioneeSuccess": { - "params": "keybase1Types.MessageTypes['keybase.1.provisionUi.ProvisioneeSuccess']['inParam'] , response: {error: keybase1Types.IncomingErrorCallback, result: (param: keybase1Types.MessageTypes['keybase.1.provisionUi.ProvisioneeSuccess']['outParam']) => void}" - }, - "keybase1ProvisionUiProvisionerSuccess": { - "params": "keybase1Types.MessageTypes['keybase.1.provisionUi.ProvisionerSuccess']['inParam'] , response: {error: keybase1Types.IncomingErrorCallback, result: (param: keybase1Types.MessageTypes['keybase.1.provisionUi.ProvisionerSuccess']['outParam']) => void}" - }, - "keybase1ReachabilityReachabilityChanged": { - "params": "keybase1Types.MessageTypes['keybase.1.reachability.reachabilityChanged']['inParam'] " - }, - "keybase1RekeyUIDelegateRekeyUI": { - "params": "keybase1Types.MessageTypes['keybase.1.rekeyUI.delegateRekeyUI']['inParam'] , response: {error: keybase1Types.IncomingErrorCallback, result: (param: keybase1Types.MessageTypes['keybase.1.rekeyUI.delegateRekeyUI']['outParam']) => void}" - }, - "keybase1RekeyUIRefresh": { - "params": "keybase1Types.MessageTypes['keybase.1.rekeyUI.refresh']['inParam'] , response: {error: keybase1Types.IncomingErrorCallback, result: (param: keybase1Types.MessageTypes['keybase.1.rekeyUI.refresh']['outParam']) => void}" - }, - "keybase1RekeyUIRekeySendEvent": { - "params": "keybase1Types.MessageTypes['keybase.1.rekeyUI.rekeySendEvent']['inParam'] , response: {error: keybase1Types.IncomingErrorCallback, result: (param: keybase1Types.MessageTypes['keybase.1.rekeyUI.rekeySendEvent']['outParam']) => void}" - }, - "keybase1SaltpackUiSaltpackPromptForDecrypt": { - "params": "keybase1Types.MessageTypes['keybase.1.saltpackUi.saltpackPromptForDecrypt']['inParam'] , response: {error: keybase1Types.IncomingErrorCallback, result: (param: keybase1Types.MessageTypes['keybase.1.saltpackUi.saltpackPromptForDecrypt']['outParam']) => void}" - }, - "keybase1SaltpackUiSaltpackVerifySuccess": { - "params": "keybase1Types.MessageTypes['keybase.1.saltpackUi.saltpackVerifySuccess']['inParam'] , response: {error: keybase1Types.IncomingErrorCallback, result: (param: keybase1Types.MessageTypes['keybase.1.saltpackUi.saltpackVerifySuccess']['outParam']) => void}" - }, - "keybase1SaltpackUiSaltpackVerifyBadSender": { - "params": "keybase1Types.MessageTypes['keybase.1.saltpackUi.saltpackVerifyBadSender']['inParam'] , response: {error: keybase1Types.IncomingErrorCallback, result: (param: keybase1Types.MessageTypes['keybase.1.saltpackUi.saltpackVerifyBadSender']['outParam']) => void}" - }, - "keybase1SecretUiGetPassphrase": { - "params": "keybase1Types.MessageTypes['keybase.1.secretUi.getPassphrase']['inParam'] , response: {error: keybase1Types.IncomingErrorCallback, result: (param: keybase1Types.MessageTypes['keybase.1.secretUi.getPassphrase']['outParam']) => void}" - }, - "keybase1StreamUiClose": { - "params": "keybase1Types.MessageTypes['keybase.1.streamUi.close']['inParam'] , response: {error: keybase1Types.IncomingErrorCallback, result: (param: keybase1Types.MessageTypes['keybase.1.streamUi.close']['outParam']) => void}" - }, - "keybase1StreamUiRead": { - "params": "keybase1Types.MessageTypes['keybase.1.streamUi.read']['inParam'] , response: {error: keybase1Types.IncomingErrorCallback, result: (param: keybase1Types.MessageTypes['keybase.1.streamUi.read']['outParam']) => void}" - }, - "keybase1StreamUiReset": { - "params": "keybase1Types.MessageTypes['keybase.1.streamUi.reset']['inParam'] , response: {error: keybase1Types.IncomingErrorCallback, result: (param: keybase1Types.MessageTypes['keybase.1.streamUi.reset']['outParam']) => void}" - }, - "keybase1StreamUiWrite": { - "params": "keybase1Types.MessageTypes['keybase.1.streamUi.write']['inParam'] , response: {error: keybase1Types.IncomingErrorCallback, result: (param: keybase1Types.MessageTypes['keybase.1.streamUi.write']['outParam']) => void}" - }, - "keybase1TeamsUiConfirmRootTeamDelete": { - "params": "keybase1Types.MessageTypes['keybase.1.teamsUi.confirmRootTeamDelete']['inParam'] , response: {error: keybase1Types.IncomingErrorCallback, result: (param: keybase1Types.MessageTypes['keybase.1.teamsUi.confirmRootTeamDelete']['outParam']) => void}" - }, - "keybase1TeamsUiConfirmSubteamDelete": { - "params": "keybase1Types.MessageTypes['keybase.1.teamsUi.confirmSubteamDelete']['inParam'] , response: {error: keybase1Types.IncomingErrorCallback, result: (param: keybase1Types.MessageTypes['keybase.1.teamsUi.confirmSubteamDelete']['outParam']) => void}" - }, - "keybase1TeamsUiConfirmInviteLinkAccept": { - "params": "keybase1Types.MessageTypes['keybase.1.teamsUi.confirmInviteLinkAccept']['inParam'] , response: {error: keybase1Types.IncomingErrorCallback, result: (param: keybase1Types.MessageTypes['keybase.1.teamsUi.confirmInviteLinkAccept']['outParam']) => void}" - }, - "keybase1UiPromptYesNo": { - "params": "keybase1Types.MessageTypes['keybase.1.ui.promptYesNo']['inParam'] , response: {error: keybase1Types.IncomingErrorCallback, result: (param: keybase1Types.MessageTypes['keybase.1.ui.promptYesNo']['outParam']) => void}" - }, - "stellar1NotifyPaymentNotification": { - "params": "stellar1Types.MessageTypes['stellar.1.notify.paymentNotification']['inParam'] " - }, - "stellar1NotifyPaymentStatusNotification": { - "params": "stellar1Types.MessageTypes['stellar.1.notify.paymentStatusNotification']['inParam'] " - }, - "stellar1NotifyRequestStatusNotification": { - "params": "stellar1Types.MessageTypes['stellar.1.notify.requestStatusNotification']['inParam'] " - }, - "stellar1NotifyAccountDetailsUpdate": { - "params": "stellar1Types.MessageTypes['stellar.1.notify.accountDetailsUpdate']['inParam'] " - }, - "stellar1NotifyAccountsUpdate": { - "params": "stellar1Types.MessageTypes['stellar.1.notify.accountsUpdate']['inParam'] " - }, - "stellar1NotifyPendingPaymentsUpdate": { - "params": "stellar1Types.MessageTypes['stellar.1.notify.pendingPaymentsUpdate']['inParam'] " - }, - "stellar1NotifyRecentPaymentsUpdate": { - "params": "stellar1Types.MessageTypes['stellar.1.notify.recentPaymentsUpdate']['inParam'] " - }, - "stellar1UiPaymentReviewed": { - "params": "stellar1Types.MessageTypes['stellar.1.ui.paymentReviewed']['inParam'] , response: {error: stellar1Types.IncomingErrorCallback, result: (param: stellar1Types.MessageTypes['stellar.1.ui.paymentReviewed']['outParam']) => void}" - } - } -} \ No newline at end of file diff --git a/shared/actions/json/remote.json b/shared/actions/json/remote.json deleted file mode 100644 index 98043dd557d0..000000000000 --- a/shared/actions/json/remote.json +++ /dev/null @@ -1,57 +0,0 @@ -{ - "prelude": [ - "import type HiddenString from '@/util/hidden-string'", - "import type * as Tabs from '@/constants/tabs'" - ], - "actions": { - "openChatFromWidget": {"conversationIDKey": "string"}, - "previewConversation": {"participant": "string"}, - "inboxRefresh": {}, - "engineConnection": {"connected": "boolean"}, - "switchTab": {"tab": "Tabs.AppTab"}, - "setCriticalUpdate": {"critical": "boolean"}, - "userFileEditsLoad": {}, - "openFilesFromWidget": {"path": "string"}, - "openPathInSystemFileManager": {"path": "string"}, - "closeUnlockFolders": {}, - "unlockFoldersSubmitPaperKey": {"paperKey": "string"}, - "stop": {"exitCode": "RPCTypes.ExitCode"}, - "link": {"link": "string"}, - "saltpackFileOpen": {"path": "string | HiddenString"}, - "installerRan": { - "_description": "desktop only: the installer ran and we can start up" - }, - "dumpLogs": {"reason": ["'quitting through menu'"]}, - "showMain": {}, - "updateNow": {}, - "remoteWindowWantsProps": { - "_description": "remote electron window wants props sent", - "component": "string", - "param": "string" - }, - "updateWindowShown": {"component": "string"}, - "updateWindowMaxState": {"max": "boolean"}, - "updateWindowState": { - "_description": "main electron window wants to store its state", - "windowState": "{ dockHidden: boolean; height: number; isFullScreen: boolean; width: number; windowHidden: boolean; x: number; y: number; }" - }, - "powerMonitorEvent": {"event": "string"}, - "pinentryOnSubmit": {"password": "string"}, - "pinentryOnCancel": {}, - "trackerChangeFollow": { - "guiID": "string", - "follow": "boolean" - }, - "trackerIgnore": {"guiID": "string"}, - "trackerCloseTracker": {"guiID": "string"}, - "trackerLoad": { - "assertion": "string", - "forceDisplay?": "boolean", - "fromDaemon?": "boolean", - "guiID": "string", - "ignoreCache?": "boolean", - "reason": "string", - "inTracker": "boolean" - } - } -} diff --git a/shared/android/app/build.gradle b/shared/android/app/build.gradle index b20b867dd6fd..355f03f4c7eb 100644 --- a/shared/android/app/build.gradle +++ b/shared/android/app/build.gradle @@ -4,16 +4,14 @@ apply plugin: "com.facebook.react" apply plugin: 'com.github.triplet.play' // KB: app version -def VERSION_NAME = "6.6.2" +def VERSION_NAME = "6.7.0" // KB: Number of commits, like ios Integer getVersionCode() { - def stdout = new ByteArrayOutputStream() - exec { + def result = providers.exec { commandLine 'git', 'rev-list', 'HEAD', '--count' - standardOutput = stdout } - return Integer.parseInt(stdout.toString().trim()) + 10517785 // plus bump it so its above the old version code + return Integer.parseInt(result.standardOutput.asText.get().trim()) + 10517785 // plus bump it so its above the old version code } project.logger.lifecycle('Version code: ' + getVersionCode().toString()) @@ -121,6 +119,9 @@ android { buildTypes { debug { + ndk { + abiFilters = (findProperty('reactNativeArchitectures') ?: 'arm64-v8a').split(',').collect { it.trim() } + } } release { signingConfig signingConfigs.release @@ -136,12 +137,6 @@ android { } } - // applicationVariants are e.g. debug, release - applicationVariants.all { variant -> - variant.outputs.each { output -> - output.versionCodeOverride = getVersionCode() - } - } bundle { language { enableSplit = true @@ -170,16 +165,15 @@ dependencies { implementation jscFlavor } - implementation 'androidx.work:work-runtime:2.10.5' + implementation 'androidx.work:work-runtime:2.11.1' implementation 'androidx.multidex:multidex:2.0.1' implementation "com.google.firebase:firebase-messaging:25.0.1" implementation "com.facebook.fresco:animated-gif:${expoLibs.versions.fresco.get()}" implementation 'org.msgpack:msgpack-core:0.9.10' implementation project(':keybaselib') implementation 'com.android.installreferrer:installreferrer:2.2' - implementation "me.leolin:ShortcutBadger:1.1.22@aar" - implementation "androidx.lifecycle:lifecycle-common-java8:2.9.4" - implementation "androidx.lifecycle:lifecycle-process:2.9.4" + implementation "androidx.lifecycle:lifecycle-common-java8:2.10.0" + implementation "androidx.lifecycle:lifecycle-process:2.10.0" } // This requires a google-services.json file locally. Drop it in diff --git a/shared/android/app/src/main/java/io/keybase/ossifrage/ChatBroadcastReceiver.kt b/shared/android/app/src/main/java/io/keybase/ossifrage/ChatBroadcastReceiver.kt index e7ce43df86cc..afb2f3a7dd03 100644 --- a/shared/android/app/src/main/java/io/keybase/ossifrage/ChatBroadcastReceiver.kt +++ b/shared/android/app/src/main/java/io/keybase/ossifrage/ChatBroadcastReceiver.kt @@ -5,9 +5,7 @@ import android.app.RemoteInput import android.content.BroadcastReceiver import android.content.Context import android.content.Intent -import android.os.Build import android.os.Bundle -import androidx.annotation.RequiresApi import androidx.core.app.NotificationCompat import androidx.core.app.NotificationManagerCompat import io.keybase.ossifrage.MainActivity.Companion.setupKBRuntime @@ -15,16 +13,14 @@ import io.keybase.ossifrage.modules.NativeLogger import keybase.Keybase class ChatBroadcastReceiver : BroadcastReceiver() { - @RequiresApi(api = Build.VERSION_CODES.KITKAT_WATCH) private fun getMessageText(intent: Intent): String? { val remoteInput = RemoteInput.getResultsFromIntent(intent) return remoteInput?.getCharSequence(KEY_TEXT_REPLY)?.toString() } - @RequiresApi(api = Build.VERSION_CODES.KITKAT_WATCH) override fun onReceive(context: Context, intent: Intent) { setupKBRuntime(context, false) - val convData = ConvData(intent) + val convData = ConvData.fromIntent(intent) val openConv = intent.getParcelableExtra("openConvPendingIntent") val repliedNotification = NotificationCompat.Builder(context, KeybasePushNotificationListenerService.CHAT_CHANNEL_ID) .setContentIntent(openConv) @@ -53,30 +49,15 @@ class ChatBroadcastReceiver : BroadcastReceiver() { } companion object { - @JvmField - var KEY_TEXT_REPLY = "key_text_reply" + const val KEY_TEXT_REPLY = "key_text_reply" } } -internal class ConvData { - @JvmField - var convID: String? - var tlfName: String? - var lastMsgId: Long - - constructor(convId: String?, tlfName: String?, lastMsgId: Long) { - convID = convId - this.tlfName = tlfName - this.lastMsgId = lastMsgId - } - - constructor(intent: Intent) { - val data = intent.getBundleExtra("ConvData") - convID = data!!.getString("convID") - tlfName = data.getString("tlfName") - lastMsgId = data.getLong("lastMsgId") - } - +internal data class ConvData( + @JvmField val convID: String?, + val tlfName: String?, + val lastMsgId: Long +) { fun intoIntent(context: Context?): Intent { val data = Bundle() data.putString("convID", convID) @@ -86,4 +67,15 @@ internal class ConvData { intent.putExtra("ConvData", data) return intent } + + companion object { + fun fromIntent(intent: Intent): ConvData { + val data = intent.getBundleExtra("ConvData")!! + return ConvData( + convID = data.getString("convID"), + tlfName = data.getString("tlfName"), + lastMsgId = data.getLong("lastMsgId") + ) + } + } } diff --git a/shared/android/app/src/main/java/io/keybase/ossifrage/CustomBitmapMemoryCacheParamsSupplier.kt b/shared/android/app/src/main/java/io/keybase/ossifrage/CustomBitmapMemoryCacheParamsSupplier.kt index a7197ca9c4da..734810b2a6c9 100644 --- a/shared/android/app/src/main/java/io/keybase/ossifrage/CustomBitmapMemoryCacheParamsSupplier.kt +++ b/shared/android/app/src/main/java/io/keybase/ossifrage/CustomBitmapMemoryCacheParamsSupplier.kt @@ -2,7 +2,6 @@ package io.keybase.ossifrage import android.app.ActivityManager import android.content.Context -import android.os.Build import com.facebook.common.internal.Supplier import com.facebook.common.util.ByteConstants import com.facebook.imagepipeline.cache.MemoryCacheParams @@ -27,12 +26,10 @@ class CustomBitmapMemoryCacheParamsSupplier(context: Context) : Supplier 4 * ByteConstants.MB + maxMemory < 64 * ByteConstants.MB -> 6 * ByteConstants.MB + else -> maxMemory / CACHE_DIVISION } } diff --git a/shared/android/app/src/main/java/io/keybase/ossifrage/KBInstallReferrerListener.kt b/shared/android/app/src/main/java/io/keybase/ossifrage/KBInstallReferrerListener.kt index 6e3644f6f608..030b077e0644 100644 --- a/shared/android/app/src/main/java/io/keybase/ossifrage/KBInstallReferrerListener.kt +++ b/shared/android/app/src/main/java/io/keybase/ossifrage/KBInstallReferrerListener.kt @@ -36,17 +36,17 @@ class KBInstallReferrerListener internal constructor(_context: Context) : Native override fun onInstallReferrerSetupFinished(responseCode: Int) { Log.e("KBIR", "KBInstallReferrerListener#onInstallReferrerSetupFinished: got code $responseCode") - executor.execute(Runnable { + executor.execute { when (responseCode) { InstallReferrerClient.InstallReferrerResponse.OK -> { // Connection established handleReferrerResponseOK() - return@Runnable + return@execute } InstallReferrerClient.InstallReferrerResponse.SERVICE_DISCONNECTED -> { reconnect() - return@Runnable + return@execute } InstallReferrerClient.InstallReferrerResponse.FEATURE_NOT_SUPPORTED, InstallReferrerClient.InstallReferrerResponse.SERVICE_UNAVAILABLE, InstallReferrerClient.InstallReferrerResponse.DEVELOPER_ERROR -> // other issues, can't do much here.... @@ -54,7 +54,7 @@ class KBInstallReferrerListener internal constructor(_context: Context) : Native else -> callback!!.callbackWithString("") } - }) + } } private fun handleReferrerResponseOK() { diff --git a/shared/android/app/src/main/java/io/keybase/ossifrage/KBPushNotifier.kt b/shared/android/app/src/main/java/io/keybase/ossifrage/KBPushNotifier.kt index 2d071a144bfa..1ff93094f718 100644 --- a/shared/android/app/src/main/java/io/keybase/ossifrage/KBPushNotifier.kt +++ b/shared/android/app/src/main/java/io/keybase/ossifrage/KBPushNotifier.kt @@ -11,35 +11,26 @@ import android.graphics.PorterDuff import android.graphics.PorterDuffXfermode import android.graphics.Rect import android.net.Uri -import android.os.Build import android.os.Bundle import android.os.Handler import android.os.Looper -import androidx.annotation.RequiresApi import androidx.core.app.NotificationCompat import androidx.core.app.NotificationManagerCompat import androidx.core.app.Person import androidx.core.app.RemoteInput import androidx.core.graphics.drawable.IconCompat -import io.keybase.ossifrage.MainActivity import keybase.ChatNotification import keybase.PushNotifier import java.io.BufferedInputStream import java.io.IOException -import java.io.InputStream import java.net.HttpURLConnection import java.net.URL -import android.util.Log class KBPushNotifier internal constructor(private val context: Context, private val bundle: Bundle) : PushNotifier { private var convMsgCache: SmallMsgRingBuffer? = null private fun buildStyle(person: Person): NotificationCompat.MessagingStyle { val style = NotificationCompat.MessagingStyle(person) - if (convMsgCache != null) { - for (msg in convMsgCache!!.summary()) { - style.addMessage(msg) - } - } + convMsgCache?.summary()?.forEach { style.addMessage(it) } return style } @@ -79,7 +70,6 @@ class KBPushNotifier internal constructor(private val context: Context, private } } - @RequiresApi(api = Build.VERSION_CODES.KITKAT_WATCH) private fun newReplyAction(context: Context, convData: ConvData, openConv: PendingIntent): NotificationCompat.Action { val replyLabel = "Reply" val remoteInput = RemoteInput.Builder(ChatBroadcastReceiver.KEY_TEXT_REPLY) @@ -131,33 +121,26 @@ class KBPushNotifier internal constructor(private val context: Context, private notificationDefaults = notificationDefaults or NotificationCompat.DEFAULT_SOUND } else { val soundResource = filenameResourceName(chatNotification.soundName) - val soundUriStr = "android.resource://" + context.packageName + "/raw/" + soundResource + val soundUriStr = "android.resource://${context.packageName}/raw/$soundResource" val soundUri = Uri.parse(soundUriStr) builder.setSound(soundUri) } builder.setDefaults(notificationDefaults) - if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT_WATCH) { - builder.addAction(newReplyAction(context, convData, pending_intent)) - } + builder.addAction(newReplyAction(context, convData, pending_intent)) val msg = chatNotification.message val from = msg.from val personBuilder = Person.Builder() .setName(from?.keybaseUsername ?: "") .setBot(from?.isBot ?: false) val avatarUri = chatNotification.message.from?.keybaseAvatar - if (avatarUri != null && avatarUri.isNotEmpty()) { - val icon = getKeybaseAvatar(avatarUri) - if (icon != null) { - personBuilder.setIcon(icon) - } - } + avatarUri?.takeIf { it.isNotEmpty() }?.let { getKeybaseAvatar(it) }?.let { personBuilder.setIcon(it) } val fromPerson = personBuilder.build() - if (convMsgCache != null) { + convMsgCache?.let { cache -> var msgText = if (chatNotification.isPlaintext) chatNotification.message.plaintext else "" if (msgText.isEmpty()) { msgText = chatNotification.message.serverMessage } - convMsgCache!!.add(NotificationCompat.MessagingStyle.Message(msgText, msg.at, fromPerson)) + cache.add(NotificationCompat.MessagingStyle.Message(msgText, msg.at, fromPerson)) } val style = buildStyle(fromPerson) style.setConversationTitle(chatNotification.conversationName ?: "") diff --git a/shared/android/app/src/main/java/io/keybase/ossifrage/KBReactPackage.kt b/shared/android/app/src/main/java/io/keybase/ossifrage/KBReactPackage.kt index 4e3dd8d8c697..d47069274059 100644 --- a/shared/android/app/src/main/java/io/keybase/ossifrage/KBReactPackage.kt +++ b/shared/android/app/src/main/java/io/keybase/ossifrage/KBReactPackage.kt @@ -7,11 +7,10 @@ import com.facebook.react.uimanager.ViewManager open class KBReactPackage : ReactPackage { override fun createNativeModules(reactApplicationContext: ReactApplicationContext): List { - // modules.add(); - return ArrayList() + return emptyList() } override fun createViewManagers(reactApplicationContext: ReactApplicationContext): List> { - return mutableListOf() + return emptyList() } } diff --git a/shared/android/app/src/main/java/io/keybase/ossifrage/KeyStore.kt b/shared/android/app/src/main/java/io/keybase/ossifrage/KeyStore.kt index 66c815069010..f13e4b8ce83e 100644 --- a/shared/android/app/src/main/java/io/keybase/ossifrage/KeyStore.kt +++ b/shared/android/app/src/main/java/io/keybase/ossifrage/KeyStore.kt @@ -3,7 +3,6 @@ package io.keybase.ossifrage import android.annotation.SuppressLint import android.content.Context import android.content.SharedPreferences -import android.os.Build import android.security.keystore.KeyPermanentlyInvalidatedException import android.util.Base64 import io.keybase.ossifrage.keystore.KeyStoreHelper @@ -60,14 +59,14 @@ class KeyStore(private val context: Context, private val prefs: SharedPreference NativeLogger.info("KeyStore: getting users with stored secrets for $serviceName") return try { val keyIterator: Iterator = prefs.all.keys.iterator() - val userNames = ArrayList() + val userNames = mutableListOf() while (keyIterator.hasNext()) { val key = keyIterator.next() if (key.indexOf(sharedPrefKeyPrefix(serviceName)) == 0) { userNames.add(key.substring(sharedPrefKeyPrefix(serviceName).length)) } } - NativeLogger.info("KeyStore: got " + userNames.size + " users with stored secrets for " + serviceName) + NativeLogger.info("KeyStore: got ${userNames.size} users with stored secrets for $serviceName") val packer = MessagePack.newDefaultBufferPacker() packer.packArrayHeader(userNames.size) for (s in userNames) { @@ -91,16 +90,16 @@ class KeyStore(private val context: Context, private val prefs: SharedPreference val entry = ks.getEntry(keyStoreAlias(serviceName), null) ?: throw KeyStoreException("No RSA keys in the keystore") if (entry !is KeyStore.PrivateKeyEntry) { - throw KeyStoreException("Entry is not a PrivateKeyEntry. It is: " + entry.javaClass) + throw KeyStoreException("Entry is not a PrivateKeyEntry. It is: ${entry.javaClass}") } try { val secret = unwrapSecret(entry, wrappedSecret).encoded - NativeLogger.info("KeyStore: retrieved " + secret.size + "-byte secret for " + id) + NativeLogger.info("KeyStore: retrieved ${secret.size}-byte secret for $id") secret } catch (e: InvalidKeyException) { // Invalid key, this can happen when a user changes their lock screen from something to nothing // or enrolls a new finger. See https://developer.android.com/reference/android/security/keystore/KeyPermanentlyInvalidatedException.html - if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M && e is KeyPermanentlyInvalidatedException) { + if (e is KeyPermanentlyInvalidatedException) { NativeLogger.info("KeyStore: key no longer valid; deleting entry", e) ks.deleteEntry(keyStoreAlias(serviceName)) } @@ -150,7 +149,7 @@ class KeyStore(private val context: Context, private val prefs: SharedPreference @Throws(Exception::class) override fun storeSecret(serviceName: String, key: String, bytes: ByteArray) { val id = "$serviceName:$key" - NativeLogger.info("KeyStore: storing " + bytes.size + "-byte secret for " + id) + NativeLogger.info("KeyStore: storing ${bytes.size}-byte secret for $id") try { val entry = ks.getEntry(keyStoreAlias(serviceName), null) ?: throw KeyStoreException("No RSA keys in the keystore") @@ -160,7 +159,7 @@ class KeyStore(private val context: Context, private val prefs: SharedPreference NativeLogger.error("KeyStore: error storing secret for $id", e) throw e } - NativeLogger.info("KeyStore: stored " + bytes.size + "-byte secret for " + id) + NativeLogger.info("KeyStore: stored ${bytes.size}-byte secret for $id") } companion object { diff --git a/shared/android/app/src/main/java/io/keybase/ossifrage/KeybasePushNotificationListenerService.kt b/shared/android/app/src/main/java/io/keybase/ossifrage/KeybasePushNotificationListenerService.kt index 7b7146a92953..da3d2698d3b4 100644 --- a/shared/android/app/src/main/java/io/keybase/ossifrage/KeybasePushNotificationListenerService.kt +++ b/shared/android/app/src/main/java/io/keybase/ossifrage/KeybasePushNotificationListenerService.kt @@ -7,7 +7,6 @@ import android.os.Build import android.os.Bundle import android.os.Handler import android.os.Looper -import androidx.annotation.RequiresApi import androidx.core.app.NotificationCompat import androidx.core.app.NotificationManagerCompat import androidx.core.app.Person @@ -16,12 +15,9 @@ import com.google.firebase.messaging.RemoteMessage import io.keybase.ossifrage.MainActivity.Companion.setupKBRuntime import io.keybase.ossifrage.modules.NativeLogger import keybase.Keybase -import keybase.ChatNotification -import me.leolin.shortcutbadger.ShortcutBadger import com.reactnativekb.KbModule import org.json.JSONArray import org.json.JSONObject -import android.util.Log class KeybasePushNotificationListenerService : FirebaseMessagingService() { // This keeps a small ring buffer cache of the last 5 messages per conversation the user @@ -67,10 +63,6 @@ class KeybasePushNotificationListenerService : FirebaseMessagingService() { if (!bundle.containsKey("color")) { bundle.putString("color", data.optString("color", "")) } - val badge = data.optInt("badge", -1) - if (badge >= 0) { - ShortcutBadger.applyCount(this, badge) - } } try { val type = bundle.getString("type") @@ -249,14 +241,10 @@ class KeybasePushNotificationListenerService : FirebaseMessagingService() { } companion object { - @JvmField - var CHAT_CHANNEL_ID = "kb_chat_channel" - @JvmField - var FOLLOW_CHANNEL_ID = "kb_follow_channel" - @JvmField - var DEVICE_CHANNEL_ID = "kb_device_channel" - @JvmField - var GENERAL_CHANNEL_ID = "kb_rest_channel" + const val CHAT_CHANNEL_ID = "kb_chat_channel" + const val FOLLOW_CHANNEL_ID = "kb_follow_channel" + const val DEVICE_CHANNEL_ID = "kb_device_channel" + const val GENERAL_CHANNEL_ID = "kb_rest_channel" fun createNotificationChannel(context: Context) { // Create the NotificationChannel, but only on API 26+ because // the NotificationChannel class is new and not in the support library @@ -328,7 +316,7 @@ class SmallMsgRingBuffer { } } -internal class NotificationData @RequiresApi(api = Build.VERSION_CODES.HONEYCOMB_MR1) constructor(type: String, bundle: Bundle) { +internal class NotificationData(type: String, bundle: Bundle) { val displayPlaintext: Boolean val membersType: Int var convID: String? = null diff --git a/shared/android/app/src/main/java/io/keybase/ossifrage/MainActivity.kt b/shared/android/app/src/main/java/io/keybase/ossifrage/MainActivity.kt index aa2146487764..f0570c059f7f 100644 --- a/shared/android/app/src/main/java/io/keybase/ossifrage/MainActivity.kt +++ b/shared/android/app/src/main/java/io/keybase/ossifrage/MainActivity.kt @@ -25,7 +25,6 @@ import com.facebook.react.bridge.Arguments import com.facebook.react.bridge.ReactContext import com.facebook.react.defaults.DefaultNewArchitectureEntryPoint.fabricEnabled import com.facebook.react.defaults.DefaultReactActivityDelegate -import com.facebook.react.modules.core.DeviceEventManagerModule import com.facebook.react.modules.core.PermissionListener import com.reactnativekb.DarkModePreference import com.reactnativekb.KbModule @@ -80,11 +79,10 @@ class MainActivity : ReactActivity() { super.onCreate(null) Handler(Looper.getMainLooper()).postDelayed({ try { - var gc = GuiConfig.getInstance(filesDir) - if (gc != null) { - setBackgroundColor(gc.getDarkMode()) - } + val gc = GuiConfig.getInstance(filesDir) + gc?.let { setBackgroundColor(it.getDarkMode()) } } catch (e: Exception) { + NativeLogger.warn("Error reading GuiConfig in onCreate", e) } }, 300) KeybasePushNotificationListenerService.createNotificationChannel(this) @@ -260,6 +258,7 @@ class MainActivity : ReactActivity() { // Avoid getParcelableArrayListExtra() here: some senders incorrectly use ACTION_SEND_MULTIPLE // but provide a single Uri in EXTRA_STREAM, which would cause a ClassCast log/warning. + @Suppress("DEPRECATION") when (val streamExtra = intent.extras?.get(Intent.EXTRA_STREAM)) { is Uri -> uris.add(streamExtra) is ArrayList<*> -> streamExtra.filterIsInstance().forEach { uris.add(it) } @@ -301,10 +300,6 @@ class MainActivity : ReactActivity() { NativeLogger.info("MainActivity.handleIntent: no react context, will retry") return false } - val emitter = rc.getJSModule(DeviceEventManagerModule.RCTDeviceEventEmitter::class.java) ?: run { - NativeLogger.info("MainActivity.handleIntent: no emitter, will retry") - return false - } if (!jsIsListening) { NativeLogger.info("MainActivity.handleIntent: JS not listening yet, will retry") return false @@ -333,12 +328,12 @@ class MainActivity : ReactActivity() { val bundle1 = bundleFromNotification.clone() as Bundle val bundle2 = bundleFromNotification.clone() as Bundle val payload1 = Arguments.fromBundle(bundle1) - emitter.emit( + rc.emitDeviceEvent( "initialIntentFromNotification", payload1 ) val payload2 = Arguments.fromBundle(bundle2) - emitter.emit( + rc.emitDeviceEvent( "onPushNotification", payload2 ) @@ -389,7 +384,7 @@ class MainActivity : ReactActivity() { // Text-type intent (e.g. URL from Chrome): prefer text over any preview images val args = Arguments.createMap() args.putString("text", text ?: textPayload) - emitter.emit("onShareData", args) + rc.emitDeviceEvent("onShareData", args) didSomething = true } else if (filePaths.isNotEmpty()) { val args = Arguments.createMap() @@ -398,18 +393,18 @@ class MainActivity : ReactActivity() { lPaths.pushString(path) } args.putArray("localPaths", lPaths) - emitter.emit("onShareData", args) + rc.emitDeviceEvent("onShareData", args) didSomething = true } else if (textPayload.isNotEmpty()) { // Fallback: non-text MIME but no files resolved, send text val args = Arguments.createMap() args.putString("text", textPayload) - emitter.emit("onShareData", args) + rc.emitDeviceEvent("onShareData", args) didSomething = true } else if (uris.isNotEmpty()) { val args = Arguments.createMap() args.putArray("localPaths", Arguments.createArray()) - emitter.emit("onShareData", args) + rc.emitDeviceEvent("onShareData", args) didSomething = true } } @@ -431,11 +426,10 @@ class MainActivity : ReactActivity() { override fun onConfigurationChanged(newConfig: Configuration) { super.onConfigurationChanged(newConfig) try { - var gc = GuiConfig.getInstance(filesDir) - if (gc != null) { - setBackgroundColor(gc.getDarkMode()) - } + val gc = GuiConfig.getInstance(filesDir) + gc?.let { setBackgroundColor(it.getDarkMode()) } } catch (e: Exception) { + NativeLogger.warn("Error reading GuiConfig in onConfigurationChanged", e) } if (newConfig.hardKeyboardHidden == Configuration.HARDKEYBOARDHIDDEN_NO) { isUsingHardwareKeyboard = true @@ -445,13 +439,12 @@ class MainActivity : ReactActivity() { } fun setBackgroundColor(pref: DarkModePreference) { - val bgColor: Int - bgColor = if (pref == DarkModePreference.System) { - if (colorSchemeForCurrentConfiguration() == "light") R.color.white else R.color.black - } else if (pref == DarkModePreference.AlwaysDark) { - R.color.black - } else { - R.color.white + val bgColor = when (pref) { + DarkModePreference.System -> { + if (colorSchemeForCurrentConfiguration() == "light") R.color.white else R.color.black + } + DarkModePreference.AlwaysDark -> R.color.black + DarkModePreference.AlwaysLight -> R.color.white } val mainWindow = this.window val handler = Handler(Looper.getMainLooper()) diff --git a/shared/android/app/src/main/java/io/keybase/ossifrage/MainApplication.kt b/shared/android/app/src/main/java/io/keybase/ossifrage/MainApplication.kt index 5fc27ec8065b..b5c2d0a7eb2f 100644 --- a/shared/android/app/src/main/java/io/keybase/ossifrage/MainApplication.kt +++ b/shared/android/app/src/main/java/io/keybase/ossifrage/MainApplication.kt @@ -1,5 +1,3 @@ -@file:Suppress("DEPRECATION") - package io.keybase.ossifrage import android.app.Application @@ -8,7 +6,6 @@ import android.content.res.Configuration import androidx.lifecycle.DefaultLifecycleObserver import androidx.lifecycle.LifecycleOwner import androidx.lifecycle.ProcessLifecycleOwner -import androidx.multidex.MultiDex import androidx.work.PeriodicWorkRequest import androidx.work.WorkManager import androidx.work.WorkRequest @@ -17,21 +14,17 @@ import com.facebook.react.PackageList import com.facebook.react.ReactApplication import com.facebook.react.ReactHost import com.facebook.react.ReactNativeApplicationEntryPoint.loadReactNative -import com.facebook.react.ReactNativeHost import com.facebook.react.ReactPackage import com.facebook.react.bridge.ReactContext import com.facebook.react.common.ReleaseLevel import com.facebook.react.defaults.DefaultNewArchitectureEntryPoint -import com.facebook.react.defaults.DefaultReactHost.getDefaultReactHost -import com.facebook.react.defaults.DefaultReactNativeHost import expo.modules.ApplicationLifecycleDispatcher.onApplicationCreate import expo.modules.ApplicationLifecycleDispatcher.onConfigurationChanged +import expo.modules.ExpoReactHostFactory import io.keybase.ossifrage.modules.BackgroundSyncWorker import io.keybase.ossifrage.modules.NativeLogger import keybase.Keybase import java.util.concurrent.TimeUnit -import expo.modules.ApplicationLifecycleDispatcher -import expo.modules.ReactNativeHostWrapper internal class AppLifecycleListener(private val context: Context?) : DefaultLifecycleObserver { @@ -40,29 +33,22 @@ internal class AppLifecycleListener(private val context: Context?) : try { Glide.get(context!!).clearDiskCache() } catch (e: Exception) { + NativeLogger.warn("AppLifecycleListener: error clearing Glide disk cache", e) } }.start() } } class MainApplication : Application(), ReactApplication { - // ReactNativeHost is still required by getDefaultReactHost even in new architecture - @Suppress("DEPRECATION", "OVERRIDE_DEPRECATION") - override val reactNativeHost: ReactNativeHost = ReactNativeHostWrapper( - this, - object : DefaultReactNativeHost(this) { - override fun getPackages(): List = - PackageList(this).packages.apply { - add(KBReactPackage()) - } - override fun getJSMainModuleName(): String = "index" - override fun getUseDeveloperSupport(): Boolean = BuildConfig.DEBUG - override val isNewArchEnabled: Boolean = true - }) - - override val reactHost: ReactHost - get() = getDefaultReactHost(applicationContext, reactNativeHost) + override val reactHost: ReactHost by lazy { + ExpoReactHostFactory.getDefaultReactHost( + context = applicationContext, + packageList = PackageList(this).packages.apply { + add(KBReactPackage()) + } + ) + } override fun onCreate() { @@ -95,11 +81,6 @@ class MainApplication : Application(), ReactApplication { ) } - override fun attachBaseContext(base: Context) { - super.attachBaseContext(base) - MultiDex.install(this) - } - override fun onConfigurationChanged(newConfig: Configuration) { super.onConfigurationChanged(newConfig) onConfigurationChanged(this, newConfig) diff --git a/shared/android/app/src/main/java/io/keybase/ossifrage/keystore/KeyStoreHelper.kt b/shared/android/app/src/main/java/io/keybase/ossifrage/keystore/KeyStoreHelper.kt index 5cd423eeacde..5be3d797d87b 100644 --- a/shared/android/app/src/main/java/io/keybase/ossifrage/keystore/KeyStoreHelper.kt +++ b/shared/android/app/src/main/java/io/keybase/ossifrage/keystore/KeyStoreHelper.kt @@ -1,8 +1,6 @@ package io.keybase.ossifrage.keystore -import android.annotation.TargetApi import android.content.Context -import android.os.Build import android.security.keystore.KeyGenParameterSpec import android.security.keystore.KeyProperties import java.math.BigInteger @@ -11,41 +9,22 @@ import java.security.KeyPairGenerator import java.security.KeyStoreException import java.security.NoSuchAlgorithmException import java.security.NoSuchProviderException -import java.security.spec.AlgorithmParameterSpec import java.util.Calendar import javax.security.auth.x500.X500Principal object KeyStoreHelper { - @TargetApi(Build.VERSION_CODES.KITKAT) @Throws(KeyStoreException::class, NoSuchProviderException::class, NoSuchAlgorithmException::class, InvalidAlgorithmParameterException::class) fun generateRSAKeyPair(ctx: Context?, keyAlias: String) { val kpg = KeyPairGenerator.getInstance(KeyProperties.KEY_ALGORITHM_RSA, "AndroidKeyStore") - val spec: AlgorithmParameterSpec - val endTime = Calendar.getInstance() - endTime.add(Calendar.YEAR, 10) - - if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) { - spec = KeyGenParameterSpec.Builder( - keyAlias, - KeyProperties.PURPOSE_ENCRYPT or KeyProperties.PURPOSE_DECRYPT) - .setBlockModes(KeyProperties.BLOCK_MODE_ECB) - .setEncryptionPaddings(KeyProperties.ENCRYPTION_PADDING_RSA_PKCS1) - .setCertificateSerialNumber(BigInteger.ONE) - .setCertificateSubject(X500Principal("CN=$keyAlias")) - .setKeySize(2048) - .build() - } else { - @Suppress("DEPRECATION") - spec = android.security.KeyPairGeneratorSpec.Builder(ctx!!) - .setAlias(keyAlias) - .setEncryptionRequired() - .setSerialNumber(BigInteger.ONE) - .setSubject(X500Principal("CN=$keyAlias")) - .setStartDate(Calendar.getInstance().time) - .setEndDate(endTime.time) - .setKeySize(2048) - .build() - } + val spec = KeyGenParameterSpec.Builder( + keyAlias, + KeyProperties.PURPOSE_ENCRYPT or KeyProperties.PURPOSE_DECRYPT) + .setBlockModes(KeyProperties.BLOCK_MODE_ECB) + .setEncryptionPaddings(KeyProperties.ENCRYPTION_PADDING_RSA_PKCS1) + .setCertificateSerialNumber(BigInteger.ONE) + .setCertificateSubject(X500Principal("CN=$keyAlias")) + .setKeySize(2048) + .build() kpg.initialize(spec) kpg.generateKeyPair() } diff --git a/shared/android/app/src/main/java/io/keybase/ossifrage/modules/NativeLogger.kt b/shared/android/app/src/main/java/io/keybase/ossifrage/modules/NativeLogger.kt index c185214df84c..cfd9c3eb532d 100644 --- a/shared/android/app/src/main/java/io/keybase/ossifrage/modules/NativeLogger.kt +++ b/shared/android/app/src/main/java/io/keybase/ossifrage/modules/NativeLogger.kt @@ -18,7 +18,7 @@ class NativeLogger(reactContext: ReactApplicationContext?) : ReactContextBaseJav private fun formatLine(tagPrefix: String, toLog: String): String { // Copies the Style JS outputs in native/logger.native.tsx - return tagPrefix + NAME + ": [" + System.currentTimeMillis() + ",\"" + toLog + "\"]" + return "${tagPrefix}${NAME}: [${System.currentTimeMillis()},\"$toLog\"]" } fun error(log: String) { diff --git a/shared/android/app/src/main/java/io/keybase/ossifrage/modules/StorybookConstants.kt b/shared/android/app/src/main/java/io/keybase/ossifrage/modules/StorybookConstants.kt index e24f193135ab..b888175bdafd 100644 --- a/shared/android/app/src/main/java/io/keybase/ossifrage/modules/StorybookConstants.kt +++ b/shared/android/app/src/main/java/io/keybase/ossifrage/modules/StorybookConstants.kt @@ -6,8 +6,8 @@ import io.keybase.ossifrage.BuildConfig class StorybookConstants(reactContext: ReactApplicationContext?) : ReactContextBaseJavaModule(reactContext) { override fun getConstants(): Map? { - val isStoryBook = BuildConfig.BUILD_TYPE === "storyBook" - val constants: MutableMap = HashMap() + val isStoryBook = BuildConfig.BUILD_TYPE == "storyBook" + val constants: MutableMap = mutableMapOf() constants["isStorybook"] = isStoryBook return constants } diff --git a/shared/android/app/src/main/java/io/keybase/ossifrage/util/DeviceLockType.kt b/shared/android/app/src/main/java/io/keybase/ossifrage/util/DeviceLockType.kt index 649ce9328e2a..11a60a3bf0c9 100644 --- a/shared/android/app/src/main/java/io/keybase/ossifrage/util/DeviceLockType.kt +++ b/shared/android/app/src/main/java/io/keybase/ossifrage/util/DeviceLockType.kt @@ -73,25 +73,26 @@ object DeviceLockType { fun getCurrent(contentResolver: ContentResolver?): Int { val mode = Settings.Secure.getLong(contentResolver, PASSWORD_TYPE_KEY, DevicePolicyManager.PASSWORD_QUALITY_SOMETHING.toLong()) - return if (mode == DevicePolicyManager.PASSWORD_QUALITY_SOMETHING.toLong()) { - @Suppress("DEPRECATION") - if (Settings.Secure.getInt(contentResolver, Settings.Secure.LOCK_PATTERN_ENABLED, 0) == 1) { - PATTERN - } else NONE_OR_SLIDER - } else if (mode == DevicePolicyManager.PASSWORD_QUALITY_BIOMETRIC_WEAK.toLong()) { - val dataDirPath = Environment.getDataDirectory().absolutePath - if (nonEmptyFileExists("$dataDirPath/system/gesture.key")) { - FACE_WITH_PATTERN - } else if (nonEmptyFileExists("$dataDirPath/system/password.key")) { - FACE_WITH_PIN - } else FACE_WITH_SOMETHING_ELSE - } else if (mode == DevicePolicyManager.PASSWORD_QUALITY_ALPHANUMERIC.toLong()) { - PASSWORD_ALPHANUMERIC - } else if (mode == DevicePolicyManager.PASSWORD_QUALITY_ALPHABETIC.toLong()) { - PASSWORD_ALPHABETIC - } else if (mode == DevicePolicyManager.PASSWORD_QUALITY_NUMERIC.toLong()) { - PIN - } else SOMETHING_ELSE + return when (mode) { + DevicePolicyManager.PASSWORD_QUALITY_SOMETHING.toLong() -> { + @Suppress("DEPRECATION") + if (Settings.Secure.getInt(contentResolver, Settings.Secure.LOCK_PATTERN_ENABLED, 0) == 1) { + PATTERN + } else NONE_OR_SLIDER + } + DevicePolicyManager.PASSWORD_QUALITY_BIOMETRIC_WEAK.toLong() -> { + val dataDirPath = Environment.getDataDirectory().absolutePath + if (nonEmptyFileExists("$dataDirPath/system/gesture.key")) { + FACE_WITH_PATTERN + } else if (nonEmptyFileExists("$dataDirPath/system/password.key")) { + FACE_WITH_PIN + } else FACE_WITH_SOMETHING_ELSE + } + DevicePolicyManager.PASSWORD_QUALITY_ALPHANUMERIC.toLong() -> PASSWORD_ALPHANUMERIC + DevicePolicyManager.PASSWORD_QUALITY_ALPHABETIC.toLong() -> PASSWORD_ALPHABETIC + DevicePolicyManager.PASSWORD_QUALITY_NUMERIC.toLong() -> PIN + else -> SOMETHING_ELSE + } } private fun nonEmptyFileExists(filename: String): Boolean { diff --git a/shared/android/build.gradle b/shared/android/build.gradle index 8cd3c9b909e9..a322cb3cfcea 100644 --- a/shared/android/build.gradle +++ b/shared/android/build.gradle @@ -18,7 +18,7 @@ buildscript { classpath("org.jetbrains.kotlin:kotlin-gradle-plugin") classpath("com.github.triplet.gradle:play-publisher:3.7.0") // To publish from gradle - classpath("com.google.gms:google-services:4.4.0") + classpath("com.google.gms:google-services:4.4.4") } } diff --git a/shared/android/gradle.properties b/shared/android/gradle.properties index 5a5baf921a77..82d3dac13d3b 100644 --- a/shared/android/gradle.properties +++ b/shared/android/gradle.properties @@ -2,7 +2,8 @@ # The setting is particularly useful for tweaking memory settings. # Default value: -Xmx512m -XX:MaxMetaspaceSize=256m # org.gradle.jvmargs=-Xmx2048m -XX:MaxMetaspaceSize=512m -org.gradle.jvmargs=-Xmx4096m -XX:MaxMetaspaceSize=1024m +org.gradle.jvmargs=-Xmx4096m -XX:MaxMetaspaceSize=1024m -XX:+UseG1GC -XX:+UseStringDeduplication +org.gradle.caching=true # When configured, Gradle will run in incubating parallel mode. # This option should only be used with decoupled projects. More details, visit diff --git a/shared/android/gradle/wrapper/gradle-wrapper.properties b/shared/android/gradle/wrapper/gradle-wrapper.properties index 91559e4ef1b7..aa3412994495 100644 --- a/shared/android/gradle/wrapper/gradle-wrapper.properties +++ b/shared/android/gradle/wrapper/gradle-wrapper.properties @@ -1,7 +1,7 @@ #Mon May 06 15:15:57 PDT 2019 distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-8.14.3-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-9.0.0-bin.zip networkTimeout=10000 validateDistributionUrl=true zipStoreBase=GRADLE_USER_HOME diff --git a/shared/app.json b/shared/app.json new file mode 100644 index 000000000000..924c4d53c9c9 --- /dev/null +++ b/shared/app.json @@ -0,0 +1,14 @@ +{ + "expo": { + "name": "Keybase", + "slug": "keybase", + "version": "6.7.0", + "scheme": "keybase", + "ios": { + "bundleIdentifier": "keybase.ios" + }, + "android": { + "package": "io.keybase.ossifrage" + } + } +} diff --git a/shared/app/global-errors.tsx b/shared/app/global-errors.tsx new file mode 100644 index 000000000000..488fb0f1382a --- /dev/null +++ b/shared/app/global-errors.tsx @@ -0,0 +1,321 @@ +import * as C from '@/constants' +import * as Kb from '@/common-adapters' +import * as React from 'react' +import logger from '@/logger' +import {ignoreDisconnectOverlay} from '@/local-debug' +import {useConfigState} from '@/stores/config' +import type {RPCError} from '@/util/errors' +import {settingsFeedbackTab} from '@/constants/settings' +import {useDaemonState} from '@/stores/daemon' + +type Size = 'Closed' | 'Small' | 'Big' + +const summaryForError = (err?: Error | RPCError) => err?.message ?? '' +const detailsForError = (err?: Error | RPCError) => err?.stack ?? '' + +const maxHeightForSize = (size: Size) => { + return { + Big: 900, + Closed: 0, + Small: 35, + }[size] +} + +const useData = () => { + const loggedIn = useConfigState(s => s.loggedIn) + const daemonError = useDaemonState(s => s.error) + const error = useConfigState(s => s.globalError) + const setGlobalError = useConfigState(s => s.dispatch.setGlobalError) + const clearModals = C.useRouterState(s => s.dispatch.clearModals) + const navigateAppend = C.useRouterState(s => s.dispatch.navigateAppend) + const onFeedback = () => { + setGlobalError() + if (loggedIn) { + clearModals() + navigateAppend(settingsFeedbackTab) + } else { + navigateAppend('feedback') + } + } + const onDismiss = () => { + setGlobalError() + } + + const [cachedSummary, setSummary] = React.useState(summaryForError(error)) + const [cachedDetails, setDetails] = React.useState(detailsForError(error)) + const [size, setSize] = React.useState('Closed') + const countdownTimerRef = React.useRef>(undefined) + + const clearCountdown = () => { + countdownTimerRef.current && clearTimeout(countdownTimerRef.current) + countdownTimerRef.current = undefined + } + + const onExpandClick = () => { + setSize('Big') + if (!C.isMobile) { + clearCountdown() + } + } + + C.useOnUnMountOnce(() => { + clearCountdown() + }) + + React.useEffect(() => { + const id = setTimeout( + () => { + setDetails(detailsForError(error)) + if (!C.isMobile) { + setSummary(summaryForError(error)) + } + }, + error ? 0 : 7000 + ) // if it's set, do it immediately, if it's cleared set it in a bit + const newError = !!error + setSize(newError ? 'Small' : 'Closed') + if (!C.isMobile) { + if (countdownTimerRef.current) clearTimeout(countdownTimerRef.current) + countdownTimerRef.current = undefined + if (newError) { + countdownTimerRef.current = setTimeout(() => { + setGlobalError() + }, 10000) + } + } + return () => { + clearTimeout(id) + } + }, [error, setGlobalError]) + + return { + cachedDetails, + cachedSummary, + daemonError, + error, + onDismiss, + onExpandClick, + onFeedback, + size, + } +} + +const GlobalError = () => { + const d = useData() + const {daemonError, error, onDismiss, onFeedback} = d + const {cachedDetails, cachedSummary, size, onExpandClick} = d + + if (size === 'Closed') { + return null + } + + if (!daemonError && !error) { + return null + } + + if (daemonError) { + if (C.isMobile) { + return null + } + if (ignoreDisconnectOverlay) { + logger.warn('Ignoring disconnect overlay') + return null + } + + const message = daemonError.message || 'Keybase is currently unreachable. Trying to reconnect you…' + return ( + + + + {message} + + + + + + + ) + } + + if (C.isMobile) { + return ( + + + + + + {size !== 'Big' && ( + + )} + {' '} + An error occurred. + + + + + + + + {size === 'Big' && ( + + + {error?.message} + {'\n\n'} + {cachedDetails} + + + )} + + ) + } + + const summary = cachedSummary + const details = cachedDetails + + let stylesContainer: Kb.Styles.StylesCrossPlatform + switch (size) { + case 'Big': + stylesContainer = styles.containerBig + break + case 'Small': + stylesContainer = styles.containerSmall + break + } + + return ( + + + + {summary} + + + {summary && ( + + )} + + + + {details} + + + + ) +} + +const styles = Kb.Styles.styleSheetCreate(() => { + const containerBase = { + left: 0, + overflow: 'hidden' as const, + position: 'absolute' as const, + right: 0, + top: 40, + zIndex: 1000, + ...Kb.Styles.transition('max-height'), + } + + return { + containerBig: Kb.Styles.platformStyles({ + isElectron: {...containerBase, maxHeight: maxHeightForSize('Big')}, + }), + containerOverlay: { + ...Kb.Styles.globalStyles.fillAbsolute, + zIndex: 1000, + }, + containerSmall: Kb.Styles.platformStyles({ + isElectron: {...containerBase, maxHeight: maxHeightForSize('Small')}, + }), + details: { + backgroundColor: Kb.Styles.globalColors.black, + color: Kb.Styles.globalColors.white_75, + ...Kb.Styles.padding(8, Kb.Styles.globalMargins.xlarge), + }, + innerContainer: { + ...Kb.Styles.globalStyles.flexBoxCenter, + backgroundColor: Kb.Styles.globalColors.black, + gap: Kb.Styles.globalMargins.small, + minHeight: maxHeightForSize('Small'), + ...Kb.Styles.padding(Kb.Styles.globalMargins.xtiny, Kb.Styles.globalMargins.small), + }, + message: { + color: Kb.Styles.globalColors.white, + }, + mobileContainer: { + backgroundColor: Kb.Styles.globalColors.black, + position: 'absolute', + top: 0, + }, + mobileDetails: { + color: Kb.Styles.globalColors.white_75, + fontSize: 14, + lineHeight: 19, + ...Kb.Styles.padding(Kb.Styles.globalMargins.tiny, Kb.Styles.globalMargins.xtiny, Kb.Styles.globalMargins.xtiny), + }, + mobileErrorText: { + color: Kb.Styles.globalColors.white, + flex: 1, + }, + mobileErrorTextContainer: { + paddingBottom: Kb.Styles.globalMargins.xtiny, + position: 'relative', + }, + mobileSafeAreaView: { + backgroundColor: Kb.Styles.globalColors.transparent, + flexGrow: 0, + }, + mobileSummaryRow: { + alignItems: 'center', + flexShrink: 0, + justifyContent: 'center', + ...Kb.Styles.padding(Kb.Styles.globalMargins.tiny, Kb.Styles.globalMargins.xsmall), + }, + overlayFill: { + ...Kb.Styles.globalStyles.flexBoxCenter, + backgroundColor: Kb.Styles.globalColors.white, + }, + overlayRow: { + ...Kb.Styles.globalStyles.flexBoxCenter, + backgroundColor: Kb.Styles.globalColors.blue, + padding: 8, + }, + summary: { + color: Kb.Styles.globalColors.white, + flex: 1, + }, + } as const +}) + +export default GlobalError diff --git a/shared/app/global-errors/hook.tsx b/shared/app/global-errors/hook.tsx deleted file mode 100644 index 646d872c8f90..000000000000 --- a/shared/app/global-errors/hook.tsx +++ /dev/null @@ -1,103 +0,0 @@ -import * as C from '@/constants' -import * as React from 'react' -import {useConfigState} from '@/constants/config' -import type {RPCError} from '@/util/errors' -import {settingsFeedbackTab} from '@/constants/settings/util' -import {useDaemonState} from '@/constants/daemon' - -export type Size = 'Closed' | 'Small' | 'Big' - -const summaryForError = (err?: Error | RPCError) => err?.message ?? '' -const detailsForError = (err?: Error | RPCError) => err?.stack ?? '' - -const useData = () => { - const loggedIn = useConfigState(s => s.loggedIn) - const daemonError = useDaemonState(s => s.error) - const error = useConfigState(s => s.globalError) - const setGlobalError = useConfigState(s => s.dispatch.setGlobalError) - const clearModals = C.useRouterState(s => s.dispatch.clearModals) - const navigateAppend = C.useRouterState(s => s.dispatch.navigateAppend) - const onFeedback = React.useCallback(() => { - setGlobalError() - if (loggedIn) { - clearModals() - navigateAppend(settingsFeedbackTab) - } else { - navigateAppend('feedback') - } - }, [navigateAppend, clearModals, loggedIn, setGlobalError]) - const copyToClipboard = useConfigState(s => s.dispatch.dynamic.copyToClipboard) - const onDismiss = React.useCallback(() => { - setGlobalError() - }, [setGlobalError]) - - const [cachedSummary, setSummary] = React.useState(summaryForError(error)) - const [cachedDetails, setDetails] = React.useState(detailsForError(error)) - const [size, setSize] = React.useState('Closed') - const countdownTimerRef = React.useRef>(undefined) - - const clearCountdown = React.useCallback(() => { - countdownTimerRef.current && clearTimeout(countdownTimerRef.current) - countdownTimerRef.current = undefined - }, [countdownTimerRef]) - - const onExpandClick = React.useCallback(() => { - setSize('Big') - if (!C.isMobile) { - clearCountdown() - } - }, [clearCountdown]) - - const resetError = React.useCallback( - (newError: boolean) => { - setSize(newError ? 'Small' : 'Closed') - if (!C.isMobile) { - clearCountdown() - if (newError) { - countdownTimerRef.current = setTimeout(() => { - onDismiss() - }, 10000) - } - } - }, - [clearCountdown, onDismiss] - ) - - C.useOnUnMountOnce(() => { - clearCountdown() - }) - - C.useOnMountOnce(() => { - resetError(!!error) - }) - - React.useEffect(() => { - const id = setTimeout( - () => { - setDetails(detailsForError(error)) - if (!C.isMobile) { - setSummary(summaryForError(error)) - } - }, - error ? 0 : 7000 - ) // if it's set, do it immediately, if it's cleared set it in a bit - resetError(!!error) - return () => { - clearTimeout(id) - } - }, [error, resetError]) - - return { - cachedDetails, - cachedSummary, - copyToClipboard, - daemonError, - error, - onDismiss, - onExpandClick, - onFeedback, - size, - } -} - -export default useData diff --git a/shared/app/global-errors/index.d.ts b/shared/app/global-errors/index.d.ts deleted file mode 100644 index 695dd42f1e55..000000000000 --- a/shared/app/global-errors/index.d.ts +++ /dev/null @@ -1,3 +0,0 @@ -import type * as React from 'react' -declare const GlobalError: () => React.ReactNode -export default GlobalError diff --git a/shared/app/global-errors/index.desktop.tsx b/shared/app/global-errors/index.desktop.tsx deleted file mode 100644 index 815396255845..000000000000 --- a/shared/app/global-errors/index.desktop.tsx +++ /dev/null @@ -1,185 +0,0 @@ -import logger from '@/logger' -import * as Kb from '@/common-adapters' -import {ignoreDisconnectOverlay} from '@/local-debug.desktop' -import useData, {type Size} from './hook' - -const maxHeightForSize = (size: Size) => { - return { - Big: 900, - Closed: 0, - Small: 35, - }[size] -} - -const GlobalError = () => { - const d = useData() - const {daemonError, error, onDismiss, onFeedback} = d - const {cachedDetails, cachedSummary, size, onExpandClick} = d - - if (size === 'Closed') { - return null - } - - if (!daemonError && !error) { - return null - } - - if (daemonError) { - if (ignoreDisconnectOverlay) { - logger.warn('Ignoring disconnect overlay') - return null - } - - const message = daemonError.message || 'Keybase is currently unreachable. Trying to reconnect you…' - return ( - - - - {message} - - - - - - - ) - } else { - const summary = cachedSummary - const details = cachedDetails - - let stylesContainer: Kb.Styles.StylesCrossPlatform - switch (size) { - case 'Big': - stylesContainer = styles.containerBig - break - case 'Small': - stylesContainer = styles.containerSmall - break - } - - return ( - - - - {summary} - - - {summary && ( - - )} - - - - {details} - - - - ) - } -} - -const styles = Kb.Styles.styleSheetCreate(() => { - const containerBase = { - ...Kb.Styles.globalStyles.flexBoxColumn, - left: 0, - overflow: 'hidden', - position: 'absolute', - right: 0, - top: 40, - zIndex: 1000, - ...Kb.Styles.transition('max-height'), - } as const - - return { - closeIcon: { - position: 'absolute', - right: Kb.Styles.globalMargins.xsmall, - top: 10, - }, - containerBig: Kb.Styles.platformStyles({ - isElectron: {...containerBase, maxHeight: maxHeightForSize('Big')}, - }), - containerClosed: Kb.Styles.platformStyles({ - isElectron: {...containerBase, maxHeight: maxHeightForSize('Closed')}, - }), - containerOverlay: { - ...Kb.Styles.globalStyles.flexBoxColumn, - bottom: 0, - left: 0, - position: 'absolute', - right: 0, - top: 0, - zIndex: 1000, - }, - containerSmall: Kb.Styles.platformStyles({ - isElectron: {...containerBase, maxHeight: maxHeightForSize('Small')}, - }), - details: { - backgroundColor: Kb.Styles.globalColors.black, - color: Kb.Styles.globalColors.white_75, - padding: 8, - paddingLeft: Kb.Styles.globalMargins.xlarge, - paddingRight: Kb.Styles.globalMargins.xlarge, - }, - feedbackButton: { - marginRight: Kb.Styles.globalMargins.large, - }, - innerContainer: { - ...Kb.Styles.globalStyles.flexBoxRow, - alignItems: 'center', - backgroundColor: Kb.Styles.globalColors.black, - flex: 1, - justifyContent: 'center', - minHeight: maxHeightForSize('Small'), - padding: Kb.Styles.globalMargins.xtiny, - position: 'relative', - }, - message: { - color: Kb.Styles.globalColors.white, - }, - overlayFill: { - ...Kb.Styles.globalStyles.flexBoxColumn, - alignItems: 'center', - backgroundColor: Kb.Styles.globalColors.white, - flex: 1, - justifyContent: 'center', - }, - overlayRow: { - ...Kb.Styles.globalStyles.flexBoxRow, - alignItems: 'center', - backgroundColor: Kb.Styles.globalColors.blue, - justifyContent: 'center', - padding: 8, - }, - summary: { - color: Kb.Styles.globalColors.white, - flex: 1, - }, - summaryRow: { - ...Kb.Styles.globalStyles.flexBoxRow, - alignItems: 'center', - flex: 1, - justifyContent: 'center', - padding: Kb.Styles.globalMargins.xtiny, - position: 'relative', - }, - summaryRowError: { - backgroundColor: Kb.Styles.globalColors.black, - minHeight: maxHeightForSize('Small'), - }, - } as const -}) - -export default GlobalError diff --git a/shared/app/global-errors/index.native.tsx b/shared/app/global-errors/index.native.tsx deleted file mode 100644 index 7555c1ef588c..000000000000 --- a/shared/app/global-errors/index.native.tsx +++ /dev/null @@ -1,105 +0,0 @@ -import * as Kb from '@/common-adapters' -import NativeScrollView from '@/common-adapters/scroll-view.native' -import useData from './hook' - -const GlobalError = () => { - const d = useData() - const {daemonError, error, onDismiss, onFeedback} = d - const {cachedDetails, size, onExpandClick} = d - - if (size === 'Closed') { - return null - } - - if (!daemonError && !error) { - return null - } - - return ( - - - - - - {size !== 'Big' && ( - - )} - {' '} - An error occurred. - - - - - - - - {size === 'Big' && ( - - - {error?.message} - {'\n\n'} - {cachedDetails} - - - )} - - ) -} - -const styles = Kb.Styles.styleSheetCreate( - () => - ({ - container: { - backgroundColor: Kb.Styles.globalColors.black, - position: 'absolute', - top: 0, - }, - details: { - color: Kb.Styles.globalColors.white_75, - fontSize: 14, - lineHeight: 19, - padding: Kb.Styles.globalMargins.xtiny, - paddingTop: Kb.Styles.globalMargins.tiny, - }, - errorText: { - color: Kb.Styles.globalColors.white, - flex: 1, - }, - errorTextContainer: { - paddingBottom: Kb.Styles.globalMargins.xtiny, - position: 'relative', - }, - itemText: { - color: Kb.Styles.globalColors.white, - fontSize: 8, - lineHeight: 8, - }, - safeAreaView: { - backgroundColor: Kb.Styles.globalColors.transparent, - flexGrow: 0, - }, - summaryRow: { - ...Kb.Styles.globalStyles.flexBoxRow, - alignItems: 'center', - flexShrink: 0, - justifyContent: 'center', - paddingBottom: Kb.Styles.globalMargins.tiny, - paddingLeft: Kb.Styles.globalMargins.xsmall, - paddingRight: Kb.Styles.globalMargins.xsmall, - paddingTop: Kb.Styles.globalMargins.tiny, - }, - }) as const -) - -export default GlobalError diff --git a/shared/app/index.native.tsx b/shared/app/index.native.tsx index 1152498d3a5f..3d63b6bf2f38 100644 --- a/shared/app/index.native.tsx +++ b/shared/app/index.native.tsx @@ -1,12 +1,12 @@ +/// import * as C from '@/constants' -import {useConfigState} from '@/constants/config' +import {useConfigState} from '@/stores/config' import * as Kb from '@/common-adapters' import * as React from 'react' -import {useDeepLinksState} from '@/constants/deeplinks' import Main from './main.native' import {KeyboardProvider} from 'react-native-keyboard-controller' import Animated, {ReducedMotionConfig, ReduceMotion} from 'react-native-reanimated' -import {AppRegistry, AppState, Appearance, Linking, Keyboard} from 'react-native' +import {AppRegistry, AppState, Appearance, Keyboard} from 'react-native' import {PortalProvider} from '@/common-adapters/portal.native' import {SafeAreaProvider, initialWindowMetrics} from 'react-native-safe-area-context' import {makeEngine} from '../engine' @@ -18,9 +18,8 @@ import ServiceDecoration from '@/common-adapters/markdown/service-decoration' import {useUnmountAll} from '@/util/debug-react' import {darkModeSupported, guiConfig} from 'react-native-kb' import {install} from 'react-native-kb' -import {useEngineState} from '@/constants/engine' -import * as DarkMode from '@/constants/darkmode' -import {initPlatformListener} from '@/constants/platform-specific' +import * as DarkMode from '@/stores/darkmode' +import {initPlatformListener, onEngineConnected, onEngineDisconnected, onEngineIncoming} from '@/constants/init/index.native' import logger from '@/logger' logger.info('INIT App index module load') @@ -110,16 +109,6 @@ const StoreHelper = (p: {children: React.ReactNode}): React.ReactNode => { const {children} = p useDarkHookup() useKeyboardHookup() - const handleAppLink = useDeepLinksState(s => s.dispatch.handleAppLink) - - React.useEffect(() => { - const linkingSub = Linking.addEventListener('url', ({url}: {url: string}) => { - handleAppLink(url) - }) - return () => { - linkingSub.remove() - } - }, [handleAppLink]) return children } @@ -139,11 +128,11 @@ const useInit = () => { const {batch} = C.useWaitingState.getState().dispatch const eng = makeEngine(batch, c => { if (c) { - useEngineState.getState().dispatch.onEngineConnected() + onEngineConnected() } else { - useEngineState.getState().dispatch.onEngineDisconnected() + onEngineDisconnected() } - }) + }, onEngineIncoming) initPlatformListener() eng.listenersAreReady() @@ -171,10 +160,8 @@ const Keybase = () => { - -

- {unmountAll} - +
+ {unmountAll} diff --git a/shared/app/main.desktop.tsx b/shared/app/main.desktop.tsx index 16ef0670516d..6f514ab28a96 100644 --- a/shared/app/main.desktop.tsx +++ b/shared/app/main.desktop.tsx @@ -1,33 +1,10 @@ -import * as React from 'react' import Router from '@/router-v2/router' -import {useDarkModeState} from '@/constants/darkmode' import ResetModal from '../login/reset/modal' import GlobalError from './global-errors' import OutOfDate from './out-of-date' import RemoteProxies from '../desktop/remote/proxies.desktop' -const useDarkHookup = () => { - const initedRef = React.useRef(false) - const setSystemDarkMode = useDarkModeState(s => s.dispatch.setSystemDarkMode) - React.useEffect(() => { - const m = window.matchMedia('(prefers-color-scheme: dark)') - if (!initedRef.current) { - initedRef.current = true - setSystemDarkMode(m.matches) - } - - const handler = (e: MediaQueryListEvent) => { - setSystemDarkMode(e.matches) - } - m.addEventListener('change', handler) - return () => { - m.removeEventListener('change', handler) - } - }, [setSystemDarkMode]) -} - -const Main = React.memo(function Main() { - useDarkHookup() +const Main = function Main() { return ( <> @@ -37,7 +14,7 @@ const Main = React.memo(function Main() { ) -}) +} // get focus so react doesn't hold onto old divs export default Main diff --git a/shared/app/out-of-date.tsx b/shared/app/out-of-date.tsx index 3287a86e87d1..70b33bb01693 100644 --- a/shared/app/out-of-date.tsx +++ b/shared/app/out-of-date.tsx @@ -3,7 +3,7 @@ import * as Kb from '@/common-adapters' import * as React from 'react' import * as T from '@/constants/types' import logger from '@/logger' -import {useConfigState} from '@/constants/config' +import {useConfigState} from '@/stores/config' const styles = Kb.Styles.styleSheetCreate(() => ({ container: { @@ -62,7 +62,7 @@ const OutOfDate = () => { C.ignorePromise(f()) }) - const onOpenAppStore = useConfigState(s => s.dispatch.dynamic.openAppStore) + const onOpenAppStore = useConfigState(s => s.dispatch.defer.openAppStore) return status !== 'critical' ? null : ( diff --git a/shared/app/runtime-stats.tsx b/shared/app/runtime-stats.tsx index 55e94eee4a96..2ea975b665cc 100644 --- a/shared/app/runtime-stats.tsx +++ b/shared/app/runtime-stats.tsx @@ -1,7 +1,7 @@ import * as React from 'react' import * as Kb from '@/common-adapters' import * as T from '@/constants/types' -import {useConfigState} from '@/constants/config' +import {useConfigState} from '@/stores/config' const isIPhoneX = false as boolean // import lagRadar from 'lag-radar' diff --git a/shared/babel.config.js b/shared/babel.config.js index 5fd0e874bd38..54400cda8130 100644 --- a/shared/babel.config.js +++ b/shared/babel.config.js @@ -1,64 +1,54 @@ -// Cache in the module. This can get called from multiple places and env vars can get lost -const skipAnimation = require('./common-adapters/skip-animations') -const enableWDYR = require('./util/why-did-you-render-enabled') +const reactCompilerPlugin = 'babel-plugin-react-compiler' +const moduleResolverPlugin = ['module-resolver', {alias: {'@': './'}}] -let isElectron = null -let isReactNative = null -let isTest = null +const makeElectronConfig = isTest => ({ + presets: [ + ['@babel/preset-env', {targets: {node: 'current'}}], + ...(isTest ? [['@babel/preset-react', {runtime: 'automatic'}], '@babel/preset-flow'] : []), + '@babel/preset-typescript', + ], + plugins: [ + reactCompilerPlugin, // must run first! + ], +}) -module.exports = function (api /*: any */) { - const apiEnv = api.env() - const isDev = apiEnv === 'development' +const makeReactNativeConfig = () => ({ + plugins: [ + reactCompilerPlugin, // must run first! + moduleResolverPlugin, + ], + presets: [['babel-preset-expo', {unstable_transformImportMeta: true, jsxRuntime: 'automatic'}]], + sourceMaps: true, +}) +const detectPlatform = (apiEnv, callerName) => { if (apiEnv === 'test') { - isTest = true - isElectron = true - } else if (apiEnv === 'test-rn') { - isTest = true - isReactNative = true - } else { - api.caller(c => { - // console.error('KB: Babel config detected caller: ', c, c && c.name, api.env()) - if (!c || c.name === 'metro') { - isReactNative = true - } else { - isElectron = true - } - }) + return 'electron' + } + if (apiEnv === 'test-rn') { + return 'react-native' } + return !callerName || callerName === 'metro' ? 'react-native' : 'electron' +} - api.cache(true) +module.exports = function (api /*: any */) { + const apiEnv = api.env() + const callerName = api.caller(c => c?.name ?? null) + const platform = detectPlatform(apiEnv, callerName) + const isTest = apiEnv === 'test' || apiEnv === 'test-rn' - // console.error('KB babel.config.js ', {isElectron, isReactNative, apiEnv}) + api.cache.using(() => `${apiEnv}:${callerName ?? 'unknown'}:${platform}`) - if (!isElectron && !isReactNative) { - throw new Error('MUST have env var BABEL_PLATFORM to all babel') - } - if (isElectron && isReactNative) { - throw new Error('Packager is confused about babel platform') - } + // console.error('KB babel.config.js ', {apiEnv, callerName, platform}) - // this is used just for our node side but not any bundling - if (isElectron) { + if (platform === 'electron') { // console.error('KB babel.config.js for Electron') - return { - presets: [ - isTest ? ['@babel/preset-env', {targets: {node: 'current'}}] : '@babel/preset-env', - '@babel/preset-typescript', - ], - plugins: [ - 'babel-plugin-react-compiler', // must run first! - ], - } - } else if (isReactNative) { + return makeElectronConfig(isTest) + } + if (platform === 'react-native') { // console.error('KB babel.config.js for ReactNative') - return { - plugins: [ - 'babel-plugin-react-compiler', // must run first! - ['module-resolver', {alias: {'@': './'}}], - ], - presets: [['babel-preset-expo', {unstable_transformImportMeta: true, jsxRuntime: 'automatic'}]], - sourceMaps: true, - } + return makeReactNativeConfig() } + + throw new Error(`Unable to determine Babel platform from env/caller: ${apiEnv}/${callerName ?? 'unknown'}`) } diff --git a/shared/chat/audio/amptracker.tsx b/shared/chat/audio/amptracker.tsx index 7fb5db6aeec0..a33776667c31 100644 --- a/shared/chat/audio/amptracker.tsx +++ b/shared/chat/audio/amptracker.tsx @@ -1,4 +1,4 @@ -import {maxAmpsLength} from '@/constants/chat2/message' +import {maxAmpsLength} from '@/constants/chat/message' const minBars = 20 const maxBars = maxAmpsLength const snap0 = 1000 // anything under this seconds takes minBars diff --git a/shared/chat/audio/audio-player.tsx b/shared/chat/audio/audio-player.tsx index 4e5e5ff66b14..ccd8fac2c810 100644 --- a/shared/chat/audio/audio-player.tsx +++ b/shared/chat/audio/audio-player.tsx @@ -78,17 +78,14 @@ const AudioPlayer = (props: Props) => { } } - const onPositionUpdated = React.useCallback( - (ratio: number) => { - setPlayedRatio(ratio) - }, - [setPlayedRatio] - ) + const onPositionUpdated = (ratio: number) => { + setPlayedRatio(ratio) + } - const onEnded = React.useCallback(() => { + const onEnded = () => { setPaused(true) setPlayedRatio(0) - }, [setPaused, setPlayedRatio]) + } const timeLeft = duration - playedRatio * duration return ( @@ -104,7 +101,7 @@ const AudioPlayer = (props: Props) => { color={url ? Kb.Styles.globalColors.blue : Kb.Styles.globalColors.grey} /> - + {formatAudioRecordDuration(timeLeft)} @@ -116,12 +113,6 @@ const AudioPlayer = (props: Props) => { } const styles = Kb.Styles.styleSheetCreate(() => ({ - button: { - borderRadius: 15, - height: 30, - position: 'relative', - width: 30, - }, container: { ...Kb.Styles.padding(Kb.Styles.globalMargins.xxtiny, Kb.Styles.globalMargins.tiny), backgroundColor: Kb.Styles.globalColors.white, @@ -130,12 +121,8 @@ const styles = Kb.Styles.styleSheetCreate(() => ({ borderStyle: 'solid', borderWidth: 1, }, - vis: { - alignSelf: 'flex-start', - }, visContainer: { alignItems: 'flex-start', - justifyContent: 'flex-end', minWidth: 40, }, })) diff --git a/shared/chat/audio/audio-recorder.native.tsx b/shared/chat/audio/audio-recorder.native.tsx index b68e7f68ade6..05f4be11aae0 100644 --- a/shared/chat/audio/audio-recorder.native.tsx +++ b/shared/chat/audio/audio-recorder.native.tsx @@ -1,4 +1,4 @@ -import * as Chat from '@/constants/chat2' +import * as Chat from '@/stores/chat' import * as T from '@/constants/types' import * as Kb from '@/common-adapters' import {Portal} from '@/common-adapters/portal.native' @@ -7,19 +7,14 @@ import * as React from 'react' import {colors} from '@/styles/colors' import * as Reanimated from 'react-native-reanimated' import {AmpTracker} from './amptracker' -import { - Gesture, - GestureDetector, - type GestureUpdateEvent, - type PanGestureHandlerEventPayload, -} from 'react-native-gesture-handler' +import {usePanGesture, GestureDetector, type PanGestureEvent} from 'react-native-gesture-handler' import {View} from 'react-native' import {formatAudioRecordDuration} from '@/util/timestamp' -import {Audio} from 'expo-av' +import {useAudioRecorder, useAudioRecorderState, AudioModule, AudioQuality, IOSOutputFormat} from 'expo-audio' import {setupAudioMode} from '@/util/audio.native' import logger from '@/logger' import * as Haptics from 'expo-haptics' -import * as FileSystem from 'expo-file-system' +import {File} from 'expo-file-system' import AudioSend from './audio-send.native' const {useSharedValue, Extrapolation, useAnimatedStyle} = Reanimated @@ -77,10 +72,10 @@ const useTooltip = () => { ) : null - const flashTip = React.useCallback(() => { + const flashTip = () => { 'worklet' runOnJS(setShowTooltip)(true) - }, [setShowTooltip]) + } return {flashTip, tooltip} } @@ -121,34 +116,34 @@ const useIconAndOverlay = (p: { } ) - const onReset = React.useCallback(() => { + const onReset = () => { 'worklet' fadeSV.set(withTiming(0, {duration: 200})) dragXSV.set(0) dragYSV.set(0) lockedSV.set(0) canceledSV.set(0) - }, [fadeSV, dragXSV, dragYSV, lockedSV, canceledSV]) + } - const onCancelRecording = React.useCallback(() => { + const onCancelRecording = () => { onReset() cancelRecording() - }, [cancelRecording, onReset]) + } - const onStageRecording = React.useCallback(() => { + const onStageRecording = () => { onReset() stageRecording() - }, [stageRecording, onReset]) + } - const onSendRecording = React.useCallback(() => { + const onSendRecording = () => { onReset() sendRecording() - }, [sendRecording, onReset]) + } - const onFlashTip = React.useCallback(() => { + const onFlashTip = () => { flashTip() onCancelRecording() - }, [flashTip, onCancelRecording]) + } const [iconVisible, setIconVisible] = React.useState(false) @@ -163,96 +158,80 @@ const useIconAndOverlay = (p: { }, []) const panStartSV = useSharedValue(0) - const gesture = React.useMemo(() => { - let id: number - const showOverlay = () => { - // we get this multiple times for some reason - if (startedSV.value) { - return - } - startedSV.set(1) - fadeSV.set(withSpring(1, {duration: 200})) - startRecording() - } - - const setupOverlayTimeout = () => { - id = setTimeout(() => { - showOverlay() - }, 200) as unknown as number - } - const cleanupOverlayTimeout = () => { - clearTimeout(id) - id = 0 + const overlayTimeoutIdRef = React.useRef(0) + const showOverlay = () => { + // we get this multiple times for some reason + if (startedSV.value) { + return } + startedSV.set(1) + fadeSV.set(withSpring(1, {duration: 200})) + startRecording() + } + const setupOverlayTimeout = () => { + overlayTimeoutIdRef.current = setTimeout(() => { + showOverlay() + }, 200) as unknown as number + } + const cleanupOverlayTimeout = () => { + clearTimeout(overlayTimeoutIdRef.current) + overlayTimeoutIdRef.current = 0 + } - const panGesture = Gesture.Pan() - .minDistance(0) - .minPointers(1) - .maxPointers(1) - .onTouchesDown(() => { - 'worklet' - runOnJS(setupOverlayTimeout)() - if (!panStartSV.value) { - panStartSV.set(Date.now()) - } - }) - .onFinalize((_e: unknown, _success: boolean) => { - 'worklet' - const diff = Date.now() - panStartSV.value - startedSV.set(0) - panStartSV.set(0) - runOnJS(cleanupOverlayTimeout)() - const needTip = diff < 200 - const wasCancel = canceledSV.value === 1 - const panLocked = lockedSV.value === 1 - if (wasCancel) { - runOnJS(onCancelRecording)() - return - } + const gesture = usePanGesture({ + maxPointers: 1, + minDistance: 0, + minPointers: 1, + onFinalize: (_e: unknown, _success: boolean) => { + 'worklet' + const diff = Date.now() - panStartSV.value + startedSV.set(0) + panStartSV.set(0) + runOnJS(cleanupOverlayTimeout)() + const needTip = diff < 200 + const wasCancel = canceledSV.value === 1 + const panLocked = lockedSV.value === 1 + if (wasCancel) { + runOnJS(onCancelRecording)() + return + } - if (needTip) { - runOnJS(onFlashTip)() - return - } + if (needTip) { + runOnJS(onFlashTip)() + return + } - if (!panLocked) { - runOnJS(sendRecording)() - onReset() - fadeSV.set(withTiming(0, {duration: 200})) - } - }) - .onUpdate((e: GestureUpdateEvent) => { - 'worklet' - if (lockedSV.value || canceledSV.value) { - return - } - const maxCancelDrift = -120 - const maxLockDrift = -100 - dragYSV.set(interpolate(e.translationY, [maxLockDrift, 0], [maxLockDrift, 0], Extrapolation.CLAMP)) - dragXSV.set( - interpolate(e.translationX, [maxCancelDrift, 0], [maxCancelDrift, 0], Extrapolation.CLAMP) - ) - if (e.translationX < maxCancelDrift) { - canceledSV.set(1) - } else if (e.translationY < maxLockDrift) { - lockedSV.set(1) - } - }) - return panGesture - }, [ - onReset, - panStartSV, - fadeSV, - onFlashTip, - lockedSV, - canceledSV, - dragXSV, - dragYSV, - startRecording, - sendRecording, - onCancelRecording, - startedSV, - ]) + if (!panLocked) { + runOnJS(sendRecording)() + onReset() + fadeSV.set(withTiming(0, {duration: 200})) + } + }, + onTouchesDown: () => { + 'worklet' + runOnJS(setupOverlayTimeout)() + if (!panStartSV.value) { + panStartSV.set(Date.now()) + } + }, + onUpdate: (e: PanGestureEvent) => { + 'worklet' + if (lockedSV.value || canceledSV.value) { + return + } + const maxCancelDrift = -120 + const maxLockDrift = -100 + dragYSV.set(interpolate(e.translationY, [maxLockDrift, 0], [maxLockDrift, 0], Extrapolation.CLAMP)) + dragXSV.set( + interpolate(e.translationX, [maxCancelDrift, 0], [maxCancelDrift, 0], Extrapolation.CLAMP) + ) + if (e.translationX < maxCancelDrift) { + canceledSV.set(1) + } else if (e.translationY < maxLockDrift) { + lockedSV.set(1) + } + }, + }) const icon = iconVisible ? ( @@ -308,42 +287,29 @@ const vibrate = (short: boolean) => { } } -const makeRecorder = async (onRecordingStatusUpdate: (s: Audio.RecordingStatus) => void) => { - vibrate(true) - - const recording = new Audio.Recording() - await recording.prepareToRecordAsync({ - android: { - audioEncoder: Audio.AndroidAudioEncoder.AAC, - bitRate: 32000, - extension: '.m4a', - numberOfChannels: 1, - outputFormat: Audio.AndroidOutputFormat.MPEG_4, - sampleRate: 22050, - }, - ios: { - audioQuality: Audio.IOSAudioQuality.MIN, - bitRate: 32000, - extension: '.m4a', - linearPCMBitDepth: 16, - linearPCMIsBigEndian: false, - linearPCMIsFloat: false, - numberOfChannels: 1, - outputFormat: Audio.IOSOutputFormat.MPEG4AAC, - sampleRate: 22050, - }, - isMeteringEnabled: true, - web: {}, - }) - recording.setProgressUpdateInterval(100) - recording.setOnRecordingStatusUpdate(onRecordingStatusUpdate) - return recording +const recordingOptions = { + android: { + audioEncoder: 'aac' as const, + outputFormat: 'mpeg4' as const, + }, + bitRate: 32000, + extension: '.m4a', + ios: { + audioQuality: AudioQuality.MIN, + linearPCMBitDepth: 16, + linearPCMIsBigEndian: false, + linearPCMIsFloat: false, + outputFormat: IOSOutputFormat.MPEG4AAC, + }, + isMeteringEnabled: true, + numberOfChannels: 1, + sampleRate: 22050, + web: {}, } // Hook for interfacing with the native recorder const useRecorder = (p: {ampSV: SVN; setShowAudioSend: (s: boolean) => void; showAudioSend: boolean}) => { const {ampSV, setShowAudioSend, showAudioSend} = p - const recordingRef = React.useRef(undefined) const recordStartRef = React.useRef(0) const recordEndRef = React.useRef(0) const hasSetupRecording = React.useRef(false) @@ -351,7 +317,22 @@ const useRecorder = (p: {ampSV: SVN; setShowAudioSend: (s: boolean) => void; sho const ampTracker = React.useRef(new AmpTracker()).current const [staged, setStaged] = React.useState(false) - const stopRecording = React.useCallback(async () => { + const recorder = useAudioRecorder(recordingOptions) + const recorderState = useAudioRecorderState(recorder, 100) + + React.useEffect(() => { + const inamp = recorderState.metering + if (inamp === undefined) { + return + } + const amp = 10 ** (inamp * 0.05) + ampTracker.addAmp(amp) + const maxScale = 8 + const minScale = 3 + ampSV.set(withTiming(minScale + amp * (maxScale - minScale), {duration: 100})) + }, [recorderState, ampTracker, ampSV]) + + const stopRecording = async () => { const needsTeardown = hasSetupRecording.current if (needsTeardown) { hasSetupRecording.current = false @@ -359,19 +340,16 @@ const useRecorder = (p: {ampSV: SVN; setShowAudioSend: (s: boolean) => void; sho } recordEndRef.current = Date.now() - const recording = recordingRef.current - recordingRef.current = undefined - if (recording) { - recording.setOnRecordingStatusUpdate(null) + if (recordStartRef.current > 0) { try { - await recording.stopAndUnloadAsync() + await recorder.stop() } catch (e) { - console.log('Recoding stopping fail', e) + console.log('Recording stopping fail', e) } } - }, []) + } - const onReset = React.useCallback(async () => { + const onReset = async () => { try { await stopRecording() } catch {} @@ -380,26 +358,25 @@ const useRecorder = (p: {ampSV: SVN; setShowAudioSend: (s: boolean) => void; sho pathRef.current = '' if (path) { try { - await FileSystem.deleteAsync(path, {idempotent: true}) + new File(path).delete() } catch {} } recordStartRef.current = 0 recordEndRef.current = 0 setStaged(false) setShowAudioSend(false) - }, [setStaged, ampTracker, stopRecording, setShowAudioSend]) + } const setCommandStatusInfo = Chat.useChatContext(s => s.dispatch.setCommandStatusInfo) - const startRecording = React.useCallback(() => { - // calls of this never handle the promise so just handle it here + const startRecording = () => { const checkPerms = async () => { try { - let {status} = await Audio.getPermissionsAsync() - if (status === Audio.PermissionStatus.UNDETERMINED) { - const askRes = await Audio.requestPermissionsAsync() + let {status} = await AudioModule.getRecordingPermissionsAsync() + if (status === 'undetermined') { + const askRes = await AudioModule.requestRecordingPermissionsAsync() status = askRes.status } - if (status === Audio.PermissionStatus.DENIED) { + if (status === 'denied') { throw new Error('Please allow Keybase to access the microphone in the phone settings.') } return true @@ -423,27 +400,16 @@ const useRecorder = (p: {ampSV: SVN; setShowAudioSend: (s: boolean) => void; sho await setupAudioMode(true) hasSetupRecording.current = true - const onRecordingStatusUpdate = (status: Audio.RecordingStatus) => { - const inamp = status.metering - if (inamp === undefined) { - return - } - const amp = 10 ** (inamp * 0.05) - ampTracker.addAmp(amp) - const maxScale = 8 - const minScale = 3 - ampSV.set(withTiming(minScale + amp * (maxScale - minScale), {duration: 100})) - } + vibrate(true) - const recording = await makeRecorder(onRecordingStatusUpdate) - const audioPath = recording.getURI()?.substring('file://'.length) + await recorder.prepareToRecordAsync() + const audioPath = recorder.uri?.replace(/^file:\/\//, '') if (!audioPath) { throw new Error("Couldn't start audio recording") } pathRef.current = audioPath - recordingRef.current = recording - await recording.startAsync() + recorder.record() recordStartRef.current = Date.now() recordEndRef.current = recordStartRef.current } @@ -451,18 +417,14 @@ const useRecorder = (p: {ampSV: SVN; setShowAudioSend: (s: boolean) => void; sho impl() .then(() => {}) .catch(() => { - onReset() - // eslint-disable-next-line - .then(() => {}) - // eslint-disable-next-line - .catch(() => {}) + void onReset() }) return - }, [setCommandStatusInfo, ampTracker, onReset, ampSV]) + } const sendAudioRecording = Chat.useChatContext(s => s.dispatch.sendAudioRecording) - const sendRecording = React.useCallback(() => { + const sendRecording = () => { const impl = async () => { await stopRecording() vibrate(false) @@ -479,13 +441,13 @@ const useRecorder = (p: {ampSV: SVN; setShowAudioSend: (s: boolean) => void; sho impl() .then(() => {}) .catch(() => {}) - }, [sendAudioRecording, ampTracker, onReset, stopRecording]) + } - const cancelRecording = React.useCallback(() => { + const cancelRecording = () => { onReset() .then(() => {}) .catch(() => {}) - }, [onReset]) + } const audioSend = showAudioSend ? ( void; sho /> ) : null - const stageRecording = React.useCallback(() => { + const stageRecording = () => { const impl = async () => { await stopRecording() setStaged(true) @@ -506,22 +468,24 @@ const useRecorder = (p: {ampSV: SVN; setShowAudioSend: (s: boolean) => void; sho impl() .then(() => {}) .catch(() => {}) - }, [stopRecording, setStaged, setShowAudioSend]) + } // on unmount cleanup + const onResetRef = React.useRef(onReset) + onResetRef.current = onReset React.useEffect(() => { return () => { setShowAudioSend(false) - onReset() + onResetRef.current() .then(() => {}) .catch(() => {}) } - }, [onReset, setShowAudioSend]) + }, [setShowAudioSend]) return {audioSend, cancelRecording, sendRecording, stageRecording, staged, startRecording} } -const AudioRecorder = React.memo(function AudioRecorder(props: Props) { +const AudioRecorder = function AudioRecorder(props: Props) { const {setShowAudioSend, showAudioSend} = props const ampSV = useSharedValue(0) @@ -548,7 +512,7 @@ const AudioRecorder = React.memo(function AudioRecorder(props: Props) { {overlay} ) -}) +} const BigBackground = (props: {fadeSV: SVN}) => { 'use no memo' @@ -739,11 +703,11 @@ const CancelHint = (props: {fadeSV: SVN; dragXSV: SVN; lockedSV: SVN; onCancel: return ( <> - + - - + + ({ bigBackgroundStyle: { ...circleAroundIcon(Kb.Styles.isTablet ? 2000 : 750), }, - cancelHintIcon: { - left: 0, - position: 'absolute', - }, cancelHintStyle: { ...Kb.Styles.globalStyles.flexBoxRow, alignItems: 'center', diff --git a/shared/chat/audio/audio-send.native.tsx b/shared/chat/audio/audio-send.native.tsx index ba6ca44a70e1..2d6e1eea321b 100644 --- a/shared/chat/audio/audio-send.native.tsx +++ b/shared/chat/audio/audio-send.native.tsx @@ -39,11 +39,11 @@ const AudioSend = (props: Props) => { ) return ( - + - + - + {player} @@ -58,14 +58,11 @@ const styles = Kb.Styles.styleSheetCreate(() => ({ borderStyle: 'solid', borderTopColor: Kb.Styles.globalColors.black_10, borderTopWidth: 1, - justifyContent: 'space-between', paddingLeft: Kb.Styles.globalMargins.tiny, paddingRight: Kb.Styles.globalMargins.tiny, }, icon: { - alignItems: 'center', height: 32, - justifyContent: 'center', marginRight: Kb.Styles.globalMargins.tiny, width: 32, }, diff --git a/shared/chat/audio/audio-video.desktop.tsx b/shared/chat/audio/audio-video.desktop.tsx index ff6aec9f978e..bd6ed755d34b 100644 --- a/shared/chat/audio/audio-video.desktop.tsx +++ b/shared/chat/audio/audio-video.desktop.tsx @@ -5,21 +5,18 @@ const AudioVideo = (props: Props) => { const {url, paused, onPositionUpdated, onEnded} = props const vidRef = React.useRef(null) - const onTimeUpdate = React.useCallback( - (e: React.SyntheticEvent) => { - const ct = e.currentTarget.currentTime - const dur = e.currentTarget.duration - if (dur === 0) { - return - } - onPositionUpdated(ct / dur) - }, - [onPositionUpdated] - ) + const onTimeUpdate = (e: React.SyntheticEvent) => { + const ct = e.currentTarget.currentTime + const dur = e.currentTarget.duration + if (dur === 0) { + return + } + onPositionUpdated(ct / dur) + } - const onEndedRaw = React.useCallback(() => { + const onEndedRaw = () => { onEnded() - }, [onEnded]) + } const lastPausedRef = React.useRef(paused) React.useEffect(() => { diff --git a/shared/chat/audio/audio-video.native.tsx b/shared/chat/audio/audio-video.native.tsx index 7b9ae983d831..778b9d53ac28 100644 --- a/shared/chat/audio/audio-video.native.tsx +++ b/shared/chat/audio/audio-video.native.tsx @@ -1,69 +1,31 @@ import * as React from 'react' -import {Audio, type AVPlaybackStatus} from 'expo-av' +import {useAudioPlayer} from 'expo-audio' +import {useEventListener} from 'expo' import type {Props} from './audio-video' const AudioVideo = (props: Props) => { const {url, paused, onPositionUpdated, onEnded} = props - const [sound, setSound] = React.useState() + const player = useAudioPlayer(url) - React.useEffect(() => { - return () => { - sound - ?.unloadAsync() - .then(() => {}) - .catch(() => {}) + useEventListener(player, 'playbackStatusUpdate', status => { + if (status.playing && status.duration > 0) { + onPositionUpdated(status.currentTime / status.duration) } - }, [sound]) - - const onPlaybackStatusUpdate = React.useCallback( - (e: AVPlaybackStatus) => { - if (!e.isLoaded) return - if (e.isPlaying) { - const ct = e.positionMillis - const dur = e.durationMillis ?? 0 - if (dur === 0) { - return - } - onPositionUpdated(ct / dur) - } else if (e.didJustFinish) { - onEnded() - sound - ?.setPositionAsync(0) - .then(() => {}) - .catch(() => {}) - } - }, - [onPositionUpdated, onEnded, sound] - ) - - React.useEffect(() => { - sound?.setOnPlaybackStatusUpdate(onPlaybackStatusUpdate) - }, [sound, onPlaybackStatusUpdate]) + if (status.didJustFinish) { + onEnded() + void player.seekTo(0) + } + }) const [lastPaused, setLastPaused] = React.useState(paused) if (lastPaused !== paused) { setLastPaused(paused) - const f = async () => { - let s = sound - if (!sound) { - const {sound: newSound} = await Audio.Sound.createAsync({uri: url}) - s = newSound - setSound(newSound) - await newSound.setProgressUpdateIntervalAsync(100) - } - - if (paused) { - await s?.pauseAsync() - } else { - await s?.playAsync() - } + if (paused) { + player.pause() + } else { + player.play() } - f() - .then(() => {}) - .catch((e: unknown) => { - console.error('audio play fail', e) - }) } return null diff --git a/shared/chat/avatars.tsx b/shared/chat/avatars.tsx index 2a156da743bb..c5df5d24b178 100644 --- a/shared/chat/avatars.tsx +++ b/shared/chat/avatars.tsx @@ -1,9 +1,7 @@ -import * as React from 'react' import * as Kb from '@/common-adapters' -import type {AvatarSize} from '@/common-adapters/avatar' import './chat.css' -const OverlayIcon = React.memo(function OverlayIcon(p: { +const OverlayIcon = function OverlayIcon(p: { isHovered: boolean isMuted: boolean isSelected: boolean @@ -22,13 +20,13 @@ const OverlayIcon = React.memo(function OverlayIcon(p: { : 'icon-addon-lock-22' : null if (!type) return null - return + return } const type = isMuted ? 'iconfont-shh' : isLocked ? 'iconfont-lock' : null if (!type) return null return ( - + - + ) -}) +} type Props = { participantOne?: string @@ -61,10 +59,10 @@ type Props = { isMuted?: boolean isSelected?: boolean backgroundColor?: string - singleSize?: AvatarSize + singleSize?: 128 | 96 | 64 | 48 | 32 | 24 | 16 } -const Avatars = React.memo(function Avatars(p: Props) { +const Avatars = function Avatars(p: Props) { const {participantOne, participantTwo, backgroundColor} = p const {singleSize = 48} = p const {isHovered = false} = p @@ -73,82 +71,61 @@ const Avatars = React.memo(function Avatars(p: Props) { const {isSelected = false} = p const opacity = isLocked ? 0.4 : 1 - const leftProps = React.useMemo( - () => - ({ - loadingColor: Kb.Styles.globalColors.greyLight, - size: 32, - skipBackground: Kb.Styles.isMobile, - style: {left: 0, position: 'absolute', top: 0}, - username: participantTwo, - }) as const, - [participantTwo] - ) - - const rightProps = React.useMemo( - () => - ({ - borderColor: backgroundColor, - loadingColor: Kb.Styles.globalColors.greyLight, - size: 32, - skipBackground: Kb.Styles.isMobile, - style: {bottom: 0, position: 'absolute', right: 0}, - username: participantOne, - }) as const, - [participantOne, backgroundColor] - ) + const leftStyle = {left: 0, position: 'absolute', top: 0} as const + const rightStyle = Kb.Styles.collapseStyles([ + {bottom: 0, position: 'absolute', right: 0} as const, + !Kb.Styles.isMobile && backgroundColor && {borderRadius: '50%', boxShadow: `0px 0px 0px 2px ${backgroundColor}`}, + ]) const containerStyle = Kb.Styles.collapseStyles([styles.container, {height: singleSize, width: singleSize}]) if (!participantTwo) { return ( - - + + - - + + ) } return ( - - - + + + ) -}) +} const styles = Kb.Styles.styleSheetCreate(() => ({ container: { flexShrink: 0, justifyContent: 'flex-start', marginRight: Kb.Styles.globalMargins.tiny, - position: 'relative', }, mutedIcon: Kb.Styles.platformStyles({ common: {position: 'absolute'}, isElectron: {bottom: -3, right: -1}, isMobile: {bottom: -1, right: -1}, }), - outerBox: {position: 'relative'}, })) -const TeamAvatar = React.memo(function TeamAvatar(p: { +const TeamAvatar = function TeamAvatar(p: { teamname: string isHovered: boolean isMuted: boolean isSelected: boolean - size?: AvatarSize + size?: 128 | 96 | 64 | 48 | 32 | 24 | 16 }) { const {teamname, size, isSelected, isMuted, isHovered} = p return ( - + - + ) -}) +} export {Avatars, TeamAvatar} diff --git a/shared/chat/blocking/block-modal.tsx b/shared/chat/blocking/block-modal.tsx index e0c695937385..cb87d39e0c84 100644 --- a/shared/chat/blocking/block-modal.tsx +++ b/shared/chat/blocking/block-modal.tsx @@ -1,9 +1,9 @@ import * as C from '@/constants' import * as React from 'react' import * as Kb from '@/common-adapters' -import * as Chat from '@/constants/chat2' -import {useTeamsState} from '@/constants/teams' -import {useUsersState} from '@/constants/users' +import * as Chat from '@/stores/chat' +import {useTeamsState} from '@/stores/teams' +import {useUsersState} from '@/stores/users' // Type for extra RouteProp passed to block modal sometimes when launching the // modal from specific places from the app. @@ -52,7 +52,7 @@ const CheckboxRow = (props: CheckboxRowProps) => ( onClick={() => props.onCheck(!props.checked)} style={styles.shrink} /> - + {props.info && ( { const {showIncludeTranscript} = props return ( @@ -94,7 +94,9 @@ const ReportOptions = (props: ReportOptionsProps) => { style={styles.radioButton} /> ))} - { We will review this report within 24 hours and take an action - - + {showIncludeTranscript && ( { ) } -// In order to have this play nicely with scrolling and keyboards, put all the stuff in a List. -type Item = 'topStuff' | {username: string} - -const Container = React.memo(function BlockModal(ownProps: OwnProps) { +const Container = function BlockModal(ownProps: OwnProps) { const {context, conversationIDKey, blockUserByDefault = false, filterUserByDefault = false} = ownProps const {flagUserByDefault = false, reportsUserByDefault = false, team: teamname} = ownProps let {username: adderUsername, others} = ownProps @@ -139,49 +138,40 @@ const Container = React.memo(function BlockModal(ownProps: OwnProps) { const _allKnownBlocks = useUsersState(s => s.blockMap) const loadingWaiting = C.Waiting.useAnyWaiting(C.waitingKeyUsersGetUserBlocks) - const onClose = C.useRouterState(s => s.dispatch.navigateUp) + const navigateUp = C.useRouterState(s => s.dispatch.navigateUp) const leaveTeam = useTeamsState(s => s.dispatch.leaveTeam) - const leaveTeamAndBlock = React.useCallback( - (teamname: string) => { - leaveTeam(teamname, true, 'chat') - }, - [leaveTeam] - ) + const leaveTeamAndBlock = (teamname: string) => { + leaveTeam(teamname, true, 'chat') + } const getBlockState = useUsersState(s => s.dispatch.getBlockState) const _reportUser = useUsersState(s => s.dispatch.reportUser) const refreshBlocksFor = getBlockState - const reportUser = React.useCallback( - (username: string, conversationIDKey: string | undefined, report: ReportSettings) => { - _reportUser({ - comment: report.extraNotes, - conversationIDKey, - includeTranscript: report.includeTranscript && !!conversationIDKey, - reason: report.reason, - username, - }) - }, - [_reportUser] - ) + const reportUser = (username: string, conversationIDKey: string | undefined, report: ReportSettings) => { + _reportUser({ + comment: report.extraNotes, + conversationIDKey, + includeTranscript: report.includeTranscript && !!conversationIDKey, + reason: report.reason, + username, + }) + } const setConversationStatus = Chat.useChatContext(s => s.dispatch.blockConversation) const _setUserBlocks = useUsersState(s => s.dispatch.setUserBlocks) - const setUserBlocks = React.useCallback( - (newBlocks: NewBlocksMap) => { - // Convert our state block array to action payload. - const blocks = [...newBlocks.entries()] - .filter( - ([_, userBlocks]) => userBlocks.chatBlocked !== undefined || userBlocks.followBlocked !== undefined - ) - .map(([username, userBlocks]) => ({ - setChatBlock: userBlocks.chatBlocked, - setFollowBlock: userBlocks.followBlocked, - username, - })) - if (blocks.length) { - _setUserBlocks(blocks) - } - }, - [_setUserBlocks] - ) + const setUserBlocks = (newBlocks: NewBlocksMap) => { + // Convert our state block array to action payload. + const blocks = [...newBlocks.entries()] + .filter( + ([_, userBlocks]) => userBlocks.chatBlocked !== undefined || userBlocks.followBlocked !== undefined + ) + .map(([username, userBlocks]) => ({ + setChatBlock: userBlocks.chatBlocked, + setFollowBlock: userBlocks.followBlocked, + username, + })) + if (blocks.length) { + _setUserBlocks(blocks) + } + } const otherUsernames = others && others.length > 0 ? others : undefined const finishWaiting = waitingForLeave || waitingForBlocking || waitingForReport @@ -208,21 +198,14 @@ const Container = React.memo(function BlockModal(ownProps: OwnProps) { } newBlocks.forEach(({report}, username) => report && reportUser(username, conversationIDKey, report)) if (!takingAction) { - onClose() + navigateUp() } } - const refreshBlocks = React.useCallback(() => { - const usernames = [...(adderUsername ? [adderUsername] : []), ...(otherUsernames || [])] - if (usernames.length) { - refreshBlocksFor(usernames) - } - }, [adderUsername, otherUsernames, refreshBlocksFor]) - const [blockTeam, setBlockTeam] = React.useState(true) const [finishClicked, setFinishClicked] = React.useState(false) // newBlocks holds a Map of blocks that will be applied when user clicks // "Finish" button. reports is the same thing for reporting. - const [newBlocks, setNewBlocks] = React.useState(new Map()) + const [newBlocks, setNewBlocks] = React.useState(new Map()) const loadedOnceRef = React.useRef(false) React.useEffect(() => { @@ -231,7 +214,10 @@ const Container = React.memo(function BlockModal(ownProps: OwnProps) { // Once we get here, trigger actions to refresh current block state of // users. - refreshBlocks() + const usernames = [...(adderUsername ? [adderUsername] : []), ...(otherUsernames || [])] + if (usernames.length) { + refreshBlocksFor(usernames) + } // Set default checkbox block values for adder user. We don't care if they // are already blocked, setting a block is idempotent. @@ -260,17 +246,18 @@ const Container = React.memo(function BlockModal(ownProps: OwnProps) { context, flagUserByDefault, newBlocks, - refreshBlocks, + otherUsernames, + refreshBlocksFor, reportsUserByDefault, ]) const lastFinishWaitingRef = React.useRef(finishWaiting) React.useEffect(() => { if (finishClicked && lastFinishWaitingRef.current && !finishWaiting) { - onClose() + navigateUp() } lastFinishWaitingRef.current = finishWaiting - }, [finishClicked, onClose, finishWaiting]) + }, [finishClicked, navigateUp, finishWaiting]) const getBlockFor = (username: string, which: BlockType) => { // First get a current setting from a checkbox, if user has checked anything. @@ -409,79 +396,77 @@ const Container = React.memo(function BlockModal(ownProps: OwnProps) { ) - const header = { - leftButton: Kb.Styles.isMobile ? ( - - Cancel - - ) : undefined, - title: , - } - if (loadingWaiting) { return ( - - - - - + + + ) } const teamCheckboxDisabled = !!teamname && !otherUsernames?.length && !adderUsername const teamLabel = context === 'message-popup' - const topStuff = ( - - {(!!teamname || !adderUsername) && ( + type Item = 'topStuff' | {username: string} + const items: Array = ['topStuff'] + otherUsernames?.forEach(username => items.push({username})) + + const topStuffHeight = + 120 + + (!!adderUsername && getShouldReport(adderUsername) + ? reasons.length * 18 + 54 + 40 + 20 + : 0) + + (otherUsernames?.length ? 41 : 0) + // Each username row is 2 checkboxes (40px each) + 1px divider = 81px + const usernameRowHeight = 81 + + const itemHeight = { + getItemLayout: (index: number, item?: Item) => { + const length = item === 'topStuff' ? topStuffHeight : usernameRowHeight + let offset = 0 + for (let i = 0; i < index; i++) { + offset += items[i] === 'topStuff' ? topStuffHeight : usernameRowHeight + } + return {index, length, offset} + }, + type: 'variable' as const, + } + + const renderItem = (_: number, item: Item) => { + if (item === 'topStuff') { + return ( <> - - + {(!!teamname || !adderUsername) && ( + <> + + + + )} + {!!adderUsername && renderRowsForUsername(adderUsername, true, teamLabel)} + {!!otherUsernames?.length && ( + + Also block {adderUsername ? 'others' : 'individuals'}? + + )} - )} - {!!adderUsername && renderRowsForUsername(adderUsername, true, teamLabel)} - {!!otherUsernames?.length && ( - - Also block {adderUsername ? 'others' : 'individuals'}? - - )} - - ) + ) + } + return renderRowsForUsername(item.username, item === items[items.length - 1]) + } - const items: Array = ['topStuff'] - otherUsernames?.forEach(username => items.push({username})) return ( - - {!Kb.Styles.isMobile && ( - - )} - - - ), - }} - noScrollView={true} - > + <> - item === 'topStuff' - ? topStuff - : renderRowsForUsername(item.username, idx === otherUsernames?.length) - } + renderItem={renderItem} indexAsKey={true} + extraData={newBlocks} + itemHeight={itemHeight} style={ Kb.Styles.isMobile ? styles.grow @@ -491,9 +476,17 @@ const Container = React.memo(function BlockModal(ownProps: OwnProps) { ) } /> - + + + {!Kb.Styles.isMobile && ( + + )} + + + + ) -}) +} export default Container @@ -507,7 +500,7 @@ const getListHeightStyle = (numOthers: number, expanded: boolean) => ({ : 0) + (expanded ? // When you expand the report menu, every option gets an 18px row + 54px for the extra notes + 40px transcript - reasons.length * 18 + 54 + 40 + reasons.length * 18 + 54 + 40 + 20 : 0), }) @@ -523,7 +516,7 @@ const styles = Kb.Styles.styleSheetCreate(() => ({ ...Kb.Styles.padding(Kb.Styles.globalMargins.xsmall), }, grow: {flexGrow: 1}, - iconBox: {flex: 1, paddingLeft: Kb.Styles.globalMargins.tiny}, + iconBox: {paddingLeft: Kb.Styles.globalMargins.tiny}, loadingAnimation: Kb.Styles.platformStyles({ isElectron: { height: 32, @@ -538,9 +531,20 @@ const styles = Kb.Styles.styleSheetCreate(() => ({ alignSelf: 'center', padding: Kb.Styles.globalMargins.medium, }, - - popupStyleContainer: {height: 450}, + modalFooter: Kb.Styles.platformStyles({ + common: { + ...Kb.Styles.padding(Kb.Styles.globalMargins.xsmall, Kb.Styles.globalMargins.small), + borderStyle: 'solid' as const, + borderTopColor: Kb.Styles.globalColors.black_10, + borderTopWidth: 1, + minHeight: 56, + }, + isElectron: { + borderBottomLeftRadius: Kb.Styles.borderRadius, + borderBottomRightRadius: Kb.Styles.borderRadius, + overflow: 'hidden', + }, + }), radioButton: {marginLeft: Kb.Styles.globalMargins.large}, - scroll: Kb.Styles.platformStyles({isMobile: {height: '100%'}}), shrink: {flexShrink: 1}, })) diff --git a/shared/chat/blocking/invitation-to-block.tsx b/shared/chat/blocking/invitation-to-block.tsx index e7ba0b2f0950..7b5c9236c956 100644 --- a/shared/chat/blocking/invitation-to-block.tsx +++ b/shared/chat/blocking/invitation-to-block.tsx @@ -1,8 +1,8 @@ -import * as Chat from '@/constants/chat2' -import {useProfileState} from '@/constants/profile' +import * as Chat from '@/stores/chat' +import {useProfileState} from '@/stores/profile' import * as Kb from '@/common-adapters' import {useSafeNavigation} from '@/util/safe-navigation' -import {useCurrentUserState} from '@/constants/current-user' +import {useCurrentUserState} from '@/stores/current-user' const BlockButtons = () => { const nav = useSafeNavigation() @@ -27,17 +27,17 @@ const BlockButtons = () => { ) const onViewProfile = () => showUserProfile(adder) - const onViewTeam = () => nav.safeNavigateAppend({props: {teamID}, selected: 'team'}) + const onViewTeam = () => nav.safeNavigateAppend({name: 'team', params: {teamID}}) const onBlock = () => nav.safeNavigateAppend({ - props: { + name: 'chatBlockingModal', + params: { blockUserByDefault: true, conversationIDKey, others: others, team: team, username: adder, }, - selected: 'chatBlockingModal', }) const onDismiss = () => dismissBlockButtons(teamID) @@ -86,6 +86,7 @@ const BlockButtons = () => { direction="vertical" centerChildren={true} gap="tiny" + relative={true} style={styles.dismissContainer} fullWidth={true} > @@ -93,7 +94,7 @@ const BlockButtons = () => { {team ? `${adder} added you to this team.` : `You don't follow ${adder}.`} - + {buttonRow} @@ -133,7 +134,6 @@ const styles = Kb.Styles.styleSheetCreate( backgroundColor: Kb.Styles.globalColors.blueGrey, paddingBottom: Kb.Styles.globalMargins.xsmall, paddingTop: Kb.Styles.globalMargins.xsmall, - position: 'relative', }, dismissIcon: { position: 'absolute', diff --git a/shared/chat/chat-button.tsx b/shared/chat/chat-button.tsx index 1524bf4e37a2..fd6f3c30387f 100644 --- a/shared/chat/chat-button.tsx +++ b/shared/chat/chat-button.tsx @@ -1,7 +1,7 @@ import * as C from '@/constants' -import * as Chat from '@/constants/chat2' +import * as Chat from '@/stores/chat' import * as Styles from '@/styles' -import {useConfigState} from '@/constants/config' +import {useConfigState} from '@/stores/config' import WaitingButton from '@/common-adapters/waiting-button' import Icon from '@/common-adapters/icon' diff --git a/shared/chat/conversation/attachment-fullscreen/hooks.tsx b/shared/chat/conversation/attachment-fullscreen/hooks.tsx index 584d3cdeacc9..6c306b3fcd02 100644 --- a/shared/chat/conversation/attachment-fullscreen/hooks.tsx +++ b/shared/chat/conversation/attachment-fullscreen/hooks.tsx @@ -1,9 +1,9 @@ import * as React from 'react' import * as C from '@/constants' -import * as Chat from '@/constants/chat2' +import * as Chat from '@/stores/chat' import type * as T from '@/constants/types' import {maxWidth, maxHeight} from '../messages/attachment/shared' -import {useFSState} from '@/constants/fs' +import {useFSState} from '@/stores/fs' const blankMessage = Chat.makeMessageAttachment({}) export const useData = (initialOrdinal: T.Chat.Ordinal) => { @@ -16,28 +16,25 @@ export const useData = (initialOrdinal: T.Chat.Ordinal) => { }) const loadNextAttachment = Chat.useChatContext(s => s.dispatch.loadNextAttachment) - const onSwitchAttachment = React.useCallback( - (backInTime: boolean) => { - const f = async () => { - if (conversationIDKey !== blankMessage.conversationIDKey) { - const o = await loadNextAttachment(ordinal, backInTime) - setOrdinal(o) - } + const onSwitchAttachment = (backInTime: boolean) => { + const f = async () => { + if (conversationIDKey !== blankMessage.conversationIDKey) { + const o = await loadNextAttachment(ordinal, backInTime) + setOrdinal(o) } - C.ignorePromise(f()) - }, - [conversationIDKey, loadNextAttachment, ordinal] - ) + } + C.ignorePromise(f()) + } - const onNextAttachment = React.useCallback(() => { + const onNextAttachment = () => { onSwitchAttachment(false) - }, [onSwitchAttachment]) - const onPreviousAttachment = React.useCallback(() => { + } + const onPreviousAttachment = () => { onSwitchAttachment(true) - }, [onSwitchAttachment]) + } const openLocalPathInSystemFileManagerDesktop = useFSState( - s => s.dispatch.dynamic.openLocalPathInSystemFileManagerDesktop + s => s.dispatch.defer.openLocalPathInSystemFileManagerDesktop ) const navigateUp = C.useRouterState(s => s.dispatch.navigateUp) const showInfoPanel = Chat.useChatContext(s => s.dispatch.showInfoPanel) diff --git a/shared/chat/conversation/attachment-fullscreen/index.desktop.tsx b/shared/chat/conversation/attachment-fullscreen/index.desktop.tsx index 0c122da1e608..1c5f3a97a9d9 100644 --- a/shared/chat/conversation/attachment-fullscreen/index.desktop.tsx +++ b/shared/chat/conversation/attachment-fullscreen/index.desktop.tsx @@ -13,7 +13,7 @@ type ArrowProps = { const Arrow = (props: ArrowProps) => { const {left, onClick} = props return ( - { e.stopPropagation() @@ -26,139 +26,126 @@ const Arrow = (props: ArrowProps) => { color={Kb.Styles.globalColors.white} style={Kb.Styles.collapseStyles([styles.arrow, left && styles.arrowLeft, !left && styles.arrowRight])} /> - + ) } -const Fullscreen = React.memo(function Fullscreen(p: Props) { +const Fullscreen = function Fullscreen(p: Props) { const data = useData(p.ordinal) const {message, ordinal, path, title, progress, previewPath} = data - const {progressLabel, onNextAttachment, onPreviousAttachment, onClose} = data + const {progressLabel, onNextAttachment, onPreviousAttachment} = data const {onDownloadAttachment, onShowInFinder, isVideo} = data const {fullWidth, fullHeight} = data const [isZoomed, setIsZoomed] = React.useState(false) - const onIsZoomed = React.useCallback((zoomed: boolean) => { + const onIsZoomed = (zoomed: boolean) => { setIsZoomed(zoomed) - }, []) + } - const preload = React.useCallback((path: string, onLoad: () => void, onError: () => void) => { + const preload = (path: string, onLoad: () => void, onError: () => void) => { const img = new Image() img.src = path img.onload = onLoad img.onerror = onError - }, []) + } const imgSrc = usePreviewFallback(path, previewPath, isVideo, data.showPreview, preload) - const forceDims = React.useMemo(() => { - return fullHeight && fullWidth ? {height: fullHeight, width: fullWidth} : undefined - }, [fullHeight, fullWidth]) + const forceDims = fullHeight && fullWidth ? {height: fullHeight, width: fullWidth} : undefined const vidRef = React.useRef(null) - const onHotKey = React.useCallback( - (cmd: string) => { - cmd === 'left' && onPreviousAttachment() - cmd === 'right' && onNextAttachment() - }, - [onPreviousAttachment, onNextAttachment] - ) + const onHotKey = (cmd: string) => { + cmd === 'left' && onPreviousAttachment() + cmd === 'right' && onNextAttachment() + } Kb.useHotKey(['left', 'right'], onHotKey) const isDownloadError = !!message.transferErrMsg const {showPopup, popup, popupAnchor} = useMessagePopup({ordinal}) - const titleOverride = React.useMemo( - () => - ({ - paragraph: Kb.Styles.platformStyles({ - isElectron: {whiteSpace: 'nowrap'}, - }), - }) as StyleOverride, - [] - ) + const titleOverride = { + paragraph: Kb.Styles.platformStyles({ + isElectron: {whiteSpace: 'nowrap'}, + }), + } as StyleOverride return ( - - - - - {title} - + + + + {title} + + - {popup} - - {path && ( - - - {!isZoomed ? : undefined} - - {isVideo ? ( - - ) : ( - - )} - - {!isZoomed && } - - - )} - - {!!progressLabel && ( - + {popup} + + {path && ( + + + {!isZoomed ? : undefined} + - {progressLabel} - - )} - {!!progressLabel && } - {!progressLabel && onDownloadAttachment && !isDownloadError && ( - - Download - - )} - {!progressLabel && onDownloadAttachment && isDownloadError && ( - - Failed to download.{' '} - - Retry - - - )} - {onShowInFinder && ( - - Show in {Kb.Styles.fileUIName} + {isVideo ? ( + + ) : ( + + )} + + {!isZoomed && } + + + )} + + {!!progressLabel && ( + + {progressLabel} + + )} + {!!progressLabel && } + {!progressLabel && onDownloadAttachment && !isDownloadError && ( + + Download + + )} + {!progressLabel && onDownloadAttachment && isDownloadError && ( + + Failed to download.{' '} + + Retry - )} - - - + + )} + {onShowInFinder && ( + + Show in {Kb.Styles.fileUIName} + + )} + + ) -}) +} const styles = Kb.Styles.styleSheetCreate( () => @@ -183,37 +170,22 @@ const styles = Kb.Styles.styleSheetCreate( width: 36, }, }), - container: {...Kb.Styles.globalStyles.flexBoxColumn, height: '100%', width: '100%'}, contentsFit: { ...Kb.Styles.globalStyles.flexBoxRow, flex: 1, height: '100%', width: '100%', }, + // Opt out of the Electron titlebar drag region so the icon gets cursor/click events + ellipsisContainer: Kb.Styles.platformStyles({ + isElectron: Kb.Styles.desktopStyles.windowDraggingClickable, + }), error: {color: Kb.Styles.globalColors.redDark}, headerFooter: { - ...Kb.Styles.globalStyles.flexBoxRow, - alignItems: 'center', height: 32, paddingLeft: Kb.Styles.globalMargins.tiny, paddingRight: Kb.Styles.globalMargins.tiny, - width: '100%', }, - imgOrig: Kb.Styles.platformStyles({ - isElectron: { - display: 'flex', - margin: 'auto', - maxHeight: '100%', - maxWidth: '100%', - transform: '', - }, - }), - imgZoomed: Kb.Styles.platformStyles({ - isElectron: { - position: 'absolute', - transformOrigin: 'top left', - }, - }), link: Kb.Styles.platformStyles({ isElectron: {color: Kb.Styles.globalColors.black_50, cursor: 'pointer'}, }), @@ -221,27 +193,6 @@ const styles = Kb.Styles.styleSheetCreate( color: Kb.Styles.globalColors.redDark, textDecorationLine: 'underline', }, - scrollAttachOrig: Kb.Styles.platformStyles({ - isElectron: { - alignItems: 'center', - cursor: 'zoom-in', - display: 'flex', - height: '100%', - justifyContent: 'center', - overflow: 'hidden', - position: 'relative', - width: '100%', - }, - }), - scrollAttachZoomed: Kb.Styles.platformStyles({ - isElectron: { - cursor: 'zoom-out', - height: '100%', - overflow: 'hidden', - position: 'relative', - width: '100%', - }, - }), videoFit: Kb.Styles.platformStyles({ isElectron: { cursor: 'normal', diff --git a/shared/chat/conversation/attachment-fullscreen/index.native.tsx b/shared/chat/conversation/attachment-fullscreen/index.native.tsx index 97fa89f2a1b4..3b78e5caa338 100644 --- a/shared/chat/conversation/attachment-fullscreen/index.native.tsx +++ b/shared/chat/conversation/attachment-fullscreen/index.native.tsx @@ -1,7 +1,7 @@ import * as React from 'react' import * as Kb from '@/common-adapters' import {useMessagePopup} from '../messages/message-popup' -import {Video, ResizeMode} from 'expo-av' +import {useVideoPlayer, VideoView} from 'expo-video' import logger from '@/logger' import {ShowToastAfterSaving} from '../messages/attachment/shared' import type {Props} from '.' @@ -10,7 +10,45 @@ import {type GestureResponderEvent, Animated, View} from 'react-native' import {useSafeAreaFrame} from 'react-native-safe-area-context' import {Image} from 'expo-image' -const Fullscreen = React.memo(function Fullscreen(p: Props) { +const FullscreenVideo = (p: { + path: string + previewHeight: number + onTouchStart: (e: GestureResponderEvent) => void + onTouchEnd: (e: GestureResponderEvent) => void + onLoaded: () => void +}) => { + const {path, previewHeight, onTouchStart, onTouchEnd, onLoaded} = p + const sourceUri = `${path}&contentforce=true` + const player = useVideoPlayer(sourceUri) + + React.useEffect(() => { + const sub = player.addListener('statusChange', ({status, error}) => { + if (status === 'readyToPlay') { + onLoaded() + } + if (status === 'error' && error) { + logger.error(`Error loading vid: ${JSON.stringify(error)}`) + } + }) + return () => sub.remove() + }, [player, onLoaded]) + + return ( + + + + ) +} + +const Fullscreen = function Fullscreen(p: Props) { const {showHeader: _showHeader = true} = p const data = useData(p.ordinal) const {isVideo, onClose, message, path, previewHeight, onAllMedia, previewPath} = data @@ -18,11 +56,11 @@ const Fullscreen = React.memo(function Fullscreen(p: Props) { const [loaded, setLoaded] = React.useState(false) const {ordinal} = message const [showHeader, setShowHeader] = React.useState(_showHeader) - const toggleHeader = React.useCallback(() => { + const toggleHeader = () => { setShowHeader(s => !s) - }, []) + } - const preload = React.useCallback((path: string, onLoad: () => void, onError: () => void) => { + const preload = (path: string, onLoad: () => void, onError: () => void) => { const f = async () => { try { await Image.prefetch(path) @@ -34,27 +72,22 @@ const Fullscreen = React.memo(function Fullscreen(p: Props) { f() .then(() => {}) .catch(() => {}) - }, []) + } const imgSrc = usePreviewFallback(path, previewPath, isVideo, data.showPreview, preload) - const srcDims = React.useMemo(() => { - return imgSrc === path - ? {height: data.fullHeight, width: data.fullWidth} - : {height: data.previewWidth, width: data.previewHeight} - }, [data.fullHeight, data.fullWidth, data.previewHeight, data.previewWidth, imgSrc, path]) + const srcDims = imgSrc === path + ? {height: data.fullHeight, width: data.fullWidth} + : {height: data.previewWidth, width: data.previewHeight} const {showPopup, popup} = useMessagePopup({ordinal}) - const onSwipe = React.useCallback( - (left: boolean) => { - if (left) { - onNextAttachment() - } else { - onPreviousAttachment() - } - }, - [onNextAttachment, onPreviousAttachment] - ) + const onSwipe = (left: boolean) => { + if (left) { + onNextAttachment() + } else { + onPreviousAttachment() + } + } let content: React.ReactNode = null let spinner: React.ReactNode = null @@ -63,7 +96,7 @@ const Fullscreen = React.memo(function Fullscreen(p: Props) { const needDiff = windowWidth / 3 const initialTouch = React.useRef(-1) const maxTouchesRef = React.useRef(0) - const onTouchStart = React.useCallback((e: GestureResponderEvent) => { + const onTouchStart = (e: GestureResponderEvent) => { // we get calls when the touches increase maxTouchesRef.current = Math.max(maxTouchesRef.current, e.nativeEvent.touches.length) if (e.nativeEvent.touches.length === 1) { @@ -71,45 +104,34 @@ const Fullscreen = React.memo(function Fullscreen(p: Props) { } else { initialTouch.current = -1 } - }, []) - const onTouchEnd = React.useCallback( - (e: GestureResponderEvent) => { - const maxTouches = maxTouchesRef.current - maxTouchesRef.current = 0 - const diff = e.nativeEvent.pageX - initialTouch.current - initialTouch.current = -1 - // we only do swipes on single touch - if (maxTouches !== 1) { - return - } - if (diff > needDiff) { - onSwipe(false) - } else if (diff < -needDiff) { - onSwipe(true) - } - }, - [onSwipe, needDiff] - ) + } + const onTouchEnd = (e: GestureResponderEvent) => { + const maxTouches = maxTouchesRef.current + maxTouchesRef.current = 0 + const diff = e.nativeEvent.pageX - initialTouch.current + initialTouch.current = -1 + // we only do swipes on single touch + if (maxTouches !== 1) { + return + } + if (diff > needDiff) { + onSwipe(false) + } else if (diff < -needDiff) { + onSwipe(true) + } + } if (path) { if (isVideo) { content = ( - - + setLoaded(true)} + /> ) } else { content = ( @@ -158,7 +180,8 @@ const Fullscreen = React.memo(function Fullscreen(p: Props) { return ( @@ -175,11 +198,11 @@ const Fullscreen = React.memo(function Fullscreen(p: Props) { - + {popup} ) -}) +} const styles = Kb.Styles.styleSheetCreate( () => @@ -196,18 +219,10 @@ const styles = Kb.Styles.styleSheetCreate( right: 0, top: 0, }, - assetWrapper: { - ...Kb.Styles.globalStyles.flexBoxCenter, - flex: 1, - }, close: { color: Kb.Styles.globalColors.blueDark, padding: Kb.Styles.globalMargins.small, }, - fastImage: { - height: Kb.Styles.dimensionHeight, - width: Kb.Styles.dimensionWidth, - }, headerFooter: { ...Kb.Styles.globalStyles.flexBoxRow, alignItems: 'center', @@ -223,11 +238,6 @@ const styles = Kb.Styles.styleSheetCreate( headerWrapper: {backgroundColor: Kb.Styles.globalColors.blackOrBlack}, progressIndicator: {width: 48}, progressWrapper: {position: 'absolute'}, - safeAreaTop: { - ...Kb.Styles.globalStyles.flexBoxColumn, - ...Kb.Styles.globalStyles.fillAbsolute, - backgroundColor: Kb.Styles.globalColors.blackOrBlack, - }, videoWrapper: { alignItems: 'center', height: '100%', @@ -241,10 +251,6 @@ const styles = Kb.Styles.styleSheetCreate( position: 'relative', width: '100%', }, - zoomableBoxContainer: { - flex: 1, - position: 'relative', - }, }) as const ) diff --git a/shared/chat/conversation/attachment-get-titles.tsx b/shared/chat/conversation/attachment-get-titles.tsx index f5658e3078a8..1a8008182e28 100644 --- a/shared/chat/conversation/attachment-get-titles.tsx +++ b/shared/chat/conversation/attachment-get-titles.tsx @@ -1,5 +1,5 @@ import * as C from '@/constants' -import * as Chat from '@/constants/chat2' +import * as Chat from '@/stores/chat' import * as T from '@/constants/types' import * as React from 'react' import * as Kb from '@/common-adapters' @@ -57,28 +57,16 @@ const Container = (ownProps: OwnProps) => { const attachmentsUpload = Chat.useChatContext(s => s.dispatch.attachmentsUpload) const attachFromDragAndDrop = Chat.useChatContext(s => s.dispatch.attachFromDragAndDrop) - const _onSubmit = React.useCallback( - (titles: Array, spoiler: boolean) => { - tlfName || noDragDrop - ? attachmentsUpload(pathAndOutboxIDs, titles, tlfName, spoiler) - : attachFromDragAndDrop(pathAndOutboxIDs, titles) - clearModals() + const _onSubmit = (titles: Array, spoiler: boolean) => { + tlfName || noDragDrop + ? attachmentsUpload(pathAndOutboxIDs, titles, tlfName, spoiler) + : attachFromDragAndDrop(pathAndOutboxIDs, titles) + clearModals() - if (selectConversationWithReason) { - navigateToThread(selectConversationWithReason) - } - }, - [ - attachFromDragAndDrop, - attachmentsUpload, - clearModals, - navigateToThread, - noDragDrop, - pathAndOutboxIDs, - selectConversationWithReason, - tlfName, - ] - ) + if (selectConversationWithReason) { + navigateToThread(selectConversationWithReason) + } + } const pathAndInfos = pathAndOutboxIDs.map(({path, outboxID, url}) => { const filename = T.FS.getLocalPathName(path) const info: Info = { @@ -96,42 +84,33 @@ const Container = (ownProps: OwnProps) => { const [spoiler, setSpoiler] = React.useState(false) setSpoiler // TODO commented out - const onNext = React.useCallback( - (e?: React.BaseSyntheticEvent) => { - e?.preventDefault() + const onNext = (e?: React.BaseSyntheticEvent) => { + e?.preventDefault() - const {info} = pathAndInfos[index] ?? {} - if (!info) return + const {info} = pathAndInfos[index] ?? {} + if (!info) return - const nextIndex = index + 1 - - // done - if (nextIndex === pathAndInfos.length) { - _onSubmit(titles, spoiler) - } else { - // go to next - setIndex(s => s + 1) - } - }, - [index, pathAndInfos, titles, spoiler, setIndex, _onSubmit] - ) + const nextIndex = index + 1 - const onSubmit = React.useCallback( - (e?: React.BaseSyntheticEvent) => { - e?.preventDefault() + // done + if (nextIndex === pathAndInfos.length) { _onSubmit(titles, spoiler) - }, - [_onSubmit, titles, spoiler] - ) + } else { + // go to next + setIndex(s => s + 1) + } + } - const updateTitle = React.useCallback( - (title: string) => { - setTitles([...titles.slice(0, index), title, ...titles.slice(index + 1)]) - }, - [index, titles] - ) + const onSubmit = (e?: React.BaseSyntheticEvent) => { + e?.preventDefault() + _onSubmit(titles, spoiler) + } + + const updateTitle = (title: string) => { + setTitles([...titles.slice(0, index), title, ...titles.slice(index + 1)]) + } - const inputRef = React.useRef(null) + const inputRef = React.useRef(null) const {info, path} = pathAndInfos[index] ?? {} const titleHint = 'Add a caption...' @@ -153,7 +132,7 @@ const Container = (ownProps: OwnProps) => { } else { preview = ( - + ) } @@ -165,7 +144,7 @@ const Container = (ownProps: OwnProps) => { const multiUpload = pathAndInfos.length > 1 return ( - + <> inputRef.current?.blur()}> @@ -179,21 +158,22 @@ const Container = (ownProps: OwnProps) => { )} - { + onClick={(e: React.BaseSyntheticEvent) => { e.stopPropagation() }} autoCorrect={true} placeholder={titleHint} multiline={true} rowsMin={2} - padding="tiny" value={titles[index]} onEnterKeyDown={onNext} onChangeText={updateTitle} + hideBorder={true} + containerStyle={styles.inputBare} + inputStyle={styles.input} /> {/* ( { {multiUpload ? : null} - + ) } @@ -239,7 +219,6 @@ const styles = Kb.Styles.styleSheetCreate( }, isMobile: Kb.Styles.padding(Kb.Styles.globalMargins.xsmall, Kb.Styles.globalMargins.small, 0), }), - cancelButton: {marginRight: Kb.Styles.globalMargins.tiny}, container: Kb.Styles.platformStyles({ common: { alignItems: 'center', @@ -259,10 +238,7 @@ const styles = Kb.Styles.styleSheetCreate( isMobile: {flexShrink: 1}, }), containerOuter: Kb.Styles.platformStyles({ - isElectron: { - height: 560, - width: 400, - }, + isElectron: {height: '100%', overflow: 'hidden'}, isMobile: {flexGrow: 1, flexShrink: 1}, }), filename: Kb.Styles.platformStyles({ @@ -277,28 +253,15 @@ const styles = Kb.Styles.styleSheetCreate( maxWidth: '100%', width: '100%', }, - imageContainer: Kb.Styles.platformStyles({ - common: {justifyContent: 'center'}, - isElectron: { - flex: 1, - height: 325, - paddingBottom: Kb.Styles.globalMargins.medium, - paddingTop: Kb.Styles.globalMargins.medium, - width: 325, - }, - isMobile: { - height: '100%', - width: '100%', - }, - }), input: Kb.Styles.platformStyles({ common: { borderColor: Kb.Styles.globalColors.blue, borderRadius: Kb.Styles.borderRadius, + borderStyle: 'solid', borderWidth: 1, - marginBottom: Kb.Styles.globalMargins.tiny, maxHeight: 42, minHeight: 42, + padding: Kb.Styles.globalMargins.tiny, width: '100%', }, isTablet: { @@ -306,24 +269,18 @@ const styles = Kb.Styles.styleSheetCreate( maxWidth: 460, }, }), + inputBare: { + backgroundColor: Kb.Styles.globalColors.transparent, + marginBottom: Kb.Styles.globalMargins.tiny, + padding: 0, + width: '100%', + }, inputContainer: Kb.Styles.platformStyles({ isElectron: { paddingLeft: Kb.Styles.globalMargins.small, paddingRight: Kb.Styles.globalMargins.small, }, }), - nonImage: { - alignSelf: 'center', - justifyContentSelf: 'center', - }, - scrollView: Kb.Styles.platformStyles({ - common: { - backgroundColor: Kb.Styles.globalColors.blueGrey, - height: '100%', - width: '100%', - }, - isElectron: {borderRadius: Kb.Styles.borderRadius}, - }), }) as const ) export default Container diff --git a/shared/chat/conversation/bot/channel-picker.tsx b/shared/chat/conversation/bot/channel-picker.tsx index db8b4ecdc028..8cb968601403 100644 --- a/shared/chat/conversation/bot/channel-picker.tsx +++ b/shared/chat/conversation/bot/channel-picker.tsx @@ -49,7 +49,7 @@ type RowProps = { selected: boolean } const Row = ({description, disabled, name, onToggle, selected}: RowProps) => ( - { setDisableDone(false) }, [allSelected, installInConvs, setDisableDone]) - const channels = React.useMemo( - () => getChannels(props.channelMetas, searchText), - [props.channelMetas, searchText] - ) + const channels = getChannels(props.channelMetas, searchText) const rows = channels.map(meta => ( { - All channels} @@ -145,10 +142,6 @@ const ChannelPicker = (props: Props) => { const styles = Kb.Styles.styleSheetCreate( () => ({ - channelCheckbox: { - marginRight: Kb.Styles.globalMargins.tiny, - paddingTop: 0, - }, channelHash: { alignSelf: 'center', color: Kb.Styles.globalColors.black_50, diff --git a/shared/chat/conversation/bot/confirm.tsx b/shared/chat/conversation/bot/confirm.tsx index 4f0c8230ebbc..1266ba9ed322 100644 --- a/shared/chat/conversation/bot/confirm.tsx +++ b/shared/chat/conversation/bot/confirm.tsx @@ -1,7 +1,6 @@ -import * as React from 'react' import * as Kb from '@/common-adapters' import * as C from '@/constants' -import * as Chat from '@/constants/chat2' +import * as Chat from '@/stores/chat' import type * as T from '@/constants/types' import {useBotConversationIDKey} from './install' @@ -15,12 +14,12 @@ const ConfirmBotRemoveImpl = (props: {botUsername: string}) => { const {botUsername} = props const clearModals = C.useRouterState(s => s.dispatch.clearModals) const removeBotMember = Chat.useChatContext(s => s.dispatch.removeBotMember) - const onClose = React.useCallback(() => { + const onClose = () => { clearModals() - }, [clearModals]) - const onRemove = React.useCallback(() => { + } + const onRemove = () => { removeBotMember(botUsername) - }, [removeBotMember, botUsername]) + } return ( { const botPublicCommands = Chat.useChatState(s => s.botPublicCommands.get(botUsername)) const meta = Chat.useChatContext(s => s.meta) - const commands = React.useMemo(() => { + const commands = (() => { const {botCommands} = meta const commands = ( botCommands.typ === T.RPCChat.ConversationCommandGroupsTyp.custom @@ -77,9 +78,9 @@ const InstallBotPopup = (props: Props) => { ) .filter(c => c.username === botUsername) .map(c => c.name) - const convCommands: T.Chat.BotPublicCommands = {commands, loadError: false} + const convCommands = {commands, loadError: false} satisfies T.Chat.BotPublicCommands return commands.length > 0 ? convCommands : botPublicCommands - }, [meta, botPublicCommands, botUsername]) + })() const featured = useBotsState(s => s.featuredBotsMap.get(botUsername)) const teamRole = Chat.useChatContext(s => s.botTeamRoleMap.get(botUsername)) @@ -104,19 +105,9 @@ const InstallBotPopup = (props: Props) => { const clearModals = C.useRouterState(s => s.dispatch.clearModals) const navigateUp = C.useRouterState(s => s.dispatch.navigateUp) const addBotMember = Chat.useChatContext(s => s.dispatch.addBotMember) - const onClose = () => { - Kb.Styles.isMobile ? navigateUp() : clearModals() - } const onLearn = () => { openURL('https://book.keybase.io/docs/chat/restricted-bots') } - const onLeftAction = () => { - if (installScreen) { - setInstallScreen(false) - } else { - onClose() - } - } const onInstall = () => { if (!conversationIDKey) { return @@ -136,8 +127,8 @@ const InstallBotPopup = (props: Props) => { return } navigateAppend({ - props: {botUsername, conversationIDKey}, - selected: 'chatConfirmRemoveBot', + name: 'chatConfirmRemoveBot', + params: {botUsername, conversationIDKey}, }) } const onFeedback = () => { @@ -304,8 +295,8 @@ const InstallBotPopup = (props: Props) => { setInstallWithRestrict(true)}> Install as a restricted bot - {' '} - if you’d like to customize which messages are encrypted for this bot. + + {" if you’d like to customize which messages are encrypted for this bot."} )} @@ -426,55 +417,31 @@ const InstallBotPopup = (props: Props) => { type="Default" /> ) - const backButton = Kb.Styles.isMobile ? 'Back' : + React.useEffect(() => { + const handleBack = () => { + if (channelPickerScreen) { + setChannelPickerScreen(false) + } else if (installScreen) { + setInstallScreen(false) + } else { + Kb.Styles.isMobile ? navigateUp() : clearModals() + } + } + useModalHeaderState.setState({ + botInTeam: !!inTeam, + botReadOnly: readOnly, + botSubScreen: channelPickerScreen ? 'channels' : installScreen ? 'install' : '', + onAction: handleBack, + title: channelPickerScreen ? 'Channels' : '', + }) + return () => { + useModalHeaderState.setState({botInTeam: false, botReadOnly: false, botSubScreen: '', onAction: undefined, title: ''}) + } + }, [channelPickerScreen, installScreen, inTeam, readOnly, navigateUp, clearModals]) + const enabled = !!conversationIDKey return ( - setChannelPickerScreen(false)}> - Back - - ) : Kb.Styles.isMobile || installScreen ? ( - - {installScreen ? backButton : inTeam || readOnly ? 'Close' : 'Cancel'} - - ) : undefined, - title: channelPickerScreen ? 'Channels' : '', - }} - footer={ - enabled && (!readOnly || showReviewButton) - ? { - content: ( - - - {doneButton} - {editButton} - {saveButton} - {reviewButton} - {installButton} - {removeButton} - - {!!error && ( - - {'Something went wrong! Please try again, or send '} - - {'feedback'} - - - )} - - ), - } - : undefined - } - > + <> { )} - + {enabled && (!readOnly || showReviewButton) ? ( + + + + {doneButton} + {editButton} + {saveButton} + {reviewButton} + {installButton} + {removeButton} + + {!!error && ( + + {'Something went wrong! Please try again, or send '} + + {'feedback'} + + + )} + + + ) : null} + ) } @@ -599,6 +593,20 @@ const styles = Kb.Styles.styleSheetCreate(() => ({ dropdownButton: { padding: Kb.Styles.globalMargins.tiny, }, + modalFooter: Kb.Styles.platformStyles({ + common: { + ...Kb.Styles.padding(Kb.Styles.globalMargins.xsmall, Kb.Styles.globalMargins.small), + borderStyle: 'solid' as const, + borderTopColor: Kb.Styles.globalColors.black_10, + borderTopWidth: 1, + minHeight: 56, + }, + isElectron: { + borderBottomLeftRadius: Kb.Styles.borderRadius, + borderBottomRightRadius: Kb.Styles.borderRadius, + overflow: 'hidden', + }, + }), outerContainer: Kb.Styles.platformStyles({ isElectron: { height: 560, diff --git a/shared/chat/conversation/bot/search.tsx b/shared/chat/conversation/bot/search.tsx index 3a3dd2ab36f3..171065a0be64 100644 --- a/shared/chat/conversation/bot/search.tsx +++ b/shared/chat/conversation/bot/search.tsx @@ -1,11 +1,11 @@ import * as C from '@/constants' -import * as Chat from '@/constants/chat2' +import * as Chat from '@/stores/chat' import * as Kb from '@/common-adapters' import * as React from 'react' import debounce from 'lodash/debounce' import type * as T from '@/constants/types' import {Bot} from '../info-panel/bot' -import {getFeaturedSorted, useBotsState} from '@/constants/bots' +import {getFeaturedSorted, useBotsState} from '@/stores/bots' type Props = {teamID?: T.Teams.TeamID} @@ -38,15 +38,7 @@ const SearchBotPopup = (props: Props) => { const {botSearchResults, featuredBotsMap, getFeaturedBots} = botsState const {searchFeaturedAndUsers, setSearchFeaturedAndUsersResults} = botsState const waiting = C.Waiting.useAnyWaiting([C.waitingKeyBotsSearchUsers, C.waitingKeyBotsSearchFeatured]) - const {clearModals, navigateAppend} = C.useRouterState( - C.useShallow(s => ({ - clearModals: s.dispatch.clearModals, - navigateAppend: s.dispatch.navigateAppend, - })) - ) - const onClose = () => { - clearModals() - } + const navigateAppend = C.useRouterState(s => s.dispatch.navigateAppend) const onSearch = debounce((query: string) => { setLastQuery(query) @@ -58,8 +50,8 @@ const SearchBotPopup = (props: Props) => { }, 200) const onSelect = (username: string) => { navigateAppend({ - props: {botUsername: username, conversationIDKey, teamID}, - selected: 'chatInstallBot', + name: 'chatInstallBot', + params: {botUsername: username, conversationIDKey, teamID}, }) } @@ -134,18 +126,7 @@ const SearchBotPopup = (props: Props) => { title: 'Users', } satisfies Section return ( - - {'Cancel'} - - ) : undefined, - title: 'Add a bot', - }} - > + <> { style={{flexGrow: 1}} /> - + ) } diff --git a/shared/chat/conversation/bot/team-picker.tsx b/shared/chat/conversation/bot/team-picker.tsx index 23c869eeff54..f7625a66730d 100644 --- a/shared/chat/conversation/bot/team-picker.tsx +++ b/shared/chat/conversation/bot/team-picker.tsx @@ -5,7 +5,7 @@ import * as T from '@/constants/types' import {Avatars, TeamAvatar} from '@/chat/avatars' import debounce from 'lodash/debounce' import logger from '@/logger' -import {useBotsState} from '@/constants/bots' +import {useBotsState} from '@/stores/bots' type Props = {botUsername: string} @@ -35,16 +35,12 @@ const BotTeamPicker = (props: Props) => { ) } - const clearModals = C.useRouterState(s => s.dispatch.clearModals) - const onClose = () => { - clearModals() - } const navigateAppend = C.useRouterState(s => s.dispatch.navigateAppend) const onSelect = (convID: T.RPCChat.ConversationID) => { const conversationIDKey = T.Chat.conversationIDToKey(convID) navigateAppend({ - props: {botUsername, conversationIDKey}, - selected: 'chatInstallBot', + name: 'chatInstallBot', + params: {botUsername, conversationIDKey}, }) } @@ -70,17 +66,7 @@ const BotTeamPicker = (props: Props) => { ) } return ( - - {'Cancel'} - - ) : undefined, - title: 'Add to team or chat', - }} - > + <> { {error} ) : ( - )} - + ) } diff --git a/shared/chat/conversation/bottom-banner.tsx b/shared/chat/conversation/bottom-banner.tsx index 3b845cd09e92..c98694933a77 100644 --- a/shared/chat/conversation/bottom-banner.tsx +++ b/shared/chat/conversation/bottom-banner.tsx @@ -1,22 +1,23 @@ import * as C from '@/constants' -import * as Chat from '@/constants/chat2' +import * as Chat from '@/stores/chat' import * as Kb from '@/common-adapters' -import * as React from 'react' -import _openSMS from '@/util/sms' +import type * as React from 'react' +import {openSMS as _openSMS} from '@/util/misc' import {assertionToDisplay} from '@/common-adapters/usernames' -import type {Props as TextProps} from '@/common-adapters/text' -import {useUsersState} from '@/constants/users' -import {useFollowerState} from '@/constants/followers' +import {useUsersState} from '@/stores/users' +import {useFollowerState} from '@/stores/followers' +import {showShareActionSheet} from '@/util/platform-specific' const installMessage = `I sent you encrypted messages on Keybase. You can install it here: https://keybase.io/phone-app` const Invite = () => { + const linkUrlProps = Kb.useClickURL('https://keybase.io/app') const participantInfo = Chat.useChatContext(s => s.participants) const participantInfoAll = participantInfo.all const users = participantInfoAll.filter(p => p.includes('@')) const openShareSheet = () => { - C.PlatformSpecific.showShareActionSheet({ + showShareActionSheet({ message: installMessage, mimeType: 'text/plain', }) @@ -47,20 +48,22 @@ const Invite = () => { if (C.isMobile) { return ( - {caption} + {caption} @@ -69,19 +72,20 @@ const Invite = () => { return ( - {caption} - + {caption} + Send them this link: - https://keybase.io/app - - + + ) } @@ -94,7 +98,7 @@ const Broken = () => { return } -const BannerContainer = React.memo(function BannerContainer() { +const BannerContainer = function BannerContainer() { const following = useFollowerState(s => s.following) const infoMap = useUsersState(s => s.infoMap) const dismissed = Chat.useChatContext(s => s.dismissedInviteBanners) @@ -127,7 +131,7 @@ const BannerContainer = React.memo(function BannerContainer() { case 'none': return null } -}) +} export default BannerContainer @@ -147,10 +151,6 @@ const BannerBox = (props: { ) -const BannerText = (props: Partial) => ( - -) - const styles = Kb.Styles.styleSheetCreate( () => ({ @@ -170,5 +170,12 @@ const styles = Kb.Styles.styleSheetCreate( marginBottom: Kb.Styles.globalMargins.tiny, }, }), + primaryOnBlue: {backgroundColor: Kb.Styles.globalColors.white}, + primaryOnBlueLabel: {color: Kb.Styles.globalColors.blueDark}, + secondaryOnColor: Kb.Styles.platformStyles({ + common: {backgroundColor: Kb.Styles.globalColors.black_20}, + isMobile: {borderWidth: 0}, + }), + secondaryOnColorLabel: {color: Kb.Styles.globalColors.white}, }) as const ) diff --git a/shared/chat/conversation/command-markdown.tsx b/shared/chat/conversation/command-markdown.tsx index 1f434bc4d280..751f669af955 100644 --- a/shared/chat/conversation/command-markdown.tsx +++ b/shared/chat/conversation/command-markdown.tsx @@ -1,4 +1,4 @@ -import * as Chat from '@/constants/chat2' +import * as Chat from '@/stores/chat' import * as Kb from '@/common-adapters' const CommandMarkdown = () => { @@ -6,7 +6,7 @@ const CommandMarkdown = () => { const body = md?.body ?? '' const title = md?.title ?? undefined return ( - + {!!title && ( {title} @@ -17,7 +17,7 @@ const CommandMarkdown = () => { {body} - + ) } diff --git a/shared/chat/conversation/command-status.tsx b/shared/chat/conversation/command-status.tsx index 9a005c52a13c..50b9f2c61ccb 100644 --- a/shared/chat/conversation/command-status.tsx +++ b/shared/chat/conversation/command-status.tsx @@ -1,7 +1,7 @@ -import * as Chat from '@/constants/chat2' +import * as Chat from '@/stores/chat' import * as T from '@/constants/types' import * as Kb from '@/common-adapters' -import {useConfigState} from '@/constants/config' +import {useConfigState} from '@/stores/config' const empty = { actions: [], @@ -13,7 +13,7 @@ const Container = () => { const info = Chat.useChatContext(s => s.commandStatus) const _info = info || empty - const onOpenAppSettings = useConfigState(s => s.dispatch.dynamic.openAppSettings) + const onOpenAppSettings = useConfigState(s => s.dispatch.defer.openAppSettings) const setCommandStatusInfo = Chat.useChatContext(s => s.dispatch.setCommandStatusInfo) const onCancel = () => { setCommandStatusInfo() @@ -39,7 +39,7 @@ const Container = () => { } return ( - + { type="iconfont-remove" style={styles.close} color={textColor(props.displayType)} - boxStyle={styles.close} /> - + {props.displayText} @@ -73,7 +72,7 @@ const Container = () => { })} - + ) } @@ -112,7 +111,6 @@ const styles = Kb.Styles.styleSheetCreate( container: { padding: Kb.Styles.globalMargins.tiny, }, - contentContainer: {flex: 1}, outerContainer: Kb.Styles.platformStyles({ isElectron: { ...Kb.Styles.desktopStyles.boxShadow, diff --git a/shared/chat/conversation/container.tsx b/shared/chat/conversation/container.tsx index 0cb2f2d21908..9986ab9385db 100644 --- a/shared/chat/conversation/container.tsx +++ b/shared/chat/conversation/container.tsx @@ -1,5 +1,5 @@ import * as C from '@/constants' -import * as Chat from '@/constants/chat2' +import * as Chat from '@/stores/chat' import Normal from './normal/container' import NoConversation from './no-conversation' import Error from './error' diff --git a/shared/chat/conversation/error.tsx b/shared/chat/conversation/error.tsx index c4762dc4f87a..80862bb4bb99 100644 --- a/shared/chat/conversation/error.tsx +++ b/shared/chat/conversation/error.tsx @@ -1,33 +1,26 @@ -import * as Chat from '@/constants/chat2' +import * as Chat from '@/stores/chat' import * as Kb from '@/common-adapters' const ConversationError = () => { const text = Chat.useChatContext(s => s.meta.snippet ?? '') return ( - + There was an error loading this conversation. - + The error is: - + - - + + ) } const styles = Kb.Styles.styleSheetCreate( () => ({ - body: {marginTop: Kb.Styles.globalMargins.small}, container: { - ...Kb.Styles.globalStyles.flexBoxColumn, padding: Kb.Styles.globalMargins.medium, - width: '100%', - }, - errorBox: { - ...Kb.Styles.globalStyles.flexBoxRow, - marginTop: Kb.Styles.globalMargins.small, }, errorText: {flexGrow: 1}, }) as const diff --git a/shared/chat/conversation/fwd-msg.tsx b/shared/chat/conversation/fwd-msg.tsx index 53ec16deb001..3d40144bc8ef 100644 --- a/shared/chat/conversation/fwd-msg.tsx +++ b/shared/chat/conversation/fwd-msg.tsx @@ -1,8 +1,9 @@ import * as C from '@/constants' -import * as Chat from '@/constants/chat2' +import * as Chat from '@/stores/chat' import * as React from 'react' import * as Kb from '@/common-adapters' import * as T from '@/constants/types' +import {useModalHeaderState} from '@/stores/modal-header' import {Avatars, TeamAvatar} from '@/chat/avatars' import debounce from 'lodash/debounce' import logger from '@/logger' @@ -50,7 +51,7 @@ const TeamPicker = (props: Props) => { let preview: React.ReactNode = ( - + ) @@ -164,10 +165,10 @@ const TeamPicker = (props: Props) => { {error} ) : ( - )} @@ -177,13 +178,11 @@ const TeamPicker = (props: Props) => { {preview} - { ) - return ( - - {'Cancel'} - - ) : undefined, - title: pickerState === 'picker' ? 'Forward to team or chat' : 'Add a caption', - }} - > - {content} - - ) + React.useEffect(() => { + useModalHeaderState.setState({title: pickerState === 'picker' ? 'Forward to team or chat' : 'Add a caption'}) + return () => { + useModalHeaderState.setState({title: ''}) + } + }, [pickerState]) + + return content } const styles = Kb.Styles.styleSheetCreate( @@ -249,11 +240,8 @@ const styles = Kb.Styles.styleSheetCreate( input: Kb.Styles.platformStyles({ common: { borderColor: Kb.Styles.globalColors.blue, - borderRadius: Kb.Styles.borderRadius, - borderWidth: 1, marginBottom: Kb.Styles.globalMargins.tiny, minHeight: 40, - padding: Kb.Styles.globalMargins.xtiny, width: '100%', }, isElectron: {maxHeight: 100}, diff --git a/shared/chat/conversation/giphy/hooks.tsx b/shared/chat/conversation/giphy/hooks.tsx index bad968dd56aa..2b3389b66fe8 100644 --- a/shared/chat/conversation/giphy/hooks.tsx +++ b/shared/chat/conversation/giphy/hooks.tsx @@ -1,4 +1,4 @@ -import * as Chat from '@/constants/chat2' +import * as Chat from '@/stores/chat' export const useHooks = () => { const giphy = Chat.useChatContext(s => s.giphyResult) diff --git a/shared/chat/conversation/giphy/index.desktop.tsx b/shared/chat/conversation/giphy/index.desktop.tsx index 4581d7dcb51b..807d8e8fc73c 100644 --- a/shared/chat/conversation/giphy/index.desktop.tsx +++ b/shared/chat/conversation/giphy/index.desktop.tsx @@ -10,6 +10,7 @@ const GiphySearch = () => { const props = useHooks() const [width, setWidth] = React.useState(undefined) const divRef = React.useRef(null) + const learnMoreUrlProps = Kb.useClickURL('https://keybase.io/docs/chat/linkpreviews') React.useEffect(() => { if (!divRef.current) return @@ -28,8 +29,8 @@ const GiphySearch = () => { ) } return ( - - + { Kb.Styles.platformStyles({isElectron: {overflowY: width ? 'auto' : 'scroll'}}), ])} > - + {"Tip: hit 'Enter' now to send a random GIF."} Learn more about GIFs & encryption @@ -55,8 +56,8 @@ const GiphySearch = () => { {props.previews.map((p, index) => { const margin = -margins[index]! / 2 - 1 return p.targetUrl ? ( - - + + { url={p.previewUrl} width={scaledWidth(p.previewWidth)} /> - + ) : null })} @@ -82,9 +83,9 @@ const GiphySearch = () => { ))} - - - + + + ) } @@ -93,7 +94,6 @@ const styles = Kb.Styles.styleSheetCreate( ({ container: { flexWrap: 'wrap', - justifyContent: 'flex-start', minHeight: 200, }, image: { @@ -105,7 +105,6 @@ const styles = Kb.Styles.styleSheetCreate( borderStyle: 'solid', borderWidth: Kb.Styles.globalMargins.xxtiny, margin: -1, - overflow: 'hidden', }, instructions: Kb.Styles.platformStyles({ common: { @@ -117,9 +116,7 @@ const styles = Kb.Styles.styleSheetCreate( lineHeight: 17, }, }), - instructionsContainer: { - justifyContent: 'center', - }, + loadingContainer: { minHeight: 200, }, @@ -127,7 +124,6 @@ const styles = Kb.Styles.styleSheetCreate( marginBottom: Kb.Styles.globalMargins.xtiny, marginLeft: Kb.Styles.globalMargins.small, marginRight: Kb.Styles.globalMargins.small, - position: 'relative', }, poweredBy: { bottom: 0, diff --git a/shared/chat/conversation/giphy/index.native.tsx b/shared/chat/conversation/giphy/index.native.tsx index 922f04b190c6..db191d9a09b7 100644 --- a/shared/chat/conversation/giphy/index.native.tsx +++ b/shared/chat/conversation/giphy/index.native.tsx @@ -1,4 +1,3 @@ -import * as React from 'react' import * as Kb from '@/common-adapters' import {colors, darkColors} from '@/styles/colors' import {WebView} from 'react-native-webview' @@ -10,15 +9,13 @@ const GiphySearch = () => { const p = useHooks() const source = {uri: p.galleryURL} const darkMode = useColorScheme() === 'dark' - const injectedJavaScript = React.useMemo(() => { - return ` + const injectedJavaScript = ` (function() { window.document.querySelector("body").style.backgroundColor = "${ darkMode ? darkColors.white : colors.white }"; })(); ` - }, [darkMode]) return ( diff --git a/shared/chat/conversation/header-area/index.d.ts b/shared/chat/conversation/header-area/index.d.ts index b4f2f643afca..2196679d1e13 100644 --- a/shared/chat/conversation/header-area/index.d.ts +++ b/shared/chat/conversation/header-area/index.d.ts @@ -1,4 +1,4 @@ -import type {GetOptionsRet} from '@/constants/types/router2' +import type {GetOptionsRet} from '@/constants/types/router' declare function headerNavigationOptions(route: { params: {conversationIDKey?: string} diff --git a/shared/chat/conversation/header-area/index.native.tsx b/shared/chat/conversation/header-area/index.native.tsx index c2b82732a4aa..c1ab4b8031c1 100644 --- a/shared/chat/conversation/header-area/index.native.tsx +++ b/shared/chat/conversation/header-area/index.native.tsx @@ -1,16 +1,15 @@ import * as C from '@/constants' -import * as Chat from '@/constants/chat2' -import {useProfileState} from '@/constants/profile' +import * as Chat from '@/stores/chat' +import {useProfileState} from '@/stores/profile' import * as Kb from '@/common-adapters' -import * as React from 'react' import type {HeaderBackButtonProps} from '@react-navigation/elements' -import {HeaderLeftArrow} from '@/common-adapters/header-hoc' +import {HeaderLeftButton} from '@/common-adapters/header-buttons' import {Keyboard} from 'react-native' -// import {DebugChatDumpContext} from '@/constants/chat2/debug' +// import {DebugChatDumpContext} from '@/constants/chat/debug' import {assertionToDisplay} from '@/common-adapters/usernames' import {useSafeAreaFrame} from 'react-native-safe-area-context' -import {useUsersState} from '@/constants/users' -import {useCurrentUserState} from '@/constants/current-user' +import {useUsersState} from '@/stores/users' +import {useCurrentUserState} from '@/stores/current-user' export const HeaderAreaRight = () => { const conversationIDKey = Chat.useChatContext(s => s.id) @@ -38,15 +37,15 @@ export const HeaderAreaRight = () => { // ) : null const showInfoPanel = Chat.useChatContext(s => s.dispatch.showInfoPanel) - const onShowInfoPanel = React.useCallback(() => showInfoPanel(true, undefined), [showInfoPanel]) + const onShowInfoPanel = () => showInfoPanel(true, undefined) const toggleThreadSearch = Chat.useChatContext(s => s.dispatch.toggleThreadSearch) - const onToggleThreadSearch = React.useCallback(() => { + const onToggleThreadSearch = () => { // fix a race with the keyboard going away and coming back quickly Keyboard.dismiss() setTimeout(() => { toggleThreadSearch() }, 100) - }, [toggleThreadSearch]) + } return ( s.participants) const type = Chat.useChatContext(s => { const meta = s.meta @@ -89,12 +88,12 @@ const HeaderBranchContainer = React.memo(function HeaderBranchContainer() { case HeaderType.User: return } -}) +} export default HeaderBranchContainer const BadgeHeaderLeftArray = (p: HeaderBackButtonProps) => { const badgeNumber = useBackBadge() - return + return } export const headerNavigationOptions = (route: {params?: {conversationIDKey?: string}}) => { @@ -133,12 +132,12 @@ export const useBackBadge = () => { const shhIconColor = Kb.Styles.globalColors.black_20 const shhIconFontSize = 24 -const ShhIcon = React.memo(function ShhIcon() { +const ShhIcon = function ShhIcon() { const isMuted = Chat.useChatContext(s => s.meta.isMuted) const mute = Chat.useChatContext(s => s.dispatch.mute) - const unMuteConversation = React.useCallback(() => { + const unMuteConversation = () => { mute(false) - }, [mute]) + } return isMuted ? ( ) : null -}) +} const useMaxWidthStyle = () => { const {width} = useSafeAreaFrame() const hasBadge = useBackBadge() > 0 const w = width - 140 - (hasBadge ? 40 : 0) - return React.useMemo(() => ({maxWidth: w, minWidth: w}), [w]) + return {maxWidth: w, minWidth: w} } const ChannelHeader = () => { @@ -168,9 +167,9 @@ const ChannelHeader = () => { ) const textType = smallTeam ? 'BodyBig' : Kb.Styles.isMobile ? 'BodyTinySemibold' : 'BodySemibold' const navigateAppend = C.useRouterState(s => s.dispatch.navigateAppend) - const onClick = React.useCallback(() => { - navigateAppend({props: {teamID}, selected: 'team'}) - }, [navigateAppend, teamID]) + const onClick = () => { + navigateAppend({name: 'team', params: {teamID}}) + } const maxWidthStyle = useMaxWidthStyle() return ( @@ -178,7 +177,7 @@ const ChannelHeader = () => { { }) ) const showUserProfile = useProfileState(s => s.dispatch.showUserProfile) - const onShowProfile = React.useCallback( - (username: string) => { - showUserProfile(username) - }, - [showUserProfile] - ) + const onShowProfile = (username: string) => { + showUserProfile(username) + } const maxWidthStyle = useMaxWidthStyle() @@ -238,11 +234,11 @@ const UsernameHeader = () => { style={Kb.Styles.collapseStyles([styles.usernameHeaderContainer, maxWidthStyle])} > {!!theirFullname && ( - + {theirFullname} )} - + ({ center: { - backgroundColor: Kb.Styles.globalColors.fastBlank, justifyContent: 'center', textAlign: 'center', }, @@ -308,7 +303,6 @@ const styles = Kb.Styles.styleSheetCreate( lessMargins: {marginBottom: -5}, nameMutedContainer: { alignItems: 'center', - justifyContent: 'center', }, shhIcon: {marginLeft: Kb.Styles.globalMargins.xtiny}, usernameHeaderContainer: {alignItems: 'center', justifyContent: 'center'}, diff --git a/shared/chat/conversation/info-panel/add-people.tsx b/shared/chat/conversation/info-panel/add-people.tsx index 9e7492a91f92..a24c97fbf8eb 100644 --- a/shared/chat/conversation/info-panel/add-people.tsx +++ b/shared/chat/conversation/info-panel/add-people.tsx @@ -1,6 +1,5 @@ -import * as Chat from '@/constants/chat2' -import {useTeamsState} from '@/constants/teams' -import * as React from 'react' +import * as Chat from '@/stores/chat' +import {useTeamsState} from '@/stores/teams' import * as Kb from '@/common-adapters' type Props = { @@ -13,12 +12,12 @@ const AddPeople = (p: Props) => { const teamID = Chat.useChatContext(s => s.meta.teamID) const startAddMembersWizard = useTeamsState(s => s.dispatch.startAddMembersWizard) const navigateAppend = Chat.useChatNavigateAppend() - const onAddPeople = React.useCallback(() => { + const onAddPeople = () => { startAddMembersWizard(teamID) - }, [startAddMembersWizard, teamID]) - const onAddToChannel = React.useCallback(() => { - navigateAppend(conversationIDKey => ({props: {conversationIDKey, teamID}, selected: 'chatAddToChannel'})) - }, [navigateAppend, teamID]) + } + const onAddToChannel = () => { + navigateAppend(conversationIDKey => ({name: 'chatAddToChannel', params: {conversationIDKey, teamID}})) + } let directAction: undefined | (() => void) let directLabel: string | undefined @@ -32,29 +31,26 @@ const AddPeople = (p: Props) => { directLabel = 'Add members to channel' } - const makePopup = React.useCallback( - (p: Kb.Popup2Parms) => { - const {attachTo, hidePopup} = p - if (!isGeneralChannel) { - // general channel & small teams don't need a menu - const items: Kb.MenuItems = [ - {icon: 'iconfont-people', onClick: onAddPeople, title: 'To team'}, - {icon: 'iconfont-hash', onClick: onAddToChannel, title: 'To channel'}, - ] - return ( - - ) - } else return null - }, - [isGeneralChannel, onAddPeople, onAddToChannel] - ) + const makePopup = (p: Kb.Popup2Parms) => { + const {attachTo, hidePopup} = p + if (!isGeneralChannel) { + // general channel & small teams don't need a menu + const items: Kb.MenuItems = [ + {icon: 'iconfont-people', onClick: onAddPeople, title: 'To team'}, + {icon: 'iconfont-hash', onClick: onAddToChannel, title: 'To channel'}, + ] + return ( + + ) + } else return null + } const {showPopup, popup, popupAnchor} = Kb.usePopup2(makePopup) return ( diff --git a/shared/chat/conversation/info-panel/add-to-channel.tsx b/shared/chat/conversation/info-panel/add-to-channel.tsx index 59bfd1d8e9ca..9993717cee83 100644 --- a/shared/chat/conversation/info-panel/add-to-channel.tsx +++ b/shared/chat/conversation/info-panel/add-to-channel.tsx @@ -1,13 +1,14 @@ import * as C from '@/constants' -import * as Chat from '@/constants/chat2' +import * as Chat from '@/stores/chat' import * as React from 'react' -import * as Teams from '@/constants/teams' +import * as Teams from '@/stores/teams' import * as Kb from '@/common-adapters' -import {useSafeNavigation} from '@/util/safe-navigation' import * as T from '@/constants/types' +import {useSafeNavigation} from '@/util/safe-navigation' import {useTeamDetailsSubscribe} from '@/teams/subscriber' import {pluralize} from '@/util/string' -import {ModalTitle, useChannelParticipants} from '@/teams/common' +import {useChannelParticipants} from '@/teams/common' +import {useModalHeaderState} from '@/stores/modal-header' type Props = {teamID: T.Teams.TeamID} @@ -16,18 +17,16 @@ const AddToChannel = (props: Props) => { const nav = useSafeNavigation() const conversationIDKey = Chat.useChatContext(s => s.id) - const [toAdd, setToAdd] = React.useState>(new Set()) + const [toAdd, setToAdd] = React.useState(new Set()) const [filter, setFilter] = React.useState('') const filterLCase = filter.toLowerCase() const {channelname} = Teams.useTeamsState(s => Teams.getTeamChannelInfo(s, teamID, conversationIDKey)) const participants = useChannelParticipants(teamID, conversationIDKey) const teamDetails = Teams.useTeamsState(s => s.teamDetails.get(teamID)) ?? Teams.emptyTeamDetails - const allMembers = React.useMemo(() => { - return [...teamDetails.members.values()] - .filter(m => m.type !== 'restrictedbot' && m.type !== 'bot') - .sort((a, b) => a.username.localeCompare(b.username)) - }, [teamDetails.members]) + const allMembers = [...teamDetails.members.values()] + .filter(m => m.type !== 'restrictedbot' && m.type !== 'bot') + .sort((a, b) => a.username.localeCompare(b.username)) const membersFiltered = allMembers.filter( m => m.username.toLowerCase().includes(filterLCase) || m.fullName.toLowerCase().includes(filterLCase) ) @@ -58,55 +57,40 @@ const AddToChannel = (props: Props) => { const loading = !allMembers.length + React.useEffect(() => { + const handleAdd = () => { + setWaiting(true) + addToChannel( + [{convID: T.Chat.keyToConversationID(conversationIDKey), usernames: [...toAdd]}], + () => { + setWaiting(false) + loadTeamChannelList(teamID) + nav.safeNavigateUp() + }, + (e: {message: string}) => { + setError(e.message) + setWaiting(false) + } + ) + } + useModalHeaderState.setState({ + actionEnabled: toAdd.size > 0, + actionWaiting: waiting, + onAction: handleAdd, + title: `Add to #${channelname}`, + }) + return () => { + useModalHeaderState.setState({actionEnabled: false, actionWaiting: false, onAction: undefined, title: ''}) + } + }, [channelname, teamID, toAdd, toAdd.size, waiting, addToChannel, conversationIDKey, loadTeamChannelList, nav]) + return ( - - Cancel - - ) : undefined, - rightButton: Kb.Styles.isMobile && toAdd.size && ( - - Add - - ), - title: title({channelname, teamID}), - }} - footer={ - Kb.Styles.isMobile - ? undefined - : { - content: ( - - - - - ), - } - } - onClose={onClose} - allowOverflow={true} - banners={ - error ? ( - - {error} - - ) : null - } - > + <> + {error ? ( + + {error} + + ) : null} setFilter(text)} size="full-width" @@ -116,8 +100,10 @@ const AddToChannel = (props: Props) => { style={styles.filterInput} /> - { const alreadyIn = participants.includes(item.username) const onCheck = () => { @@ -130,7 +116,7 @@ const AddToChannel = (props: Props) => { } } return ( - } type="Small" @@ -162,21 +148,33 @@ const AddToChannel = (props: Props) => { /> ) }} - itemHeight={{sizeType: 'Small', type: 'fixedListItem2Auto'}} + itemHeight={{sizeType: 'Small', type: 'fixedListItemAuto'}} style={styles.list} /> - + {Kb.Styles.isMobile ? null : ( + + + + + + + )} + ) } -const title = ({channelname, teamID}: {channelname: string; teamID: T.Teams.TeamID}) => - Kb.Styles.isMobile ? ( - `Add to #${channelname}` - ) : ( - - ) - const styles = Kb.Styles.styleSheetCreate(() => ({ checkCircle: { paddingRight: Kb.Styles.isMobile ? Kb.Styles.globalMargins.small : Kb.Styles.globalMargins.tiny, @@ -191,6 +189,20 @@ const styles = Kb.Styles.styleSheetCreate(() => ({ }), list: Kb.Styles.platformStyles({isMobile: {height: '100%'}}), listContainer: Kb.Styles.platformStyles({isElectron: {height: 370}}), // shortcut to get the list to expand the modal. + modalFooter: Kb.Styles.platformStyles({ + common: { + ...Kb.Styles.padding(Kb.Styles.globalMargins.xsmall, Kb.Styles.globalMargins.small), + borderStyle: 'solid' as const, + borderTopColor: Kb.Styles.globalColors.black_10, + borderTopWidth: 1, + minHeight: 56, + }, + isElectron: { + borderBottomLeftRadius: Kb.Styles.borderRadius, + borderBottomRightRadius: Kb.Styles.borderRadius, + overflow: 'hidden', + }, + }), })) export default AddToChannel diff --git a/shared/chat/conversation/info-panel/attachments.tsx b/shared/chat/conversation/info-panel/attachments.tsx index 451fa0a9bf98..9fd8d1cf9439 100644 --- a/shared/chat/conversation/info-panel/attachments.tsx +++ b/shared/chat/conversation/info-panel/attachments.tsx @@ -1,14 +1,14 @@ import * as C from '@/constants' -import * as Chat from '@/constants/chat2' +import * as Chat from '@/stores/chat' import * as Kb from '@/common-adapters' -import type {StylesTextCrossPlatform} from '@/common-adapters/text' +import type {StylesTextCrossPlatform} from '@/common-adapters/text.shared' import * as T from '@/constants/types' import * as React from 'react' import chunk from 'lodash/chunk' import {formatAudioRecordDuration, formatTimeForMessages} from '@/util/timestamp' import {infoPanelWidth} from './common' import {useMessagePopup} from '../messages/message-popup' -import {useFSState} from '@/constants/fs' +import {useFSState} from '@/stores/fs' type Props = { commonSections: ReadonlyArray
@@ -177,7 +177,7 @@ type MediaThumbProps = { const MediaThumb = (props: MediaThumbProps) => { const {sizing, thumb} = props return ( - + {thumb.typ === ThumbTyp.AUDIO ? ( @@ -194,12 +194,12 @@ const MediaThumb = (props: MediaThumbProps) => { )} ) : ( - + )} {thumb.typ === ThumbTyp.VIDEO && ( - + )} @@ -210,9 +210,9 @@ type DocViewRowProps = {item: Doc} const DocViewRow = (props: DocViewRowProps) => { const {item} = props - const shouldShow = React.useCallback(() => { + const shouldShow = () => { return !!item.message - }, [item]) + } const {showPopup, popup} = useMessagePopup({ ordinal: item.message?.ordinal ?? T.Chat.numberToOrdinal(0), shouldShow, @@ -221,7 +221,7 @@ const DocViewRow = (props: DocViewRowProps) => { - + {item.name} {item.name !== item.fileName && {item.fileName}} @@ -300,6 +300,22 @@ const AttachmentTypeSelector = (props: SelectorProps) => ( ) +const LinkTitle = (p: {title: string; url?: string}) => { + const urlProps = Kb.useClickURL(p.url ?? '') + return ( + + {p.title} + + ) +} + const styles = Kb.Styles.styleSheetCreate( () => ({ @@ -316,10 +332,6 @@ const styles = Kb.Styles.styleSheetCreate( }, }), avatar: {marginRight: Kb.Styles.globalMargins.tiny}, - container: { - flex: 1, - height: '100%', - }, docBottom: {padding: Kb.Styles.globalMargins.tiny}, docIcon: {height: 32}, docProgress: {alignSelf: 'center'}, @@ -359,18 +371,6 @@ const styles = Kb.Styles.styleSheetCreate( alignSelf: 'center', marginTop: Kb.Styles.globalMargins.tiny, }, - loading: { - bottom: '50%', - left: '50%', - marginBottom: -12, - marginLeft: -12, - marginRight: -12, - marginTop: -12, - position: 'absolute', - right: '50%', - top: '50%', - width: 24, - }, selectorContainer: { maxWidth: 460, padding: Kb.Styles.globalMargins.small, @@ -408,10 +408,6 @@ const styles = Kb.Styles.styleSheetCreate( borderTopLeftRadius: Kb.Styles.borderRadius, borderTopRightRadius: 0, }, - thumbContainer: { - overflow: 'hidden', - position: 'relative', - }, }) as const ) @@ -435,7 +431,7 @@ export const useAttachmentSections = ( loadImmediately: boolean, useFlexWrap: boolean ): {sections: Array
} => { - const [selectedAttachmentView, onSelectAttachmentView] = React.useState( + const [selectedAttachmentView, onSelectAttachmentView] = React.useState( T.RPCChat.GalleryItemTyp.media ) const [lastSAV, setLastSAV] = React.useState(selectedAttachmentView) @@ -443,15 +439,12 @@ export const useAttachmentSections = ( const loadMessagesCentered = Chat.useChatContext(s => s.dispatch.loadMessagesCentered) const clearModals = C.useRouterState(s => s.dispatch.clearModals) - const jumpToAttachment = React.useCallback( - (messageID: T.Chat.MessageID) => { - if (C.isMobile) { - clearModals() - } - loadMessagesCentered(messageID, 'always') - }, - [loadMessagesCentered, clearModals] - ) + const jumpToAttachment = (messageID: T.Chat.MessageID) => { + if (C.isMobile) { + clearModals() + } + loadMessagesCentered(messageID, 'always') + } C.useOnMountOnce(() => { setTimeout(() => { @@ -499,7 +492,7 @@ export const useAttachmentSections = ( } const openLocalPathInSystemFileManagerDesktop = useFSState( - s => s.dispatch.dynamic.openLocalPathInSystemFileManagerDesktop + s => s.dispatch.defer.openLocalPathInSystemFileManagerDesktop ) const onShowInFinder = (message: T.Chat.MessageAttachment) => message.downloadPath && openLocalPathInSystemFileManagerDesktop?.(message.downloadPath) @@ -721,16 +714,7 @@ export const useAttachmentSections = ( {!!item.title && ( - - {item.title} - + )} diff --git a/shared/chat/conversation/info-panel/bot.tsx b/shared/chat/conversation/info-panel/bot.tsx index 9acfef03a51a..9cc7a091ab9e 100644 --- a/shared/chat/conversation/info-panel/bot.tsx +++ b/shared/chat/conversation/info-panel/bot.tsx @@ -1,11 +1,11 @@ import * as C from '@/constants' -import * as Chat from '@/constants/chat2' -import * as Teams from '@/constants/teams' +import * as Chat from '@/stores/chat' +import * as Teams from '@/stores/teams' import * as Kb from '@/common-adapters' import * as React from 'react' import type * as T from '@/constants/types' -import {getFeaturedSorted, useBotsState} from '@/constants/bots' -import {useUsersState} from '@/constants/users' +import {getFeaturedSorted, useBotsState} from '@/stores/bots' +import {useUsersState} from '@/stores/users' type AddToChannelProps = { conversationIDKey: T.Chat.ConversationIDKey @@ -42,7 +42,6 @@ const AddToChannel = (props: AddToChannelProps) => { disabled={!settings} type="Dim" mode="Secondary" - icon="iconfont-new" tooltip="Add to this channel" onClick={e => { e.preventDefault() @@ -57,7 +56,9 @@ const AddToChannel = (props: AddToChannelProps) => { } }} waitingKey={C.waitingKeyChatBotAdd} - /> + > + + ) } @@ -115,7 +116,7 @@ export const Bot = (props: BotProps) => { ) return ( - onClick(botUsername)} type="Large" @@ -125,7 +126,7 @@ export const Bot = (props: BotProps) => { style={{backgroundColor: Kb.Styles.globalColors.white}} action={ showTeamAdd ? ( - + ) : showChannelAdd && conversationIDKey ? ( ) : null @@ -150,7 +151,6 @@ const styles = Kb.Styles.styleSheetCreate( marginRight: Kb.Styles.globalMargins.small, marginTop: Kb.Styles.globalMargins.small, }, - addButton: {marginLeft: Kb.Styles.globalMargins.tiny}, botHeaders: { marginBottom: Kb.Styles.globalMargins.tiny, marginLeft: Kb.Styles.globalMargins.small, @@ -165,27 +165,7 @@ const styles = Kb.Styles.styleSheetCreate( marginRight: Kb.Styles.globalMargins.tiny, }, }), - divider: Kb.Styles.platformStyles({ - common: {marginTop: Kb.Styles.globalMargins.tiny}, - isElectron: {marginLeft: 56}, - isMobile: {marginLeft: 81}, - }), listItemContainer: {paddingRight: Kb.Styles.globalMargins.tiny}, - row: { - alignItems: 'center', - flex: 1, - marginRight: Kb.Styles.globalMargins.tiny, - }, - rowContainer: Kb.Styles.platformStyles({ - common: { - minHeight: 48, - paddingLeft: Kb.Styles.globalMargins.small, - paddingRight: Kb.Styles.globalMargins.small, - }, - isElectron: { - ...Kb.Styles.desktopStyles.clickable, - }, - }), }) as const ) @@ -260,12 +240,12 @@ const BotTab = (props: Props) => { const navigateAppend = Chat.useChatNavigateAppend() const conversationIDKey = Chat.useChatContext(s => s.id) const onBotAdd = () => { - navigateAppend(conversationIDKey => ({props: {conversationIDKey}, selected: 'chatSearchBots'})) + navigateAppend(conversationIDKey => ({name: 'chatSearchBots', params: {conversationIDKey}})) } const onBotSelect = (username: string) => { navigateAppend(conversationIDKey => ({ - props: {botUsername: username, conversationIDKey}, - selected: 'chatInstallBot', + name: 'chatInstallBot', + params: {botUsername: username, conversationIDKey}, })) } const loadNextBotPage = useBotsState(s => s.dispatch.loadNextBotPage) diff --git a/shared/chat/conversation/info-panel/common.tsx b/shared/chat/conversation/info-panel/common.tsx index 1de1bb893716..a3539a609876 100644 --- a/shared/chat/conversation/info-panel/common.tsx +++ b/shared/chat/conversation/info-panel/common.tsx @@ -1,5 +1,5 @@ -import type * as Chat from '@/constants/chat2' -import {useTeamsState} from '@/constants/teams' +import type * as Chat from '@/stores/chat' +import {useTeamsState} from '@/stores/teams' import * as React from 'react' import * as Styles from '@/styles' import type * as T from '@/constants/types' @@ -28,11 +28,11 @@ export const useTeamHumans = (teamID: T.Teams.TeamID) => { getMembers(teamID) } const teamMembers = useTeamsState(s => s.teamIDToMembers.get(teamID)) - const bots = React.useMemo(() => { + const bots = (() => { const ret = new Set() teamMembers?.forEach(({type}, username) => isBot(type) && ret.add(username)) return ret - }, [teamMembers]) + })() const teamHumanCount = (teamMembers?.size ?? 0) - bots.size return {bots, teamHumanCount} } diff --git a/shared/chat/conversation/info-panel/header.tsx b/shared/chat/conversation/info-panel/header.tsx index 121f86d02404..4854c89f4bf9 100644 --- a/shared/chat/conversation/info-panel/header.tsx +++ b/shared/chat/conversation/info-panel/header.tsx @@ -1,6 +1,5 @@ -import * as Chat from '@/constants/chat2' -import * as React from 'react' -import * as Teams from '@/constants/teams' +import * as Chat from '@/stores/chat' +import * as Teams from '@/stores/teams' import * as Kb from '@/common-adapters' import InfoPanelMenu from './menu' import * as InfoPanelCommon from './common' @@ -26,24 +25,21 @@ const TeamHeader = () => { } const isGeneralChannel = !!(channelname && channelname === 'general') - const makePopup = React.useCallback( - (p: Kb.Popup2Parms) => { - const {attachTo, hidePopup} = p - return ( - - - - ) - }, - [conversationIDKey, isSmallTeam] - ) + const makePopup = (p: Kb.Popup2Parms) => { + const {attachTo, hidePopup} = p + return ( + + + + ) + } const {showPopup, popup, popupAnchor} = Kb.usePopup2(makePopup) return ( @@ -69,12 +65,13 @@ const TeamHeader = () => { /> ) : ( - + # {channelname} @@ -93,7 +90,8 @@ const TeamHeader = () => { alignSelf="flex-start" direction="horizontal" fullWidth={true} - style={styles.textWrapper} + flex={1} + justifyContent="space-between" > @@ -109,13 +107,13 @@ const TeamHeader = () => { )} - + + + {!!description && ( @@ -144,8 +142,8 @@ export const AdhocHeader = () => { const navigateAppend = Chat.useChatNavigateAppend() const onShowNewTeamDialog = () => { navigateAppend(conversationIDKey => ({ - props: {conversationIDKey}, - selected: 'chatShowNewTeamDialog', + name: 'chatShowNewTeamDialog', + params: {conversationIDKey}, })) } return ( @@ -172,26 +170,13 @@ const styles = Kb.Styles.styleSheetCreate( marginLeft: Kb.Styles.globalMargins.small, marginRight: Kb.Styles.globalMargins.small, }, - adhocPartContainer: {padding: Kb.Styles.globalMargins.tiny}, - adhocScrollContainer: Kb.Styles.platformStyles({ - isElectron: {maxHeight: 230}, - isMobile: {maxHeight: 220}, - }), channelName: Kb.Styles.platformStyles({ isElectron: {wordBreak: 'break-all'}, }), - channelnameContainer: {flex: 1}, description: { paddingLeft: Kb.Styles.globalMargins.small, paddingRight: Kb.Styles.globalMargins.small, }, - editBox: { - ...Kb.Styles.globalStyles.flexBoxRow, - position: 'absolute', - right: -50, - top: Kb.Styles.isMobile ? 2 : 1, - }, - editIcon: {marginRight: Kb.Styles.globalMargins.xtiny}, flexOne: {flex: 1}, floatingMenuContainerStyle: Kb.Styles.platformStyles({ isElectron: { @@ -203,7 +188,6 @@ const styles = Kb.Styles.styleSheetCreate( height: gearIconSize, paddingLeft: 16, paddingRight: 16, - width: gearIconSize, }, isMobile: {width: gearIconSize + 32}, }), @@ -212,10 +196,6 @@ const styles = Kb.Styles.styleSheetCreate( alignItems: 'center', paddingLeft: Kb.Styles.globalMargins.small, }, - textWrapper: { - flex: 1, - justifyContent: 'space-between', - }, }) as const ) diff --git a/shared/chat/conversation/info-panel/index.tsx b/shared/chat/conversation/info-panel/index.tsx index f2bcd79a3346..477332899f76 100644 --- a/shared/chat/conversation/info-panel/index.tsx +++ b/shared/chat/conversation/info-panel/index.tsx @@ -1,6 +1,6 @@ -import * as Chat from '@/constants/chat2' +import * as Chat from '@/stores/chat' import * as Kb from '@/common-adapters' -import * as Teams from '@/constants/teams' +import * as Teams from '@/stores/teams' import * as React from 'react' import {AdhocHeader, TeamHeader} from './header' import SettingsList from './settings' @@ -31,10 +31,17 @@ const InfoPanelConnector = (ownProps: Props) => { const showInfoPanel = Chat.useChatContext(s => s.dispatch.showInfoPanel) const clearAttachmentView = Chat.useConvoState(conversationIDKey, s => s.dispatch.clearAttachmentView) - const onCancel = () => { - showInfoPanel(false, undefined) - clearAttachmentView() - } + React.useEffect(() => { + return () => { + // Only call showInfoPanel(false) on mobile where the panel is a separate route. + // On desktop the panel is inline and this cleanup fires during StrictMode + // double-effect, which immediately hides the panel. + if (Kb.Styles.isMobile) { + showInfoPanel(false, undefined) + } + clearAttachmentView() + } + }, [showInfoPanel, clearAttachmentView]) const onGoToInbox = Chat.useChatState(s => s.dispatch.navigateToInbox) if (lastSNO !== shouldNavigateOut) { @@ -134,9 +141,6 @@ const InfoPanelConnector = (ownProps: Props) => { } else { return ( - {Kb.Styles.isMobile && ( - - )} {sectionList} ) diff --git a/shared/chat/conversation/info-panel/members.tsx b/shared/chat/conversation/info-panel/members.tsx index 5c1242ee02d7..f838a6cd6f93 100644 --- a/shared/chat/conversation/info-panel/members.tsx +++ b/shared/chat/conversation/info-panel/members.tsx @@ -1,12 +1,12 @@ import * as C from '@/constants' -import * as Chat from '@/constants/chat2' -import {useProfileState} from '@/constants/profile' -import * as Teams from '@/constants/teams' +import * as Chat from '@/stores/chat' +import {useProfileState} from '@/stores/profile' +import * as Teams from '@/stores/teams' import * as React from 'react' import * as Kb from '@/common-adapters' import * as T from '@/constants/types' import Participant from './participant' -import {useUsersState} from '@/constants/users' +import {useUsersState} from '@/stores/users' type Props = { commonSections: ReadonlyArray
diff --git a/shared/chat/conversation/info-panel/menu.tsx b/shared/chat/conversation/info-panel/menu.tsx index eac5285c62f0..658ddf285fba 100644 --- a/shared/chat/conversation/info-panel/menu.tsx +++ b/shared/chat/conversation/info-panel/menu.tsx @@ -1,14 +1,14 @@ import * as C from '@/constants' -import * as Chat from '@/constants/chat2' +import * as Chat from '@/stores/chat' import * as Kb from '@/common-adapters' -import * as Teams from '@/constants/teams' -import * as React from 'react' +import * as Teams from '@/stores/teams' +import type * as React from 'react' import * as T from '@/constants/types' import * as InfoPanelCommon from './common' import {Avatars, TeamAvatar} from '@/chat/avatars' import {TeamsSubscriberMountOnly} from '@/teams/subscriber' -import {useUsersState} from '@/constants/users' -import {useCurrentUserState} from '@/constants/current-user' +import {useUsersState} from '@/stores/users' +import {useCurrentUserState} from '@/stores/current-user' export type OwnProps = { attachTo?: React.RefObject @@ -20,10 +20,10 @@ export type OwnProps = { visible: boolean } -const InfoPanelMenuConnectorVisible = React.memo(function InfoPanelMenuConnectorVisible(p: OwnProps) { +const InfoPanelMenuConnectorVisible = function InfoPanelMenuConnectorVisible(p: OwnProps) { const {visible} = p return visible ? : null -}) +} const useData = (p: {isSmallTeam: boolean; pteamID: string | undefined}) => { const {isSmallTeam, pteamID} = p @@ -79,7 +79,7 @@ const useData = (p: {isSmallTeam: boolean; pteamID: string | undefined}) => { return {...common} } -const InfoPanelMenuConnector = React.memo(function InfoPanelMenuConnector(p: OwnProps) { +const InfoPanelMenuConnector = function InfoPanelMenuConnector(p: OwnProps) { const {attachTo, onHidden, floatingMenuContainerStyle, hasHeader} = p const {isSmallTeam, teamID: pteamID} = p const visible = true @@ -99,32 +99,29 @@ const InfoPanelMenuConnector = React.memo(function InfoPanelMenuConnector(p: Own ) const {addTeamWithChosenChannels, badgeSubscribe, canAddPeople} = teamsState const {manageChatChannels, startAddMembersWizard} = teamsState - const onAddPeople = React.useCallback(() => { + const onAddPeople = () => { teamID && startAddMembersWizard(teamID) - }, [startAddMembersWizard, teamID]) + } const navigateAppend = Chat.useChatNavigateAppend() - const onBlockConv = React.useCallback(() => { + const onBlockConv = () => { navigateAppend(conversationIDKey => ({ - props: { + name: 'chatBlockingModal', + params: { blockUserByDefault: participants.length === 1, conversationIDKey, others: participants, team: teamname, }, - selected: 'chatBlockingModal', })) - }, [navigateAppend, teamname, participants]) + } const onJoinChannel = Chat.useChatContext(s => s.dispatch.joinConversation) const onLeaveChannel = Chat.useChatContext(s => s.dispatch.leaveConversation) - const onLeaveTeam = React.useCallback( - () => teamID && navigateAppend(() => ({props: {teamID}, selected: 'teamReallyLeaveTeam'})), - [navigateAppend, teamID] - ) - const onManageChannels = React.useCallback(() => { + const onLeaveTeam = () => teamID && navigateAppend(() => ({name: 'teamReallyLeaveTeam', params: {teamID}})) + const onManageChannels = () => { manageChatChannels(teamID) addTeamWithChosenChannels(teamID) - }, [manageChatChannels, addTeamWithChosenChannels, teamID]) + } const {clearModals, _navigateAppend} = C.useRouterState( C.useShallow(s => ({ _navigateAppend: s.dispatch.navigateAppend, @@ -132,27 +129,27 @@ const InfoPanelMenuConnector = React.memo(function InfoPanelMenuConnector(p: Own })) ) const markTeamAsRead = Chat.useChatContext(s => s.dispatch.markTeamAsRead) - const onMarkAsRead = React.useCallback(() => { + const onMarkAsRead = () => { clearModals() markTeamAsRead(teamID) - }, [clearModals, markTeamAsRead, teamID]) + } const setMarkAsUnread = Chat.useChatContext(s => s.dispatch.setMarkAsUnread) - const onMarkAsUnread = React.useCallback(() => { + const onMarkAsUnread = () => { clearModals() setMarkAsUnread() - }, [clearModals, setMarkAsUnread]) - const onViewTeam = React.useCallback(() => { + } + const onViewTeam = () => { clearModals() - navigateAppend(() => ({props: {teamID}, selected: 'team'})) - }, [clearModals, navigateAppend, teamID]) + navigateAppend(() => ({name: 'team', params: {teamID}})) + } const hideConversation = Chat.useChatContext(s => s.dispatch.hideConversation) - const onHideConv = React.useCallback(() => { + const onHideConv = () => { hideConversation(true) - }, [hideConversation]) + } const onMuteConv = Chat.useChatContext(s => s.dispatch.mute) - const onUnhideConv = React.useCallback(() => { + const onUnhideConv = () => { hideConversation(false) - }, [hideConversation]) + } const isGeneralChannel = !!(channelname && channelname === 'general') const hasChannelSection = !isSmallTeam && !hasHeader @@ -272,13 +269,13 @@ const InfoPanelMenuConnector = React.memo(function InfoPanelMenuConnector(p: Own const onArchive = () => { if (isAdhoc && conversationIDKey) { _navigateAppend({ - props: {conversationIDKey, type: 'chatID' as const}, - selected: 'archiveModal', + name: 'archiveModal', + params: {conversationIDKey, type: 'chatID' as const}, }) } else if (teamname) { _navigateAppend({ - props: {teamname, type: 'chatTeam' as const}, - selected: 'archiveModal', + name: 'archiveModal', + params: {teamname, type: 'chatTeam' as const}, }) } } @@ -395,7 +392,7 @@ const InfoPanelMenuConnector = React.memo(function InfoPanelMenuConnector(p: Own /> ) -}) +} type AdhocHeaderProps = { fullname: string @@ -474,21 +471,6 @@ const TeamHeader = (props: TeamHeaderProps) => { const styles = Kb.Styles.styleSheetCreate( () => ({ - badge: Kb.Styles.platformStyles({ - common: { - backgroundColor: Kb.Styles.globalColors.blue, - borderRadius: 6, - height: 8, - margin: 6, - width: 8, - }, - isElectron: { - margin: 4, - marginTop: 5, - position: 'absolute', - right: Kb.Styles.globalMargins.tiny, - }, - }), channelHeader: Kb.Styles.platformStyles({ common: { backgroundColor: Kb.Styles.globalColors.blueGreyLight, @@ -529,28 +511,12 @@ const styles = Kb.Styles.styleSheetCreate( wordBreak: 'break-word', } as const, }), - muteAction: { - ...Kb.Styles.globalStyles.flexBoxRow, - alignItems: 'center', - }, - noTopborder: { - borderTopWidth: 0, - }, teamHeader: { borderStyle: 'solid', borderTopColor: Kb.Styles.globalColors.black_10, borderTopWidth: 1, marginTop: Kb.Styles.globalMargins.tiny, }, - teamText: { - flex: 1, - justifyContent: 'space-between', - }, - text: Kb.Styles.platformStyles({ - isMobile: { - color: Kb.Styles.globalColors.blueDark, - }, - }), }) as const ) diff --git a/shared/chat/conversation/info-panel/participant.tsx b/shared/chat/conversation/info-panel/participant.tsx index 3fda1dfec007..5708ae5d8757 100644 --- a/shared/chat/conversation/info-panel/participant.tsx +++ b/shared/chat/conversation/info-panel/participant.tsx @@ -28,7 +28,7 @@ const Participant = ({firstItem, fullname, isAdmin, isOwner, username, onShowPro ) return ( - onShowProfile(username)} firstItem={firstItem} type="Large" diff --git a/shared/chat/conversation/info-panel/settings/index.tsx b/shared/chat/conversation/info-panel/settings/index.tsx index 6535768ef672..15c6c739bc64 100644 --- a/shared/chat/conversation/info-panel/settings/index.tsx +++ b/shared/chat/conversation/info-panel/settings/index.tsx @@ -1,13 +1,12 @@ import * as C from '@/constants' -import * as Chat from '@/constants/chat2' +import * as Chat from '@/stores/chat' import * as Kb from '@/common-adapters' -import * as Teams from '@/constants/teams' +import * as Teams from '@/stores/teams' import * as T from '@/constants/types' -import * as React from 'react' import MinWriterRole from './min-writer-role' import Notifications from './notifications' import RetentionPicker from '@/teams/team/settings-tab/retention' -import {useCurrentUserState} from '@/constants/current-user' +import {useCurrentUserState} from '@/stores/current-user' type EntityType = 'adhoc' | 'small team' | 'channel' type SettingsPanelProps = {isPreview: boolean} @@ -40,38 +39,38 @@ const SettingsPanel = (props: SettingsPanelProps) => { ) const navigateAppend = Chat.useChatNavigateAppend() - const onShowClearConversationDialog = React.useCallback(() => { - navigateAppend(conversationIDKey => ({props: {conversationIDKey}, selected: 'chatDeleteHistoryWarning'})) - }, [navigateAppend]) + const onShowClearConversationDialog = () => { + navigateAppend(conversationIDKey => ({name: 'chatDeleteHistoryWarning', params: {conversationIDKey}})) + } const hideConversation = Chat.useChatContext(s => s.dispatch.hideConversation) - const onHideConv = React.useCallback(() => hideConversation(true), [hideConversation]) - const onUnhideConv = React.useCallback(() => hideConversation(false), [hideConversation]) - const onShowBlockConversationDialog = React.useCallback(() => { + const onHideConv = () => hideConversation(true) + const onUnhideConv = () => hideConversation(false) + const onShowBlockConversationDialog = () => { if (membersForBlock.length) { navigateAppend(conversationIDKey => ({ - props: { + name: 'chatBlockingModal', + params: { blockUserByDefault: true, conversationIDKey, others: membersForBlock, team: teamname, }, - selected: 'chatBlockingModal', })) } else { onHideConv() } - }, [membersForBlock, onHideConv, teamname, navigateAppend]) + } const leaveConversation = Chat.useChatContext(s => s.dispatch.leaveConversation) - const onLeaveConversation = React.useCallback(() => { + const onLeaveConversation = () => { leaveConversation() - }, [leaveConversation]) + } const onArchive = () => { navigateAppend(conversationIDKey => ({ - props: {conversationIDKey, type: 'chatID' as const}, - selected: 'archiveModal', + name: 'archiveModal', + params: {conversationIDKey, type: 'chatID' as const}, })) } @@ -102,9 +101,9 @@ const SettingsPanel = (props: SettingsPanelProps) => { onClick={onLeaveConversation} style={styles.smallButton} waiting={spinnerForLeave} - icon="iconfont-leave" - iconColor={Kb.Styles.globalColors.blue} - /> + > + + )} Conversation @@ -113,9 +112,9 @@ const SettingsPanel = (props: SettingsPanelProps) => { mode="Secondary" label="Backup channel" onClick={onArchive} - icon="iconfont-folder-downloads" - iconColor={Kb.Styles.globalColors.black} - /> + > + + {entityType !== 'channel' && (ignored ? ( @@ -125,9 +124,9 @@ const SettingsPanel = (props: SettingsPanelProps) => { mode="Secondary" label="Unhide this conversation" onClick={onUnhideConv} - icon="iconfont-unhide" - iconColor={Kb.Styles.globalColors.red} - /> + > + + ) : ( @@ -136,9 +135,9 @@ const SettingsPanel = (props: SettingsPanelProps) => { mode="Secondary" label="Hide this conversation" onClick={onHideConv} - icon="iconfont-unhide" - iconColor={Kb.Styles.globalColors.red} - /> + > + + ))} { mode="Primary" label="Block" onClick={onShowBlockConversationDialog} - icon="iconfont-remove" - iconColor={Kb.Styles.globalColors.red} - /> + > + + )} ) : null} diff --git a/shared/chat/conversation/info-panel/settings/min-writer-role.tsx b/shared/chat/conversation/info-panel/settings/min-writer-role.tsx index a25934607682..db0ba5d0ee45 100644 --- a/shared/chat/conversation/info-panel/settings/min-writer-role.tsx +++ b/shared/chat/conversation/info-panel/settings/min-writer-role.tsx @@ -1,6 +1,6 @@ -import * as Chat from '@/constants/chat2' +import * as Chat from '@/stores/chat' import * as Kb from '@/common-adapters' -import * as Teams from '@/constants/teams' +import * as Teams from '@/stores/teams' import * as React from 'react' import * as Style from '@/styles' import type * as T from '@/constants/types' @@ -71,23 +71,20 @@ type DropdownProps = { const Dropdown = (p: DropdownProps) => { const {items, minWriterRole, saving} = p - const makePopup = React.useCallback( - (p: Kb.Popup2Parms) => { - const {attachTo, hidePopup} = p - return ( - - ) - }, - [items] - ) + const makePopup = (p: Kb.Popup2Parms) => { + const {attachTo, hidePopup} = p + return ( + + ) + } const {showPopup, popup, popupAnchor} = Kb.usePopup2(makePopup) return ( <> @@ -100,7 +97,7 @@ const Dropdown = (p: DropdownProps) => { {upperFirst(minWriterRole)} - + {popup} @@ -136,7 +133,6 @@ const styles = Style.styleSheetCreate( }), label: { alignItems: 'center', - justifyContent: 'flex-start', minHeight: Style.isMobile ? 40 : 32, paddingLeft: Style.globalMargins.xsmall, width: '100%', diff --git a/shared/chat/conversation/info-panel/settings/notifications.tsx b/shared/chat/conversation/info-panel/settings/notifications.tsx index 53bbf518206f..ee8f9b909507 100644 --- a/shared/chat/conversation/info-panel/settings/notifications.tsx +++ b/shared/chat/conversation/info-panel/settings/notifications.tsx @@ -1,4 +1,4 @@ -import * as Chat from '@/constants/chat2' +import * as Chat from '@/stores/chat' import * as React from 'react' import * as Kb from '@/common-adapters' import type * as T from '@/constants/types' @@ -30,7 +30,7 @@ const UnmutedNotificationPrefs = (props: UnmutedProps) => { checked={!channelWide} label="" labelComponent={ - + Ignore @here and{' '} @channel mentions {ignoreMentionsSuffix} diff --git a/shared/chat/conversation/input-area/container.tsx b/shared/chat/conversation/input-area/container.tsx index 7ce09e75c96b..b1ed00f120ef 100644 --- a/shared/chat/conversation/input-area/container.tsx +++ b/shared/chat/conversation/input-area/container.tsx @@ -1,6 +1,7 @@ import * as C from '@/constants' -import * as Chat from '@/constants/chat2' -import Normal from './normal2' +import * as Chat from '@/stores/chat' +import {PerfProfiler} from '@/perf/react-profiler' +import Normal from './normal' import Preview from './preview' import ThreadSearch from '../search' @@ -33,6 +34,6 @@ const InputAreaContainer = () => { if (showThreadSearch && C.isMobile) { return } - return + return } export default InputAreaContainer diff --git a/shared/chat/conversation/input-area/filepicker-popup/index.d.ts b/shared/chat/conversation/input-area/filepicker-popup/index.d.ts index c65e9e96b90a..7b42f954414c 100644 --- a/shared/chat/conversation/input-area/filepicker-popup/index.d.ts +++ b/shared/chat/conversation/input-area/filepicker-popup/index.d.ts @@ -5,7 +5,7 @@ export type Props = { attachTo?: React.RefObject visible: boolean onHidden: () => void - onSelect: (mediaType: 'photo' | 'video' | 'mixed', location: 'camera' | 'library') => void + onSelect: (mediaType: 'photo' | 'video' | 'mixed' | 'file', location: 'camera' | 'library' | 'file') => void } export declare const FilePickerPopup: (p: Props) => React.ReactNode diff --git a/shared/chat/conversation/input-area/filepicker-popup/index.native.tsx b/shared/chat/conversation/input-area/filepicker-popup/index.native.tsx index 03b5c6b4b9a1..291f84d15580 100644 --- a/shared/chat/conversation/input-area/filepicker-popup/index.native.tsx +++ b/shared/chat/conversation/input-area/filepicker-popup/index.native.tsx @@ -2,7 +2,7 @@ import * as Kb from '@/common-adapters' import type {Props} from '.' const Prompt = () => ( - + Select attachment ) @@ -12,7 +12,6 @@ const styles = Kb.Styles.styleSheetCreate( ({ promptContainer: { alignItems: 'center', - justifyContent: 'center', paddingBottom: 24, paddingTop: 24, }, @@ -37,6 +36,11 @@ const FilePickerPopup = (p: Props) => { onClick: () => p.onSelect('photo', 'library'), title: 'Choose photos from library', }, + { + icon: 'iconfont-attachment', + onClick: () => p.onSelect('file', 'file'), + title: 'Choose a file', + }, ] as const) : ([ { @@ -55,20 +59,24 @@ const FilePickerPopup = (p: Props) => { onClick: () => p.onSelect('video', 'library'), title: 'Video from library', }, + { + icon: 'iconfont-attachment', + onClick: () => p.onSelect('file', 'file'), + title: 'Choose a file', + }, ] as const) const header = return ( - - - + ) } diff --git a/shared/chat/conversation/input-area/location-popup.d.ts b/shared/chat/conversation/input-area/location-popup.d.ts new file mode 100644 index 000000000000..251868e41272 --- /dev/null +++ b/shared/chat/conversation/input-area/location-popup.d.ts @@ -0,0 +1,3 @@ +import type * as React from 'react' +declare const LocationPopup: () => React.ReactNode +export default LocationPopup diff --git a/shared/chat/conversation/input-area/location-popup.desktop.tsx b/shared/chat/conversation/input-area/location-popup.desktop.tsx new file mode 100644 index 000000000000..c07558b9f77f --- /dev/null +++ b/shared/chat/conversation/input-area/location-popup.desktop.tsx @@ -0,0 +1,2 @@ +const LocationPopup = () => null +export default LocationPopup diff --git a/shared/chat/conversation/input-area/location-popup.native.tsx b/shared/chat/conversation/input-area/location-popup.native.tsx new file mode 100644 index 000000000000..ad14407d0bf8 --- /dev/null +++ b/shared/chat/conversation/input-area/location-popup.native.tsx @@ -0,0 +1,161 @@ +import * as C from '@/constants' +import * as Chat from '@/stores/chat' +import * as React from 'react' +import {useConfigState} from '@/stores/config' +import logger from '@/logger' +import * as Kb from '@/common-adapters' +import * as T from '@/constants/types' +import LocationMap from '@/chat/location-map' +import {useCurrentUserState} from '@/stores/current-user' +import {requestLocationPermission} from '@/util/platform-specific' +import * as ExpoLocation from 'expo-location' + +const LocationButton = (props: {disabled: boolean; label: string; onClick: () => void; subLabel?: string; primary?: boolean}) => ( + + + {props.label} + {!!props.subLabel && {props.subLabel}} + + +) + +const useWatchPosition = (conversationIDKey: T.Chat.ConversationIDKey) => { + const updateLastCoord = Chat.useChatState(s => s.dispatch.updateLastCoord) + const setCommandStatusInfo = Chat.useChatContext(s => s.dispatch.setCommandStatusInfo) + React.useEffect(() => { + let unsub = () => {} + logger.info('[location] perms check due to map') + const f = async () => { + try { + await requestLocationPermission(T.RPCChat.UIWatchPositionPerm.base) + const sub = await ExpoLocation.watchPositionAsync( + {accuracy: ExpoLocation.LocationAccuracy.Highest}, + (location: ExpoLocation.LocationObject) => { + const coord = { + accuracy: Math.floor(location.coords.accuracy ?? 0), + lat: location.coords.latitude, + lon: location.coords.longitude, + } + updateLastCoord(coord) + } + ) + unsub = () => sub.remove() + } catch (_error) { + const error = _error as {message?: string} + logger.info('failed to get location: ' + error.message) + setCommandStatusInfo({ + actions: [T.RPCChat.UICommandStatusActionTyp.appsettings], + displayText: `Failed to access location. ${error.message}`, + displayType: T.RPCChat.UICommandStatusDisplayTyp.error, + }) + } + } + + C.ignorePromise(f()) + return () => { + unsub() + } + }, [conversationIDKey, updateLastCoord, setCommandStatusInfo]) +} + +const LocationPopup = () => { + const conversationIDKey = Chat.useChatContext(s => s.id) + const username = useCurrentUserState(s => s.username) + const httpSrv = useConfigState(s => s.httpSrv) + const location = Chat.useChatState(s => s.lastCoord) + const locationDenied = Chat.useChatContext( + s => s.commandStatus?.displayType === T.RPCChat.UICommandStatusDisplayTyp.error + ) + const [mapLoaded, setMapLoaded] = React.useState(false) + const clearModals = C.useRouterState(s => s.dispatch.clearModals) + const onClose = () => { + clearModals() + } + const onSettings = useConfigState(s => s.dispatch.defer.openAppSettings) + const sendMessage = Chat.useChatContext(s => s.dispatch.sendMessage) + const onLocationShare = (duration: string) => { + onClose() + sendMessage(duration ? `/location live ${duration}` : '/location') + } + + useWatchPosition(conversationIDKey) + + const width = Math.ceil(Kb.Styles.dimensionWidth) + const height = Math.ceil(Kb.Styles.dimensionHeight - 320) + const mapSrc = location + ? `http://${httpSrv.address}/map?lat=${location.lat}&lon=${location.lon}&width=${width}&height=${height}&username=${username}&token=${httpSrv.token}` + : '' + return ( + <> + {locationDenied ? ( + + + Location permission denied. + + + Enable location for Keybase to see your current position. + + + + ) : ( + setMapLoaded(true)} /> + )} + + + onLocationShare('15m')} subLabel="Live location" /> + onLocationShare('1h')} subLabel="Live location" /> + onLocationShare('8h')} subLabel="Live location" /> + onLocationShare('')} subLabel={mapLoaded ? `Accurate to ${location ? location.accuracy : 0} meters` : undefined} primary={true} /> + + + + ) +} + +const styles = Kb.Styles.styleSheetCreate( + () => + ({ + accuracy: { + color: Kb.Styles.globalColors.black_50, + }, + denied: { + ...Kb.Styles.globalStyles.fillAbsolute, + padding: Kb.Styles.globalMargins.small, + }, + deniedText: { + color: Kb.Styles.globalColors.redDark, + }, + liveButton: { + height: 53, + }, + liveButtonLabel: { + color: Kb.Styles.globalColors.blueDark, + }, + liveButtonLabelPrimary: { + color: Kb.Styles.globalColors.whiteOrWhite, + }, + modalFooter: Kb.Styles.platformStyles({ + common: { + ...Kb.Styles.padding(Kb.Styles.globalMargins.xsmall, Kb.Styles.globalMargins.small), + borderStyle: 'solid' as const, + borderTopColor: Kb.Styles.globalColors.black_10, + borderTopWidth: 1, + minHeight: 56, + }, + isElectron: { + borderBottomLeftRadius: Kb.Styles.borderRadius, + borderBottomRightRadius: Kb.Styles.borderRadius, + overflow: 'hidden', + }, + }), + }) as const +) + +export default LocationPopup diff --git a/shared/chat/conversation/input-area/location-popup.tsx b/shared/chat/conversation/input-area/location-popup.tsx deleted file mode 100644 index fff570f758c7..000000000000 --- a/shared/chat/conversation/input-area/location-popup.tsx +++ /dev/null @@ -1,141 +0,0 @@ -import * as C from '@/constants' -import * as Chat from '@/constants/chat2' -import * as React from 'react' -import {useConfigState} from '@/constants/config' -import * as Kb from '@/common-adapters' -import * as T from '@/constants/types' -import LocationMap from '@/chat/location-map' -import {useCurrentUserState} from '@/constants/current-user' - -const LocationPopup = () => { - const conversationIDKey = Chat.useChatContext(s => s.id) - const username = useCurrentUserState(s => s.username) - const httpSrv = useConfigState(s => s.httpSrv) - const location = Chat.useChatState(s => s.lastCoord) - const locationDenied = Chat.useChatContext( - s => s.commandStatus?.displayType === T.RPCChat.UICommandStatusDisplayTyp.error - ) - const [mapLoaded, setMapLoaded] = React.useState(false) - const clearModals = C.useRouterState(s => s.dispatch.clearModals) - const onClose = () => { - clearModals() - } - const onSettings = useConfigState(s => s.dispatch.dynamic.openAppSettings) - const sendMessage = Chat.useChatContext(s => s.dispatch.sendMessage) - const onLocationShare = (duration: string) => { - onClose() - sendMessage(duration ? `/location live ${duration}` : '/location') - } - - React.useEffect(() => { - let unwatch: undefined | (() => void) - C.PlatformSpecific.watchPositionForMap(conversationIDKey) - .then(unsub => { - unwatch = unsub - }) - .catch(() => {}) - return () => { - unwatch?.() - } - }, [conversationIDKey]) - - const width = Math.ceil(Kb.Styles.dimensionWidth) - const height = Math.ceil(Kb.Styles.dimensionHeight - 320) - const mapSrc = location - ? `http://${httpSrv.address}/map?lat=${location.lat}&lon=${location.lon}&width=${width}&height=${height}&username=${username}&token=${httpSrv.token}` - : '' - return ( - - Cancel - - ), - title: 'Location', - }} - footer={{ - content: ( - - onLocationShare('15m')} - mode="Secondary" - type="Default" - style={styles.liveButton} - subLabel="Live location" - /> - onLocationShare('1h')} - mode="Secondary" - type="Default" - style={styles.liveButton} - subLabel="Live location" - /> - onLocationShare('8h')} - label="Share location for 8 hours" - mode="Secondary" - type="Default" - style={styles.liveButton} - subLabel="Live location" - /> - onLocationShare('')} - type="Default" - style={{height: 53}} - subLabel={mapLoaded ? `Accurate to ${location ? location.accuracy : 0} meters` : undefined} - subLabelStyle={styles.accuracy} - /> - - ), - }} - > - {locationDenied ? ( - - - Location permission denied. - - - Enable location for Keybase to see your current position. - - - - ) : ( - setMapLoaded(true)} /> - )} - - ) -} - -const styles = Kb.Styles.styleSheetCreate( - () => - ({ - accuracy: { - color: Kb.Styles.globalColors.white_75, - }, - denied: { - ...Kb.Styles.globalStyles.fillAbsolute, - justifyContent: 'center', - padding: Kb.Styles.globalMargins.small, - }, - deniedText: { - color: Kb.Styles.globalColors.redDark, - }, - liveButton: { - height: 53, - }, - }) as const -) - -export default LocationPopup diff --git a/shared/chat/conversation/input-area/normal2/index.tsx b/shared/chat/conversation/input-area/normal/index.tsx similarity index 69% rename from shared/chat/conversation/input-area/normal2/index.tsx rename to shared/chat/conversation/input-area/normal/index.tsx index 8ceea809bb21..d6e12dc928dc 100644 --- a/shared/chat/conversation/input-area/normal2/index.tsx +++ b/shared/chat/conversation/input-area/normal/index.tsx @@ -1,19 +1,19 @@ import * as C from '@/constants' -import * as Chat from '@/constants/chat2' +import * as Chat from '@/stores/chat' import * as Kb from '@/common-adapters' import * as React from 'react' import CommandMarkdown from '../../command-markdown' import CommandStatus from '../../command-status' import Giphy from '../../giphy' -import PlatformInput from './platform-input' +import PlatformInput from './input' import ReplyPreview from '../../reply-preview' import * as T from '@/constants/types' import {indefiniteArticle} from '@/util/string' import {infoPanelWidthTablet} from '../../info-panel/common' import {assertionToDisplay} from '@/common-adapters/usernames' import {FocusContext, ScrollContext} from '@/chat/conversation/normal/context' -import type {RefType as Input2Ref} from '@/common-adapters/input2' -import {useCurrentUserState} from '@/constants/current-user' +import type {RefType as InputRef} from './input' +import {useCurrentUserState} from '@/stores/current-user' const useHintText = (p: { isExploding: boolean @@ -66,7 +66,7 @@ const useHintText = (p: { return 'Write a message' } -const Input = React.memo(function Input() { +const Input = function Input() { const showGiphySearch = Chat.useChatContext(s => s.giphyWindow) const showCommandMarkdown = Chat.useChatContext(s => !!s.commandMarkdown) const showCommandStatus = Chat.useChatContext(s => !!s.commandStatus) @@ -80,9 +80,33 @@ const Input = React.memo(function Input() { ) -}) +} + +const doInjectText = (inputRef: React.RefObject, text: string, focus?: boolean) => { + if (!inputRef.current) { + console.log('injectText injectingTextRef null') + return + } + if (!text) { + inputRef.current.clear() + } else { + inputRef.current.transformText( + () => ({ + selection: + text === '!>spoiler s.infoPanelShowing) const data = Chat.useChatContext( C.useShallow(s => { @@ -119,108 +143,71 @@ const ConnectedPlatformInput = React.memo(function ConnectedPlatformInput() { const isExploding = explodingModeSeconds !== 0 const hintText = useHintText({cannotWrite, isEditing, isExploding, minWriterRole}) - const inputRef = React.useRef(null) - const setInput2Ref = React.useCallback((r: Input2Ref | null) => { + const inputRef = React.useRef(null) + const setLocalInputRef = (r: InputRef | null) => { inputRef.current = r - }, []) + } const suggestionOverlayStyle = infoPanelShowing ? styles.suggestionOverlayInfoShowing : styles.suggestionOverlay - const allowExplodingModeRef = React.useRef(-1) - const setExplodingMode = React.useCallback( - (mode: number) => { - allowExplodingModeRef.current = mode - setExplodingModeRaw(mode, false) - }, - [setExplodingModeRaw] - ) + const setExplodingMode = (mode: number) => { + setExplodingModeRaw(mode, false) + } - const injectText = React.useCallback((text: string, focus?: boolean) => { - if (!inputRef.current) { - console.log('injectText injectingTextRef null') - return - } - if (!text) { - inputRef.current.clear() - } else { - inputRef.current.transformText( - () => ({ - selection: - text === '!>spoiler { + doInjectText(inputRef, text, focus) + } const {scrollToBottom} = React.useContext(ScrollContext) - const onSubmit = React.useCallback( - (text: string) => { - if (!text) return - injectText('', true) - sendMessage(text) - const cs = Chat.getConvoState(conversationIDKey) - if (cs.messageCenterOrdinal) { - cs.dispatch.toggleThreadSearch(true) - jumpToRecent() - } else { - scrollToBottom() - } - }, - [injectText, sendMessage, jumpToRecent, scrollToBottom, conversationIDKey] - ) + const onSubmit = (text: string) => { + if (!text) return + injectText('', true) + sendMessage(text) + const cs = Chat.getConvoState(conversationIDKey) + if (cs.messageCenterOrdinal) { + cs.dispatch.toggleThreadSearch(true) + jumpToRecent() + } else { + scrollToBottom() + } + } - const sendTypingRaw = React.useCallback( - (typing: boolean) => { - const f = async () => { - await T.RPCChat.localUpdateTypingRpcPromise({conversationID: convoID, typing}) - } - C.ignorePromise(f()) - }, - [convoID] - ) + const sendTypingRaw = (typing: boolean) => { + const f = async () => { + await T.RPCChat.localUpdateTypingRpcPromise({conversationID: convoID, typing}) + } + C.ignorePromise(f()) + } const sendTyping = C.useThrottledCallback(sendTypingRaw, 1000) - const updateDraftRaw = React.useCallback( - (text: string) => { - const f = async () => { - await T.RPCChat.localUpdateUnsentTextRpcPromise({ - conversationID: convoID, - text, - tlfName: tlfname, - }) - } - C.ignorePromise(f()) - }, - [convoID, tlfname] - ) + const updateDraftRaw = (text: string) => { + const f = async () => { + await T.RPCChat.localUpdateUnsentTextRpcPromise({ + conversationID: convoID, + text, + tlfName: tlfname, + }) + } + C.ignorePromise(f()) + } const updateDraft = C.useThrottledCallback(updateDraftRaw, 200, {trailing: true}) const textValueRef = React.useRef('') - const onChangeText = React.useCallback( - (text: string) => { - textValueRef.current = text - const isTyping = text.length > 0 - if (!isTyping) { - sendTyping.cancel() - } - sendTyping(isTyping) - updateDraft(text) - }, - [sendTyping, updateDraft] - ) + const onChangeText = (text: string) => { + textValueRef.current = text + const isTyping = text.length > 0 + if (!isTyping) { + sendTyping.cancel() + } + sendTyping(isTyping) + updateDraft(text) + } - const onCancelEditing = React.useCallback(() => { + const onCancelEditing = () => { setEditing('clear') injectText('') - }, [injectText, setEditing]) + } // on unmount load meta so we have an updated draft const loadIDOnUnloadRef = React.useRef(conversationIDKey) @@ -243,16 +230,16 @@ const ConnectedPlatformInput = React.memo(function ConnectedPlatformInput() { } loadedDraft.current = true if (textValueRef.current === '' && storeDraft) { - injectText(storeDraft) + doInjectText(inputRef, storeDraft) } - }, [injectText, storeDraft]) + }, [storeDraft]) React.useEffect(() => { if (unsentText !== undefined) { - injectText(unsentText) + doInjectText(inputRef, unsentText) updateUnsentText(undefined) } - }, [updateUnsentText, unsentText, injectText]) + }, [updateUnsentText, unsentText]) const {setInputRef} = React.useContext(FocusContext) React.useEffect(() => { @@ -260,14 +247,8 @@ const ConnectedPlatformInput = React.memo(function ConnectedPlatformInput() { }, [setInputRef]) React.useEffect(() => { - if (explodingModeSeconds !== explodingModeSecondsRaw) { - // ignore if we have text unless we set it ourselves - if (!textValueRef.current || allowExplodingModeRef.current === explodingModeSecondsRaw) { - allowExplodingModeRef.current = -1 - setExplodingModeSeconds(explodingModeSecondsRaw) - } - } - }, [explodingModeSeconds, explodingModeSecondsRaw]) + setExplodingModeSeconds(explodingModeSecondsRaw) + }, [explodingModeSecondsRaw]) return ( ) -}) +} const styles = Kb.Styles.styleSheetCreate(() => { const suggestDesktop = {marginLeft: 15, marginRight: 15, marginTop: 'auto'} diff --git a/shared/common-adapters/input2.d.ts b/shared/chat/conversation/input-area/normal/input.d.ts similarity index 66% rename from shared/common-adapters/input2.d.ts rename to shared/chat/conversation/input-area/normal/input.d.ts index aebfa220ae11..c3c8c69441b2 100644 --- a/shared/common-adapters/input2.d.ts +++ b/shared/chat/conversation/input-area/normal/input.d.ts @@ -1,6 +1,7 @@ import type * as React from 'react' +import type * as T from '@/constants/types' import type * as Styles from '@/styles' -import type {TextType} from './text' +import type {TextType} from '@/common-adapters/text.shared' import type {TextInputProps} from 'react-native' export type RefType = { @@ -47,7 +48,7 @@ export type Props = { onEnterKeyDown?: (e?: React.KeyboardEvent) => void placeholder?: string className?: string - ref?: React.RefObject + ref?: React.Ref textType?: TextType style?: Styles.StylesCrossPlatform onChangeText?: (value: string) => void @@ -58,6 +59,22 @@ export type Props = { padding?: keyof typeof Styles.globalMargins | 0 // globalMargins does not have an option for 0 } -declare const Input2: React.ForwardRefExoticComponent< - React.PropsWithoutRef & React.RefAttributes -> +export type PlatformInputProps = { + cannotWrite: boolean + explodingModeSeconds: number + setExplodingMode: (mode: number) => void + hintText: string + setInputRef: (r: RefType | null) => void + isEditing: boolean + isExploding: boolean + minWriterRole: T.Teams.TeamRoleType + onCancelEditing: () => void + onChangeText: (newText: string) => void + onSubmit: (text: string) => void + showReplyPreview: boolean + suggestBotCommandsUpdateStatus: T.RPCChat.UIBotCommandsUpdateStatusTyp + suggestionOverlayStyle: Styles.StylesCrossPlatform +} + +declare const PlatformInput: (p: PlatformInputProps) => React.ReactNode +export default PlatformInput diff --git a/shared/chat/conversation/input-area/normal/input.desktop.tsx b/shared/chat/conversation/input-area/normal/input.desktop.tsx new file mode 100644 index 000000000000..86f07404d177 --- /dev/null +++ b/shared/chat/conversation/input-area/normal/input.desktop.tsx @@ -0,0 +1,673 @@ +import * as Chat from '@/stores/chat' +import * as T from '@/constants/types' +import * as Kb from '@/common-adapters' +import * as React from 'react' +import SetExplodingMessagePopup from './set-explode-popup' +import Typing from './typing' +import type {Props as InputLowLevelProps, TextInfo, RefType} from './input' +import type {PlatformInputProps as Props} from './input' +import {EmojiPickerDesktop} from '@/chat/emoji-picker/container' +import {KeyEventHandler} from '@/common-adapters/key-event-handler.desktop' +import {formatDurationShort} from '@/util/timestamp' +import {useSuggestors} from '../suggestors' +import {ScrollContext} from '@/chat/conversation/normal/context' +import {getTextStyle} from '@/common-adapters/text.styles' +import {useColorScheme} from 'react-native' +import KB2 from '@/util/electron.desktop' + +const {getPathForFile} = KB2.functions + +const maybeParseInt = (input: string | number, radix: number): number => + typeof input === 'string' ? parseInt(input, radix) : input + +export function Input(p: InputLowLevelProps) { + const {style: _style, onChangeText: _onChangeText, multiline, ref} = p + const {textType = 'Body', rowsMax, rowsMin, padding, placeholder, onKeyUp: _onKeyUp} = p + const {allowKeyboardEvents, className, disabled, autoFocus, onKeyDown: _onKeyDown, onEnterKeyDown} = p + + const isDarkMode = useColorScheme() === 'dark' + + const [value, setValue] = React.useState('') + // this isn't a value react can set on the input, so we need to drive it manually + const selectionRef = React.useRef({end: 0, start: 0}) + const inputSingleRef = React.useRef(null) + const inputMultiRef = React.useRef(null) + + const onChangeTextRef = React.useRef(_onChangeText) + React.useEffect(() => { + onChangeTextRef.current = _onChangeText + }, [_onChangeText]) + const [onChange] = React.useState(() => (e: {target: HTMLInputElement | HTMLTextAreaElement}) => { + const s = e.target.value + setValue(s) + onChangeTextRef.current?.(s) + }) + const onSelect = (e: {currentTarget: HTMLInputElement | HTMLTextAreaElement}) => { + selectionRef.current = { + end: e.currentTarget.selectionEnd || 0, + start: e.currentTarget.selectionStart || 0, + } + } + + React.useImperativeHandle(ref, () => { + const i = multiline ? inputMultiRef.current : inputSingleRef.current + return { + blur: () => { + i?.blur() + }, + clear: () => { + if (i) { + i.value = '' + onChange({target: i}) + } + }, + focus: () => { + i?.focus() + }, + getBoundingClientRect: () => { + return i?.getBoundingClientRect() + }, + getSelection: () => { + return selectionRef.current + }, + isFocused: () => !!i && document.activeElement === i, + transformText: (fn: (textInfo: TextInfo) => TextInfo, reflectChange: boolean): void => { + const ti = fn({selection: selectionRef.current, text: value}) + // defer since we can do this in other renders + setTimeout(() => { + setValue(ti.text) + selectionRef.current = {end: ti.selection?.end ?? 0, start: ti.selection?.start ?? 0} + // defer this else we'll get onSelect called and wipe it out + setTimeout(() => { + if (i && ti.selection) { + if (typeof ti.selection.start === 'number') { + i.selectionStart = ti.selection.start + } + if (typeof ti.selection.end === 'number') { + i.selectionEnd = ti.selection.end + } + } + }, 10) + if (reflectChange) { + setTimeout(() => { + if (!i) return + onChange({target: i}) + }, 100) + } + }, 0) + }, + value, + } + }, [value, multiline, onChange]) + + const rows = multiline ? rowsMin || Math.min(2, rowsMax || 2) : 0 + const style = (() => { + const textStyle = getTextStyle(textType, isDarkMode) + if (multiline) { + const heightStyles: {minHeight: number; maxHeight?: number} = { + minHeight: + rows * (textStyle.lineHeight === undefined ? 20 : maybeParseInt(textStyle.lineHeight, 10) || 20) + + (padding ? Kb.Styles.globalMargins[padding] * 2 : 0), + } + + if (rowsMax) { + heightStyles.maxHeight = + rowsMax * + (textStyle.lineHeight === undefined ? 20 : maybeParseInt(textStyle.lineHeight, 10) || 20) + } + + const paddingStyles = padding ? Kb.Styles.padding(Kb.Styles.globalMargins[padding]) : {} + + return Kb.Styles.collapseStyles([ + inputLowLevelStyles.noChrome, // noChrome comes before because we want lineHeight set in multiline + textStyle, + inputLowLevelStyles.multiline, + heightStyles, + paddingStyles, + _style, + ]) + } else { + return Kb.Styles.collapseStyles([ + textStyle, + inputLowLevelStyles.noChrome, // noChrome comes after to unset lineHeight in singleline + _style, + ]) + } + })() + + const isComposingIMERef = React.useRef(false) + + const onCompositionStart = () => { + isComposingIMERef.current = true + } + + const onCompositionEnd = () => { + isComposingIMERef.current = false + } + + const onKeyDown = (e: React.KeyboardEvent) => { + if (isComposingIMERef.current) { + return + } + _onKeyDown?.(e) + if (onEnterKeyDown && e.key === 'Enter' && !(e.shiftKey || e.ctrlKey || e.altKey)) { + onEnterKeyDown(e) + } + } + + const onKeyUp = (e: React.KeyboardEvent) => { + if (isComposingIMERef.current) { + return + } + _onKeyUp?.(e) + } + + const commonProps = { + autoFocus, + className, + onChange, + onCompositionEnd, + onCompositionStart, + onKeyDown, + onKeyUp, + onSelect, + placeholder, + value, + ...(disabled ? {readOnly: true} : {}), + ...((allowKeyboardEvents ?? true) ? {'data-allow-keyboard-shortcuts': 'true'} : {}), + } + + return multiline ? ( +