From 2b084cd76a776046d57478ad4a290473947883a7 Mon Sep 17 00:00:00 2001 From: Nick Mills-Barrett Date: Fri, 19 Jul 2024 11:27:31 +0100 Subject: [PATCH] Fix remaining error formatting --- commands.go | 8 ++++---- messagetracking.go | 2 +- messagix/account.go | 2 +- messagix/byter/read.go | 2 +- messagix/client.go | 2 +- messagix/crypto/password.go | 2 +- messagix/facebook.go | 2 +- messagix/graphql.go | 6 +++--- messagix/http.go | 4 ++-- messagix/instagram.go | 22 +++++++++++----------- messagix/js_module_parser.go | 2 +- messagix/mercury.go | 22 +++++++++++----------- messagix/modules.go | 10 +++++----- messagix/syncManager.go | 4 ++-- messagix/threads.go | 2 +- user.go | 4 ++-- 16 files changed, 48 insertions(+), 48 deletions(-) diff --git a/commands.go b/commands.go index f45ed28..1a97a08 100644 --- a/commands.go +++ b/commands.go @@ -355,24 +355,24 @@ func fnLoginEnterCookies(ce *WrappedCommandEvent) { rawData, _ := json.Marshal(data) err := json.Unmarshal(rawData, &newCookies) if err != nil { - ce.Reply("Failed to parse cookies into struct: %v", err) + ce.Reply("Failed to parse cookies into struct: %w", err) return } } else { err := json.Unmarshal([]byte(ce.RawArgs), &newCookies) if err != nil { - ce.Reply("Failed to parse input as JSON: %v", err) + ce.Reply("Failed to parse input as JSON: %w", err) return } } missingRequiredCookies := newCookies.GetMissingCookieNames() if len(missingRequiredCookies) > 0 { - ce.Reply("Missing some cookies: %v", missingRequiredCookies) + ce.Reply("Missing some cookies: %w", missingRequiredCookies) return } err := ce.User.Login(ce.Ctx, &newCookies) if err != nil { - ce.Reply("Failed to log in: %v", err) + ce.Reply("Failed to log in: %w", err) } else { ce.Reply("Successfully logged in as %d", ce.User.MetaID) } diff --git a/messagetracking.go b/messagetracking.go index d211d2a..a03fe63 100644 --- a/messagetracking.go +++ b/messagetracking.go @@ -124,7 +124,7 @@ func (portal *Portal) sendErrorMessage(ctx context.Context, evt *event.Event, er default: msgType = "unknown event" } - msg := fmt.Sprintf("\u26a0 Your %s %s bridged: %v", msgType, certainty, err) + msg := fmt.Sprintf("\u26a0 Your %s %s bridged: %w", msgType, certainty, err) if errors.Is(err, errMessageTakingLong) { msg = fmt.Sprintf("\u26a0 Bridging your %s is taking longer than usual", msgType) } diff --git a/messagix/account.go b/messagix/account.go index 7f1d88f..3b9dfda 100644 --- a/messagix/account.go +++ b/messagix/account.go @@ -20,7 +20,7 @@ func (c *Client) processLogin(resp *http.Response, respBody []byte) error { var loginResp *types.InstagramLoginResponse err = json.Unmarshal(respBody, &loginResp) if err != nil { - return fmt.Errorf("failed to unmarshal instagram login response to *types.InstagramLoginResponse (statusCode=%d): %v", statusCode, err) + return fmt.Errorf("failed to unmarshal instagram login response to *types.InstagramLoginResponse (statusCode=%d): %w", statusCode, err) } if loginResp.Status == "fail" { err = fmt.Errorf("failed to process login request (message=%s, statusText=%s, statusCode=%d)", loginResp.Message, loginResp.Status, statusCode) diff --git a/messagix/byter/read.go b/messagix/byter/read.go index e23bb64..a1e7e77 100644 --- a/messagix/byter/read.go +++ b/messagix/byter/read.go @@ -92,7 +92,7 @@ func (b *byter) ReadToStruct(s interface{}) error { jsonData := b.Buff.Next(b.Buff.Len()) err := json.Unmarshal(jsonData, field.Addr().Interface()) if err != nil { - return fmt.Errorf("failed to unmarshal JSON for field %s: %v", values.Type().Field(i).Name, err) + return fmt.Errorf("failed to unmarshal JSON for field %s: %w", values.Type().Field(i).Name, err) } } default: diff --git a/messagix/client.go b/messagix/client.go index e6f5c75..beeb826 100644 --- a/messagix/client.go +++ b/messagix/client.go @@ -319,7 +319,7 @@ func (c *Client) sendCookieConsent(jsDatr string) error { }) h.Del("x-csrftoken") if err != nil { - return fmt.Errorf("failed to marshal *types.InstagramCookiesVariables into bytes: %v", err) + return fmt.Errorf("failed to marshal *types.InstagramCookiesVariables into bytes: %w", err) } q := &HttpQuery{ DocID: "3810865872362889", diff --git a/messagix/crypto/password.go b/messagix/crypto/password.go index 11811c3..75ca794 100644 --- a/messagix/crypto/password.go +++ b/messagix/crypto/password.go @@ -22,7 +22,7 @@ var ( func EncryptPassword(platform int, pubKeyId int, pubKey, password string) (string, error) { pubKeyBytes, err := hex.DecodeString(pubKey) if err != nil { - return "", fmt.Errorf("failed to decode pubKey, must be a hex-encoded string: %v", err) + return "", fmt.Errorf("failed to decode pubKey, must be a hex-encoded string: %w", err) } buf := bytes.NewBuffer(nil) diff --git a/messagix/facebook.go b/messagix/facebook.go index 845927a..f7fb1b9 100644 --- a/messagix/facebook.go +++ b/messagix/facebook.go @@ -47,7 +47,7 @@ func (fb *FacebookMethods) Login(identifier, password string) (*cookies.Cookies, encryptedPW, err := crypto.EncryptPassword(int(types.Facebook), crypto.FacebookPubKeyId, crypto.FacebookPubKey, password) if err != nil { - return nil, fmt.Errorf("failed to encrypt password for facebook: %v", err) + return nil, fmt.Errorf("failed to encrypt password for facebook: %w", err) } loginForm.Email = identifier diff --git a/messagix/graphql.go b/messagix/graphql.go index ab11688..86ce142 100644 --- a/messagix/graphql.go +++ b/messagix/graphql.go @@ -23,7 +23,7 @@ func (c *Client) makeGraphQLRequest(name string, variables interface{}) (*http.R vBytes, err := json.Marshal(variables) if err != nil { - return nil, nil, fmt.Errorf("failed to marshal graphql variables to json string: %v", err) + return nil, nil, fmt.Errorf("failed to marshal graphql variables to json string: %w", err) } payload := c.NewHttpQuery() @@ -93,7 +93,7 @@ func (c *Client) makeLSRequest(variables *graphql.LSPlatformGraphQLLightspeedVar } else { c.Logger.Debug().Str("respBody", base64.StdEncoding.EncodeToString(respBody[:4096])).Msg("Errored LS response bytes (truncated)") } - return nil, fmt.Errorf("failed to unmarshal LSRequest response bytes into LSPlatformGraphQLLightspeedRequestQuery struct: %v", err) + return nil, fmt.Errorf("failed to unmarshal LSRequest response bytes into LSPlatformGraphQLLightspeedRequestQuery struct: %w", err) } if graphQLData.ErrorCode != 0 { c.Logger.Warn(). @@ -124,7 +124,7 @@ func (c *Client) makeLSRequest(variables *graphql.LSPlatformGraphQLLightspeedVar err = json.Unmarshal(lightSpeedRes, &lsData) if err != nil { c.Logger.Debug().RawJSON("respBody", respBody).Msg("Response data for errored inner response") - return nil, fmt.Errorf("failed to unmarshal LSRequest lightspeed payload into lightspeed.LightSpeedData: %v", err) + return nil, fmt.Errorf("failed to unmarshal LSRequest lightspeed payload into lightspeed.LightSpeedData: %w", err) } lsTable := &table.LSTable{} diff --git a/messagix/http.go b/messagix/http.go index d0889a4..6fd2ba4 100644 --- a/messagix/http.go +++ b/messagix/http.go @@ -190,7 +190,7 @@ func (c *Client) makeRequestDirect(url string, method string, headers http.Heade } }() if err != nil { - c.UpdateProxy(fmt.Sprintf("http request error: %v", err.Error())) + c.UpdateProxy(fmt.Sprintf("http request error: %w", err.Error())) return nil, nil, fmt.Errorf("%w: %w", ErrRequestFailed, err) } @@ -272,7 +272,7 @@ func (c *Client) sendLoginRequest(form url.Values, loginUrl string) (*http.Respo resp, respBody, err := c.MakeRequest(loginUrl, "POST", h, loginPayload, types.FORM) if err != nil { - return nil, nil, fmt.Errorf("failed to send login request: %v", err) + return nil, nil, fmt.Errorf("failed to send login request: %w", err) } return resp, respBody, nil diff --git a/messagix/instagram.go b/messagix/instagram.go index 956ab99..9ec479b 100644 --- a/messagix/instagram.go +++ b/messagix/instagram.go @@ -37,7 +37,7 @@ func (ig *InstagramMethods) Login(identifier, password string) (*cookies.Cookies login_page_v1 := ig.client.getEndpoint("web_login_page_v1") _, _, err := ig.client.MakeRequest(login_page_v1, "GET", h, nil, types.NONE) if err != nil { - return nil, fmt.Errorf("failed to fetch %s for instagram login: %v", login_page_v1, err) + return nil, fmt.Errorf("failed to fetch %s for instagram login: %w", login_page_v1, err) } err = ig.client.sendCookieConsent("") @@ -48,25 +48,25 @@ func (ig *InstagramMethods) Login(identifier, password string) (*cookies.Cookies web_shared_data_v1 := ig.client.getEndpoint("web_shared_data_v1") req, respBody, err := ig.client.MakeRequest(web_shared_data_v1, "GET", h, nil, types.NONE) // returns actual machineId you're supposed to use if err != nil { - return nil, fmt.Errorf("failed to fetch %s for instagram login: %v", web_shared_data_v1, err) + return nil, fmt.Errorf("failed to fetch %s for instagram login: %w", web_shared_data_v1, err) } ig.client.cookies.UpdateFromResponse(req) err = json.Unmarshal(respBody, &ig.client.configs.browserConfigTable.XIGSharedData.ConfigData) if err != nil { - return nil, fmt.Errorf("failed to marshal web_shared_data_v1 resp body into *XIGSharedData.ConfigData: %v", err) + return nil, fmt.Errorf("failed to marshal web_shared_data_v1 resp body into *XIGSharedData.ConfigData: %w", err) } encryptionConfig := ig.client.configs.browserConfigTable.XIGSharedData.ConfigData.Encryption pubKeyId, err := strconv.Atoi(encryptionConfig.KeyID) if err != nil { - return nil, fmt.Errorf("failed to convert keyId for instagram password encryption to int: %v", err) + return nil, fmt.Errorf("failed to convert keyId for instagram password encryption to int: %w", err) } encryptedPw, err := crypto.EncryptPassword(int(types.Instagram), pubKeyId, encryptionConfig.PublicKey, password) if err != nil { - return nil, fmt.Errorf("failed to encrypt password for instagram: %v", err) + return nil, fmt.Errorf("failed to encrypt password for instagram: %w", err) } loginForm := &types.InstagramLoginPayload{ @@ -100,7 +100,7 @@ func (ig *InstagramMethods) FetchProfile(username string) (*responses.ProfileInf resp, respBody, err := ig.client.MakeRequest(reqUrl, "GET", h, nil, types.NONE) if err != nil { - return nil, fmt.Errorf("failed to fetch the profile by username @%s: %v", username, err) + return nil, fmt.Errorf("failed to fetch the profile by username @%s: %w", username, err) } ig.client.cookies.UpdateFromResponse(resp) @@ -108,7 +108,7 @@ func (ig *InstagramMethods) FetchProfile(username string) (*responses.ProfileInf var profileInfo *responses.ProfileInfoResponse err = json.Unmarshal(respBody, &profileInfo) if err != nil { - return nil, fmt.Errorf("failed to unmarshal response bytes into *responses.ProfileInfoResponse (statusCode=%d): %v", resp.StatusCode, err) + return nil, fmt.Errorf("failed to unmarshal response bytes into *responses.ProfileInfoResponse (statusCode=%d): %w", resp.StatusCode, err) } return profileInfo, nil @@ -127,7 +127,7 @@ func (ig *InstagramMethods) FetchMedia(mediaID, mediaShortcode string) (*respons resp, respBody, err := ig.client.MakeRequest(reqUrl, "GET", h, nil, types.NONE) if err != nil { - return nil, fmt.Errorf("failed to fetch the media by id %s: %v", mediaID, err) + return nil, fmt.Errorf("failed to fetch the media by id %s: %w", mediaID, err) } ig.client.cookies.UpdateFromResponse(resp) @@ -135,7 +135,7 @@ func (ig *InstagramMethods) FetchMedia(mediaID, mediaShortcode string) (*respons var mediaInfo *responses.FetchMediaResponse err = json.Unmarshal(respBody, &mediaInfo) if err != nil { - return nil, fmt.Errorf("failed to unmarshal response bytes into *responses.FetchMediaResponse (statusCode=%d): %v", resp.StatusCode, err) + return nil, fmt.Errorf("failed to unmarshal response bytes into *responses.FetchMediaResponse (statusCode=%d): %w", resp.StatusCode, err) } return mediaInfo, nil @@ -157,7 +157,7 @@ func (ig *InstagramMethods) FetchReel(reelIds []string, mediaID string) (*respon reqUrl := ig.client.getEndpoint("reels_media") + query.Encode() resp, respBody, err := ig.client.MakeRequest(reqUrl, "GET", h, nil, types.NONE) if err != nil { - return nil, fmt.Errorf("failed to fetch reels by ids %v: %v", reelIds, err) + return nil, fmt.Errorf("failed to fetch reels by ids %v: %w", reelIds, err) } ig.client.cookies.UpdateFromResponse(resp) @@ -165,7 +165,7 @@ func (ig *InstagramMethods) FetchReel(reelIds []string, mediaID string) (*respon var reelInfo *responses.ReelInfoResponse err = json.Unmarshal(respBody, &reelInfo) if err != nil { - return nil, fmt.Errorf("failed to unmarshal response bytes into *responses.ReelInfoResponse (statusCode=%d): %v", resp.StatusCode, err) + return nil, fmt.Errorf("failed to unmarshal response bytes into *responses.ReelInfoResponse (statusCode=%d): %w", resp.StatusCode, err) } return reelInfo, nil diff --git a/messagix/js_module_parser.go b/messagix/js_module_parser.go index 3220074..289ecee 100644 --- a/messagix/js_module_parser.go +++ b/messagix/js_module_parser.go @@ -163,7 +163,7 @@ func (m *ModuleParser) Load(page string) error { case "script": doneCrawling, err = m.crawlJavascriptFile(href) if err != nil { - return fmt.Errorf("messagix-moduleparser: failed to crawl js file %s (%v)", href, err) + return fmt.Errorf("messagix-moduleparser: failed to crawl js file %s (%w)", href, err) } } } diff --git a/messagix/mercury.go b/messagix/mercury.go index 61c2f37..d0d3b75 100644 --- a/messagix/mercury.go +++ b/messagix/mercury.go @@ -33,7 +33,7 @@ func (c *Client) SendMercuryUploadRequest(ctx context.Context, threadID int64, m urlQueries := c.NewHttpQuery() queryValues, err := query.Values(urlQueries) if err != nil { - return nil, fmt.Errorf("failed to convert HttpQuery into query.Values for mercury upload: %v", err) + return nil, fmt.Errorf("failed to convert HttpQuery into query.Values for mercury upload: %w", err) } payloadQuery := queryValues.Encode() @@ -77,7 +77,7 @@ func (c *Client) parseMercuryResponse(ctx context.Context, respBody []byte) (*ty var mercuryResponse *types.MercuryUploadResponse if err := json.Unmarshal(jsonData, &mercuryResponse); err != nil { - return nil, fmt.Errorf("failed to parse mercury response: %v", err) + return nil, fmt.Errorf("failed to parse mercury response: %w", err) } else if mercuryResponse.ErrorCode != 0 { return nil, fmt.Errorf("error in mercury upload: %w", &mercuryResponse.ErrorResponse) } @@ -102,14 +102,14 @@ func (c *Client) parseMetadata(response *types.MercuryUploadResponse) error { var realMetadata []types.FileMetadata err := json.Unmarshal(response.Payload.Metadata, &realMetadata) if err != nil { - return fmt.Errorf("failed to unmarshal image metadata in upload response: %v", err) + return fmt.Errorf("failed to unmarshal image metadata in upload response: %w", err) } response.Payload.RealMetadata = &realMetadata[0] case '{': var realMetadata map[string]types.FileMetadata err := json.Unmarshal(response.Payload.Metadata, &realMetadata) if err != nil { - return fmt.Errorf("failed to unmarshal video metadata in upload response: %v", err) + return fmt.Errorf("failed to unmarshal video metadata in upload response: %w", err) } realMetaEntry := realMetadata["0"] response.Payload.RealMetadata = &realMetaEntry @@ -127,24 +127,24 @@ func (c *Client) NewMercuryMediaPayload(media *MercuryUploadMedia) ([]byte, stri err := writer.SetBoundary("----WebKitFormBoundary" + methods.RandStr(16)) if err != nil { - return nil, "", fmt.Errorf("messagix-mercury: Failed to set boundary (%v)", err) + return nil, "", fmt.Errorf("messagix-mercury: Failed to set boundary (%w)", err) } if media.IsVoiceClip { err = writer.WriteField("voice_clip", "true") if err != nil { - return nil, "", fmt.Errorf("messagix-mercury: Failed to write voice_clip field (%v)", err) + return nil, "", fmt.Errorf("messagix-mercury: Failed to write voice_clip field (%w)", err) } if media.WaveformData != nil { waveformBytes, err := json.Marshal(media.WaveformData) if err != nil { - return nil, "", fmt.Errorf("messagix-mercury: Failed to marshal waveform (%v)", err) + return nil, "", fmt.Errorf("messagix-mercury: Failed to marshal waveform (%w)", err) } err = writer.WriteField("voice_clip_waveform_data", string(waveformBytes)) if err != nil { - return nil, "", fmt.Errorf("messagix-mercury: Failed to write waveform field (%v)", err) + return nil, "", fmt.Errorf("messagix-mercury: Failed to write waveform field (%w)", err) } } } @@ -155,17 +155,17 @@ func (c *Client) NewMercuryMediaPayload(media *MercuryUploadMedia) ([]byte, stri mediaPart, err := writer.CreatePart(partHeader) if err != nil { - return nil, "", fmt.Errorf("messagix-mercury: Failed to create multipart writer (%v)", err) + return nil, "", fmt.Errorf("messagix-mercury: Failed to create multipart writer (%w)", err) } _, err = mediaPart.Write(media.MediaData) if err != nil { - return nil, "", fmt.Errorf("messagix-mercury: Failed to write data to multipart section (%v)", err) + return nil, "", fmt.Errorf("messagix-mercury: Failed to write data to multipart section (%w)", err) } err = writer.Close() if err != nil { - return nil, "", fmt.Errorf("messagix-mercury: Failed to close multipart writer (%v)", err) + return nil, "", fmt.Errorf("messagix-mercury: Failed to close multipart writer (%w)", err) } return mercuryPayload.Bytes(), writer.FormDataContentType(), nil diff --git a/messagix/modules.go b/messagix/modules.go index ff67c9d..595fe06 100644 --- a/messagix/modules.go +++ b/messagix/modules.go @@ -23,17 +23,17 @@ func (m *ModuleParser) HandleRawJSON(data []byte, id string) error { var d types.EnvJSON err = json.Unmarshal(data, &d) if err != nil { - return fmt.Errorf("failed to parse data from types.EnvJSON: %v", err) + return fmt.Errorf("failed to parse data from types.EnvJSON: %w", err) } case "__eqmc": var d types.Eqmc err = json.Unmarshal(data, &d) if err != nil { - return fmt.Errorf("failed to parse data from types.Eqmc: %v", err) + return fmt.Errorf("failed to parse data from types.Eqmc: %w", err) } ajaxData, err := d.ParseAjaxURLData() if err != nil { - return fmt.Errorf("failed to parse ajax url data from types.Eqmc: %v", err) + return fmt.Errorf("failed to parse ajax url data from types.Eqmc: %w", err) } m.client.configs.Jazoest = ajaxData.Jazoest m.client.configs.CometReq = ajaxData.CometReq @@ -208,7 +208,7 @@ func (m *ModuleParser) handleLightSpeedQLRequest(data json.RawMessage, parserFun var payload lightspeed.LightSpeedData err := json.Unmarshal([]byte(lsPayloadStr), &payload) if err != nil { - return fmt.Errorf("messagix-moduleparser: failed to marshal lsPayloadStr into LightSpeedData: %v", err) + return fmt.Errorf("messagix-moduleparser: failed to marshal lsPayloadStr into LightSpeedData: %w", err) } decoder := lightspeed.NewLightSpeedDecoder(deps.ToMap(), m.LS) @@ -335,7 +335,7 @@ func (m *ModuleParser) parseCSRBit(s string) ([]int, error) { for _, b := range splitUp { conv, err := strconv.ParseInt(b, 10, 32) if err != nil { - return nil, fmt.Errorf("messagix-moduleparser: failed to parse csrbit: %v", err) + return nil, fmt.Errorf("messagix-moduleparser: failed to parse csrbit: %w", err) } if conv == 0 { continue diff --git a/messagix/syncManager.go b/messagix/syncManager.go index fc1058a..b0b945f 100644 --- a/messagix/syncManager.go +++ b/messagix/syncManager.go @@ -101,7 +101,7 @@ func (sm *SyncManager) SyncSocketData(databaseId int64, db *socket.QueryMetadata jsonPayload, err := json.Marshal(&payload) if err != nil { - return nil, fmt.Errorf("failed to marshal DatabaseQuery struct into json bytes (databaseId=%d): %v", databaseId, err) + return nil, fmt.Errorf("failed to marshal DatabaseQuery struct into json bytes (databaseId=%d): %w", databaseId, err) } sm.client.Logger.Trace(). @@ -110,7 +110,7 @@ func (sm *SyncManager) SyncSocketData(databaseId int64, db *socket.QueryMetadata Msg("Syncing database via socket") resp, err := sm.client.socket.makeLSRequest(jsonPayload, t) if err != nil { - return nil, fmt.Errorf("failed to make lightspeed socket request with DatabaseQuery byte payload (databaseId=%d): %v", databaseId, err) + return nil, fmt.Errorf("failed to make lightspeed socket request with DatabaseQuery byte payload (databaseId=%d): %w", databaseId, err) } resp.Finish() diff --git a/messagix/threads.go b/messagix/threads.go index 9293f1d..64c0de4 100644 --- a/messagix/threads.go +++ b/messagix/threads.go @@ -16,7 +16,7 @@ func (c *Client) ExecuteTasks(tasks ...socket.Task) (*table.LSTable, error) { payload, err := tskm.FinalizePayload() if err != nil { - return nil, fmt.Errorf("failed to finalize payload: %v", err) + return nil, fmt.Errorf("failed to finalize payload: %w", err) } resp, err := c.socket.makeLSRequest(payload, 3) diff --git a/user.go b/user.go index 9118d37..dafe3d7 100644 --- a/user.go +++ b/user.go @@ -540,7 +540,7 @@ func (user *User) unlockedConnect() { Error: MetaConnectError, }) } - go user.sendMarkdownBridgeAlert(context.TODO(), "Failed to connect to %s: %v", user.bridge.ProtocolName, err) + go user.sendMarkdownBridgeAlert(context.TODO(), "Failed to connect to %s: %w", user.bridge.ProtocolName, err) return } @@ -1195,7 +1195,7 @@ func (user *User) eventHandler(rawEvt any) { } } user.BridgeState.Send(user.metaState) - go user.sendMarkdownBridgeAlert(context.TODO(), "Error in %s connection: %v", user.bridge.ProtocolName, evt.Err) + go user.sendMarkdownBridgeAlert(context.TODO(), "Error in %s connection: %w", user.bridge.ProtocolName, evt.Err) user.StopBackfillLoop() if user.forceRefreshTimer != nil { user.forceRefreshTimer.Stop()