Giter Site home page Giter Site logo

chandevel / clover Goto Github PK

View Code? Open in Web Editor NEW
781.0 71.0 260.0 44.25 MB

Clover - imageboard browser for Android (moved from Floens/Clover)

Home Page: https://chandevel.github.io/Clover/

License: GNU General Public License v3.0

Java 99.05% HTML 0.95%
4chan android imageboard-browser

clover's People

Contributors

49e94b8f256530dc0d41f740dfe8a4c1 avatar adamantcheese avatar alexeyre avatar andyklimczak avatar braeden avatar floens avatar hual avatar iamzim101 avatar k1rakishou avatar kosbum avatar lolzen avatar mezpahlan avatar nopjmp avatar siema avatar sietsem avatar tacothedank avatar twinov avatar vaguelyasian avatar vjandrea avatar zachyzachzach 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  avatar  avatar  avatar

Watchers

 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

clover's Issues

Uploading images.

Uploading images doesn't work on the Moto G running 4.4.4. Image chooser doesn't correspond with the app.

button to reverse-image search an image

Clover is already the best 4chan browser for android out there at the moment, I just switched from mimi/chanu and I'm loving it. But! One thing that I've always missed is the ability to immideately reverse-image search images when browsing 4chan on my phone.
Copying the url, navigating to iqdb.org/images.google and then pasting, is quite tedious, and a instant button for this in the image drop down menu would be awesome.

thank you

A fix for the captcha.

Intro

As you're probably well aware, the new recatpcha cannot be implemented with native UI objects, with the exception of a web view (this is the case for iOS, at least). I experiemented a bit with the new style captcha yesterday after seeing how bad the no script ones have become. I'm going to detail how I did it as a courtesy, since I believe Clover is a great resource for developers of 4chan clients and the like.

With my implementation I am able to tick the captcha box and it may present me with a very simple captcha or an interactive style-captcha. The latter of which makes this particularly hard to port out of a web view, so at this point, web view seems to offer the best compatibility. Thankfully this solution doesn't even require using your server to host the captcha, it's all between the device and Google.

Overview

You're going to need a web view.

Here is the HTML I load into mine, bear in mind I have very little knowledge of HTML and CSS.

<head>
    <script type="text/javascript">
        var onloadCallback = function() {
            grecaptcha.render('html_element', {
                              'sitekey' : '6Ldp2bsSAAAAAAJ5uyx_lx34lJeEpTLVkP5k04qc',
                              'callback' : dataCallback,
                              'theme' : '%%NIFRecaptchaColourScheme%%'
                              });
        };
    </script>
    <script type="text/javascript">
        var dataCallback = function(authResult) {
            document.forms["myform"].submit();
        };
    </script>
<script src="https://www.google.com/recaptcha/api.js?onload=onloadCallback&render=explicit"></script>

<body>
</head>
<form name="myform" action="" method="post">
<div style="
    display: table;
    ">
    <div style="width: 304px; height: 78px;">
        <div id="html_element"></div>
    </div>
</form>
</body>

%%NIFRecaptchaColourScheme%% is replaced with light or dark depending on the application's current theme.

I've actually tried to do this in the past but kind of gave up since the entire idea of it seemed kind of ridiculous. Regardless, the trick here is to set the referer to 4chan.org, or some variant of that fortune.4chan.org, clover.4chan.org, etc, it doesn't matter.

My web view has a delegate setup to the view controller, so every request that is performed, I query "grecaptcha.getResponse();" in the web view. This is actually a function supported by Google, so I imagine it is very future proof, unless they decide to rename it, like g-recaptcha-response... grecaptcha.getResponse(); will return an empty string if there is no response, it wasn't nil in my case but instead empty, so be aware of that. Once your delegate determines that the response was not in fact empty, basically any response, that (a) isn't nil and (b) is longer than 0 characters means the response was valid.

For the sake of simplicity this should work, JavaScript is obviously important, as an aside it can't even be disabled in web views on iOS:

webview.getSettings().setJavaScriptEnabled(true);
webview.loadDataWithBaseURL("http://clover.4chan.org", the\_html\_file, "text/html", "UTF-8", "");

