Cumulus icon indicating copy to clipboard operation
Cumulus copied to clipboard

Playback rate limits

Open mediaformat opened this issue 7 years ago • 41 comments

Cumulus v0.10.0 on macOS 10.11.6

After login I can see my feed.

As soon as I try to play anything from my list, the player just skips through everything, loading all track data into the player (image, artist, track, time remaining).

mediaformat avatar Mar 11 '17 18:03 mediaformat

I'm getting a similar issue

On Mar 11, 2017, at 10:04 AM, Django Doucet [email protected] wrote:

Cumulus v0.10.0 on macOS 10.11.6

After login I can see my feed.

As soon as I try to play anything, the player just skips through everything, loading all track metadata into the player (.

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub, or mute the thread.

Hum4n01d avatar Mar 11 '17 19:03 Hum4n01d

tried v.0.9.0, same deal

mediaformat avatar Mar 11 '17 20:03 mediaformat

I’m using v0.9.0 and it’s skipping through, how should I fix this? /cc @gillesdemey

Hum4n01d avatar Mar 11 '17 21:03 Hum4n01d

This might be helpful @gillesdemey:

I ran with NODE_ENV=development and got a whole bunch errors in the console that said:

https://api.soundcloud.com/tracks/224674551/stream?client_id=f17c1d67b83c86194fad2b1948061c9e 429 (Unknown)

I checked one of the error pages and I saw this:

{"errors":[{"meta":{"rate_limit":{"bucket":"by-client","max_nr_of_requests":15000,"time_window":"PT24H","name":"plays"},"remaining_requests":0,"reset_time":"2017/03/12 12:22:59 +0000"}}]}

It looks like there’s rate limiting stopping Cumulus from working. :(

Hum4n01d avatar Mar 11 '17 22:03 Hum4n01d

I think it's pretty obvious at this point that Cumulus' application credentials are exceeding the 15.000 plays / 24h rate limit.

https://developers.soundcloud.com/docs/api/rate-limits

I'm not quite sure if we can increase the rate limit, so at this point all we can do is show some sort of exception to the user 😔

gillesdemey avatar Mar 12 '17 20:03 gillesdemey

ok :)

Hum4n01d avatar Mar 12 '17 20:03 Hum4n01d

@gillesdemey I too am having this issue. I would escalate this issue to critical bug.

I hope SoundCloud doesn't give you guys the Twitter dev treatment.

mirshko avatar Mar 13 '17 13:03 mirshko

Having the same issue, making Cumulus unusable.

ghost avatar Mar 15 '17 14:03 ghost

@dougos Everyone is having the same issue, it appears that Soundcloud introduced rate limits on their API making it unusable in case a lot of users are using the same app.

There is not much we can do at this point except reach out to them asking to increase the limit for our API key.

MichielDeMey avatar Mar 15 '17 14:03 MichielDeMey

I used to use soundnode and then I switched to cumulus because it ran into the same rate-limiting problem. Back on the hunt. Thank you to the devs for making such an insanely beautiful and minimal app. I will miss it. My productivity will miss it. Purple heart :purple_heart: much love, respect :v:

benjaminclarkco avatar Mar 15 '17 16:03 benjaminclarkco

Thanks for the kind words @benjaminclark.

I've requested to have the API rate limit increased, waiting to hear back from them 🤞

gillesdemey avatar Mar 15 '17 18:03 gillesdemey

otherwise a few api keys could be used, and switch between them on rate-limit error

mediaformat avatar Mar 15 '17 19:03 mediaformat

@mediaformat We've discussed this approach internally and we're not going to go down this road since this goes against their Terms of Use. See: https://developers.soundcloud.com/docs/api/terms-of-use#quotas

As much as we'd like to, as an open-source community we have the obligation to play by the rules. 😉

MichielDeMey avatar Mar 15 '17 19:03 MichielDeMey

ok, I hadn't seen that page!

Fairplay to you guys :1st_place_medal:

mediaformat avatar Mar 15 '17 19:03 mediaformat

Dang

Hum4n01d avatar Mar 15 '17 20:03 Hum4n01d

😢

FoxxMD avatar Mar 23 '17 18:03 FoxxMD

Should we start some sort of petition? I'm thinking some kind of link to retweet a tweet to Soundcloud or something?

seppestas avatar Mar 23 '17 21:03 seppestas

Would someone with the know-how be interested in writing a how-to build from source with your own API key?

Also—would it be possible to add an "API Key" field somewhere in settings so users could use their own without having to build from source? Or would that also be a TOS violation?

afischer avatar Apr 04 '17 14:04 afischer

Also - would it be possible to add an "API Key" field somewhere in settings so users could use their own without having to build from source?

Seems like quite the hassle, SoundCloud now requires users to request API credentials through a form (and it might take up to a month for them to get back to you).

gillesdemey avatar Apr 04 '17 15:04 gillesdemey

@afischer

If you have Yarn & Grunt installed:

  1. git clone https://github.com/gillesdemey/Cumulus.git && cd Cumulus
  2. open app/js/app.js & replace the client_id on line 47 with your API key.
  3. yarn outdated
  4. yarn upgrade [insert all listed dependencies from above.]
  5. yarn
  6. grunt build

It took me about 3 weeks to get API access.

edit: I'll submit a PR when I get time if this no longer works for you.

araphiel avatar Apr 05 '17 00:04 araphiel

@araphiel — Thanks. Guess I need to apply and wait a month for credentials 🙄

Not to get off topic but SC really needs to find a way to make some money... It would really be a shame to see them go under.

afischer avatar Apr 06 '17 14:04 afischer

In the mean time, just copy the client_id from your browser's dev tools (visiting soundcloud.com) and apply it using the approach described by @araphiel.

screen shot

jsphpl avatar Apr 10 '17 18:04 jsphpl

In the meantime you can give this alternative SoundCloud player a try :) https://cloud-player.io It also ships a native desktop app for Windows and Mac Code is open source available here and build with Angular2

