chandevel / clover Goto Github PK
View Code? Open in Web Editor NEWClover - imageboard browser for Android (moved from Floens/Clover)
Home Page: https://chandevel.github.io/Clover/
License: GNU General Public License v3.0
Clover - imageboard browser for Android (moved from Floens/Clover)
Home Page: https://chandevel.github.io/Clover/
License: GNU General Public License v3.0
A popup to undo accidental swipe of a pinned topic would be nice
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
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
I've noticed there's no way to post spoilered images on the boards that support them. This is kind of a big thing to add!
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.
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.
Uploading images doesn't work on the Moto G running 4.4.4. Image chooser doesn't correspond with the app.
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.
I think it's because of the new auth. system
If a post with a pound sign is submitted, it appears as a question mark.
How can I have pinned threads with ID, like on the webpage
http://floens.github.io/Clover/assets/img/phone3.png
/g/39894014
It's easier to look on the boards archive with the ID
thanks
Is it possible to add some font size/type options? Current font feels too big imo
Have the option to display board names in the board list as '/a/;/b/;/c/ etc.' instead of 'anime;random;cute'.
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.
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!
Really though after trying 10 I gave up, what sort of dark magic is this shit?
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.
Hello,
is it possible to view images in fullscreen or add the functionality?
Alexis
PS: I luv this app ;)
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.
This happens regularly after opening a few images. It seems to be fairly random.
Tegra Note, Android 4.
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.
Minor option, scrolling to next/previous post or image in the viewer with the volume keys
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.
Basically every time km using mobile data cannot open any image. Whatever opens is not a fully loaded image with low quality.
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.
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.
/pol/ will use the default flag set for /int/ and /sp/ instead of the custom "troll" set used specifically for /pol/:
https://s.4cdn.org/image/country/troll/us.gif - Amerifat
https://s.4cdn.org/image/country/troll/kp.gif - Best Korean
https://s.4cdn.org/image/country/troll/tp.gif - Tea Party
https://s.4cdn.org/image/country/troll/tr.gif - Tree Hugger
https://s.4cdn.org/image/country/troll/nz.gif - Nazi
https://s.4cdn.org/image/country/troll/gy.gif - LGBT
https://s.4cdn.org/image/country/troll/mf.gif - 3. ??? 4. PROPHET!
https://s.4cdn.org/image/country/troll/wp.gif - Tolerant
https://s.4cdn.org/image/country/troll/rb.gif - Rebel Alliance
https://s.4cdn.org/image/country/troll/pr.gif - Pirate
https://s.4cdn.org/image/country/troll/eu.gif - Europoor
https://s.4cdn.org/image/country/troll/cf.gif - Confederate
https://s.4cdn.org/image/country/troll/tx.gif - Texan
https://s.4cdn.org/image/country/troll/rp.gif - Gold Standard
https://s.4cdn.org/image/country/troll/ob.gif - NOBAMA
https://s.4cdn.org/image/country/troll/il.gif - Palestine
https://s.4cdn.org/image/country/troll/re.gif - Insufferable
https://s.4cdn.org/image/country/troll/bl.gif - Black Nationalist
https://s.4cdn.org/image/country/troll/pc.gif - Hippie
https://s.4cdn.org/image/country/troll/cm.gif - Communist
https://s.4cdn.org/image/country/troll/dm.gif - Libtard
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.
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.
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!
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.
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.
Sometimes i stack many threads to watchlist and some of them go 404 before i get to read them. In partyvan you can still look at already loaded posts but clover just shows 404.
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.
Because Lolipop policy. App can't write file in external sdcard. I hope you can add permission to write in sdcard for lolipop
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?
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
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.
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.
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
When I try to add /qa/ to the board list it tells me the board doesn't exist.
I can't browse 4chan without reporting shitposts. It honestly bothers me that much. Please add report functionality
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.
This board has some time up and it will be cool if in a new version is included
An example, if the time is 6:00 and you see a post that was made at 5:30, it says 30 minutes ago.
Instead you could an option to include the actual time , 6:00:02 (up to the second).
Can you cache files in the microSD card (if there's one) instead of in phone memory?
My phone thank you ;-)
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.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.