Releases: K1rakishou/Kuroba-Experimental
KurobaEx release 1.1.4
v1.1.4
TLDR version:
- Custom bookmark groups.
- New tool to build KurobaEx themes.
- Sound post support.
- Unsent replies are now stored locally (up to 16, when more than 16 LRUs are deleted).
- Lynxchan engine support. New sites: Endchan, Kohlchan.
Full version:
- Lynxchan engine support. Two Lynxchan sites added: Endchan, Kohlchan.
- Fix crash when opening huge single-frame gifs.
- Add support for raw tag (without it being inside of tag) which is used by mods for fun stuff.
- Reduce the amount of network requests executed right at the start of the application.
- Add filterWatchUseFilterPatternForGroup setting. Enabled by default, but turning it off will make new bookmarks created by filter watcher go through the same bookmark group matching process as the manually created bookmarks. Enabling it will use filter pattern as the bookmark group name.
- Update the comment character counter when reloading last unsent reply.
- Fix youtube link info fetcher not matching youtube links with short video code (6 symbols while we expected them to be 11).
- Fix Antispam on Lainchan. Thanks to @Yugen42
- Add icon for endless threads.
v1.1.3
- Fix crash when opening not supported files in the media viewer (like pdfs) caused by audio player not being present in the UnsupportedMediaView layout.
- Use configChanges for media viewer activity so that we don't restart the players (video/audio) when the phone is rotated (Hacky but the easiest solution to this problem).
- Update 8kun icon endpoint + update media hosts (Thanks to @tusx).
- Show mixed remote media size (full images/gifs) in the toolbar after it was downloaded.
- Show how many posts each filter has matched in the FiltersController (for troubleshooting).
v1.1.2
- Some adjustments for sound posts. Wait up to 15 seconds max when trying to load sound post audio. Do not load sound post audio if the current media loading settings do not allow that.
- Add ability to load sound post audio together with media when loading it forcibly by clicking the media thumbnail (this happens when media loading setting do not currently allow auto load, for example it's set to load only on WiFi connections and there is no currently available WiFi connection).
- Always show audio player controls if there is sound post link in the media file name so that it's obvious that there is more content loading.
- Add ability to continue playing video/audio (soundposts) when the app is in background or in split window mode.
v1.1.1
- A new tool to create/modify KurobaEx themes can be found here (https://github.com/K1rakishou/KurobaEx-theme-builder). You will have to build it manually because it uses native libraries for drawing stuff (skia). IntelliJ IDEA is recommended to build it, other IDEs may not work.
- Add thread subject into album view cell when opening catalog albums.
- Add menu item to open threads by long tapping catalog album view cell.
- If there is only one reply in one thread, when clicking the notification scroll to the actual reply.
- Fix a bug when clicking thread last page notification when inside of a thread (the slide controller would be switched to the browse controller instead of just opening the thread).
- Add ability to open 1-frame gifs as images which allows zooming and other stuff.
- Add soundpost support (separate audio file which is stored on some file hosting, downloaded and played together with the main media). Disabled by default, can be enabled in the media viewer settings (Enable sound posts). Only audio links are supported (sometimes you can find video links in the media file names). Videos will be ignored. Doesn't work with mpv (for now). May be dangerous to use, no checks (other than file extension) are made to verify what is being downloaded.
- Add hot video player reload button (exoplayer -> mpv, mpv -> exoplayer) into the media viewer settings.
- Show toast when marked post is not present in the ChanThread (deleted).
- Fix thread FAB not being shown right away when opening threads from the bookmarks screen.
- Use home made notification closing mechanism to close image saver's notifications instead of the setTimeoutAfter() because it's kinda buggy (sometimes it's triggered after a notification was updated without calling setTimeoutAfter()).
- Other minor fixes.
v1.1.0
- Custom bookmark groups. It's now possible to create custom bookmark groups and move bookmarks into them. To access bookmark groups go to the bookmarks screen -> threedot menu -> Bookmark groups settings. Since moving bookmarks into groups manually may become really tedious it's now also possible to assign a bookmark group matcher (basically one or more regex patterns, 8 maximum) to a bookmark group and all bookmarks matching that pattern will be automatically moved into that group upon bookmark creation (the only exception is bookmarks created by filter watcher which will be moved into a group named by the filter pattern). The matchers work similarly to how filters work currently. The only difference is you can combine multiple patterns with AND or OR operators to create complex matchers. For example you can create a matcher that will be looking for "/vn/" pattern in thread subject OR thread comment and if it finds it there then the bookmark will be automatically moved into the group associated with those matchers. By default groups are pre-created for all sites (the matcher pattern is Site name), because that's how it's been in the previous versions (bookmark group == site name). Disabled sites will have no matcher and will be marked with "!" icon. You can safely delete them and other groups that you don't use. Additionally, FilterWatches screen has been removed since Bookmarks screen can now do exactly the same thing. To learn more about bookmark group matchers you can read the help message that can be found in the Bookmark groups settings screen.
- Fix a bug in post highlight filter system where we would never highlight the actual keyword in the posts because of an incorrect check.
- Make asyncPostCellDataCalculation enabled by default and remove the setting.
- Add sys.4channel.org and find.4channel.org into respondsTo method. This fixes proxies not working for requests (more specific the reply request) on 4channel boards.
- Fix some crashes caused by Jetpack Compose bug.
- Fix iframe tag parsing, add support for parsing of escaped html tag attributes (stuff like <iframe width="560"/> instead of <iframe width="560"/>).
- Fix filter pattern compilation when it has an empty space at the end (and probably at the beginning) of it. Consider it an empty pattern if it only consists of whitespaces.
KurobaEx release 1.1.3
v1.1.3
TLDR version:
- Custom bookmark groups.
- New tool to build KurobaEx themes.
- Sound post support.
- Unsent replies are now stored locally (up to 16, when more than 16 LRUs are deleted).
Full version:
- Fix crash when opening not supported files in the media viewer (like pdfs) caused by audio player not being present in the UnsupportedMediaView layout.
- Use configChanges for media viewer activity so that we don't restart the players (video/audio) when the phone is rotated (Hacky but the easiest solution to this problem).
- Update 8kun icon endpoint + update media hosts (Thanks to @tusx).
- Show mixed remote media size (full images/gifs) in the toolbar after it was downloaded.
- Show how many posts each filter has matched in the FiltersController (for troubleshooting).
v1.1.2
- Some adjustments for sound posts. Wait up to 15 seconds max when trying to load sound post audio. Do not load sound post audio if the current media loading settings do not allow that.
- Add ability to load sound post audio together with media when loading it forcibly by clicking the media thumbnail (this happens when media loading setting do not currently allow auto load, for example it's set to load only on WiFi connections and there is no currently available WiFi connection).
- Always show audio player controls if there is sound post link in the media file name so that it's obvious that there is more content loading.
- Add ability to continue playing video/audio (soundposts) when the app is in background or in split window mode.
v1.1.1
- A new tool to create/modify KurobaEx themes can be found here (https://github.com/K1rakishou/KurobaEx-theme-builder). You will have to build it manually because it uses native libraries for drawing stuff (skia). IntelliJ IDEA is recommended to build it, other IDEs may not work.
- Add thread subject into album view cell when opening catalog albums.
- Add menu item to open threads by long tapping catalog album view cell.
- If there is only one reply in one thread, when clicking the notification scroll to the actual reply.
- Fix a bug when clicking thread last page notification when inside of a thread (the slide controller would be switched to the browse controller instead of just opening the thread).
- Add ability to open 1-frame gifs as images which allows zooming and other stuff.
- Add soundpost support (separate audio file which is stored on some file hosting, downloaded and played together with the main media). Disabled by default, can be enabled in the media viewer settings (Enable sound posts). Only audio links are supported (sometimes you can find video links in the media file names). Videos will be ignored. Doesn't work with mpv (for now). May be dangerous to use, no checks (other than file extension) are made to verify what is being downloaded.
- Add hot video player reload button (exoplayer -> mpv, mpv -> exoplayer) into the media viewer settings.
- Show toast when marked post is not present in the ChanThread (deleted).
- Fix thread FAB not being shown right away when opening threads from the bookmarks screen.
- Use home made notification closing mechanism to close image saver's notifications instead of the setTimeoutAfter() because it's kinda buggy (sometimes it's triggered after a notification was updated without calling setTimeoutAfter()).
- Other minor fixes.
v1.1.0
- Custom bookmark groups. It's now possible to create custom bookmark groups and move bookmarks into them. To access bookmark groups go to the bookmarks screen -> threedot menu -> Bookmark groups settings. Since moving bookmarks into groups manually may become really tedious it's now also possible to assign a bookmark group matcher (basically one or more regex patterns, 8 maximum) to a bookmark group and all bookmarks matching that pattern will be automatically moved into that group upon bookmark creation (the only exception is bookmarks created by filter watcher which will be moved into a group named by the filter pattern). The matchers work similarly to how filters work currently. The only difference is you can combine multiple patterns with AND or OR operators to create complex matchers. For example you can create a matcher that will be looking for "/vn/" pattern in thread subject OR thread comment and if it finds it there then the bookmark will be automatically moved into the group associated with those matchers. By default groups are pre-created for all sites (the matcher pattern is Site name), because that's how it's been in the previous versions (bookmark group == site name). Disabled sites will have no matcher and will be marked with "!" icon. You can safely delete them and other groups that you don't use. Additionally, FilterWatches screen has been removed since Bookmarks screen can now do exactly the same thing. To learn more about bookmark group matchers you can read the help message that can be found in the Bookmark groups settings screen.
- Fix a bug in post highlight filter system where we would never highlight the actual keyword in the posts because of an incorrect check.
- Make asyncPostCellDataCalculation enabled by default and remove the setting.
- Add sys.4channel.org and find.4channel.org into respondsTo method. This fixes proxies not working for requests (more specific the reply request) on 4channel boards.
- Fix some crashes caused by Jetpack Compose bug.
- Fix iframe tag parsing, add support for parsing of escaped html tag attributes (stuff like <iframe width="560"/> instead of <iframe width="560"/>).
- Fix filter pattern compilation when it has an empty space at the end (and probably at the beginning) of it. Consider it an empty pattern if it only consists of whitespaces.
KurobaEx release 1.1.2
v1.1.2
TLDR version:
- Custom bookmark groups.
- New tool to build KurobaEx themes.
- Sound post support.
- Unsent replies are now stored locally (up to 16, when more than 16 LRUs are deleted).
Full version:
- Some adjustments for sound posts. Wait up to 15 seconds max when trying to load sound post audio. Do not load sound post audio if the current media loading settings do not allow that.
- Add ability to load sound post audio together with media when loading it forcibly by clicking the media thumbnail (this happens when media loading setting do not currently allow auto load, for example it's set to load only on WiFi connections and there is no currently available WiFi connection).
- Always show audio player controls if there is sound post link in the media file name so that it's obvious that there is more content loading.
- Add ability to continue playing video/audio (soundposts) when the app is in background or in split window mode.
v1.1.1
- A new tool to create/modify KurobaEx themes can be found here (https://github.com/K1rakishou/KurobaEx-theme-builder). You will have to build it manually because it uses native libraries for drawing stuff (skia). IntelliJ IDEA is recommended to build it, other IDEs may not work.
- Add thread subject into album view cell when opening catalog albums.
- Add menu item to open threads by long tapping catalog album view cell.
- If there is only one reply in one thread, when clicking the notification scroll to the actual reply.
- Fix a bug when clicking thread last page notification when inside of a thread (the slide controller would be switched to the browse controller instead of just opening the thread).
- Add ability to open 1-frame gifs as images which allows zooming and other stuff.
- Add soundpost support (separate audio file which is stored on some file hosting, downloaded and played together with the main media). Disabled by default, can be enabled in the media viewer settings (Enable sound posts). Only audio links are supported (sometimes you can find video links in the media file names). Videos will be ignored. Doesn't work with mpv (for now). May be dangerous to use, no checks (other than file extension) are made to verify what is being downloaded.
- Add hot video player reload button (exoplayer -> mpv, mpv -> exoplayer) into the media viewer settings.
- Show toast when marked post is not present in the ChanThread (deleted).
- Fix thread FAB not being shown right away when opening threads from the bookmarks screen.
- Use home made notification closing mechanism to close image saver's notifications instead of the setTimeoutAfter() because it's kinda buggy (sometimes it's triggered after a notification was updated without calling setTimeoutAfter()).
- Other minor fixes.
v1.1.0
- Custom bookmark groups. It's now possible to create custom bookmark groups and move bookmarks into them. To access bookmark groups go to the bookmarks screen -> threedot menu -> Bookmark groups settings. Since moving bookmarks into groups manually may become really tedious it's now also possible to assign a bookmark group matcher (basically one or more regex patterns, 8 maximum) to a bookmark group and all bookmarks matching that pattern will be automatically moved into that group upon bookmark creation (the only exception is bookmarks created by filter watcher which will be moved into a group named by the filter pattern). The matchers work similarly to how filters work currently. The only difference is you can combine multiple patterns with AND or OR operators to create complex matchers. For example you can create a matcher that will be looking for "/vn/" pattern in thread subject OR thread comment and if it finds it there then the bookmark will be automatically moved into the group associated with those matchers. By default groups are pre-created for all sites (the matcher pattern is Site name), because that's how it's been in the previous versions (bookmark group == site name). Disabled sites will have no matcher and will be marked with "!" icon. You can safely delete them and other groups that you don't use. Additionally, FilterWatches screen has been removed since Bookmarks screen can now do exactly the same thing. To learn more about bookmark group matchers you can read the help message that can be found in the Bookmark groups settings screen.
- Fix a bug in post highlight filter system where we would never highlight the actual keyword in the posts because of an incorrect check.
- Make asyncPostCellDataCalculation enabled by default and remove the setting.
- Add sys.4channel.org and find.4channel.org into respondsTo method. This fixes proxies not working for requests (more specific the reply request) on 4channel boards.
- Fix some crashes caused by Jetpack Compose bug.
- Fix iframe tag parsing, add support for parsing of escaped html tag attributes (stuff like <iframe width="560"/> instead of <iframe width="560"/>).
- Fix filter pattern compilation when it has an empty space at the end (and probably at the beginning) of it. Consider it an empty pattern if it only consists of whitespaces.
KurobaEx release 1.0.4
v1.0.4
TLDR version:
Finally the v1.0.0 is here! This means that all the huge features that were planned had been finally implemented. Now the app shouldn't be in the development hell anymore and things shouldn't change as quickly as before. Instead, stabilization and bug fixing will become the priority.
Full version:
- Add empty list checks to avoid crashes when using async post cell data calculation setting.
- Fix thumbnails in single image posts being slightly cut off at the bottom-right.
- Fix link recognizing sometimes not working when a post has multiple entries of the same link. (Only one of the links is updated with the title/duration).
- Some filter adjustments. Add ability to filter boards by site name in the filter creation dialog. Do not allow using WATCH filters with archive sites. Do not allow using WATCH filters with "all boards".
- Rename "Saved posts" controller to "My posts".
- Auto-capitalize entered 4chan captcha symbols.
- Fix parsing of quote links inside of a tag which resulted in the same link converted into PostLinkable twice which might break the link recognition in some situations.
- Fix a weird bug that occurs when reloading the app with the composite catalog being the last accessed catalog which results in the catalog not being loaded because of a silent crash.
- Fix a bug where creating a non-highlight filter would also be considered as a highlight filter and all matching posts will be marked on the scrollbars.
- Use the difference in BG and FG captcha images to calculate the slide step count for the slider.
- Some improvements for filters. Add ability to match filters against posts with empty comment. Add 'm' (multiline) regex flag support. Update filter creation help.
- Add ability to display all post of a poster by their name/tripcode/posterId. Remove ability to highlight posts by poster name/tripcode/posterId.
- Show the amount of currently active thread downloads in the bottom navigation view.
- Add support for 2ch.hk built-in thread archive (+ media). Basically, it's now possible to open "some" threads because the archive works god-only-knows-how, some threads work, some do not. There is also a delay in like 30 minute after a thread dies before it can be accessed in the archives. But then there are also some threads that can't be accessed at all. So do not expect all threads to be able to be accessed via the built-in 2ch.hk archive.
v1.0.3
- Add a setting, disabling which, will stop giving any kind of post links a hitbox that takes whole post cell width. Right now, if there is a link in a post it can be clicked even when clicking empty post space on the right side of the post. Disabling it will prevent that. But this works on all kinds of links including post quotes. Enabled by default (which was always like that) can be found in the behavior settings in the Post group.
- Actually fix the bug when opening imageboard thread links won't load the thread until manual reload is clicked.
v1.0.2
- Async post cell data calculation. A setting that improves catalog/thread loading speed. Can be found in the experimental settings. Read the setting description for more details. For now it's experimental and disabled by default but once it's stable enough it will be used by default.
- Add ability to use global search with desuarchive.
v1.0.1
- Add ability to show all posts in a thread with a specific posterId by clicking that ID.
- Fix the old PostPopupContainer conflicting with the BaseFloatingController when measuring the max child controller width thus causing the reply popup to sometimes be slightly outside of the view bounds.
- Add ability to open any urls that are potentially pointing to a media content (detected by the file extension) in the internal media viewer.
- Add ability to download media files opened by external links.
- Diochan support. Thanks to @Dashchanon
- Fix BottomNavView disappearing from the bottom of the drawer when the "Use bottom navigation" setting is disabled and drawer history/bookmark displaying is disabled as well.
v1.0.0
- Add a setting to move bottom navigation view into the drawer.
- FiltersController reworked.
- ArrowMenuDrawable animation fixed.
- 4chan captcha slider now uses snapping to certain parts of the slider which should make it less smooth. If you still want the smoother captcha image scrolling you can slide the image itself.
- Add a setting to not draw behind the notch on phones with notches (can be found in the media viewer settings).
- Fix opening thread links from external apps getting stuck in the loading state until the user reloads the thread manually.
- Do not change the order of post images (when a post has more than one image) when using PostAlignmentMode.AlignLeft.
- Some performance improvements when adding/updating thread posts into the post cache.
- Fix tripcode filtering. Add ability to create filters for posterId and posterName.
- Post highlight filters will now highlight the actual keyword directly in the post comment.
- Add a setting to always use post comment shift (Clover/Kuroba thubmnail style).
- Fix a bug where changing a default application setting state in an update would be used by every client that had never changed that setting locally. Basically, if there was a setting to display post thumbnails on the left side of a post by default, it was never touched be the user, and then in the next update the default value is changed to display posts on the right side, the new default value would be used.
KurobaEx release 1.0.3
v1.0.3
TLDR version:
Finally the v1.0.0 is here! This means that all the huge features that were planned had been finally implemented. Now the app shouldn't be in the development hell anymore and things shouldn't change as quickly as before. Instead, stabilization and bug fixing will become the priority.
Full version:
- Add a setting, disabling which, will stop giving any kind of post links a hitbox that takes whole post cell width. Right now, if there is a link in a post it can be clicked even when clicking empty post space on the right side of the post. Disabling it will prevent that. But this works on all kinds of links including post quotes. Enabled by default (which was always like that) can be found in the behavior settings in the Post group.
- Actually fix the bug when opening imageboard thread links won't load the thread until manual reload is clicked.
v1.0.2
- Async post cell data calculation. A setting that improves catalog/thread loading speed. Can be found in the experimental settings. Read the setting description for more details. For now it's experimental and disabled by default but once it's stable enough it will be used by default.
- Add ability to use global search with desuarchive.
v1.0.1
- Add ability to show all posts in a thread with a specific posterId by clicking that ID.
- Fix the old PostPopupContainer conflicting with the BaseFloatingController when measuring the max child controller width thus causing the reply popup to sometimes be slightly outside of the view bounds.
- Add ability to open any urls that are potentially pointing to a media content (detected by the file extension) in the internal media viewer.
- Add ability to download media files opened by external links.
- Diochan support. Thanks to @Dashchanon
- Fix BottomNavView disappearing from the bottom of the drawer when the "Use bottom navigation" setting is disabled and drawer history/bookmark displaying is disabled as well.
v1.0.0
- Add a setting to move bottom navigation view into the drawer.
- FiltersController reworked.
- ArrowMenuDrawable animation fixed.
- 4chan captcha slider now uses snapping to certain parts of the slider which should make it less smooth. If you still want the smoother captcha image scrolling you can slide the image itself.
- Add a setting to not draw behind the notch on phones with notches (can be found in the media viewer settings).
- Fix opening thread links from external apps getting stuck in the loading state until the user reloads the thread manually.
- Do not change the order of post images (when a post has more than one image) when using PostAlignmentMode.AlignLeft.
- Some performance improvements when adding/updating thread posts into the post cache.
- Fix tripcode filtering. Add ability to create filters for posterId and posterName.
- Post highlight filters will now highlight the actual keyword directly in the post comment.
- Add a setting to always use post comment shift (Clover/Kuroba thubmnail style).
- Fix a bug where changing a default application setting state in an update would be used by every client that had never changed that setting locally. Basically, if there was a setting to display post thumbnails on the left side of a post by default, it was never touched be the user, and then in the next update the default value is changed to display posts on the right side, the new default value would be used.
KurobaEx release 0.12.8
v0.12.8
TLDR version:
!!! The very first application start may take some time (10-45 seconds) due to disk cache changes (some files need to be moved) !!!
- Android 12 support.
- Navigation history reworked.
- Jetpack Compose screens performance improvements.
- Application startup time improvements.
- Composite catalogs.
- New video player support (mpv).
Full version:
(Due to another mistake in v0.12.7-beta you will have to update it manually since the updater is broken. Only beta versions are affected!).
- Fix a bug where opening a media in composite catalog would sometimes show incorrect full media while showing correct thumbnail.
- Add ability to open thread when viewing catalog media from the media viewer. When the media is opened from a catalog album the same old behavior still remains (you will be scrolled to the post instead of opening the thread).
- Fix marking one or more bookmarks as fully read (read and close all notifications) not being persisted which would restore the read post counters to being fully unread on the next bookmarks update iteration.
- Add option to automatically swipe to the next media in the media viewer when downloading a media (The swipe direction depends on the previous swipe direction, by default it's forward). Enabled by default can be disabled in the media viewer settings (Automatically swipe to next media after downloading it).
- Use KeyboardType.Password for captcha inputs.
v0.12.7
- Post shift comment improvements. When using right alignment of post thumbnails, if the first N lines of a post comment fit the area between the left side of a post and the left side of a thumbnail then the comment will be shifted upwards by that exact offset. In the previous versions, the comment would ever be shifted upwards if all N first lines of the comment fit the area (where N is the amount of lines that fit the amount of pixels calculated by this formula: pixels = thumbnailHeightPx - titleHeightPx - imageFileNameHeightPx - iconsHeightPx). From now on the comment will still be shifted upwards even if only the first line fits. Basically this means that having thumbnails on the right side of the post will now give the most compact post layout possible when combined together with post comment shift setting. Post thumbnails on the right side of the post is now the default setting state.
- Add "Reset" button to all input based settings.
- Some 4chan captcha adjustments with possible fix for the "Standalone coroutine was canceled" bug.
- Some people were experiencing issues when trying to pick a file via file picker or selecting the root directory for media downloads. This was most likely caused by "Don't keep activities" developer setting. Now you will be warned if the setting is turned on. You are not supposed to use it and it often breaks some stuff.
- Fix ANR when downloading mpv libraries from Github.
- Do not download and cache on the disk media files that have unexpected content type (like text/html when the expected one is image/* or video/*). Some sites are using anti-spam checks and until you pass them you will be served only the html page with the scripts or something similar. Some sites even go as far as serving that page when requesting media files. In the previous versions we would always download and cache those pages (while expecting them to be media files) and then silently crash in the media viewer when trying to load those files. Now they won't be downloaded at all.
v0.12.6
- Fix some mpv crashes.
- Update themes in the theme gallery repository.
- Fix a bug where navigation history would not be deleted automatically when deleting a bookmark with navigation history disabled.
v0.12.5
- Fix a crash that happens when playing the post blink animation when navigating to a post via search/replies popup windows with animations globally disabled in the developer settings.
v0.12.4
- KurobaEx now supports mpv. It's distributed as a downloadable plugin to decrease the apk size. By default ExoPlayer is enabled just like before. If you never had problems with the video playback then you most likely don't even need to use mpv. This is mostly for people using phones with buggy hardware decoders. To enable mpv instead of ExoPlayer you need to go to Settings -> Plugins then enable mpv and install the libraries by clicking the "Mpv libraries status". There are two options for libraries installation:
- Just use the pre-built ones from Github. This is the "just works" option but it's not allowed for FDroid builds because FDroid prohibits using pre-built libraries.
- Install libraries locally from a directory. This is an option for people who want to build the libraries themselves and also the only option for people using FDroid builds. You actually don't need to build the libraries by yourself, you can use the same pre-built libraries from the Github. You can find them here https://github.com/K1rakishou/KurobaEx-mpv-libs/releases
Right now mpv doesn't support disk caching at all. It also doesn't support playing videos on hidden boards (like some 2ch.hk boards).
- Fix HistoryNavigationManager getting cleared upon app start when the app goes to background before HistoryNavigationManager is initialized.
- Add ability to scroll to catalog post by long tapping the go to post button when using search.
- Some crash fixes.
v0.12.3
- Composite catalogs. This feature allows you to combine multiple boards (2-10 boards) into a single catalog which can then be loaded like a regular catalog (like the archive catalogs with unlimited amount of pages but in composite catalogs the amount of pages is the amount of added boards). It's also possible to fully load composite catalog without having to scroll down until the last board of the composite catalog (Three dots menu -> Load the rest of this composite catalog). Only non-archive sites can be used in composite catalogs.
- Add LIST view mode for navigation history.
- Periodically update PostCell's title to update the time if it's set to relative time.
- Fix snackbar appearing below the bottom nav view on Android API < Q.
- Fix a crash when opening ReportProblemLayout with a very huge logcat log (unable to create layer for ColorizableEditText).
- Other minor fixes.
v0.12.2
- Fix crash when updating apk.
v0.12.1
- More improvements for the navigation history list.
- Add ability to export/import filters.
- Fix a bug where full image would be hidden a error is occurred while trying to zoom in into the image.
- Fix a bug where Android 10 gesture exclusion zones would randomly get reset.
- Fix PopupControllerContainer and BoardArchiveController when using SPLIT layout mode.
v0.12.0
- Navigation history has been reworked. Now it's possible to pin/unpin navigation history elements (boards/threads) for quick access.
- Add an option to mark already visited threads in the catalog. They will appear more transparent in the catalog. Enabled by default (disable by searching for "Mark already seen threads" in the settings).
- Add compact mode for multi image posts (omit all images except the first one + ability to display omitted images). Enabled by default (disable by searching for "Post multiple images compact mode" in the settings).
- Posts marked as yours are now marked differently. Instead of changing whole post background, your posts are now marked with a line on the left side of the post and replies to your posts are marked with dotted line. The line uses "post_saved_reply_color" color which was currently updated for the two default themes but not for the rest. You will probably have to update it manually if you are using a custom theme or wait when github themes are updated (which should happen by the next release).
- Migrate crashlogs, anrs, file_chunks_cache, filecache directories from the Android cache directory to files directory. The reason for this migration is that sometimes Android may start cleaning up the app's cache directory even when the app is running (and even if the device has enough of disk space) which breaks everything related to CacheHandler until app restart. We don't want this to happen so from now on all the cached files will be located in the "files" directory. To clear app's disk caches (media and exoplayer) there is a button in the developer settings (application's developer settings not Android's). This weird Android behavior was one of the reasons of the bug where images sometimes would stop loading until app restart.
- Add an option to export downloaded threads media into a backup (this may make backups very large).
- Decrease min and default disk caches size.
- Fix deleted posts in threads not being marked as deleted in threads.
- Add "open media by url" option.
- Fix CommentSpanUpdater incorrectly updating link spans.
- Fix incorrect parsing of "
" tags on Lainchan. - Always show last posting error in the reply layout when opening it until: 1. The user swipes away the notification. 2. The user clicks the reply layout error message.
- Fix catalog not showing any threads after full catalog reload when in airplane mode (no internet).
- Track thread status (Closed/Archived/Deleted/Pinned/Unpinned) and display it to the user (snackbar). Track deleted thread posts and display them to the user (snackbar). Add ability to mark deleted posts on the scrollbar.
- Some adjustments for post comment shift + fix huge bottom offset of snackbar in SPLIT layout mode.
- Fix not being able to disable filters one by one.
- Enabling/disabling filters now uses memory cache to reload posts instead of reloading them from the server.
- Move loadLogs() to a background thread.
- Add ability to mark selected bookmarks as read.
- Try to figure out the posting timeout and wait before sending a reply if a board has the cooldown info. Should fix the bug when the captcha is required to be solved twice when posting more than once sequentially.
- Remove ability to hide 4cha...
KurobaEx release 0.12.6
v0.12.6
TLDR version:
!!! The very first application start may take some time (10-45 seconds) due to disk cache changes (some files need to be moved) !!!
- Android 12 support.
- Navigation history reworked.
- Jetpack Compose screens performance improvements.
- Application startup time improvements.
- Composite catalogs.
- New video player support (mpv).
Full version:
- Fix some mpv crashes.
- Update themes in the theme gallery repository.
- Fix a bug where navigation history would not be deleted automatically when deleting a bookmark with navigation history disabled.
v0.12.5
- Fix a crash that happens when playing the post blink animation when navigating to a post via search/replies popup windows with animations globally disabled in the developer settings.
v0.12.4
- KurobaEx now supports mpv. It's distributed as a downloadable plugin to decrease the apk size. By default ExoPlayer is enabled just like before. If you never had problems with the video playback then you most likely don't even need to use mpv. This is mostly for people using phones with buggy hardware decoders. To enable mpv instead of ExoPlayer you need to go to Settings -> Plugins then enable mpv and install the libraries by clicking the "Mpv libraries status". There are two options for libraries installation:
- Just use the pre-built ones from Github. This is the "just works" option but it's not allowed for FDroid builds because FDroid prohibits using pre-built libraries.
- Install libraries locally from a directory. This is an option for people who want to build the libraries themselves and also the only option for people using FDroid builds. You actually don't need to build the libraries by yourself, you can use the same pre-built libraries from the Github. You can find them here https://github.com/K1rakishou/KurobaEx-mpv-libs/releases
Right now mpv doesn't support disk caching at all. It also doesn't support playing videos on hidden boards (like some 2ch.hk boards).
- Fix HistoryNavigationManager getting cleared upon app start when the app goes to background before HistoryNavigationManager is initialized.
- Add ability to scroll to catalog post by long tapping the go to post button when using search.
- Some crash fixes.
v0.12.3
- Composite catalogs. This feature allows you to combine multiple boards (2-10 boards) into a single catalog which can then be loaded like a regular catalog (like the archive catalogs with unlimited amount of pages but in composite catalogs the amount of pages is the amount of added boards). It's also possible to fully load composite catalog without having to scroll down until the last board of the composite catalog (Three dots menu -> Load the rest of this composite catalog). Only non-archive sites can be used in composite catalogs.
- Add LIST view mode for navigation history.
- Periodically update PostCell's title to update the time if it's set to relative time.
- Fix snackbar appearing below the bottom nav view on Android API < Q.
- Fix a crash when opening ReportProblemLayout with a very huge logcat log (unable to create layer for ColorizableEditText).
- Other minor fixes.
v0.12.2
- Fix crash when updating apk.
v0.12.1
- More improvements for the navigation history list.
- Add ability to export/import filters.
- Fix a bug where full image would be hidden a error is occurred while trying to zoom in into the image.
- Fix a bug where Android 10 gesture exclusion zones would randomly get reset.
- Fix PopupControllerContainer and BoardArchiveController when using SPLIT layout mode.
v0.12.0
- Navigation history has been reworked. Now it's possible to pin/unpin navigation history elements (boards/threads) for quick access.
- Add an option to mark already visited threads in the catalog. They will appear more transparent in the catalog. Enabled by default (disable by searching for "Mark already seen threads" in the settings).
- Add compact mode for multi image posts (omit all images except the first one + ability to display omitted images). Enabled by default (disable by searching for "Post multiple images compact mode" in the settings).
- Posts marked as yours are now marked differently. Instead of changing whole post background, your posts are now marked with a line on the left side of the post and replies to your posts are marked with dotted line. The line uses "post_saved_reply_color" color which was currently updated for the two default themes but not for the rest. You will probably have to update it manually if you are using a custom theme or wait when github themes are updated (which should happen by the next release).
- Migrate crashlogs, anrs, file_chunks_cache, filecache directories from the Android cache directory to files directory. The reason for this migration is that sometimes Android may start cleaning up the app's cache directory even when the app is running (and even if the device has enough of disk space) which breaks everything related to CacheHandler until app restart. We don't want this to happen so from now on all the cached files will be located in the "files" directory. To clear app's disk caches (media and exoplayer) there is a button in the developer settings (application's developer settings not Android's). This weird Android behavior was one of the reasons of the bug where images sometimes would stop loading until app restart.
- Add an option to export downloaded threads media into a backup (this may make backups very large).
- Decrease min and default disk caches size.
- Fix deleted posts in threads not being marked as deleted in threads.
- Add "open media by url" option.
- Fix CommentSpanUpdater incorrectly updating link spans.
- Fix incorrect parsing of "
" tags on Lainchan. - Always show last posting error in the reply layout when opening it until: 1. The user swipes away the notification. 2. The user clicks the reply layout error message.
- Fix catalog not showing any threads after full catalog reload when in airplane mode (no internet).
- Track thread status (Closed/Archived/Deleted/Pinned/Unpinned) and display it to the user (snackbar). Track deleted thread posts and display them to the user (snackbar). Add ability to mark deleted posts on the scrollbar.
- Some adjustments for post comment shift + fix huge bottom offset of snackbar in SPLIT layout mode.
- Fix not being able to disable filters one by one.
- Enabling/disabling filters now uses memory cache to reload posts instead of reloading them from the server.
- Move loadLogs() to a background thread.
- Add ability to mark selected bookmarks as read.
- Try to figure out the posting timeout and wait before sending a reply if a board has the cooldown info. Should fix the bug when the captcha is required to be solved twice when posting more than once sequentially.
- Remove ability to hide 4chan captcha background (wasn't really that useful, lots of people got confused by it).
- Fix a crash when opening media in threads with tons of media (1000+ images).
KurobaEx release 0.11.5
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.
KurobaEx release 0.11.3
v0.11.3-release
TLDR version:
The long awaited performance update.
Full version:
- 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.
KurobaEx release 0.11.2
v0.11.2-release
TLDR version:
The long awaited performance update.
Full version:
- 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.