Commit graph

1912 commits

Author SHA1 Message Date
NBA2K1
5104f6c19b Fix ChapterTransitionPage layout exceptions
The horizontal layout (_buildHorizontalLayout) used FittedBox as a
shared scaffold for both vertical and horizontal reading modes.
FittedBox passes unbounded width constraints to its child, which caused
RenderFlex to throw "children have non-zero flex but incoming width
constraints are unbounded" when Row + Expanded children were used.
This cascaded into a chain of "RenderBox was not laid out" assertions
all the way up through IntrinsicHeight, ConstrainedBox, FittedBox,
LayoutBuilder, and into the ScrollablePositionedList in
image_view_webtoon.dart.

Fix: split the two layout paths before they reach a scaffold widget.
The vertical path keeps FittedBox (safe, maxWidth is capped at 480px).
The horizontal path uses SizedBox(width: MediaQuery screenWidth) so
Row/Expanded always receive a finite width constraint.
2026-04-21 21:33:16 +02:00
GitHub Action
50ce9e6855 source update: v0.7.60 2026-04-21 16:30:19 +00:00
Moustapha Kodjo Amadou
853a9d599b v0.7.60 2026-04-21 17:05:15 +01:00
Moustapha Kodjo Amadou
8595d62c71
Merge pull request #703 from NBA2K1/fix-reader
Fix reader and Code Cleanup
2026-04-21 16:54:08 +01:00
Moustapha Kodjo Amadou
6fe1b8e844 Refactor chapter navigation and improve page indicator responsiveness 2026-04-21 16:52:43 +01:00
Moustapha Kodjo Amadou
7f0c69020d
Merge pull request #705 from NBA2K1/improve-manga-home-screen-performance
Improve performance of library, manga home, and tracker screens
2026-04-21 11:12:20 +01:00
Moustapha Kodjo Amadou
7bec3c551a Disable previous chapter preloading for optimization 2026-04-21 10:23:47 +01:00
Moustapha Kodjo Amadou
b5de2693ba Revert "Disable previous chapter preloading for optimization"
This reverts commit a0512564b4.
2026-04-21 10:08:33 +01:00
Moustapha Kodjo Amadou
a0512564b4 Disable previous chapter preloading for optimization 2026-04-21 09:58:45 +01:00
NBA2K1
07470c08c7 Add Copilot suggested change (3/3)
https://github.com/kodjodevf/mangayomi/pull/705#discussion_r3112086148
2026-04-20 18:47:05 +02:00
NBA2K1
0d64ca8875 Add Copilot suggested change (2/3)
https://github.com/kodjodevf/mangayomi/pull/705#discussion_r3112086120
2026-04-20 18:46:47 +02:00
NBA2K1
81a4893ad4 Add Copilot suggested change (1/3)
https://github.com/kodjodevf/mangayomi/pull/705#discussion_r3112086061
2026-04-20 18:46:20 +02:00
Moustapha Kodjo Amadou
03422887d0
Merge pull request #707 from Schnitzel5/fix/aniyomi-backup
updated grpc fields for Aniyomi backup
2026-04-20 17:10:00 +01:00
NBA2K1
af49eaee68 Make cards equal in size 2026-04-20 02:33:50 +02:00
NBA2K1
e68815bde2 Fix Overflow Exception 2026-04-20 01:09:48 +02:00
Schnitzel5
f1bc5f16a2 updated grpc fields for Aniyomi backup 2026-04-19 23:42:12 +02:00
NBA2K1
ef31d94e01 Use animatePageTransitions value 2026-04-19 21:10:12 +02:00
NBA2K1
519dd048ee Use width for minCacheExtent when in horizontal 2026-04-19 21:09:49 +02:00
NBA2K1
ee0f283cc3 Update manga_home_screen.dart
add a defensive guard as a safety net for any pre-existing duplicate records in users' databases.
2026-04-19 05:03:56 +02:00
NBA2K1
233ffa1b2c Update manga_image_card_widget.dart 2026-04-19 04:57:36 +02:00
Whiskas101
232ae8ea86 change: switch to async fetch for isar due to lag in large libraries 2026-04-19 02:19:41 +02:00
NBA2K1
98b3121c04 Move tracker lookup to parent
Replace per-card Isar tracking streams with a single subscription in
TrackerSectionScreen.

- Build a mediaId -> Track index at the screen level
- Pass resolved Track? into TrackerLibraryImageCard
- Convert TrackerLibraryImageCard to a plain StatelessWidget
- Remove StreamBuilder, ConsumerStatefulWidget, and keep-alive boilerplate
- Keep the same UI while reducing widget-level DB work

This follows the same parent-index pattern used elsewhere and makes
the tracker library view lighter and easier to maintain.
2026-04-19 01:48:59 +02:00
NBA2K1
bcc44e94cb Replace download queries with cached provider
Remove synchronous Isar queries from each library grid item when
downloadedChapter is enabled.

- Replace per-card download queries with downloadedChapterIdsProvider
- Compute downloadCount via in-memory lookup instead of DB calls
- Eliminate repeated sync queries on rebuilds and tab switches
- Minor cleanup of unread chapter filter