Anyway, good luck, let me know if it works and if you want to give credit, it'd be very welcome!

Crashes When Image Album Downloads

The issues isn't within the default save directory.

I can save normally by clicking it and it would save all the images. However, I wanted to change the storage to my external storage. So I made a new file for it (/storage/external_SD/Clover.)

And while it worked for default, changing it to an external storage dosent work. Infact, I can't save albums anywhere I put the save directory to an external. It only works for internal. When I try to save the album, the app would crash every time. It would also leave the folders behind, but no pictures.

Proguard issues with 1.2.1+

Proguard fails on..

:app:proguardRelease
Warning: pl.droidsonroids.gif.GifImageButton: can't find referenced method 'ImageButton(android.content.Context,android.util.AttributeSet,int,int)' in library class android.widget.ImageButton
Warning: pl.droidsonroids.gif.GifImageView: can't find referenced method 'ImageView(android.content.Context,android.util.AttributeSet,int,int)' in library class android.widget.ImageView
Warning: pl.droidsonroids.gif.GifTextView: can't find referenced method 'TextView(android.content.Context,android.util.AttributeSet,int,int)' in library class android.widget.TextView
Warning: there were 3 unresolved references to library class members.
         You probably need to update the library versions.
         (http://proguard.sourceforge.net/manual/troubleshooting.html#unresolvedlibraryclassmember)
:app:proguardRelease FAILED

How to reproduce:

git clone https://github.com/Floens/Clover.git
cd Clover
cd Clover
gradle build

Font options

Is it possible to add some font size/type options? Current font feels too big imo

Add report functionality

I can't browse 4chan without reporting shitposts. It honestly bothers me that much. Please add report functionality

Disk cache can exceed 60MB

The caching process of Clover is kind of strange, after opening the app and browsing through some boards and closing it, it has written 300+ of files to /sdcard/Android/data/org.floens.chan/cache/volley and filecache.
With a total size exceeding 60MB.

I suggest the use of RAM for caching, as the cached files are completely useless after opening the browser again some time after last using it, since most if not all of the images, thumbnails and threads are already gone. And even then, RAM is much faster than the sdcard. This could speed up clover quiete a bit.

Gifs broken

The latest update broke gifs altogether. Rolled back to stable and gifs load fine. In the latest beta, it acts as if it's loading the gif but when it finishes, the image just disappears from the viewer. It doesn't freeze or crash the app, the image just fails to display.

Pinned menu gesture too narrow

I've noticed while using material design apps with a similar setup that it's very easy to pull off the gesture despite having a case on my phone, while on clover is nearly impossible.
Google Play is a great example to check out.
It would be very useful if the gesture was more forgiving or even adjustable for those of us who have cases or bumpers.

"Wrong captcha" toast when using a 4chan pass

After the latest update on the Play Store, when trying to post using a 4chan pass you will receive the "Wrong captcha" toast immediately and the view is returned to the "Using 4chan pass" one. This means that you can't post whilst using a pass.

A video of this can be seen here.

Odd Pinned Threads menu behaviour.

This bug happens on a Samsung Galaxy S2, running Cyanogenmod 10.2.
As the application is started, everything is fine. The Pinned Threads menu can be pulled out and any threads there accessed. If one of the items in the menu is selected, it works as intended. After a thread is picked a seemingly random amount of times (from 1 to about 5) the menu ceases to work. It still slides out, but threads can not accessed. Tapping on any pinned threads gives no result.

Images don't load via system HTTP proxy

I am using Clover v1.2.0 from F-Droid and it looks like as full size images (preview ones work fine) don't load via proxy set at connection settings. In v1.1.3 they actually work.

The image viewer can't handle big images.

The way the image viewer works now is
A simple ImageView with a PhotoView attacher on top to make it zoomable / movable by the user.
The problem is, when the image file gets too large (>2000 in the width or height) it will not upload the image to the gpu. And so the ImageView stays blank.

A common solution for this is making a tiled interface for big images. The default Gallery app does this:
Split a big image (e.g. 4000x4000) up in different chunks. And when the user is at default zoom level, render 1 chunk skipping every 4 pixels (so this chunk gets 1000x1000 pixels to render). When the user zooms to 2x, render 4 chunks skipping every 2 pixels (zo we get chunks of 1000x1000 again). But don't render chunks that are out of the viewport.

Anyway, the explaination above may not be clear, but we need a image viewer that handles big images in a tiled way.

We could extract the code from the Gallery, or maybe there is some other existing solution.

4chan pass not allowing posting

just updated and logged into my 4chan gold pass, and every time i try to post, it says "invalid captcha"
i'm on a galaxy s4 active running os 4.4.2

Dark and Black themes not working

Changing theme to Dark or Black makes background, action bar, and text in Settings all white. Changing to Black makes action bar white everywhere in the app. Screenshots below.

Settings - Light (normal behavior): http://i.imgur.com/XygChpr.png
Settings - Dark (text and bg is white): http://i.imgur.com/Bun3bnN.png
Settings - Black (text, bg, and action bar are white): http://i.imgur.com/FxXoeam.png
Main - Black (action bar is white): http://i.imgur.com/N4tqxCc.png

Images stuck loading on first attempt

When attempting to open images the first time, the image will be stuck loading. Circle at the top right continues swirling but no blue line indicating any actual loading is occurring. Canceling the image load then immediately opening the image again will instantly load the image correctly.

Sharing bug (pushbullet)

Sharing an Image over pushbullet results in the file extension and filename not being transmitted correctly:
pushbullet

Add an option to keep the screen from turning off when using Clover

I'm using a rather short delay before my screen turns itself off after no activity, which happens pretty often when reading long posts in Clover without touching the screen. Other apps have an option which prevents the screen from turning off while the app is running in the foreground, which is really useful. I'd love to have such an option in Clover as well.

Cache cap

There's this problem that the app won't load any content if the cache size reaches around 51/52 MB. Currently on android 4.4.2.

Using back button on board editor does not reset boardspinner

1.Set there are more than one board in boardspinner (Assume a,g,k).
2.Select the last board (Select k).
3.Go to board editor and remove that or more board (Remove g,k/k).
4.Press back button.

For removing board k case, boardspinner will show 'Add more...'.
For removing board g,k case, indexoutofboundsexception will be thrown.

Using the up button will automatically select the first board.

images in fullscreen

Hello,

is it possible to view images in fullscreen or add the functionality?

Alexis

PS: I luv this app ;)

