shutter-project / shutter

Screenshot tool for Linux
https://shutter-project.org/
GNU General Public License v3.0
521 stars 34 forks source link

We should probably tidy up broken upload plugins #528

Closed Photon89 closed 1 year ago

Photon89 commented 1 year ago

Brief summary of issue

Several upload plugins are currently broken:

  1. Dropbox, requires a complete rewrite due to an API change, already broken for over five years: https://github.com/shutter-project/shutter/issues/228
  2. Toilelibre, the service seems to be offline permanently: https://github.com/shutter-project/shutter/issues/323
  3. Vgy.me, is currently dysfunctional, possibly it can be fixed though

Steps to reproduce the issue

  1. Try uploading with any of the upload services
  2. Observe that it is broken

Error output

Output for vgy.me upload:

Use of uninitialized value $ARGV[0] in exists at /usr/share/shutter/resources/system/upload_plugins/upload/vgyme.pm line 55.
    require vgyme.pm called at /usr/bin/shutter line 10347
    eval {...} called at /usr/bin/shutter line 10345
    Shutter::App::dlg_upload("[17] - Auswahl_2022_12_16_05_54_18.png") called at /usr/bin/shutter line 6578
    Shutter::App::fct_upload(Gtk3::MenuToolButton=HASH(0x561217ab1bd0)) called at /usr/lib/perl5/5.36/vendor_perl/Glib/Object/Introspection.pm line 67
    eval {...} called at /usr/lib/perl5/5.36/vendor_perl/Glib/Object/Introspection.pm line 67
    Glib::Object::Introspection::__ANON__(Shutter::App=HASH(0x5612160a63a8)) called at /usr/bin/shutter line 10943
Argument "Error POSTing https://vgy.me/upl..." isn't numeric in numeric ge (>=) at /usr/share/perl5/vendor_perl/HTTP/Status.pm line 151.
    HTTP::Status::is_success("Error POSTing https://vgy.me/upload.php: Not Found at /usr/sh"...) called at /usr/bin/shutter line 10381
    Shutter::App::dlg_upload("[17] - Auswahl_2022_12_16_05_54_18.png") called at /usr/bin/shutter line 6578
    Shutter::App::fct_upload(Gtk3::MenuToolButton=HASH(0x561217ab1bd0)) called at /usr/lib/perl5/5.36/vendor_perl/Glib/Object/Introspection.pm line 67
    eval {...} called at /usr/lib/perl5/5.36/vendor_perl/Glib/Object/Introspection.pm line 67
    Glib::Object::Introspection::__ANON__(Shutter::App=HASH(0x5612160a63a8)) called at /usr/bin/shutter line 10943

Extra information, such as Shutter version, display server in use (Xorg or Wayland), operating system and ideas for how to solve:

We should probably remove Dropbox and Toilelibre and see whether Vgy.me can be fixed with small effort.

Photon89 commented 1 year ago

Regarding vgy.me: Looks like they don't allow anonymous uploading any more, at the same time, there is no API documentation for authorized uploading. I fixed up the URL and end up with an 422 error indicating authentication issues, which, similarly, can be found here: https://github.com/ShareX/ShareX/issues/4432 So I propose to remove vgy.me as well.

edit: Which sadly leaves us with just Imgur (anynomous and OAuth uploading) and Gyazo (authorized uploading, requires additional dependency).