This avoids dozens of synchronous queries per frame and significantly
improves grid performance and responsiveness.
2026-04-19 01:48:59 +02:00
NBA2K1
525eeea3ac Use shared library index for manga cards
Replace per-widget Isar StreamBuilder usage with a single shared
library index managed in MangaHomeScreen.

- Subscribe once to manga updates and build a name -> Manga map
- Pass libraryManga down to card widgets instead of querying per item
- Remove StreamBuilder logic from MangaImageCardWidget and list tile
- Use library data for cover, tracker image, and favorite state
- Add favorite overlay indicator based on libraryManga
- Clean up redundant filtering and improve performance

This reduces rebuild overhead and avoids multiple database listeners
per list/grid item.
2026-04-19 01:48:39 +02:00
NBA2K1
e6b10f7a97 Fix memory leak
`addListener` is called inside the `data:` callback of `build()`.
Every single time the widget rebuilds, which happens on scroll, on tab switch,
on any `setState`, it adds *another* listener to `_scrollController`,
stacking up indefinitely. With 100 items and active scrolling,
you can easily accumulate hundreds of listeners,
each one firing `setState` + `_loadMore()` on every scroll-to-bottom.

Fix: Move the listener setup to `initState()` and remove it in `dispose()`
2026-04-18 21:33:44 +02:00
Whiskas101
b670ac9e85 fix: removed unnecessary listeners created (.read instead of .watch) 2026-04-18 20:45:28 +02:00
Whiskas101
37e831fd4e fix: forcing keep alive causing memory leak 2026-04-18 20:43:54 +02:00
NBA2K1
1eed6fe01e add ordered prefetch to prioritize early pages 2026-04-18 20:15:03 +02:00
NBA2K1
0cfc8456b7 set _isNextChapterPreloading = false if it isn't 2026-04-17 17:21:49 +02:00
NBA2K1
47ed3cbef9 Update manga.dart
implement suggestion by Copilot.

https://github.com/kodjodevf/mangayomi/pull/703#discussion_r3093233947
2026-04-16 16:43:06 +02:00
NBA2K1
45a6633344 Update manga.dart
implement suggestion by Copilot.

https://github.com/kodjodevf/mangayomi/pull/703#discussion_r3093233926
2026-04-16 16:36:45 +02:00
NBA2K1
defb63f2df Redundant GetChapterPagesModel created per page
Each UChapDataPreload holds a GetChapterPagesModel that itself holds all pageUrls, archiveImages, etc. For a 50-page chapter this creates 50 model objects each referencing all 50 URLs.
2026-04-16 04:31:46 +02:00
NBA2K1
489a19170f Fix and improve ChapterTransitionPage
Fix an Exception:

```
════════ Exception caught by rendering library ═════════════════════════════════
A RenderFlex overflowed by 274 pixels on the bottom.
The relevant error-causing widget was:
    Column Column:file:///lib/modules/manga/reader/widgets/chapter_transition_page.dart:28:18
════════════════════════════════════════════════════════════════════════════════
```

Improved: The UI adapts to the reading mode now
2026-04-16 03:31:18 +02:00
NBA2K1
6ae2ac1a95 Why are there two searchproviders? 2026-04-15 23:41:47 +02:00
NBA2K1
6aef999fd1 move extensions to correct files 2026-04-15 23:41:19 +02:00
NBA2K1
09a4517d33 Fix reader 2026-04-15 22:08:54 +02:00
NBA2K1
04e04010f4 Reduce Code Duplication 2026-04-15 22:04:15 +02:00
NBA2K1
63e747fa3e watch -> read 2026-04-15 22:04:09 +02:00
NBA2K1
c2d19fd17d make the list const 2026-04-15 22:04:03 +02:00
NBA2K1
35479187ca Remove unused import 2026-04-15 22:03:54 +02:00
GitHub Action
32b37933db source update: v0.7.55 2026-04-15 13:31:40 +00:00
Moustapha Kodjo Amadou
23b0ece901 v0.7.55 2026-04-15 14:06:53 +01:00
Moustapha Kodjo Amadou
2ef2a33b0d fix: improve app lock screen handling and mouse back button support 2026-04-15 14:04:13 +01:00
Moustapha Kodjo Amadou
ca51a38fbd fix #702 2026-04-15 12:53:50 +01:00
Moustapha Kodjo Amadou
a7c8b72799 + 2026-04-15 11:42:18 +01:00
GitHub Action
908904bee2 source update: v0.7.50 2026-04-14 17:11:58 +00:00
Moustapha Kodjo Amadou
0e41cf36ae v0.7.50 2026-04-14 17:39:57 +01:00
Moustapha Kodjo Amadou
0576583528 fix: add spacing to TTS settings tab for better layout 2026-04-13 15:15:05 +01:00
Moustapha Kodjo Amadou
09e3c2ba36 chore: update libmtorrentserver binaries 2026-04-13 14:10:28 +01:00
Moustapha Kodjo Amadou
4adc34ffaf Enhance torrent server functionality and performance 2026-04-13 12:43:13 +01:00