Configurable Save Location

Please make the save location for images/WebMs configurable. Right now, pictures are saved to the "Clover" directory on my phone's storage. I'd like to save images to my SD card instead.

Volume keys scrolling

Minor option, scrolling to next/previous post or image in the viewer with the volume keys

Capcha not loading twice

HTC Desire 500 w/ Android 4.1.2
Clover 1.2.10
Capcha loading fine the first time before replying, but it just keeps "Loading capcha..." on the second and subsequent tries seemingly indefinitely.

If I clean the cache it works once more, but I need to repeat this for every reply.

Portrait mode isn't functioning properly on tab S

Hello,

The portrait mode isn't functioning properly on the Tab S 8.4 (SM-T700) which has a QHD display. When I'm holding it in portrait mode it thinks it's in landscape mode. Attached a picture to eloborate.
screenshot_2015-02-13-00-41-34

Cache in SD card

Can you cache files in the microSD card (if there's one) instead of in phone memory?
My phone thank you ;-)

Auto invalid captcha

Anytime I try to make a reply or a new thread whenever I hit submit to go to the captcha it automatically gives the invalid captcha error but doesnt even show a captcha. Is there a help or dix for this?

Long captcha

The captcha in the clover app use to be one short word but now its two words which can get abit long sometimes to type every time on a tablet/phone.

When I open 4chan in a browser like Chrome in Android I only get one short word in captcha or hitting the checkbox sometimes works. I'm not sure which party the fault lies but I thought reporting this might be of some help and hip fully get back to just one captcha word. Or

would you think that it would be a possibility to add the captcha like in the browser with a tickbox in the foreseeable future that would really enhance the usage experience of the app!

Gradle Sync Failing

