NthMetal / gbraidfinder

Advanced Raidfinder for Granblue Fantasy. 【グランブルファンタジー】のTwitter救援をまとめ
https://gbraidfinder.ogres.cc
The Unlicense
16 stars 2 forks source link

gbr requests to get battle key info from gbf result in 409 error #3

Closed NthMetal closed 1 year ago

NthMetal commented 2 years ago

Occasionally all accounts return 409 errors for battle key info from the following request: https://github.com/NthMetal/gbraidfinder/blob/master/gbr/src/app.service.ts#L177

This can be fixed by refreshing the page.

Better if this is done automatically when a 409 error is encountered.

NthMetal commented 2 years ago

More Info:

Likely due to game version mismatch. Which is why refreshing fixes it. Typically this is when you get a message saying "There is a new version the game will now update."

Error:

Error: Evaluation failed: SyntaxError: Unexpected token 'T', "The reques"... is not valid JSON
    at ExecutionContext._ExecutionContext_evaluate (/usr/src/app/node_modules/puppeteer-core/lib/cjs/puppeteer/common/ExecutionContext.js:229:15)
    at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
    at async ExecutionContext.evaluate (/usr/src/app/node_modules/puppeteer-core/lib/cjs/puppeteer/common/ExecutionContext.js:107:16)
    at async AppService.getRaidInfo (/usr/src/app/dist/app.service.js:96:32)
    at async AppController.getRaidInfo (/usr/src/app/dist/app.controller.js:35:28)
    at async /usr/src/app/node_modules/@nestjs/core/router/router-execution-context.js:46:28
    at async /usr/src/app/node_modules/@nestjs/core/router/router-proxy.js:9:17

The requested REST method returned an array or object, which is not compatible with the output format ""

Requests

Before (causes 409):

fetch("https://game.granbluefantasy.jp/quest/battle_key_check?_=1668352177086&t=1668352178549&uid=37043449", {
  "headers": {
    "accept": "application/json, text/javascript, */*; q=0.01",
    "accept-language": "en-US,en;q=0.9",
    "content-type": "application/json",
    "sec-ch-ua": "",
    "sec-ch-ua-mobile": "?0",
    "sec-ch-ua-platform": "",
    "sec-fetch-dest": "empty",
    "sec-fetch-mode": "cors",
    "sec-fetch-site": "same-origin",
    "x-requested-with": "XMLHttpRequest",
    "x-version": "1667878838"
  },
  "referrer": "https://game.granbluefantasy.jp/",
  "referrerPolicy": "strict-origin-when-cross-origin",
  "body": "{\"special_token\":null,\"battle_key\":\"4373E1F1\"}",
  "method": "POST",
  "mode": "cors",
  "credentials": "include"
});

After (success 200):

fetch("https://game.granbluefantasy.jp/quest/battle_key_check?_=1668352205022&t=1668352206782&uid=37043449", {
  "headers": {
    "accept": "application/json, text/javascript, */*; q=0.01",
    "accept-language": "en-US,en;q=0.9",
    "content-type": "application/json",
    "sec-ch-ua": "",
    "sec-ch-ua-mobile": "?0",
    "sec-ch-ua-platform": "",
    "sec-fetch-dest": "empty",
    "sec-fetch-mode": "cors",
    "sec-fetch-site": "same-origin",
    "x-requested-with": "XMLHttpRequest",
    "x-version": "1668339457"
  },
  "referrer": "https://game.granbluefantasy.jp/",
  "referrerPolicy": "strict-origin-when-cross-origin",
  "body": "{\"special_token\":null,\"battle_key\":\"7EC45D98\"}",
  "method": "POST",
  "mode": "cors",
  "credentials": "include"
});
NthMetal commented 1 year ago

will be fixed when https://github.com/NthMetal/gbraidfinder/tree/prime is deployed

NthMetal commented 1 year ago

fixed with 47b1d0f09567ae5103eb8d4abc6c0f8aedf260d3