feat(Bugs): Implement Bugs! provider#213
Conversation
kellnerd
left a comment
There was a problem hiding this comment.
Thank you, this is looking good already! I only have a few comments until I get to test the new provider myself.
5e88563 to
89ee095
Compare
|
Thanks for the thorough review! I think I caught & fixed everything. I left your comments open so that you can verify and resolve them yourself. Once the review is complete and before this is merged, I'd like to squash the second commit so that the client secret is removed from the history again. |
|
I just rebased the PR to fix the conflicts, please let me know if you need anything else. |
There was a problem hiding this comment.
Thank you for your patience, I've finally found the time to test the provider and it's looking solid as far as I can tell.
You can now squash your commits (and reword the slightly outdated message) if you want (and still remember all the details after the long delay, sorry for that).
Otherwise I can also do that. I've made two minor changes locally (setting the new category "digital", and error handling for missing credentials) which I will push after the merge.
P.S. One of your example releases made me realize that I haven't given Hangul a proper weight in utils/script.ts yet, which makes the detected scripts 86% Latin and only 14% Hangul. By giving Hangul a weight of 3, we would get more reasonable 67% and 33%. What do you think? These values would then be below the threshold where Harmony seeds the scripts.
Bugs! is a South Korean digital streaming service that also offers digital downloads (FLAC or MP3). This provider uses the mobile app's API, which requires an access token that can be obtained from a separate endpoint using the client credentials of the app. The required client secret has to be provided as an environment secret named HARMONY_BUGS_CLIENT_SECRET. The brand color and icon have been taken from the website. To implement this change, I used the help of an AI tool (namely Claude Code using the Sonnet 4.6 model), which created the Bugs! API types from the HAR log captured from my device with HTTP Toolkit, and wrote the initial provider implementation and tests scaffold. Regardless, all code changes have been personally reviewed by me, and I take full responsibility for them. I also selected and wrote the test cases myself. Assisted-by: Claude:claude-sonnet-4.6
No worries, and thanks for your review. I have squashed the two commits now (force-push diff is empty), and reworded the message to mention the client secret and drop the device ID. Had to do some reading in the review comment history to remember what happened to it but thankfully it's all documented 😄
That seems fair. I have once read the argument that releases should somewhat bias the most specific language/script, which would be Korean/Hangul in this case. Increasing the weight does exactly that, so I'm all for it. |
Bugs! is a South Korean digital streaming service that also offers digital downloads (FLAC or MP3). This provider uses the mobile app's API, which requires an access token that can be obtained from a separate endpoint using the client credentials of the app. The device ID is usually queried from the device the app is running on, but can be any random value as it doesn't seem to be validated. Thus, it's set to a hardcoded value which can optionally be overridden through an environment variable. The brand color and icon have been taken from the website.
To implement this change, I used the help of an AI tool (namely Claude Code using the Sonnet 4.6 model), which created the Bugs! API types from the HAR log captured from my device with HTTP Toolkit, and wrote the initial provider implementation and tests scaffold. Regardless, all code changes have been personally reviewed by me, and I take full responsibility for them. I also selected and wrote the test cases myself.
Inspired by and closes #202.