You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Fixed: "storage path unavailable" kept coming back. A folder picked through the system picker is stored as android://primary:Download/Comic; every existence and write check handed that string straight to dart:io, which does not understand the prefix. A perfectly good folder therefore looked deleted on every launch, and both escape hatches — "use the original folder" and "restore on restart" — were blocked the same way. The SAF identifier is now translated to a plain path before anything touches the disk.
The source picker on the search page is one calm block. Sources sit inside a light card with a hairline border instead of floating loose on the page, the first pill is "Select all", and tapping another source while only one is selected switches to it rather than quietly building a set. Searching a single source is the common case; it no longer takes two taps.
Search results: the two views are a segmented control, placed after the search bar. "By source" and "Aggregate & dedupe" used to be two unrelated capsules that read like filters; they are now one 38dp segmented control, which is what a mutually exclusive choice should look like. The mode switch that used to sit on the search page is gone — which view you get follows from how many sources you picked.
Switching between those two views no longer re-runs the search. Each view used to own its own request and was destroyed on every switch, so changing tabs showed skeletons again and hit every source twice. Requests now belong to the page: one round, both views read the same data.
One failing source no longer blanks the whole page. A source blocked by Cloudflare used to take the aggregate grid down with it. Failures are now recorded per source: sources that answered keep their results, the failing one explains itself in the by-source view, and only a total failure shows an error page.
Favorites: selection is now visible in both themes. Selection used to be a faint tint that all but disappeared on dark backgrounds, leaving the "N selected" title as the only clue. Selected cards now get a 2dp brand-red outline and a check mark on the cover, and the unselected state reserves the same width so nothing shifts when you tap.
A folder shows its own name as the title. Opening "Reading" used to keep the header reading "Favorites", with nothing but the pill row to say where you were.
The "source · date" strip no longer eats the date. On narrow cards the whole string was truncated from the right, so the one piece of information worth reading became "2026-1…". It now drops segments from the front and keeps the date intact.
"Add to favorites" appeared twice in the long-press menu. The history and local-comic pages each supplied that entry, and the comic tile always added its own copy. The built-in one now steps aside when the page already provides it.
The favorites overview finally shows network favorites. Favorites that live under a logged-in source were reachable only through the folder picker; the overview itself listed local folders and nothing else, leaving an "All favorites" card above a blank page. There is now a network section with one row per signed-in source. Covers are deliberately not fetched there — that would be one round trip per source just to paint the first screen.
Empty folders are listed instead of hidden. A folder you had just created was invisible on the overview until something was in it, which reads as "the creation failed". They now sit in a single row of pills after the shelves; tap one to open it.
The "All favorites" card explains its number. It counts local favorites only, so it could disagree with a shelf full of network items. A subtitle now says "Local · N folders".
Fixed: the pager under an error screen was a dead control. With nothing loaded, the "page 1 / ?" bar and its arrows only produced the same error again.
简体中文
KongComic v1.5.18
修复:「存储路径不可用」反复弹出。 通过系统选择器选的文件夹存的是 android://primary:Download/Comic,而存在性和可写检查直接把它丢给 dart:io——它不认识这个前缀。于是一个好好的文件夹在每次启动时都被判成「已被删除」,两个自救入口(「使用原文件夹」「重启后恢复」)也被同一句话堵死。现在任何触碰磁盘之前,都会先把 SAF 标识折算成普通路径。