Zarlex avatar Apr 13 '17 11:04 Zarlex

@Zarlex how do you tackle the rate limit problem?

jsphpl avatar Apr 14 '17 12:04 jsphpl

So far the app is not used by many people so i'm not exceeding the 15000 requests/day :)

Zarlex avatar Apr 14 '17 15:04 Zarlex

Having same issue. 😞

ghost avatar May 08 '17 08:05 ghost

I had a similar experience as @araphiel: it took SoundCloud a couple weeks to process the form and issue API keys for me to use in a custom build – looking forward to using Cumulus again!

philippe-git avatar May 09 '17 19:05 philippe-git

Combining suggestions from @araphiel and @jsphpl we have an easy workaround. To re-cap,

  1. git clone https://github.com/gillesdemey/Cumulus.git && cd Cumulus
  2. Navigate to soundcloud.com in your browser and grab your client_id from the developer tools network panel. You can see it in API calls like https://api.soundcloud.com/e1/me/track_likes/ids?limit=5000&linked_partitioning=1&client_id=YOUR-CLIENT-ID-SHOULD-BE-SHOWN-HERE&app_version=1495114752
  3. open app/js/app.js & replace the client_id on line 47 with your soundcloud client_id
  4. yarn upgrade
  5. yarn
  6. grunt build
  7. Run your locally built app

🎵

shyam-habarakada avatar May 18 '17 19:05 shyam-habarakada

@shyam-habarakada is there a build step missing? I'm getting Error: Cannot find module 'electron-settings'

Uncaught Exception:
Error: Cannot find module 'electron-settings'
    at Module._resolveFilename (module.js:470:15)
    at Function.Module._resolveFilename (/Users/markhughes/src/Cumulus/dist/Cumulus-darwin-x64/Cumulus.app/Contents/Resources/electron.asar/common/reset-search-paths.js:35:12)
    at Function.Module._load (module.js:418:25)
    at Module.require (module.js:498:17)
    at require (internal/module.js:20:19)
    at Object.<anonymous> (/Users/markhughes/src/Cumulus/dist/Cumulus-darwin-x64/Cumulus.app/Contents/Resources/app/index.js:12:22)
    at Object.<anonymous> (/Users/markhughes/src/Cumulus/dist/Cumulus-darwin-x64/Cumulus.app/Contents/Resources/app/index.js:135:3)
    at Module._compile (module.js:571:32)
    at Object.Module._extensions..js (module.js:580:10)
    at Module.load (module.js:488:32)

markhughes avatar Jul 18 '17 00:07 markhughes

@MarkehMe I'm on OSX and got around that by downgrading NPM to 4.6.1. No idea why that works or if it's good practice.

zachmoody avatar Sep 26 '17 16:09 zachmoody