I followed all the instructions from the wiki, but am android studio is failing to get the depeancancies.

Error:Failed to find: pl.droidsonroids.gif:android-gif-drawable:1.1.0
<a href="openFile">Open File</a><br><a href="open.dependency.in.project.structure">Open in Project Structure dialog</a>

Maybe it's just me being stupid, but I can't solve it. Using Fedora 21, and the latest android studio. JDK 8, oracle.

SSL issues with new builds

After you load 20 threads or so, every load will fail with the following error:

10-25 19:32:40.896    3721-3721/org.floens.chan E/Clover | Loader﹕ Error loading javax.net.ssl.SSLHandshakeException: Handshake failed
    com.android.volley.NoConnectionError: javax.net.ssl.SSLHandshakeException: Handshake failed
            at com.android.volley.toolbox.BasicNetwork.performRequest(BasicNetwork.java:134)
            at com.android.volley.NetworkDispatcher.run(NetworkDispatcher.java:110)
     Caused by: javax.net.ssl.SSLHandshakeException: Handshake failed
            at com.google.android.gms.org.conscrypt.OpenSSLSocketImpl.startHandshake(SourceFile:374)
            at libcore.net.http.HttpConnection.setupSecureSocket(HttpConnection.java:210)
            at libcore.net.http.HttpsURLConnectionImpl$HttpsEngine.makeSslConnection(HttpsURLConnectionImpl.java:477)
            at libcore.net.http.HttpsURLConnectionImpl$HttpsEngine.connect(HttpsURLConnectionImpl.java:441)
            at libcore.net.http.HttpEngine.sendSocketRequest(HttpEngine.java:282)
            at libcore.net.http.HttpEngine.sendRequest(HttpEngine.java:232)
            at libcore.net.http.HttpURLConnectionImpl.getResponse(HttpURLConnectionImpl.java:273)
            at libcore.net.http.HttpURLConnectionImpl.getResponseCode(HttpURLConnectionImpl.java:479)
            at libcore.net.http.HttpsURLConnectionImpl.getResponseCode(HttpsURLConnectionImpl.java:133)
            at com.android.volley.toolbox.HurlStack.performRequest(HurlStack.java:109)
            at com.android.volley.toolbox.BasicNetwork.performRequest(BasicNetwork.java:93)
            at com.android.volley.NetworkDispatcher.run(NetworkDispatcher.java:110)
     Caused by: javax.net.ssl.SSLProtocolException: SSL handshake aborted: ssl=0xe2a240: Failure in SSL library, usually a protocol error
    error:14077410:SSL routines:SSL23_GET_SERVER_HELLO:sslv3 alert handshake failure (external/openssl/ssl/s23_clnt.c:762 0x5e82d485:0x00000000)
            at com.google.android.gms.org.conscrypt.NativeCrypto.SSL_do_handshake(Native Method)
            at com.google.android.gms.org.conscrypt.OpenSSLSocketImpl.startHandshake(SourceFile:302)
            ... 11 more

I've only had it happen on a 4.0 tablet.
Every new build of Clover has this issue.
It seems that the new version from google play services (ssl is handled through gps?) contains a changed crypto lib that has this bug.

WebM issues on some devices

While Android claims to support WebM (http://developer.android.com/guide/appendix/media-formats.html#core) lots of devices will encounter playback issues.

Problems are:
No support at all: "Can't play this video". The message is generated by the default video player. Clover uses VideoView that is powered by the android video player. Playing the video in the browser / another app won't help.

On my Nexus 4 you can play WebM's, but after a while if you play a WebM (or any video) the device will crash. Input won't be handled and the screen will not refresh. Looking at the logs the system is still reacting to system events, but the screen is stuck. After a while the SystemUI will crash or the device will reboot.

These problems are probably caused with propretairy drivers for the GPU / or just GPU issues.

A workaround is to show the user an AlertDialog saying that webm support is crummy and it may or may not work on their device.

/pol/ uses the wrong flag set

FC right at launch

The app crashes before the home page shows up since 1.0.1, I'm on a Nexus 5 running Paranoid Android if that helps.

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.