Releases: Adamantcheese/Kuroba
Releases · Adamantcheese/Kuroba
Subsystem rewrites, loads of features, minor layout changes, and bugfixes!
Next release: By the end of Saturday, February 21.
GENERAL FEATURES
- PR #449, #431, #150, #466, #420, #56; a massive rewrite to the filecache implementation; see the PR for additional notes. Of note:
- Cache size has increased to 512MB, with 1GB still for prefetching.
- WebM streaming has returned. Thanks again to @ekisu for the original implementation a while back.
- Additional settings have been added for WebM streaming, chunked downloading, and image preload behavior. See experimental settings.
- A setting has been added for your own Youtube API key, if you want to use that instead of 4chanX's. It is under Behavior settings, in the Other Settings group.
- PR #501, an error reporter, which sends appropriate information to K1rak's server so it can be reported as a Github issue, or taken care of directly. It is under the About group in the main settings page.
- PR #546, automatic crash reporting in association with the above.
- PR #508, #503, the ability to add your desktop captcha cookies has been added to the application; this may allow you to enter captcha more quickly. It is under Behavior settings, in the general group.
- #524, post comments in the replies popup are now selectable. The double-tap goto functionality remains the same, and overrides the usual double-tap to select all functionality of the text.
- PR #507, #474, a setting to allow the user to pick their file picker of choice rather than the default. Previous behavior is preserved by default; it is under Behavior settings, in the Other Settings group.
- PR #514, a developer feature to add in mock replies. Only allowed on posts in threads.
- PR #491, gallery view gestures have returned.
- Swipe up to close.
- Swipe down to save, or close if the image is already saved.
- WEBM files are now single tap to pause.
- Double tap for GIF is now single tap pause/unpause, with double tap to close.
- Single tap close functionality remains for static images.
- Double tap close remains for all other types if gestures are disabled.
ARCHIVES
- #480, updates the archives list URL and also download an internal copy at build time, so there's a default list pretty much always.
- If a thread is archived in a regular site archive, tapping the status cell will no longer open up the archives popup.
CAPTCHA
- PR #471, #465, Captcha queueing for Javascript captchas.
- 4Chan's default captcha type is now V2JS; the Dvach and 4Chan captcha type settings have been split apart, so you can set your defaults for each one independently.
- #467 and modifications, changes to JS-Captcha layout positioning; it is always on the bottom left now. For tablets, if the captcha is in the left split, it will be in the bottom left corner, and the right split will have it in the bottom right corner.
LAYOUT/VISUAL
- If no icons (flags, etc.) are in a post cell, then the cell header (post number, time, etc.) and the comment will be closer together now.
- A setting has been added to behavior settings as a shortcut to site setup, to better indicate where captcha settings are configured.
- If an custom HTTP icon fails to be retrieved, an error icon will now be displayed.
- When entering a thread from the catalog, the thread OP will be highlighted, so you can easily tell what thread you were in last.
- PR #545, the directories being moved/deleted when asked to move saved files/threads will now be shown in the dialog box.
- Fixes an issue where tablets using the "AUTO" layout mode and shift post format may not have been rendering post cells correctly.
- PR #468, #459, fixes a bug not properly re-rendering threads once you've hidden/removed posts, due to how re-renders are now calculated.
- #533, fixes to the image opacity option logic.
- Updates to MultiImageView to prevent video loading when the view hasn't been laid out yet.
- #554, a fix to the Dvach API parser to prevent every post in a sticky being marked as a sticky.
- #239, the thread download icon has been moved to be the leftmost icon, if enabled.
- The toolbar layout has been adjusted to take up slightly less space.
- The album download submenu has been changed to just be a regular menu item. Should save some taps.
ANDROID/LIBRARIES
- PR #490, #482, the target SDK is now 29.
- A number of libraries have been updated.
- #489, use the snapshot version of Volley to prevent log spam.
- OkHttp 4.3.1 should help with some connection and loading issues, and Exoplayer 2.11.1 should help with some playback issues.
- PR #506, some updates to the FSAF library.
FILE INLINING
- #462, linked video and PDF files now use the spoiler thumbnail as their thumbnail, rather than the file itself due to an oversight on my part. Attempt to prevent double-linking.
- PR #494, #479, fixes an issue where file inlining may have added the same file twice.
- BMP and WebP files are now allow for image linking.
CRASHES/LEAKS
- PR #499, #498, fixes a weird crash when choosing a file to upload.
- #463, prevents a strange crash caused by some unknown reason.
- #522, fixes a weird crash with a null floating menu.
- #536, a "leak" caused by tap-post-number quoting and the fast text view caching implementation.
THEMES
- #500, the theme previewer will now use the proper color for text in that theme's display. In addition, the options button will be the correct color.
- PR #511, a new theme based on Tomorrow from @scypress. Thanks!
GENERAL ADJUSTMENTS/BUGFIXES
- #458, call timeouts have been removed. You shouldn't have issues downloading large files on bad connections anymore.
- #470, fixes a method call order problem preventing the "Apply to own posts" filter option from working correctly.
- #527, the maximum file size for picked files has been increased to 50MB.
- #517, shared files will now always have "_shared" appended to their filenames, as opposed to after the first share.
- #515, the filter watch manager will properly release the wakelock it obtains if any filter loader errors out.
- #521, fixes to #441 and #469 by duplicating the plain-text-paste code from later API versions. Paste any formatted text you want into the reply box, it'll become plain text and the cursor will be positioned correctly.
- Adjustments to last-reply timers for #17.
- PR #496, #495, wraps tripcodes in slashes when choosing the "filter tripcode" menu option.
- Fixes an issue where folder and file names didn't keep their capitalization.
- Youtube titles and durations are now stored when closing the app and are restored when reopening it. This should prevent excessive Youtube API usage for those who prefer to close the app out entirely; these will not be exported with your settings.
- PR #495, #484, fixes parsing errors with cross-board dead links.
- #504, fixes being unable to share dead threads.
- PR #493, incremental thread downloading will now show you your saved thread instead of a network error if you do not have a network connection. Also, incremental thread downloading is enabled by default, and a hint popup has been added for it.
- PR #483, updates for Wired-7 configuration changes and board deletion.
- PR #514, #509, stops the watch notification service when all pins are dead or have no unread posts.
Small features and bugfixes
Next release: February 4th, by 11:59PM Pacific.
Major changes:
- The quote reply context menu option will now process your text linewise. Type up your whole greentext and then select all and quote to add in all the > text needed.
- #442, text selected in post cells now has a web search option. This will open in applications supporting the ACTION_WEB_SEARCH intent action type.
- #229, threads should no longer randomly scroll to the top. If they do, please resubmit or comment on that issue.
- #394, when downloading albums of images, the thread folder and board folder settings will be obeyed.
- #454, adds a setting to set the default image transparency state. It defaults to allow transparency.
Minor changes:
- #441, reply input paste is now plaintext.
- A number of settings have been moved to more understandable locations, and a number of experimental settings have been moved out of experimental.
- Filter watching is no longer tied to a setting. Just set it up and it'll work just fine; the background watching setting still applies.
- Fixes an issue where multiple linkable items may have been added to a post, resulting in duplicate links in the show links menu, or duplicate linked images.
- Fixes an issue where tapping on an image in a deleted post would softlock the application. Deleted post images are only tappable if the image already existed in the filecache before the post was deleted.
- A linked file will no longer display garbage in the post info dialog.
- Youtube duration parsing should be formatted correctly now when hours are included (two digit minutes).
- PR #440, #329, fixes the color priority for the bookmark menu's unread posts indicator so that unread quotes color the text before the disabled watch color; you can still see if the thread isn't being watched if this is the case by looking to see if the thumbnail is in grayscale.
- Emoji parsing will no longer disturb text in [code], [eqn], and [math] blocks.
- PR #455, #453, fix for SAF crashing the application if the SAF base location does not exist anymore.
- PR #450, #437, fixes memory leaks caused by onDestroy() not being called for every object on the controller display stack.
Project level notes:
- Additional code and style cleanup. Should be good now.
- #445, the upload APK script won't fail on non-main branches if it fails to upload. This is fine because only the main branch should be built for uploading. Thanks @K1rakishou!
- Gradle update.
Small bugfixes for v4.10.0
Next release: Dec 13, 2019 by 11:59PM PT.
Major changes:
- Please see the changelog for v4.10.0 for additional changelog details.
- #432, the reply window context menu now has the copy option back; the quote and spoiler (when applicable for the board) options will be available on the main menu, while board-specific modifications will be available in the dropdown submenu.
Minor changes:
- Dubs parsing has been fixed. Your quads, trips, dubs, or higher even, will correctly be detected.
- Youtube duration parsing now always shows the minutes, and seconds are always displayed as two digits.
- #434, when marking a post as your own with replies already on it, you will not be notified if the thread is pinned.
- #430, the application shouldn't crash for people on Android 6 or below when attempting to update the app.
- #428, fixes a memory leak caused by the local thread download animation on pin cells.
- #436, being unable to load local threads, due to my overzealous refactoring. Thanks @K1rakishou for the quick fix!
- Fixes an issue where the log would be spammed with page requests if a site didn't support board pages.
Project level notes:
- A number of constants have been imported statically in source files, making them much cleaner to read through.
- Additional utilities have been added to AndroidUtils for ease and standardization of use.
- Additional cleanup of AndroidUtils, some methods of which have been moved to other utils classes as they were more suited there.
- Continued cleanup of Toast calls and superfluous getAppContext() calls. Should be mostly done.
SAF, context menu editing, minor features, bugfixes, project updates, and more!
Next release: Dec 2 - 6, as necessary; pushed back due to Thanksgiving.
SAF Integration:
- PR #292, #172, SAF integration from @K1rakishou. Go try out his library for SAF stuff if you're developing an Android app yourself! THIS IS NOT AN EXPERIMENTAL SETTING. Since the app has fundamentally changed as a result of this, there is no experimental toggle. You are able to choose a SAF or normal directory when selecting the save location.
- As an addition to this, a small fix to the cache file get function, where the file not existing prevented any files from being picked in the file picker.
- PR #400, #397, fixes some file and directory name filtering to allow for hyphens in files and directories. Spaces are currently replaced by underscores once again, to better and more easily deal with SAF; from @K1rakishou.
- PR #399, #409, #423, SAF fixes and improvements, as well as some others; from @K1rakishou:
- No more warnings when moving files from one base directory to another, or when deleting files in the old base directory after moving them
- Now can't select the same directory in SAF and the Java File API
- You won't be able to select the same directory for both saved files and local threads, due to limitations in the current library
- Threads being downloaded will be marked as stopped when exporting settings to an SAF directory
- Prevents you from deleting your files when moving to a subfolder of your current save location
Features:
- The image reencoder preview will now display a higher resolution image than before. This should be a negligible impact as files displayed are stored locally.
- Post number GETs can be turned on as an experimental setting. They will appear next to the post number in the post cell.
- #275 partial, all the greentext, spoiler, code, math, and eqn tags are now context menu items in the reply window.
- #140, math and eqn tags have been added for /sci/ in the reply window. Note that because of #275, they are context menu items instead of buttons.
- Deadlinks in the OP of a thread will now automatically link to the first archive site populated in the ArchivesManager, under the assumption that they are thread links (which they usually are). Deadlinks in other posts will not automatically link due to a lack of information for archive linking.
- Durations are now a new experimental setting that works in tandem with Youtube titles. They will be appended to the end of the title, in brackets, if available.
- PR #402, #381, when downloading a file and an IO error occurs, the application will now retry 3 times to download the file before giving up. If an image is unable to be saved, the reason will be displayed in a toast; from @K1rakishou.
Fixes:
- #405, fixes being unable to post new threads.
- #151, fixes the issue of images sometimes not correctly displaying the full size image and only showing a thumbnail, despite downloading it into cache.
- #414, the current reply file name will be retained when image reencoding and not removing the filename.
- #416, fixes a crash caused by toolbar items attempting to be detached while not being attached; this will now be ignored.
- #345, fixes a crash where if the presenter isn't bound, an NPE is thrown when binding a post cell; the app now assumes that it is in thread mode if this occurs.
- #425, fixes an issue where sometimes the comment box in the reply window would no longer be able to be selected. Related to an issue solved in commit 3197d4.
- PR #399, #415, image sharing works once again; from @K1rakishou.
Other minor changes:
- #406, updates for pin thumbnails not matching the thread.
- The keyboard will clear itself if you open up an image for reencoding.
- Images from 404'd posts are no longer added to the image viewer when opened, as their images were not viewable.
- PR #426, #421, if you are downloading a thread, the image loader will now always try to load a local thread image if available; from @K1rakishou.
- When sharing an image, only a maximum of 2 copies will now be saved; the usual one as if you had saved the image, and a second one with "_shared" appended to it.
- #422, Spoilered files (now called
spoilered file
, instead ofspoiler image
) will have their file extensions displayed in the toolbar; PDFs will now display a message saying they are not internally viewable. - PR #403, #398; #424, increases the number of display pixels for registering a swipe left/right in both the Phone layout mode and in the image viewer from 3 to 10; from @K1rakishou with a fix from me.
Development Builds:
- #417, #418, development builds provided on K1rakishou's server now are able to be automatically updated from in the application. You will likely have to manually install the new APK, so export your stuff before uninstalling/reinstalling the app.
- #408, fixes the updater not being able to install the downloaded update APK on some systems. Thanks to @K1rakishou for some debug info that was very helpful.
- PR #401, #395, introduces Leak-Canary for development builds. These are either when you are developing yourself, or are using one of K1rakishou's development builds; from @K1rakishou.
- PR #411, #410, fixes a memory leak in BrowsePresenter; from @K1rakishou.
Project Level Notes:
- All time conversions now use TimeUnit as their implementation rather than manual multiplication, for readability and consistency.
- The StrictMode debug has been removed. It wasn't even used by the developers and anyone running a debug APK would have to deal with it slowing performance.
- The project now has a specific codestyle XML document. The code has been updated stylistically to comply with the format.
- A number of new AndroidUtils functions to simplify code (getString and showToast, notably).
- PR #402, computation thread checks have been added in a number of locations; a number of older thread checks have been converted to use these new methods.
Post image features and bugfixes
Next release: Nov 22 thru 24 at the latest. Some SAF features are still being worked on and need time before completion. If you want to test, please install a development APK.
Major changes:
- Post image hotlinking; jpgs, pngs, gifs, webms, and pdfs, if linked in a post, will be added to the set of images (max of 5 images total per post) displayed in the post. This is an experimental setting for the time being, and is off by default. Linked images have a special spoiler image type, as they don't have any thumbnails. Better graphics if you have them are appreciated.
- #392, a setting to automatically reveal image spoilers when opening a spoilered image. This is a setting that is on by default. The previous "reveal image spoilers" option has been changed to "remove image spoilers" to better differentiate the two settings. Note that in the album view with this setting on, spoiler thumbnails won't be shown and need to be tapped to clear, your only indication is that when swiping you'll see a low-res spoiler image appear before the swipe completes.
Minor changes:
- #393, posting something and then quickly switching threads won't use the current thread as if it was the targeted thread for the post. This also adds some items for getting the right thread after a post to the response, so you can sync up your post and thread again.
- #377, album downloads will now obey the server filename setting. It will ignore the board and thread folder settings still. A clarification item has been added to the settings to inform you of this.
- #353, adds the count of a specific poster's ID to the post info dialog box.
- #389, quote and thread links in spoilers incorrectly showing through.
- #391, another board delete database error.
- Youtube parsing won't show "null" on a failed parse, and instead fall back to the URL. It will still be prepended with a Youtube icon.
- Image swiping should be more consistent? This is still an issue however.
Project level notes:
- Some notes from @andyklimczak about some things in the super-patch. They're on both branches now.
- Small code refactors to better match what the actual code/data is for development.
Big (small) bugfix that took too long to find
Next anticipated release: ???
Major changes:
- #387, fixes some file provider fields in the gradle build file that were causing the wrong file providers to be registered for the application. This was causing crashes with WebMs being played externally, and likely some other things as well.
Minor changes:
- None.
Project level notes:
- None.
PR, colors and bugfixes
Next anticipated release: ???
Major changes:
- PR #388, a setting from @gergesh that allows audio to be unmuted when a headset is plugged in, despite videos being muted by default.
- The removed posts dialog now has its buttons centered and tinted to the theme.
- Small fix for FAB buttons sometimes not having the wrong color. They are now always white tinted to avoid any issues with random other tints.
- All checkboxes now match the current theme, instead of being teal.
Minor changes:
- #382, fixes some database queries not being written correctly for board deletion on startup.
- #384, #387, fixes file providers not having the applicationId prepended to it, causing clashes between other applications preventing installation and WebM crashes.
Project level notes:
- None.
Dev releases, source upgrades, and bugfixes
Next anticipated release: ???
Major changes:
- Moved from in-source Android Volley to upstream Android Volley. Any instances where private variable or weird access were needed have been replaced by reflection; this should only occur in local threads and does not affect live threads.
- DEV releases are now available, but not yet from in-app. You can read the README for information. Thanks to @K1rakishou for the service.
Minor changes:
- The Youtube title parser will now send fewer requests for titles, as it caches titles it has already requested.
- #372, use *.siteID instead of *.site.id(), as the site instance in Board or Loadable may not have been initialized yet (transient variables for Site instances).
- #378, fixes for text-only mode clashing with shift-post formatting and album-goto functionality crashing the application; the second one is still and issue in Clover and has been added to the super-patch that will never get merged.
- Fixes an issue where loading one catalog, then loading a different one, then the first again wouldn't properly ignore posts for filter watching. Now it will be more consistent until the internal ignore buffer is filled and cleared.
Project level notes:
- Changed some logger outputs to be info instead of debug to better allow for debugging on a released build.
- Additional debug statements added for some items and cleaned up logger messages for others.
Small bugfixes
Next anticipated release: Probably like October 12?
Major changes:
- None.
Minor changes:
- #370, fixes a crash when using the remove filename image reencode option when no reencoding is being done.
- Fixes potential crashes for when a file doesn't have an extension and is attempted to have its filename removed.
- Change post image thumbnails to use margins instead of padding.
Project level notes:
- None.
Youtube links are back, Arisuchan updates, and a number of other small-ish QOL changes
This is a bugfix for a bug that was attempted to be fixed, but broke authentication, despite it working on emulator.
Next anticipated release: Probably like October 12?
Major changes:
- #351, fixes sites incorrectly reloading on application restart post 8chan deletion.
- GIF images are once again single tap to close, and double tap to play/pause. This makes more sense due to the relatively short nature of animated GIF images, and them seeming more like images rather than videos.
- Filter watches will now be populated whenever you load a catalog, regardless of if you turn the background watcher off after turning it on. The setting will remain where it is, as the intended use of filter watching is to be in the background for new threads, rather than for just browsing.
- #342, Youtube titles have returned as an experimental setting; Youtube title parsing now uses 4chanX's regex, as it works better for the majority of cases than the previous regex; it has one change to deal with #335. Regex is hard to generate for something that has no documentation. In addition, #340, updates to the FilterWatchManager that allow it to better do its job in the background; may have solved the issue of filter watching clashing with regular loads, but I'm not sure. This will remain as an experimental setting until I'm entirely sure it has solved the problem, or if new problems arise as a result.
- #365, Arisuchan changes to accomodate new ownership along with board deletion and board name changes; includes exported settings version update to accomodate this.
Minor changes:
- Fixes an issue with spoilered links automatically opening before being unspoilered.
- The pad thumbnails option has been removed, and is now as if it was always on.
- #350, the long-press post image URL copy is now a setting. It is defaulted to on.
- Fixes a layout issue where an extra newline was being added to the status cell when a thread was live.
- #354, fortune CSS properly works again.
- #356, the file extension will be preserved when using "remove filename", depending on your reencode settings (or as-is if not reencoding).
- #280 cont; the filename input box when long pressed will generate a new filename just like if you were reencoding.
- Your selected text will be cleared when opening up a replies popup, to prevent the context menu from appearing over the popup.
- The 404 or error text for thumbnails will now match the primary text color of the current theme, for visiblity.
Project level notes:
- PR #348, Gradle update and some minor text and code style changes.
- Code style and library updates (emoji-java, AndroidX).
- A stack dumper has been added to the developer settings to aid in some debugging, as well as a wake manager wake and filter watch ignore clear.