twitchdev / issues

Issue tracker for third party developers.
Apache License 2.0
73 stars 6 forks source link

Cannot create new application #735

Closed Nifty255 closed 1 year ago

Nifty255 commented 1 year ago

Brief description EDIT: It appears saving changes is also not working.

I am attempting to make a new Twitch Developer Application at https://dev.twitch.tv/console/apps/create. When I click the Create button, I receive no visible error. The following was the response my browser received, and the errors it generated:

[{"errors":[{"message":"service error","path":["createOauthApp"]}],"data":{"createOauthApp":null},"extensions":{"durationMilliseconds":121,"operationName":"CreateOauthApp","requestID":"01GT6P2S3RAXNKN8T4D0TVX1TK"}}]
dev-main-407ea9bc1302a4ac3dee.js:1 [GraphQL] One or more GraphQL errors were detected on request 01GT6P2S3RAXNKN8T4D0TVX1TK. CreateOauthApp: service error [{…}]
(anonymous) @ dev-main-407ea9bc1302a4ac3dee.js:1
setTimeout (async)
(anonymous) @ dev-main-407ea9bc1302a4ac3dee.js:1
(anonymous) @ vendor-c119f6d99d1e4312bf6b.js:1
(anonymous) @ vendor-c119f6d99d1e4312bf6b.js:1
a @ vendor-c119f6d99d1e4312bf6b.js:1
Promise.then (async)
u @ vendor-c119f6d99d1e4312bf6b.js:1
a @ vendor-c119f6d99d1e4312bf6b.js:1
Promise.then (async)
u @ vendor-c119f6d99d1e4312bf6b.js:1
(anonymous) @ vendor-c119f6d99d1e4312bf6b.js:1
l @ vendor-c119f6d99d1e4312bf6b.js:1
e.collectQueryStats @ dev-main-407ea9bc1302a4ac3dee.js:1
(anonymous) @ dev-main-407ea9bc1302a4ac3dee.js:1
(anonymous) @ vendor-c119f6d99d1e4312bf6b.js:1
(anonymous) @ vendor-c119f6d99d1e4312bf6b.js:1
(anonymous) @ vendor-c119f6d99d1e4312bf6b.js:1
l @ vendor-c119f6d99d1e4312bf6b.js:1
(anonymous) @ dev-main-407ea9bc1302a4ac3dee.js:1
Promise.then (async)
(anonymous) @ dev-main-407ea9bc1302a4ac3dee.js:1
(anonymous) @ vendor-c119f6d99d1e4312bf6b.js:1
(anonymous) @ vendor-c119f6d99d1e4312bf6b.js:1
(anonymous) @ vendor-c119f6d99d1e4312bf6b.js:1
l @ vendor-c119f6d99d1e4312bf6b.js:1
apolloLinkFetch @ dev-main-407ea9bc1302a4ac3dee.js:1
(anonymous) @ vendor-c119f6d99d1e4312bf6b.js:1
e @ vendor-c119f6d99d1e4312bf6b.js:1
t.subscribe @ vendor-c119f6d99d1e4312bf6b.js:1
e.consumeQueue @ vendor-c119f6d99d1e4312bf6b.js:1
(anonymous) @ vendor-c119f6d99d1e4312bf6b.js:1
setTimeout (async)
e.scheduleQueueConsumption @ vendor-c119f6d99d1e4312bf6b.js:1
(anonymous) @ vendor-c119f6d99d1e4312bf6b.js:1
e @ vendor-c119f6d99d1e4312bf6b.js:1
t.subscribe @ vendor-c119f6d99d1e4312bf6b.js:1
(anonymous) @ vendor-c119f6d99d1e4312bf6b.js:1
e @ vendor-c119f6d99d1e4312bf6b.js:1
t.subscribe @ vendor-c119f6d99d1e4312bf6b.js:1
(anonymous) @ dev-main-407ea9bc1302a4ac3dee.js:1
e @ vendor-c119f6d99d1e4312bf6b.js:1
t.subscribe @ vendor-c119f6d99d1e4312bf6b.js:1
(anonymous) @ vendor-c119f6d99d1e4312bf6b.js:1
Promise.then (async)
(anonymous) @ vendor-c119f6d99d1e4312bf6b.js:1
e @ vendor-c119f6d99d1e4312bf6b.js:1
t.subscribe @ vendor-c119f6d99d1e4312bf6b.js:1
complete @ vendor-c119f6d99d1e4312bf6b.js:1
t.start @ vendor-c119f6d99d1e4312bf6b.js:1
t @ vendor-c119f6d99d1e4312bf6b.js:1
e.getObservableFromLink @ vendor-c119f6d99d1e4312bf6b.js:1
(anonymous) @ vendor-c119f6d99d1e4312bf6b.js:1
(anonymous) @ vendor-c119f6d99d1e4312bf6b.js:1
(anonymous) @ vendor-c119f6d99d1e4312bf6b.js:1
(anonymous) @ vendor-c119f6d99d1e4312bf6b.js:1
(anonymous) @ vendor-c119f6d99d1e4312bf6b.js:1
l @ vendor-c119f6d99d1e4312bf6b.js:1
e.mutate @ vendor-c119f6d99d1e4312bf6b.js:1
e.mutate @ vendor-c119f6d99d1e4312bf6b.js:1
t.mutate @ vendor-c119f6d99d1e4312bf6b.js:1
s.runMutation @ vendor-c119f6d99d1e4312bf6b.js:1
(anonymous) @ sites.dev.pages.app-create-page-a94d07c171a1599e4b37.js:1
(anonymous) @ vendor-c119f6d99d1e4312bf6b.js:1
(anonymous) @ vendor-c119f6d99d1e4312bf6b.js:1
(anonymous) @ vendor-c119f6d99d1e4312bf6b.js:1
l @ vendor-c119f6d99d1e4312bf6b.js:1
t.onSave @ sites.dev.pages.app-create-page-a94d07c171a1599e4b37.js:1
d.onSave @ sites.dev.pages.app-create-page-a94d07c171a1599e4b37.js:1
s @ vendor-c119f6d99d1e4312bf6b.js:1
p @ vendor-c119f6d99d1e4312bf6b.js:1
(anonymous) @ vendor-c119f6d99d1e4312bf6b.js:1
m @ vendor-c119f6d99d1e4312bf6b.js:1
at @ vendor-c119f6d99d1e4312bf6b.js:1
ot @ vendor-c119f6d99d1e4312bf6b.js:1
st @ vendor-c119f6d99d1e4312bf6b.js:1
pt @ vendor-c119f6d99d1e4312bf6b.js:1
F @ vendor-c119f6d99d1e4312bf6b.js:1
q @ vendor-c119f6d99d1e4312bf6b.js:1
Xt @ vendor-c119f6d99d1e4312bf6b.js:1
$t @ vendor-c119f6d99d1e4312bf6b.js:1
t.unstable_runWithPriority @ vendor-c119f6d99d1e4312bf6b.js:1
Ko @ vendor-c119f6d99d1e4312bf6b.js:1
j @ vendor-c119f6d99d1e4312bf6b.js:1
Gt @ vendor-c119f6d99d1e4312bf6b.js:1
vendor-c119f6d99d1e4312bf6b.js:1 Uncaught (in promise) Error: service error
    at new t (vendor-c119f6d99d1e4312bf6b.js:1:334171)
    at vendor-c119f6d99d1e4312bf6b.js:1:314375
    at n (vendor-c119f6d99d1e4312bf6b.js:1:291375)
    at vendor-c119f6d99d1e4312bf6b.js:1:291300
    at new Promise (<anonymous>)
    at Object.then (vendor-c119f6d99d1e4312bf6b.js:1:291266)
    at Object.next (vendor-c119f6d99d1e4312bf6b.js:1:291385)
    at w (vendor-c119f6d99d1e4312bf6b.js:1:1274313)
    at _ (vendor-c119f6d99d1e4312bf6b.js:1:1274819)
    at t.next (vendor-c119f6d99d1e4312bf6b.js:1:1275352)

