github K1rakishou/Kuroba-Experimental v0.11.5-release
KurobaEx release 0.11.5

3 years ago

v0.11.5
TLDR version:

  • The long awaited performance update.
  • Ability to access FoolFuuka-based archive catalogs.

Full version:

  • Fix crashes caused by some posts on some archives having no necessary post data (like image extension).
  • Fix quote color in search controller.
  • Mark links with color in search controller.
  • Fix a rate crash when using media viewer actions.

v0.11.4
(v0.11.4 was originally supposed to be a full separate update 0.12.0 but the main task turned out to be way easier than I had initially thought so I decided to push it into this update).

  • It's now possible to view FoolFuuka archive catalogs and add their boards into board selection menu. This is not supported for warosu.org since it's a Fuuka-based archive.
  • Fix youtube/etc links being processed incorrectly by the PostExtraContentLoader.
  • Fix SQL query bug that caused loading n^2 (when n is the amount of bookmarks you have) ThreadBookmarkGroupEntryEntities into the memory which could easily cause OOMs and very slow app start times for people with lots of bookmarks (basically, if you had for example 1500 bookmarks then 1500^2 (2.3 mln) ThreadBookmarkGroupEntryEntities would be loaded into memory on each app restart). This was a very serious bug that had been present since v0.2.x.
  • Fix quote/cross-thread quote parsing on all FoolFuuka archives.
  • Do not use text autocorrection for 4chan captcha input.

v0.11.3-release

  • Fix memory leak that may sometimes be caused by toasts.
  • Fix incorrect close/archive flags used in ChanOriginalPost.
  • Fix floating controllers in split screen have incorrect width which makes the content go outside the bounds of the views.
  • Update snackbar appearance logic in SPLIT layout mode (which was broken after introducing NavigationRailView).
  • Fix post marks getting out of recyclerview view bounds if a thread has way too many posts (thousands).
  • Add a menu option for BookmarksController bottom panel to add ability to start downloading selected bookmarked threads.
  • Fix last seen post indicator being incorrectly shown (delayed by one thread update).
  • Do not hide popup reply/search post screens when quoting posts.
  • Include exoplayer cache dir total length calculation in the dev settings.
  • Add deeplinks for all supported sites/archives.
  • Show internal media cache/exo player cache sizes separately in the dev settings.
  • Show total thread download cache size in the dev settings.
  • Use alternative solution to figure out whether we can use swipe-to-refresh (maybe will help people that claim it doesn't work in the catalog).
  • Fix a bitmap scaling problem when loading post icons. Because of using ImageSize.UnknownImageSize the result bitmap might end up incorrectly scaled which might lead to bitmaps having sizes 50+ times greater than needed (16001600px instead of 3232px). This obviously led to increased GC invocations which led to micro-freezes when scrolling the catalog on boards with flags.
  • Replace GridLayoutManager with StaggeredGridLayoutManager because GridLayoutManager causes a weird bug where it automatically starts scrolling to the top of the catalog when using GRID layout mode and fast scroller.
  • Add ability to manually add catalog threads to navigation history. Increase MAX_NAV_HISTORY_ENTRIES by 2.

v0.11.2-release

  • Fix crash when trying to open a thread with a marked post when using SPLIT layout mode and when the right (thread) controller is closed.

v0.11.1-beta

  • New icons (including adaptive).
  • Fix thumbnails being cut off slightly horizontally when a post has only one thumbnail.
  • Reuse PostImageThumbnailViewContainer instead of doing removeAllViews() on every bind/unbind().

v0.11.0-beta

  • New post comment HTML parser. ~1.5-2x times faster than the old one. The old one was Jsoup which was doing lots of unnecessary stuff which made it slower. The new one was written from scratch for only one purpose: to parse post comment HTML (which only uses a handful of HTML tags).
  • Consider Android M and below low RAM devices. Low RAM devices use more aggressive optimizations.
  • Reduce the amount of memory used by Coil's internal bitmap caches.
  • Reduce the amount of memory used by ChanPost caches.
  • Move some processing that was previously called on the main thread on each PostCell bind()/unbind() onto a background thread.
  • Do not use OkHttp Cache for Coil's OkHttp since we already use our own CacheHandler inside ImageLoaderV2 (should reduce memory and disk usage).
  • Fix some Manager classes never removing cached data that is used by ChanThreads when those threads are removed from the ChanThreadsCache. This was a pretty serious oversight which could easily lead to increased GC runs and even OOMs. Now, once a ChanThread is removed from ChanThreadsCache listeners that listen for this to happen are notified and invoked immediately.
  • Separate IMMUNE_THREADS_COUNT for low/normal ram devices.
  • Reduce the overdraw issues on most of the screens.
  • Reduce the overall view tree nestedness.
  • Use recycledViewPool for catalog/thread recycler again.
  • Rework PageRequestManager internal data structure a little bit. Make the result thread list a map for faster thread page look up.
  • Add batched versions of some PostFilterManager methods.
  • Move some potentially heavy (due to synchronization) stuff out of PostCell to ThreadPresenter (manager classes that are called on every PostCell.onPostBind() / PostCell.onPostUnbind()). Also move that stuff onto a background thread so that the main thread won't hang in cases where the internal locks are being held for quite some time by other threads.
  • Rework post highlighting.
  • Fix 4chan global search.
  • Fix warosu search.
  • Add option to force HTTPS scheme for url comment links.
  • Add ability to delete all saved posts at once.
  • Show post icons on CardPostCell.
  • Add a setting to never remember and never use 4chan captcha cookie.
  • Add "Media viewer offscreen pages count" setting.
  • Make some of the dagger dependencies lazy to postpone their initialization utils they are actually needed.

Don't miss a new Kuroba-Experimental release

NewReleases is sending notifications on new releases.