Coder Social home page Coder Social logo

imgurviewer's Introduction

ImgurViewer

ImgurViewer is a little image viewer to open image links from external applications in the fastest way possible.

As the name suggests it was originally designed to open Imgur image links, but the application evolved to support some other images services too, the current image services supported are:

Imgur: with full support ( galleries, albums, gif videos, simple image links ). Gif links will be opened as videos to save bandwidth and faster loading.

Gyazo: full image support.

Gfycat: full Gfycat videos. As Imgur, it will load videos instead of gifs when possible.

i.reddituploads.com support.

streamable.com support.

twitch clips support.

Instagram image and video support.

vid.me support.

flickr support.

GIPHY support.

And many more!

Also, ImgurViewer can open any link with a path with an image extension, so, it will try to handle any image link.

ImgurViewer as a standalone application doesn't do anything, so don't expect anything when opening the application. It must be used in conjunction with some other external application as a web browser, reddit is fun, newsblur. It's was done for my personal use and uploaded to Google Play and F-Droid to share it with the world. I hope that someone find it useful too.

Code License

GPLv3

imgurviewer's People

Contributors

33kk avatar atrate avatar nrgill28 avatar poussinou avatar sidit77 avatar spartanj avatar starry-shivam avatar the-blank-x avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

imgurviewer's Issues

Proxy settings are ignored

2.3.3 F-Droid

Set proxy, eg. 127.0.0.1 port 8118 (autotompleted? So the app developer kinda expected Orbot HTTP here?)

Open URL, error toast can't connect

Look in the firewall logs to see that the app is trying (and failing since it's blocked by default) to connect directly to the internet bypassing the proxy settings.

Crash on Android 7.0

PR #52 adds an import to java.time.Duration which requires Android API level 26.

On my Android 7.0 device this causes error java.lang.NoClassDefFoundError: Failed resolution of: Ljava/time/Duration

Maybe minimum SDK version has to be increased, or this fix can be implemented without using this specific API?

Save to SD card

Not knowing how much difficulty this really poses but is the option to change the download folder to SD card on the roadmap? It's truly the last piece for me to make IV perfect but from what I have gathered it is not exactly trivial to implement?

Issue with imgur.com/r links

I don't know what the hell these are (for subreddits, possibly) or why Imgur would need a link for something other than single images and albums, but the app does not seem to be supporting imgur.com/r links. For example, https://imgur.com/r/SteamVR/G8uyWrh will not be displayed correctly if opened with ImgurViewer. However, it still is an album and the link works if you delete the part that comes right after /r and replace r with a so that it becomes imgur.com/a/G8uyWrh

Can't download images at all

I can view images just fine, but I'm unable to download anything as it says I lack the required permissions. I can download just fine with other apps, and I don't see a download files permission anywhere.

Resolution Option

ImgurViewer loads the video with the highest resolution available. I'd rather have all videos at 720p or a dropdown menu where I can change the resolution, as higher resolutions cause heavy lag.

New project/app name?

The "ImgurViewer" name is a bit inappropriate now that it supports so many websites ;)

I'm also not sure how much Imgur appreciates their name being used for this purpose.
IANAL but the "Imgur" name is trademarked and this project doesn't fall under the allowed uses without explicit permission: https://help.imgur.com/hc/en-us/articles/202062878-Trademark-Use-Policy

"OpenViewer" would be fitting IMO, it even gives a little hint at how the app is supposed to be used.
A quick Google search revealed no relevant, popular or even maintained projects by that name.

Changing the name is quite disruptive, so it'd be better to do this before the app really takes off, which, to me, it seems like it's right on the verge of.

Expanding supported sites using HandyImage userscript

HandyImage is a userscript for desktop browsers that supports viewing many image hosting sites without clutter.

Can the codebase of HandyImage be used to help add support for more sites in ImgurViewer? It would be really cool to have the equivalent of this userscript on android.

The app doesn't entirely follow dark theme

The introduction image is overly bright (of Whatsapp without dark theme, seems to always be reshown when the app is closed) and the near-fullscreen white smiley could be adjusted color-wise.

F-droid Support

Hey, thank you for making such an awesome app. I want to ask whether you are willing to publish your app on F-droid, a store for only opensource apps.
This might be helpful.

Thanks and take care :)

YouTube Support

I was recently thinking about adding YouTube support. I have a working prototype here using Piped including support for clips and timestamped links,

However, I think Google has a problem with 3rd party YouTube clients in the PlayStore. So this feature would have to be limited to F-Droid and Github. Do you think this could be done using some kind of conditional compilation or should I just keep this as a seperate branch and only upstream the generic changes I had to make to implement YouTube support?

Imgur Gallery not opening.

Just a com.android.volley.ClientError and infinite loading animation after that. Happens in both list and thumbnail view.

"Loaded resource is not valid" in direct Imgur link

