Package: minitube
Version: 2.5.2-2
Followup-For: Bug #852601

NOTE: this bug has been reported multiple times and marked as WONTFIX[1] - i 
think this is a mistake because the presence of this bug *ensures* that the 
program's primary functionality is broken OOTB for *every* user - i find this 
situation to be unprofessional and unacceptable, especially because there are 
multiple ways to fix this bug today and they are all simple

steps:
1. launch minitube
2. type 'kittens' into search field
3. press <RETURN>
4. program produces no excepted results (it's primary functionality)

output:
> $ minitube
> QIODevice::read (QFile, ":/functions.js"): device not open
> No available API keys
> 403 "Error transferring 
> https://www.googleapis.com/youtube/v3/search?part=snippet&type=video&maxResults=50&q=kittens
>  - server replied: Forbidden" 
> QNetworkReply::NetworkError(ContentOperationNotPermittedError)
> "Error transferring 
> https://www.googleapis.com/youtube/v3/search?part=snippet&type=video&maxResults=50&q=kittens
>  - server replied: Forbidden"


the failure is due to the fact that the package maintainer has not acquired the 
necessary API key from google and expects each user to satisfy this instead; 
but the only way for the users to know of this requirement is if they read the 
file installed at /usr/share/doc/minitube/NEWS.Debian.gz - although this would 
seem to be an appropriate measure; it should be clear that most users will not 
read that file - so the reality is that, in it's current state, the program 
launches, *intentionally* fails at it's primary function, and neglects to give 
the user any indication as to why it fails or how to make it work; so i would 
consider this to be a critical (MUST fix) bug until one of the following 
solutions is implemented:

1. ask the upstream if debian can use their API key for the debian binary 
package
2. acquire a dedicated API key for the debian binary package
3. add a GUI alert to the program notifying the user that they must acquire 
their own API key and set the GOOGLE_API_KEY env var
4. remove this program from debian

generally speaking, API keys are intended for developers and are no concern to 
end-users - it is standard practice that developers/packagers acquire an API 
key on behalf of their users and that is what the upstream README recommends 
for downstream distributors - it is quite unconventional to require end-users 
to acquire a developer's key from the 3rd-party and i should add that it is 
among the primary purposes of a 'distro' to abstract such implementation 
details on behalf of users

regarding the proposed GUI alert, this is already implemented in the upstream 
v2.6 (latest upstream v2.7 - current debian is v2.5) as noted in the 
changelog[2] and implemented in src/mainwindow.cpp 
MainWindow::missingKeyWarning()[3] - simply updating this package to the latest 
upstream should satisfy solution #3; but the only reason that i am bumping this 
bug report is becasue i would like to suggest that it be considered as the 
least desirable option - it is a fallback feature which in essence says to the 
user: "your distro maintainer erroneously provided you with a broken binary - 
please download a replacement from the upstream website" - in my opinion, the 
minitube binary package should be removed from debian unless a valid API 
developer key is built into the binary so that the program will function 
out-of-the-box as intended by the upstream and as expected by users


[1]: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=845988
[2]: https://github.com/flaviotordini/minitube/blob/master/CHANGES#L18
[3]: 
https://github.com/flaviotordini/minitube/blob/master/src/mainwindow.cpp#L1409

Reply via email to