How to reproduce

  1. Pick any name. The name I attempted to use was KSP 2 Mod: Draft Twitch Viewers 2.
  2. Add a localhost redirect URL. I attempted to use http://localhost:2550/authorize.
  3. Pick an application type. I attempted to use Game Integration.
  4. Click Create.

Expected behavior Application should be created.

Screenshots image image image

Additional context or questions

thedist commented 1 year ago

You can't use Twitch in the name, it's one of the reserved words so any attempt to make an app, or update an app with that in the name, will be blocked.

Nifty255 commented 1 year ago

Well that's not particularly clear, now is it?

Attempting to use KSP 2 Mod: Draft Your Viewers also failed. Creation did not succeed until I trimmed it all the way down to Draft Your Viewers.

thedist commented 1 year ago

I agree it's certainly not clear as to why it's failing, but naming errors such as using a duplicate name or using any reserved word will result in the error you've described and it is a known issue.

It is further complicated by there being a period of time where that app name validation (Extensions are also apps, so this applies to them too) was not working, which allowed invalid app names to be created, but since that issue has been fixed any existing duplicates will not be able to update until it changes its name as that name is checked and validated when saving app settings.

Xemdo commented 1 year ago

I was able to create the application under that name. Not sure why it was failing then, but the issue seems to be resolved.