Imgur started redirecting direct links to the proper page (eg. from https://i.imgur.com/uSK28O9.jpg to https://m.imgur.com/uSK28O9).

But when opening a direct link from app ImgurViewer gets "Loaded resource is not a valid image" error.

You should note that the link opens in firefox first then in Imgur viewer.

Screenshot_20201010_092632_com ensoft imgurviewer
Screenshot_20201010_092619_io github forkmaintainers iceraven

[FR] use semi-transparent background

... for small images.
Currently black is used. But having a better context would be great with the conversation being semi visible though shadowed.

Crash when sharing images that don't have extension in URL

ImgurViewer appears to crash (or at least immediately exits) when sharing certain images as media. All of the images that crash don't have an extension at the end.

Examples that crash:

Examples that don't crash:

To reproduce:

  1. Open those images in ImgurViewer (share to it, or paste into the app)
  2. Tap on Share โ†’ (Share as) Media
  3. ImgurViewer will immediately exit upon pressing the Media button

Remarks:
The images load fine, it's the sharing as media that crashes.

[UI/UX Issue] App loading times

OS: Android 10
App version: 2.1.7

When clicking on links in apps that would open ImgurViewer, nothing happens for a very long time, only after about 10-30s does IV open.

If the link is clicked multiple times, IV opens multiple times as well.

This might be due to very poor network conditions, but the app should still open immediately and just show a loading screen.

setting: pause automatically when exiting the application

I am very disturbed by these sounds, which in addition can not be turned off from the notification, so I open the issue

(I'm too lazy to press pause before exiting the application (not a necessary movement) so I ask for this feature)

Version 2.3.5 doesn't play local video files

Version 2.3.5 from F-Droid
Android 8.1

When opening any local video file ImgurViewer shows black screen with error toast: Sorry, video reproduction failed.

Tested with .mp4 and .webm files.
Local images (.jpg, .png, and animated .gif) open as intended.
Versions 2.3.4 and earlier open local files without problems.

Low Resolution (Reddit Videos)

Thanks for your awesome app!

I am just facing low resolutions when playback reddit videos. I'm pretty sure that the actual quality of those videos are quiter higher.

Is it just me, or is it possible to increase that?

Thanks in advance!

Crash on multiple windows

2.3.3 F-Droid

Open an url

Go to task overview, trigger multiple windows (or split screen or whatever that is called)

Crash

FATAL EXCEPTION: main
Process: com.ensoft.imgurviewer, PID: 10365
java.lang.NullPointerException: Attempt to invoke virtual method 'android.view.Window androidx.fragment.app.FragmentActivity.getWindow()' on a null object reference
	at com.ensoft.imgurviewer.view.fragment.ImageViewerFragment.setSystemUiVisibility(ImageViewerFragment.java:721)
	at com.ensoft.imgurviewer.view.fragment.ImageViewerFragment.access$500(ImageViewerFragment.java:81)
	at com.ensoft.imgurviewer.view.fragment.ImageViewerFragment$7.run(ImageViewerFragment.java:747)
	at android.os.Handler.handleCallback(Handler.java:938)
	at android.os.Handler.dispatchMessage(Handler.java:99)
	at android.os.Looper.loop(Looper.java:223)
	at android.app.ActivityThread.main(ActivityThread.java:7705)
	at java.lang.reflect.Method.invoke(Native Method)
	at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:592)
	at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:952)

"Couldn't resolve album url" for some reddit albums

Example album: https://www.reddit.com/gallery/10b485x

It seems like some images can fail to upload/process, and ImgurViewer does not handle it gracefully. Opening the album from a web browser and going to the failed image (the last/12th one) would show you its caption but it doesn't try to show the image, while gallery-dl just skips it (it outputs [reddit][warning] gallery 10b485x: skipping item ayazbocqbvba1 ('status: failed') for the offending image).

Example of a failed image:

> curl -L --no-progress-meter "https://reddit.com/comments/10b485x.json?raw_json=1" --user-agent awoo | jq '.[0].data.children[0].data.media_metadata["ayazbocqbvba1"]'
{
  "status": "failed"
}

Example of a successful/valid image:

> curl -L --no-progress-meter "https://reddit.com/comments/10b485x.json?raw_json=1" --user-agent awoo | jq '.[0].data.children[0].data.media_metadata["9b305qzpbvba1"]'
{
  "status": "valid",
  "e": "Image",
  "m": "image/jpg",
  [...snip...]
}

Can't save/download Reddit Videos

Hi again,

when I try to download Reddit Videos, IV always saves a file called: "HLSPlaylist.m3u8" which is only 1,5 kb. Permission are granted. Am I doing something wrong?

Cheers

Non-animated gifs on Imgur fail with 'Sorry, video reproduction failed'.

Example: https://i.imgur.com/Pq1wyvp.gif

The same file hosted elsewhere works fine. Simply changing the file extension in the Imgur link to png or jpg works, but I can't police what other people post.. Changing it to gifv doesn't, which might be what the bandwidth saving feature does?

I don't know that it is possible to tell animated and non-animated gifs apart ahead of time, so I don't know what a proper solution is. Optional retry with the link as given on error?

Anyway, thanks for your time so far.

[Enhancement] kappa.lol support

Currently ImgurViewer doesn't try to open kappa.lol images (example cute cat) because it omits all file extensions.

Could you please add support for it? Thanks in advance.

Tradingview.com support to open from other apps

It would be great if support for showing stock charts from tradingview.com worked in ImgurViewer fully. Right now you can paste a chart link into the app's paste box and get it to show you the chart correctly, but you can't click links from other apps and have them open in ImgurViewer.

So some support is clearly there, but needs to be extended to be able to open a tradingview link and have imgurviewer available as the choice to open them with. It would make browsing financial subreddits and viewing charts much faster than having to copy/paste links into ImgurViewer

The links typically look like tradingview.com/x/random alphanumeric string/ for example: https://www.tradingview.com/x/URfGEY8S/

imgur.io links

The app does not work with imgur.io links, which are identical to imgur.com, though they do not redirect. Please add support for imgur.io links.

v.2.3.0.

Open with ImgurView fails Using Google Voice

Google Voice has no built in image viewer so tapping on an image in a chat always calls external viewers. ImgurView is listed as an option to handle GV images but the app fails to open anything.

Pixel 4a, Android 11, ImgurView 2.2.1

Full list of supported hosts?

Please keep an up-to-date list of supported hosts in the README or within the app. People might want to know if they need to install a separate viewer for a specific site.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.