NBA2K1
0b83be6d7a
Revert Android changes
2025-07-24 16:50:55 +02:00
NBA2K1
7245552ade
Merge branch 'main' into Correct-directory
2025-07-24 13:01:42 +02:00
Moustapha Kodjo Amadou
41dbb556ba
Merge pull request #531 from NBA2K1/main
...
Fix regression: restore fullscreen exit logic on desktop
2025-07-24 09:54:46 +01:00
NBA2K1
83934d7f35
Fix iOS and Android
...
The initialization of discordRPC on iOS and Android was leading to a grey screen (UnimplementedError), preventing the app to paint the Flutter UI.
The flutter_discord_rpc is only available on macOS, Linux and Windows.
2025-07-24 01:45:58 +02:00
NBA2K1
b388c5fedd
re-add removed check in dispose
...
This was unintentionally removed in d21dbbbc .
This caused fullscreen mode to persist when the user exited the anime player view before the video had started loading.
The fullscreen now correctly exits in the dispose method for desktop platforms again.
2025-07-23 22:45:37 +02:00
Schnitzel5
5b56578029
separated some classes from reader_view
2025-07-23 03:16:24 +02:00
Schnitzel5
5932cf44f2
added sync for settings
...
- added option to toggle sync for history, update and settings
2025-07-21 23:37:51 +02:00
NBA2K1
72ac460588
Add TODO comment to unused variable
2025-07-21 14:55:33 +02:00
NBA2K1
976010f6f0
Merge remote-tracking branch 'upstream/main' into Correct-directory
2025-07-21 14:55:17 +02:00
Moustapha Kodjo Amadou
25f7402f35
fix add torrent magnet url
2025-07-21 11:02:12 +01:00
Moustapha Kodjo Amadou
e290e0ad4a
Merge branch 'main' into feature/discord-rpc
2025-07-21 09:33:45 +01:00
Moustapha Kodjo Amadou
7bb3da36fc
Merge pull request #527 from Schnitzel5/feature/local-epub
...
added support for local epubs and displaying its images
2025-07-21 09:16:56 +01:00
Moustapha Kodjo Amadou
936a91403b
Merge pull request #520 from NBA2K1/better-UX
...
Improved UX for Migration, Anime Playback & Navigation
2025-07-21 09:14:41 +01:00
Schnitzel5
c6a142bcba
+
2025-07-20 21:33:39 +02:00
Schnitzel5
5b2f1b4f36
added support for local epubs and displaying its images
2025-07-20 21:23:26 +02:00
NBA2K1
4c46839979
Add TODO comment
2025-07-20 19:41:48 +02:00
NBA2K1
7153dab009
Merge branch 'main' into updates/history-screen-perf
2025-07-20 19:08:26 +02:00
Moustapha Kodjo Amadou
539fd186cb
Merge pull request #519 from NBA2K1/Properly-dispose
...
Properly dispose
2025-07-19 15:30:59 +01:00
Schnitzel5
d139042241
added discord rpc
2025-07-18 01:02:59 +02:00
NBA2K1
e2da2e812e
Updates Screen Tab Switching Performance+
2025-07-17 23:19:18 +02:00
NBA2K1
f1a49383ea
History Screen Tab Switching Performance+
2025-07-17 23:14:29 +02:00
NBA2K1
5a18d5f0f0
storage permission
...
potentially fixes #430
2025-07-16 18:21:04 +02:00
NBA2K1
5ee88b80ca
fix animation
2025-07-16 14:02:59 +02:00
Schnitzel5
230f9c59a3
changed seekbar behavior
2025-07-15 01:52:15 +02:00
Moustapha Kodjo Amadou
1b9cc8d92d
Merge pull request #516 from NBA2K1/main
...
Fix Exception
2025-07-14 10:49:21 +01:00
NBA2K1
d221e5fab0
dispose
2025-07-13 01:42:35 +02:00
NBA2K1
5b17bde1d5
LOL who thought of that?
2025-07-13 01:24:36 +02:00
NBA2K1
00462f3066
dispose!
2025-07-13 01:24:14 +02:00
NBA2K1
f3ef7791a6
Save lastPageRead before system kills app
...
If the app is going to background or is about to be killed, the lastPageRead value is going to be saved, so the progress is not lost if the user leaves the app and the system kills it.
2025-07-12 20:31:19 +02:00
NBA2K1
3313e6e53a
Don't focus searchbar when migrating
...
The searchbar already has input.
2025-07-12 20:26:31 +02:00
NBA2K1
d7dbce7a9a
DRY
2025-07-12 20:24:42 +02:00
NBA2K1
aef659000d
Desktop right-click for long press on chapter
...
just like with the LibraryGridView
2025-07-12 20:24:34 +02:00
NBA2K1
775e51e617
AnimePlayer: click on anywhere to play/pause
...
Just like on YouTube.
2025-07-12 20:22:09 +02:00
NBA2K1
7a5c25b94f
dispose
2025-07-12 20:10:04 +02:00
NBA2K1
18d6079420
Why create and then delete BtDirectory?
...
Same as previous commit
2025-07-12 06:45:39 +02:00
NBA2K1
eb4f82f040
Why create and then delete TpmDirectory?
...
When deleteTmpDirectory() calls getTmpDirectory(), the directory is first being created and then it is being deleted.
Redundant operation.
2025-07-12 06:41:21 +02:00
NBA2K1
7d13a80a11
No need to make inspector nullable
...
why make it nullable, set a default value and then use a non-null-assertion (!)?
2025-07-12 06:38:57 +02:00
NBA2K1
1f423dd3ca
typo
2025-07-12 06:05:52 +02:00
NBA2K1
609e8196db
Update storage_provider.dart
...
to make the requestPermission() a little shorter. It's just optics. The logic stays the same.
2025-07-12 05:35:21 +02:00
NBA2K1
5e43cf0468
Do not create Mangayomi folder inside AppDir
...
macOS and iOS already create a separate "Mangayomi" folder. There is no need to nest the downloads and backup folders in another "Mangayomi" folder.
2025-07-12 05:34:18 +02:00
NBA2K1
4d564b9308
Put the database into its separate folder
...
On Android, iOS and macOS just like how it's done on Windows and Linux.
Before the database files were in the top directory.
2025-07-12 05:30:26 +02:00
NBA2K1
ba49e4e75d
Put the hive database into the app's folder
...
On Windows and Linux the files were created in the ~/Documents folder.
Now they will be created in ~/Documents/Mangayomi/databases instead
2025-07-12 05:28:25 +02:00
NBA2K1
1da0cdcdbf
Fix Exception
...
type 'int' is not a subtype of type 'double?'
2025-07-12 04:28:33 +02:00
Moustapha Kodjo Amadou
debbb26dbf
Refactor UChapDataPreloadExtensions to improve image byte retrieval logic
2025-07-09 14:49:42 +01:00
Moustapha Kodjo Amadou
e9bbd2e1e3
fix #505
2025-07-09 13:32:38 +01:00
Moustapha Kodjo Amadou
084f241746
Register additional bridged classes for SortState and HeaderFilter in the interpreter
2025-07-09 13:20:45 +01:00
Moustapha Kodjo Amadou
8eaeca2123
Add subtitle support for video downloads and playback
2025-07-09 13:11:04 +01:00
Moustapha Kodjo Amadou
b2fa09c214
Merge pull request #510 from NBA2K1/pagePreload-Slider
...
Changed the "Page preload amount" Setting to be a Slider
2025-07-08 14:01:43 +01:00
Moustapha Kodjo Amadou
21282efbaf
Add nativeNames property to BaseRequest bridged class
2025-07-08 13:14:13 +01:00
Moustapha Kodjo Amadou
4e99bb9e58
Merge pull request #513 from NBA2K1/localArchive-tracker-button
...
Add tracker button to localArchive
2025-07-08 10:08:12 +01:00
Moustapha Kodjo Amadou
b14e198c54
Merge pull request #512 from NBA2K1/Fix-manga-delete
...
Fix delete "Downloaded episodes/chapters"
2025-07-08 10:07:36 +01:00
Moustapha Kodjo Amadou
b3f626fb32
Merge pull request #511 from NBA2K1/tracker-menu-theme-fix
...
Fix menu colors on theme change
2025-07-08 10:03:48 +01:00
NBA2K1
6788b73658
Delete whole imported manga
...
Delete whole imported manga when all chapters have been deleted.
+ Added a warning message and translations
2025-07-08 04:19:40 +02:00
NBA2K1
1e3e0ed179
Add tracker button to localArchive
2025-07-07 04:16:32 +02:00
NBA2K1
6a23409560
Fix delete "Downloaded episodes/chapters"
...
The delete function was only for imported mangas.
Now it checks if it was imported or downloaded and deletes accordingly.
2025-07-07 04:14:58 +02:00
NBA2K1
f4c040ccc4
Fix menu colors on theme change
2025-07-06 22:12:28 +02:00
NBA2K1
c7300797dc
Update reader_screen.dart
2025-07-06 21:40:34 +02:00
NBA2K1
31ead933ab
Use read instead of watch
2025-07-06 21:07:21 +02:00
NBA2K1
9a307c6007
remove redundant ternary
...
The else if condition is:
`itemType == ItemType.novel && chapter.url != null`
So the variable `headers` can never be `ref.read(headersProvider(source: manga.source!, lang: manga.lang!))` or `videoHeader`
2025-07-06 20:44:42 +02:00
NBA2K1
4d8131c725
Add some error handling
2025-07-06 20:37:02 +02:00
NBA2K1
c55c988188
Use read instead of watch
2025-07-06 20:35:51 +02:00
NBA2K1
40cd5eb081
remove == true
2025-07-06 20:05:01 +02:00
NBA2K1
43068bdd82
bulk write instead of one-by-one
...
reduces IO-operations.
2025-07-06 19:55:42 +02:00
NBA2K1
ce888c162e
reduce code duplication
2025-07-06 18:37:35 +02:00
Moustapha Kodjo Amadou
085be60d58
Merge pull request #508 from NBA2K1/Fix-labels
...
Fix labels on navigation bar [based on PR #506 ]
2025-07-06 17:30:26 +01:00
NBA2K1
8aea458033
remove redundant import
2025-07-06 16:48:45 +02:00
NBA2K1
24e7bce508
clear cache when changing language
...
To update the navigation bar labels
2025-07-06 16:48:34 +02:00
NBA2K1
57143bca2b
bulk write instead of one-by-one
...
reduces IO-operations.
2025-07-06 14:28:52 +02:00
NBA2K1
07941ea370
Fix "Read" and "Unread" button
2025-07-06 14:02:23 +02:00
Schnitzel5
6baecaa59b
bug fixes
2025-07-06 03:31:27 +02:00
Schnitzel5
24213445c8
fixed upsert
2025-07-05 13:09:51 +02:00
Schnitzel5
d39a3129cd
Merge branch 'temp/sync-server' into rework/sync-server
2025-07-05 03:00:01 +02:00
Schnitzel5
e1cecd8e37
reworked sync
2025-07-05 02:58:42 +02:00
Schnitzel5
bd17e1e9eb
adjusted sync features
2025-07-04 02:24:01 +02:00
Schnitzel5
c680427c0c
added option to disable merged library navigation
2025-07-03 02:44:15 +02:00
NBA2K1
4a986d4c15
Remove check
...
- Remove the enableAniSkipStateProvider check, because it is already being checked by the caller (anime_player_view.dart, initState() line 353).
- Change ref.watch() to ref.read() as the user cannot change its value without exiting the video player. ref.watch() is meant to be used within reactive contexts.
2025-06-30 18:01:58 +02:00
NBA2K1
b1560d3eea
Merge branch 'kodjodevf:main' into main
2025-06-30 17:05:11 +02:00
Moustapha Kodjo Amadou
9f5e43c58c
Merge pull request #501 from Schnitzel5/enhance/two-way-tracker
...
adjusted tracker library + bug fixes
2025-06-30 09:11:12 +01:00
NBA2K1
49f77febe4
Don't allow zooming
...
When these methods were used to display images (migration screen, history screen, etc) the images (anime/manga covers and extension icons) were zoomable. You could (on a touch device) pinch to zoom.
And with the mouse you could get your cursor an on image and scroll up to zoom out and scroll down to zoom in.
This was not necessary confusing for the user.
2025-06-29 20:30:16 +02:00
Schnitzel5
76297c3b45
+
2025-06-29 00:50:10 +02:00
Schnitzel5
b2d29e32d6
added repo name to extension list
2025-06-29 00:24:06 +02:00
Schnitzel5
e33247e445
adjusted navigations
2025-06-28 23:17:57 +02:00
Schnitzel5
dc5cc20d0c
added new navigation for library
...
fixed router hidden routes
2025-06-28 23:05:38 +02:00
Schnitzel5
2c6e9439e9
adjusted mobile layout for tracker library
...
+ fixed MAL search bug
2025-06-28 22:11:28 +02:00
Schnitzel5
79da1d2678
fixed init location
2025-06-28 00:48:09 +02:00
NBA2K1
a97f68d94d
comment for more clarity
2025-06-27 21:05:11 +02:00
NBA2K1
fbdbbe9766
Update _setSkipPhase()
...
Setting a `ValueNotifier` to the same value still triggers its listeners.
Only update `_skipPhase.value`, when it really changs.
2025-06-27 19:22:31 +02:00
Schnitzel5
1bfb6fd0c1
adjusted tracker library sections
2025-06-27 15:57:42 +02:00
Moustapha Kodjo Amadou
4d39044511
update: bump d4rt package version to 0.0.9
2025-06-27 11:56:02 +01:00
NBA2K1
ba758a6175
remove redundant import
...
The import of 'package:hive/hive.dart' is unnecessary
because all of the used elements are also provided
by the import of 'package:hive_flutter/adapters.dart'.
2025-06-27 08:37:05 +02:00
NBA2K1
d21dbbbc6b
Fix Fullscreen mode
2025-06-27 08:35:01 +02:00
NBA2K1
e9dfb516ab
unify position stream listeners
...
Collapse three `.position.listen` callbacks into a single
subscription to reduce per‑tick overhead and centralize all
position‑driven updates (current position, subtitle/audio init,
and skip‑phase logic) in one handler.
2025-06-27 01:52:50 +02:00
NBA2K1
43c90a7777
collapse the many nested builders
...
flatten builders into a single ValueListenableBuilder.
2025-06-27 00:20:01 +02:00
Schnitzel5
304f653011
adjusted fetch tracking data
2025-06-27 00:08:03 +02:00
NBA2K1
c9fdccfacb
build widget only when "Enable AniSkip" is true
...
The variables `enableAniSkip`, `enableAutoSkip`,
`aniSkipTimeoutLength` and `skipIntroLength` are global settings.
The user cannot change them inside the video player.
So there's no need to watch them inside the _currentPosition listener.
2025-06-26 20:39:35 +02:00
NBA2K1
89af73e9b2
remove redundant if-condition
2025-06-26 19:34:41 +02:00
NBA2K1
cdc21fd4ad
Only initAniSkip if "Enable AniSkip" is true
2025-06-26 19:27:20 +02:00
NBA2K1
98c40ff39f
set fullscreen only when the video starts playing
2025-06-26 19:24:57 +02:00
NBA2K1
eab52c6677
remove redundant import
2025-06-26 19:23:55 +02:00
Schnitzel5
5fce50f0e0
adjusted tracker library
...
fixed UTF8 bug
fixed infinite loading
added search bar to migration screen
migration screen now considers the pinned sources option
library now shows if the items are locally tracked or not
2025-06-26 00:38:18 +02:00
Moustapha Kodjo Amadou
6bf9960dd5
Merge branch 'main' into enhance/two-way-tracker
2025-06-25 11:37:05 +01:00
Schnitzel5
07d6cf0868
added refresh to tracker library
2025-06-25 00:04:41 +02:00
Schnitzel5
b01ae9d909
added Hive for caching
2025-06-24 22:59:58 +02:00
NBA2K1
9ccd2e1924
Partially revert changes in 181c3b5
2025-06-24 22:55:25 +02:00
NBA2K1
58b5050fff
Make buttons white for consistency in white mode
...
The share-button on the top right and the show-episode-list-button next to it.
2025-06-24 22:50:59 +02:00
Moustapha Kodjo Amadou
181c3b5ccc
Merge branch 'main' into fix/increase-protobuf-limit
2025-06-24 11:59:40 +01:00
Schnitzel5
0801b2b88f
fixed some tracker provider bugs
2025-06-24 00:35:21 +02:00
Schnitzel5
92c167d585
merged trackers together and added search
2025-06-22 23:17:55 +02:00
Schnitzel5
bc4d7aadb0
increased protobuf limit to 250 MB
2025-06-22 00:06:31 +02:00
NBA2K1
a5168a6a2b
Release file lock by closing InputStream
...
Fix issue where backup file remained locked by closing InputStream after use
2025-06-20 21:50:47 +02:00
Moustapha Kodjo Amadou
2b8625bf0e
Refactor scroll behavior to improve accessibility and support for various input devices
2025-06-20 16:51:14 +01:00
Schnitzel5
6088ac22f4
adding search to 2-way track screen
2025-06-20 00:29:02 +02:00
Moustapha Kodjo Amadou
e635e495b8
Merge pull request #491 from NBA2K1/main
...
Refactor: Consolidate _openCategory() Methods into Unified Dialog
2025-06-19 18:05:30 +01:00
Moustapha Kodjo Amadou
2e1cb0f8bc
Merge pull request #490 from Schnitzel5/feature/two-way-tracker
...
added two-way-tracking
2025-06-19 18:04:13 +01:00
NBA2K1
c58d0e0c77
Combine all three _openCategory() methods
...
As they all do the same.
2025-06-16 20:42:39 +02:00
NBA2K1
aa18b1ad3a
Remove redundant operation
...
Not needed for this dialog, as the items here are already in the library (favorite = true) and dateAdded don't have to be updated.
2025-06-16 01:50:26 +02:00
Schnitzel5
ef13473137
-
2025-06-15 21:11:41 +02:00
Schnitzel5
06ca441644
added Kitsu and Anilist
2025-06-15 21:08:34 +02:00
NBA2K1
06ac796032
Fix potential bug + Remove redundant code
...
Before fixing the Category Removal Bug (commit 58537281 ), the "Default" Category would be empty when removing a populated category.
So when there is only one Category left, and the user hides that one Category, `tabCount` would be <= 0, leading to an Exception:
```
_AssertionError ('package:flutter/src/material/tab_controller.dart': Failed assertion: line 116 pos 15: 'initialIndex >= 0 && (length == 0 || initialIndex < length)': is not true.)
```
Now there is a check (`tabCount <= 0`), that IF tabCount is ever <= 0, it would show `_bodyWithoutCategories`.
2025-06-15 18:40:41 +02:00
NBA2K1
585372816d
Fix Category Removal Bug
...
When removing a category, the items inside the category were not being updated, removing the link to the removed category.
That lead to the items disappearance from the library.
Now the reference from the item to the deleted category is deleted. Those items show up in the "Default" category.
2025-06-15 17:20:51 +02:00
NBA2K1
eaed214354
Fix "Set categories" in manga_detail_view
2025-06-15 16:21:27 +02:00
NBA2K1
a5de9a7102
Fix bug introduced in commit 8bc8a99a
2025-06-15 14:07:58 +02:00
Schnitzel5
7c8faf8bed
added info card
2025-06-15 01:30:51 +02:00
Schnitzel5
24eb09b701
adding Kitsu
2025-06-12 00:18:14 +02:00
Schnitzel5
5dff4a1aa3
added two-way tracking
2025-06-09 02:26:31 +02:00
Schnitzel5
f7a124d72c
added two-way-tracking
2025-06-09 02:22:33 +02:00
Schnitzel5
e994d3230a
+
2025-06-08 19:11:31 +02:00
Schnitzel5
4c3b6bc430
+
2025-06-08 03:02:18 +02:00
Moustapha Kodjo Amadou
183e88ebd0
Merge pull request #484 from NBA2K1/main
...
Fixes, Refactors, and Async Improvements
2025-06-07 13:37:57 +01:00
NBA2K1
fecda49373
Merge Provider => Remove Code Duplication
...
Merge `fetchMangaSourcesListProvider`, `fetchAnimeSourcesListProvider` and `fetchNovelSourcesListProvider` into a single Provider, `FetchItemSourcesListProvider`, reducing code duplication.
2025-06-07 03:24:39 +02:00
NBA2K1
138e2887e0
Fix Extension Installation
...
There was a bug when uninstalling an extension and trying to reinstall it, it didn't install.
You had to restart the app to reinstall the same extension again.
Now the provider is invalidated when reinstalling an uninstalled extension,
so the fetch logic is triggered correctly. Prevents stale cache issues from
Riverpod's keepAlive behavior.
2025-06-07 02:37:51 +02:00
Schnitzel5
a0ebe46fa0
added option to change hwdec
2025-06-07 01:46:30 +02:00
NBA2K1
8bc8a99af8
Make the write transaction fully async
...
Mixing `writeTxnSync` with `await` was incorrect.
writeTxnSync does not support awaiting async functions.
2025-06-06 23:27:05 +02:00
NBA2K1
3eb0dc2534
Fix Exception
...
```
Exception has occurred.
ArgumentError (Invalid argument(s): No host specified in URI )
```
at line 79:
`final req = await http.get(Uri.parse(source.sourceCodeUrl!));`
when source.sourceCodeUrl is empty.
2025-06-06 21:43:50 +02:00
Schnitzel5
51352efd24
+
2025-06-06 00:22:31 +02:00
Schnitzel5
1b4177b59b
+
2025-06-05 00:19:47 +02:00
Moustapha Kodjo Amadou
d4a0354143
fix file path handling
2025-06-04 17:41:29 +01:00
Moustapha Kodjo Amadou
0f430f80d9
Fix indexing and path for downloaded chapter images and update padding logic
2025-06-04 17:28:31 +01:00
NBA2K1
7e1eb44667
Fix #478
2025-06-04 16:21:14 +02:00
Schnitzel5
eeed17c264
adding Trakt
2025-06-04 15:39:14 +02:00
Schnitzel5
f152339162
+
2025-06-03 23:49:14 +02:00
Schnitzel5
db209fea68
+
2025-06-02 23:36:04 +02:00
NBA2K1
f6945cf189
Fix Exception _AssertionError
...
When customizing navigation, toggling one item off.
```
Exception has occurred.
_AssertionError ('package:flutter/src/material/navigation_rail.dart': Failed assertion: line 112 pos 15: 'selectedIndex == null || (0 <= selectedIndex && selectedIndex < destinations.length)': is not true.)
```
2025-06-02 17:49:44 +02:00
NBA2K1
7eec89b1b9
Add Switch to automatically check for updates
...
Instead of checking for updates by default, the user now has the choice to disable automatic app update checks.
2025-06-02 17:49:16 +02:00
NBA2K1
88899f6e00
Merge branch 'kodjodevf:main' into main
2025-06-02 17:48:16 +02:00
NBA2K1
2482f6ec2e
Change Button Behavior of "Edit Categories"
...
The Button "Edit Categories" (now called "set Categories"), now opens the category select menu instead of the category edit menu.
This makes more sense in the library item detail view. For example you have the categories "Watching" and "Finished". You just finished an anime and you want to change its category directly in the detail view. Now you can.
Before you had to exit the detail view, go in to the library view, long press the item, tap the category button and then edit it there.
2025-06-02 13:44:04 +02:00
Moustapha Kodjo Amadou
538f87630c
+
2025-06-02 12:41:06 +01:00
Moustapha Kodjo Amadou
664a1f6dcf
+
2025-06-02 12:30:47 +01:00
Moustapha Kodjo Amadou
fdb47334db
fix #464
2025-06-02 12:17:54 +01:00
Moustapha Kodjo Amadou
4d27a2c0e3
fix #468
2025-06-02 11:41:12 +01:00
Moustapha Kodjo Amadou
1c256f884d
fix
2025-06-02 10:37:01 +01:00
Moustapha Kodjo Amadou
d5247a8183
fix
2025-06-02 10:14:39 +01:00
Moustapha Kodjo Amadou
446ba5503d
fix #474
2025-06-02 10:11:21 +01:00
Moustapha Kodjo Amadou
87fd4ef340
fix Undefined variable for client
2025-06-02 10:10:14 +01:00
NBA2K1
2822f9f17f
Use the passed parameter Manga in _openCategory
...
- Use the passed parameter instead of widget.manga
- refactored the method a little to make it more readable.
2025-06-02 01:53:06 +02:00
NBA2K1
b3ffc3ea67
Apply System Theme After Backup Restore
2025-06-02 00:08:41 +02:00
NBA2K1
00c666fe3f
Fix Exception when leaving Code Editor
...
When leaving the Code Editor of certain Extensions, this Exception would throw:
```
[ERROR:flutter/runtime/dart_vm_initializer.cc(40)] Unhandled Exception: Runtime Error: Undefined variable: source (Original error: Undefined property 'source' on Madara.)
#0 InterpreterVisitor.visitSimpleIdentifier (package:d4rt/src/interpreter_visitor.dart:393:7)
interpreter_visitor.dart:393
#1 SimpleIdentifierImpl.accept (package:analyzer/src/dart/ast/ast.dart:16123:50)
ast.dart:16123
#2 InterpreterVisitor.visitPostfixExpression (package:d4rt/src/interpreter_visitor.dart:3930:41)
interpreter_visitor.dart:3930
#3 PostfixExpressionImpl.accept (package:analyzer/src/dart/ast/ast.dart:14311:50)
ast.dart:14311
#4 InterpreterVisitor._evaluateArguments (package:d4rt/src/interpreter_visitor.dart:5569:23)
interpreter_visitor.dart:5569
#5 InterpreterVisitor.visitMethodInvocation (package:d4rt/src/interpreter_visitor.dart:2178:13)
interpreter_visitor.dart:2178
#6 MethodInvocationImpl.accept (package:analyzer/src/dart/ast/ast.dart:12246:50)
ast.dart:12246
#7 InterpretedClass.createAndInitializeInstance (package:d4rt/src/runtime_types.dart:232:53)
runtime_types.dart:232
#8 InterpretedClass.call (package:d4rt/src/runtime_types.dart:299:22)
runtime_types.dart:299
#9 InterpreterVisitor.visitMethodInvocation (package:d4rt/src/interpreter_visitor.dart:2161:28)
interpreter_visitor.dart:2161
#10 MethodInvocationImpl.accept (package:analyzer/src/dart/ast/ast.dart:12246:50)
ast.dart:12246
#11 InterpreterVisitor.visitVariableDeclarationList (package:d4rt/src/interpreter_visitor.dart:3026:42)
interpreter_visitor.dart:3026
#12 VariableDeclarationListImpl.accept (package:analyzer/src/dart/ast/ast.dart:18695:15)
ast.dart:18695
#13 InterpreterVisitor.visitVariableDeclarationStatement (package:d4rt/src/interpreter_visitor.dart:135:27)
interpreter_visitor.dart:135
#14 VariableDeclarationStatementImpl.accept (package:analyzer/src/dart/ast/ast.dart:18753:15)
ast.dart:18753
#15 InterpreterVisitor.executeBlock (package:d4rt/src/interpreter_visitor.dart:66:33)
interpreter_visitor.dart:66
#16 InterpretedFunction.call (package:d4rt/src/callable.dart:589:36)
callable.dart:589
#17 D4rt.execute (package:d4rt/src/d4rt_base.dart:220:43)
d4rt_base.dart:220
#18 DartExtensionService._executeLib (package:mangayomi/eval/dart/service.dart:24:17)
service.dart:24
#19 DartExtensionService.getSourcePreferences (package:mangayomi/eval/dart/service.dart:179:25)
service.dart:179
#20 getSourcePreference (package:mangayomi/services/get_source_preference.dart:6:38)
get_source_preference.dart:6
#21 _ExtensionDetailState.build.<anonymous closure>.<anonymous closure> (package:mangayomi/modules/browse/extension/extension_detail.dart:173:44)
extension_detail.dart:173
#22 State.setState (package:flutter/src/widgets/framework.dart:1199:30)
framework.dart:1199
#23 _ExtensionDetailState.build.<anonymous closure> (package:mangayomi/modules/browse/extension/extension_detail.dart:171:23)
extension_detail.dart:171
<asynchronous suspension>
```
2025-06-01 19:52:21 +02:00
NBA2K1
7c5a7cb2e5
Implement QOL-feature
...
If the last episode of an Anime has ended, exit fullscreen mode.
2025-06-01 18:29:31 +02:00
NBA2K1
3a1d568a42
Center the Discord Icon in the button
...
And adjust the GitHub button size to match the now larger Discord button.
2025-06-01 01:05:34 +02:00
NBA2K1
34f0be6d9a
Update router.dart
...
Fix exception when using "Select Widget Mode" of the Flutter Inspector:
```
Exception has occurred.
FlutterError (Tried to modify a provider while the widget tree was building.
If you are encountering this error, chances are you tried to modify a provider
in a widget life-cycle, such as but not limited to:
- build
- initState
- dispose
- didUpdateWidget
- didChangeDependencies
Modifying a provider inside those life-cycles is not allowed, as it could
lead to an inconsistent UI state. For example, two widgets could listen to the
same provider, but incorrectly receive different states.
To fix this problem, you have one of two solutions:
- (preferred) Move the logic for modifying your provider outside of a widget
life-cycle. For example, maybe you could update your provider inside a button's
onPressed instead.
- Delay your modification, such as by encapsulating the modification
in a `Future(() {...})`.
This will perform your update after the widget tree is done building.)
```
2025-05-31 17:43:59 +02:00
NBA2K1
2ba453a394
Update edit_code.dart
2025-05-31 16:35:35 +02:00
NBA2K1
62c7099a0f
Update edit_code.dart
...
Change keyboard type to alphanumeric
2025-05-31 15:29:19 +02:00
Moustapha Kodjo Amadou
5ee30851d5
fix #467
2025-05-31 01:16:33 +01:00
Moustapha Kodjo Amadou
01e03f033c
fix #466
2025-05-30 19:10:10 +01:00
Moustapha Kodjo Amadou
80efee40d1
dart format
2025-05-30 17:43:42 +01:00
Moustapha Kodjo Amadou
eabecdef5e
Merge pull request #465 from kodjodevf/refactor_reader_view
...
Refactor reader view
2025-05-30 16:54:26 +01:00
NBA2K1
e9af533a8d
Fix Kitsu
...
Resolved an issue where items could not be added to the tracker due to the use of an incorrect ID. This caused `parseTrackResponse()` to fail in locating the 'included' key within `jsonResponse`, leading to a null return. As a result, an exception was thrown in `tracker_widget.dart` at line 134 when accessing `widget.trackRes.title!,` triggering a _TypeError (Null check operator used on a null value)_.
2025-05-28 20:04:55 +02:00
Moustapha Kodjo Amadou
c24df38506
feat: Implement virtual scrolling for manga reader with optimized page management
...
- Added VirtualMangaList widget for displaying manga pages in a virtual scrolling list.
- Introduced VirtualPageManager to handle page loading, caching, and memory optimization.
- Created VirtualReaderView to integrate virtual scrolling with PhotoView for enhanced reading experience.
- Implemented page loading states and memory cleanup mechanisms in VirtualPageManager.
- Added debug information overlay for monitoring virtual page manager statistics.
- Enhanced user experience with callbacks for chapter transitions and page changes.
2025-05-28 14:56:05 +01:00
Moustapha Kodjo Amadou
c3ac07fa97
feat(reader): implement chapter transition view
...
- Introduced `TransitionViewPaged` and `TransitionViewVertical` widgets to handle chapter transitions.
- Created `ChapterTransitionPage` widget to display transition information between chapters.
- Updated reader view logic to incorporate transition pages when navigating chapters.
- Enhanced `UChapDataPreload` model to support transition states and next chapter information.
feat(localization): add chapter transition messages in multiple languages
fix(dependencies): update Dart SDK and dependencies
- Updated Dart SDK constraint to ^3.8.0.
- Changed `epubx` dependency to use the latest version from GitHub.
2025-05-27 17:30:31 +01:00
NBA2K1
6b81d0fc02
Update storage_provider.dart
...
- Move manageExternalStorage inside if (android), as it is Android only.
- Cache permission state, to only check for permission once per app start preventing redundant checks.
- Made `initDB` fully async to enhance efficiency and avoid sync operations
2025-05-26 15:37:09 +02:00
Moustapha Kodjo Amadou
6ea8d088ed
+
2025-05-22 18:05:08 +01:00
Moustapha Kodjo Amadou
962bab1cdd
upgrade
2025-05-21 18:16:18 +01:00
Moustapha Kodjo Amadou
45715cf488
fix
2025-05-20 15:26:46 +01:00
NBA2K1
41618fa8ce
Merge remote-tracking branch 'upstream/main'
2025-05-19 00:51:19 +02:00
Moustapha Kodjo Amadou
2371d52661
update to d4rt v0.0.5
2025-05-18 13:20:35 +01:00
NBA2K1
3060663e2b
Merge remote-tracking branch 'upstream/main'
2025-05-18 01:50:42 +02:00
NBA2K1
3709163a49
Reduce Code Duplication
...
Extract `CustomMaterialPlayOrPauseButton` class from *mobile.dart* and `CustomMaterialDesktopPlayOrPauseButton` class from *desktop.dart* into *play_or_pause_button.dart* to eliminate code duplication and improve maintainability.
2025-05-18 01:47:12 +02:00
NBA2K1
711e5ea6ae
Fix UI bug
...
Fix playback time display exceeding max duration when skipping near video end
2025-05-17 22:07:50 +02:00
NBA2K1
9b7fea1435
Implement Dropdown menu to video speed
2025-05-17 21:46:52 +02:00
NBA2K1
1e0951be42
Fix Slider assertion error when skipping past video duration
...
Prevent an AssertionError in the Slider widget when the skip duration
button causes the value to exceed the video's maximum duration.
Clamp the Slider's value to the range [0, max]
using `clamp(0.0, maxValue).toDouble()` to ensure it stays within bounds.
Exception example:
```
Exception has occurred.
_AssertionError ('package:flutter/src/material/slider.dart': Failed assertion: line 199 pos 10: 'value >= min && value <= max': Value 1410000.0 is not between minimum 0.0 and maximum 1409533.0)
```
2025-05-17 21:44:12 +02:00
NBA2K1
3bb8c1acdf
Reduce Code duplication
2025-05-17 04:56:53 +02:00
Schnitzel5
e29470308c
fixed repo check for deep links
2025-05-14 23:00:24 +02:00
Schnitzel5
49914c5a53
added JSON structure check for repos
2025-05-13 16:03:21 +02:00
Moustapha Kodjo Amadou
b57683f1a1
fix
2025-05-11 15:22:22 +01:00
Moustapha Kodjo Amadou
9e9bbc785b
fix
2025-05-10 17:13:58 +01:00
Moustapha Kodjo Amadou
f651d460d7
update d4rt to 0.0.2 & some fixes
2025-05-10 14:54:06 +01:00
Moustapha Kodjo Amadou
206a51df69
+
2025-05-10 12:26:02 +01:00
Moustapha Kodjo Amadou
d250c08424
refactor: update AndroidManifest and MainActivity for APK installation; remove flutter_app_installer dependency
2025-05-09 18:38:23 +01:00
Moustapha Kodjo Amadou
c558c08376
migrate to d4rt package
2025-05-09 17:47:27 +01:00
Schnitzel5
24c4c89418
Merge branch 'temp/epub' into feature/epub
2025-05-07 22:25:11 +02:00
Schnitzel5
3677938bf8
added support for epubs
...
embedded images not supported yet
2025-05-07 22:17:23 +02:00
Schnitzel5
d6d674c270
+
2025-05-05 20:12:58 +02:00
NBA2K1
152f2d5969
Fix incorrect expiresIn in Kitsu and AniList
...
- Resolved the same timestamp conversion issue that affected MyAnimeList.
- Previously, seconds-to-milliseconds conversion and `DateTime.now()` were applied twice — once on `login()` and once in `_getAccessToken()` — resulting in incorrect expiry dates (e.g., year 57349).
- Updated Kitsu’s URL from `.io` to `.app`.
2025-05-05 02:33:55 +02:00
Schnitzel5
821366cb06
added epubx dependency
2025-05-04 23:45:46 +02:00
NBA2K1
73e7ad05f9
Fix MyAnimeList expiresIn retrieval
...
Remove incorrect expiresIn calculation in `OAuth.fromJson`. The `login()`
function of the MyAnimeList class already sets expiresIn as an absolute timestamp in milliseconds.
Multiplying by 1000 and adding the current timestamp in fromJson caused
expiresIn to be inflated, making the expiration check in `_getAccessToken()`
always false, skipping token refresh and returning an invalid token.
2025-05-04 22:36:54 +02:00
NBA2K1
1014c71f5c
#148
...
Users can now add Mangas/Animes to a **manually** created Mangayomi/local folder.
Feature as described:
```
App Home Location/
local/
Manga Title/
cover.jpg (optional)
Chapter 1/
1.jpg
...
Chapter 2.cbz
...
Anime Title/
cover.png (optional)
Episode 1.mp4
Episode 2.mkv
```
The folder (if exist) will be scanned once per app start.
**Supported filetypes:** (taken from lib/modules/library/providers/local_archive.dart, line 98)
```
Videotypes: mp4, mov, avi, flv, wmv, mpeg, mkv
Imagetypes: jpg, jpeg, png, webp
Archivetypes: cbz, zip, cbt, tar
```
2025-05-02 13:44:37 +02:00
NBA2K1
4010d019ae
Idk why I had removed the requirement
2025-05-02 13:13:14 +02:00
NBA2K1
34206dbc42
storage_provider trim()
...
trim whitespace to prevent Exception
2025-05-02 13:02:50 +02:00
Schnitzel5
e2a862d30b
limited the amount of downloading operations
...
+ fixed failed downloads caused by spaces in file path
2025-05-02 02:10:57 +02:00
Schnitzel5
cc5bb1cd2a
separated download function
2025-04-30 00:39:10 +02:00
NBA2K1
2698db6085
Reduce I/O operations
...
getMangaChapterDirectory() now accepts an optional mangaMainDirectory
to avoid calling getMangaMainDirectory() and thus getDirectory() twice in places where both methods are called successively.
2025-04-29 18:47:43 +02:00
NBA2K1
46526c6b6b
Update download_provider.dart
...
Move the getDirectory() call out of the for loop to enhance performance.
2025-04-29 18:18:40 +02:00
Enbiya Olgun
b6ff9fe141
Update custom_navigation_settings.dart
...
No need for SingleChildScrollView, because ReorderableListView already is scrollable
2025-04-28 21:03:41 +02:00
Enbiya Olgun
c799c3451c
rearranged Code
...
- New SettingsSection class to remove code duplication
- Moved the big ListTile+Dialog blocks in their own private methods:
_buildLanguageTile(),
_buildFontTile(),
_buildRelativeTimestampTile(),
_buildDateFormatTile()
2025-04-28 21:02:06 +02:00
Enbiya Olgun
7690f2cae1
FollowSystemThemeButton rearrangement
...
Show the FollowSystemThemeButton always on first positon, whether ON or OFF.
Before, the FollowSystemThemeButton was on first position if it was ON and in second position if it was OFF (DarkModeButton took the first position)
2025-04-28 18:52:20 +02:00
Schnitzel5
77b912d40e
added download all option
2025-04-28 15:03:45 +02:00
Enbiya Olgun
7ca8db5fc6
DRY the code in router.dart
...
remove code duplication by introducing a helper method _genericRoute().
2025-04-28 03:18:36 +02:00
NBA2K1
843ed46269
Update library_screen.dart
2025-04-27 06:33:35 +02:00
Enbiya Olgun
d64f332f77
Added comment
2025-04-27 03:18:40 +02:00
Enbiya Olgun
6b4a86d2b5
Better UX for mobile
...
Better text rendering of "ignore filters" checkbox on mobile.
Adds a line break to mobile devices, where horizontal space is limited.
2025-04-27 03:15:04 +02:00
Enbiya Olgun
2a59ae7b70
variable, method name change
2025-04-26 05:19:15 +02:00
Enbiya Olgun
71a6358452
Fix #349
...
Added a checkbox "ignoreFiltersOnSearch" to the library search, so when checked, the whole library will be searched, not just the filtered library (Downloaded, Unwatched/Unread, Started, Bookmarked)
+ added some comments
2025-04-26 05:03:06 +02:00
Enbiya Olgun
1f118184ba
Update m_bridge.dart
...
Remove code duplication.
2025-04-25 21:32:48 +02:00
Enbiya Olgun
20bb3cc5ce
Update m_bridge.dart
...
DRY
2025-04-25 04:29:05 +02:00
Enbiya Olgun
ca4cee5751
Update m_client.dart
...
- getCookiesPref() and deleteAllCookies():
Avoid repeated parsing of `Uri.parse(url).host` by creating a variable.
- httpClient():
cache RhttpCompatibleClients and add default IOClient fallback.
- shouldAttemptRetryOnResponse():
Added a delay to avoid busy looping.
2025-04-25 02:43:33 +02:00
Enbiya Olgun
4f1e2cb492
Remove code duplication + BugFix
...
Fixed a bug, where newly added animes to AniList would register as "Rewatching" instead of "Plan to watch".
2025-04-24 05:48:52 +02:00
Schnitzel5
7e9202ceeb
added extension notes/hints
2025-04-23 23:33:18 +02:00
Enbiya Olgun
404e18c4a5
introduce mangaReaderProvider and refactor MangaReaderView
...
- Add `ChapterWithPages` model and `MangaReaderController` (FamilyAsyncNotifier)
to load chapter + pages in a single provider (`mangaReaderProvider`)
- Replace synchronous Isar fetch in `MangaReaderView` with `ref.watch(mangaReaderProvider)`
- Unify loading, error, and data states using a shared `scaffoldWith` helper
- Remove duplicated `Scaffold`/`AppBar` boilerplate and inline SystemChrome restore logic
- Simplify error handling
2025-04-23 00:11:20 +02:00
Schnitzel5
479a89042e
Merge branch 'temp/optimize' into optimize
2025-04-22 22:42:46 +02:00
Schnitzel5
0ad836994d
bottoast
2025-04-22 22:30:11 +02:00
Enbiya Olgun
2446756552
moved super() call of initState to top of method
2025-04-22 04:57:52 +02:00
Enbiya Olgun
dabd0da206
App now adjusts theme without scheduler
...
Flutter already knows how to switch the theme automatically.
No need to listen to onPlatformBrightnessChanged.
This works on cold start.
Works when app is running and system theme changes.
And works when backup was done on different system theme and restore is being done on different system theme.
2025-04-22 04:55:46 +02:00
Enbiya Olgun
ffd776dbf1
tidy up main.dart and move theme handling to provider
...
removed code duplication
2025-04-22 03:53:28 +02:00
Enbiya Olgun
3ecbef80b2
Fix Exception
...
At line 963, when scrolling too fast in manga reader and page didn't load before.
```
═══════ Exception caught by foundation library ════════════════════════════════
The following StateError was thrown while dispatching notifications for ValueNotifier<Iterable<ItemPosition>>:
Bad state: No element
```
2025-04-22 03:49:31 +02:00
Enbiya Olgun
59b2389631
Fix Exception
...
```
════════ Exception caught by widgets library ═══════════════════════════════════
The following UnsupportedError was thrown building CircularProgressIndicator(100.0%, dependencies: [InheritedCupertinoTheme, _InheritedTheme, _LocalizationsScope-[GlobalKey#3b6da]], state: _CircularProgressIndicatorState#8c03b(ticker inactive)):
Unsupported operation: Infinity or NaN toInt
The relevant error-causing widget was:
CircularProgressIndicator CircularProgressIndicator (package:mangayomi/modules/manga/reader/widgets/circular_progress_indicator_animate_rotate.dart:56:27)
```
2025-04-22 03:23:12 +02:00
Enbiya Olgun
3e2d7ed5bd
check if System theme has been changed
...
Why was this removed?
2025-04-22 01:17:17 +02:00
Enbiya Olgun
b5d65168fb
Fix Exception
...
```
[ERROR:flutter/runtime/dart_vm_initializer.cc(40)] Unhandled Exception: Bad state: Cannot use "ref" after the widget was disposed.
#0 ConsumerStatefulElement._assertNotDisposed (package:flutter_riverpod/src/consumer.dart:550:7)
consumer.dart:550
#1 ConsumerStatefulElement.read (package:flutter_riverpod/src/consumer.dart:619:5)
consumer.dart:619
#2 _MainScreenState.initState.<anonymous closure>.<anonymous closure> (package:mangayomi/modules/main_view/main_screen.dart:70:13)
main_screen.dart:70
#3 _Timer._runTimers (dart:isolate-patch/timer_impl.dart:410:19)
timer_impl.dart:410
#4 _Timer._handleMessage (dart:isolate-patch/timer_impl.dart:441:5)
timer_impl.dart:441
#5 _RawReceivePort._handleMessage (dart:isolate-patch/isolate_patch.dart:194:12)
isolate_patch.dart:194
```
2025-04-22 00:39:00 +02:00
Enbiya Olgun
6d99d9a690
Implemented text scroll to chapter/episode list
...
title text scroll (like a marquee effect) when the chapter/episode name is too long.
2025-04-21 22:47:23 +02:00
Enbiya Olgun
ef4abc47f2
Fix #444 + Remove code duplication
...
- Tracker Kitsu now displays "ì" correctly
- Removed a lot of code duplication in Kitsu.
2025-04-21 19:10:09 +02:00
Enbiya Olgun
dfade2f78e
Kitsu no shows "Start date" and "Finish Date" when date is not set
...
Instead of "01 Jan 1970" show "Start date" and "Finish Date" on kitsu. Just like MyAnimeList
2025-04-21 19:05:01 +02:00
Schnitzel5
d4e768f6f7
added progress for updating the library
2025-04-17 23:15:59 +02:00
Schnitzel5
58ec9895eb
+
2025-04-15 00:18:23 +02:00
Schnitzel5
50fe6abfac
updates screen search query
2025-04-14 00:00:41 +02:00
Schnitzel5
90dadbd2c6
fixed last updated
2025-04-10 16:03:08 +02:00
Enbiya Olgun
3fb6650f2e
Extension Uninstall Message
...
Removed a space
2025-04-09 22:02:08 +02:00
Schnitzel5
454445ad25
fixed auto theme
2025-04-08 23:39:17 +02:00
Enbiya Olgun
cf8852fe50
Stays in the current category when updating
...
Fix #437
2025-04-08 00:36:33 +02:00
Enbiya Olgun
f765581b37
Fixed the Archive creation
...
This fixes issue #435
2025-04-07 19:23:28 +02:00
Enbiya Olgun
5e5f4d34cf
Pass the correct list to convertToCBZ
...
e.url are the original remote URLs
Now the correct list of local image file paths is being passed to convertToCBZ.
2025-04-07 19:17:39 +02:00
Enbiya Olgun
3d69caa392
Remove duplicate code
...
Why wasn't getMangaChapterDirectory simply using getMangaMainDirectory?
2025-04-07 19:14:43 +02:00
Enbiya Olgun
6afe7c97f7
What happened here?
...
fixSeparator? Just directly use join...
2025-04-07 04:04:05 +02:00
Enbiya Olgun
0188f99aad
Added keyboard shortcut
...
Added the Enter-key as a shortcut to skip the Anime intro (defaultSkipIntroLength).
2025-04-06 23:18:47 +02:00
Moustapha Kodjo Amadou
bc2ec42d20
fix
2025-04-03 09:08:13 +01:00
NBA2K1
fcc6aa0f7f
Localized messages are generated into source.
...
https://docs.flutter.dev/release/breaking-changes/flutter-generate-i10n-source
The flutter tool will no longer generate a synthetic package:flutter_gen or modify the package_config.json of the app.
Applications or tools that referenced package:flutter_gen should instead reference source files generated into the app's source directory directly.
2025-04-03 01:27:24 +02:00
NBA2K1
0d9ba09183
Apply Correct System Theme After Restart
...
App now looks if the system theme has been changed since last time the app was used and changes it accordingly.
2025-04-03 01:19:40 +02:00
Moustapha Kodjo Amadou
3f27122a15
feat: add new localization strings for multiple languages
2025-04-02 14:36:14 +01:00
Moustapha Kodjo Amadou
cd7d029a09
chore: update flutter_rust_bridge
2025-04-02 13:34:13 +01:00
Moustapha Kodjo Amadou
27154129d9
chore: update dependencies
2025-04-02 09:03:19 +01:00
Moustapha Kodjo Amadou
a0df094504
refactor: improve download button logic and clean up code
2025-04-01 17:15:54 +01:00
Schnitzel5
4791acc425
android users now can directly install new updates
2025-03-28 23:54:33 +01:00
Schnitzel5
175ea414b8
added android update
2025-03-28 16:00:29 +01:00
Schnitzel5
c45d8df099
test
2025-03-28 00:15:35 +01:00
Moustapha Kodjo Amadou
49bc8dd1a1
refactor
2025-03-27 16:03:11 +01:00
Moustapha Kodjo Amadou
5ef6963edc
implement conditional display of DarkModeButton based on system theme preference
2025-03-27 15:54:19 +01:00
Moustapha Kodjo Amadou
451a07aef5
add statistics provider and redesign
2025-03-27 15:48:54 +01:00
Schnitzel5
3b2e6f9fcc
fixed archive bug
2025-03-26 23:46:42 +01:00
Schnitzel5
95619437a1
added screenshot option to player view
2025-03-24 21:33:34 +01:00
Schnitzel5
17c18bd79a
added follow system theme
2025-03-24 21:33:01 +01:00
Schnitzel5
fc8c00f24a
+
2025-03-24 01:06:28 +01:00
Schnitzel5
4b2ee1f0e6
added option to load own subtitles
2025-03-22 22:10:02 +01:00
Moustapha Kodjo Amadou
08f686999b
Merge pull request #413 from Schnitzel5/feature/more-backup-support
...
added support for Kotatsu and Mihon backups
2025-03-19 13:11:25 +01:00
Schnitzel5
75feb2e6d0
added best-effort migration of read/watch progress
2025-03-16 02:31:13 +01:00
Enbiya Olgun
ccb5fb08e6
Only on wifi (+ ethernet)
...
Allows a download to be done while being on ethernet when "Only on wifi" option is enabled. #415
+ typo
2025-03-15 02:44:36 +01:00
Schnitzel5
2bc96d46df
some fixes
2025-03-14 22:42:57 +01:00
Schnitzel5
4e44208b65
added support for Neko backup
2025-03-14 16:01:15 +01:00
Schnitzel5
05a72d4971
added support for Aniyomi backup
2025-03-14 15:54:48 +01:00
Schnitzel5
5f33769bc1
added mihon backup support
2025-03-14 00:41:45 +01:00
Schnitzel5
cc80ee3608
track preferences not cleared unless the backup contains oauth tokens
2025-03-12 15:57:27 +01:00
Schnitzel5
2a08115067
added support for Kotatsu backups
2025-03-11 23:34:02 +01:00
Moustapha Kodjo Amadou
f443065113
+
2025-03-11 09:39:03 +01:00
Moustapha Kodjo Amadou
56f8b080cc
fix
2025-03-10 16:17:05 +01:00
Moustapha Kodjo Amadou
fde0f3dd92
fix
2025-03-10 11:05:03 +01:00
Schnitzel5
301220a6a4
added default subtitle lang + statistics screen
2025-03-10 00:02:06 +01:00
Schnitzel5
f0aab34f0c
fix category hide query
2025-03-09 22:07:26 +01:00
Schnitzel5
7386175200
Merge branch 'temp/genre-quick-search' into feature/genre-quick-search
2025-03-09 21:21:50 +01:00
Schnitzel5
8b3910cf65
+
2025-03-09 21:20:42 +01:00
Moustapha Kodjo Amadou
b581d9dc1c
fix
2025-03-09 15:09:25 +01:00
Moustapha Kodjo Amadou
5905480392
improve category
2025-03-09 14:59:24 +01:00
Moustapha Kodjo Amadou
5329f37809
+
2025-03-09 12:26:36 +01:00
Moustapha Kodjo Amadou
80425a4cfe
improve
2025-03-09 12:24:19 +01:00
Moustapha Kodjo Amadou
2eb4545082
refactor: replace ListView with SuperListView across multiple widgets
2025-03-09 12:02:38 +01:00
Moustapha Kodjo Amadou
dd27a6b3b3
-
2025-03-09 11:41:21 +01:00
Moustapha Kodjo Amadou
05cc1e5282
refactor: optimize source list handling in global search and migration screens
2025-03-09 11:40:21 +01:00
Moustapha Kodjo Amadou
9e42c0ff31
fix
2025-03-09 10:59:52 +01:00
Moustapha Kodjo Amadou
2abe08cc71
fix OAuth expiration handling in MyAnimeList service
2025-03-07 15:32:32 +01:00
Schnitzel5
1d96ea29d5
added navigation
2025-03-06 16:00:38 +01:00
Schnitzel5
355f19dfe4
added auto-detect language for subtitles
2025-03-06 00:31:20 +01:00
Schnitzel5
52c5ac5b48
+
2025-03-05 15:51:26 +01:00
Schnitzel5
7be5075c53
+
2025-03-05 00:43:12 +01:00
Schnitzel5
b1636ad710
added chapter preview to migration
2025-03-02 21:21:17 +01:00
Schnitzel5
17128cccbd
added options to migrate sources and clean the database
2025-03-02 01:22:41 +01:00
Moustapha Kodjo Amadou
34c2ce3c37
refactor & fix lag when installing extension
2025-02-27 09:05:16 +01:00
Moustapha Kodjo Amadou
e0dd5edf19
add confirmation dialog for adding repositories
2025-02-23 16:13:10 +01:00
Moustapha Kodjo Amadou
3e401c8af2
dart format
2025-02-23 15:31:49 +01:00
Schnitzel5
3ecd3d0a14
added long press for 2x playback speed
2025-02-22 21:00:32 +01:00
yxxyun
721f0dbace
Merge branch 'main' into dev
2025-02-22 08:42:16 +08:00
Moustapha Kodjo Amadou
f841c1adde
fix #388
2025-02-21 22:31:50 +01:00
yxxyun
9b45a028f5
fix
2025-02-21 17:00:57 +08:00
yxxyun
991d733e7c
update quarkuc extractor
2025-02-21 16:57:16 +08:00
Schnitzel5
bd068641f1
added router fallback
2025-02-17 15:28:00 +01:00
Schnitzel5
972d3ca218
fixed other repos marked as obsolete when using multiple repos
2025-02-15 18:18:07 +01:00
Schnitzel5
dec2968921
optimized sync for library update
2025-02-15 17:30:38 +01:00
Schnitzel5
9b85654c17
fixed source repos not being restored properly
2025-02-14 22:52:34 +01:00
Schnitzel5
80bdfe7ee7
adjusted button positions
2025-02-14 21:52:34 +01:00
Schnitzel5
52eb0a903b
sync bot toasts are more concise
2025-02-14 15:51:19 +01:00
Schnitzel5
7b00d0f7e4
finished snapshots and added auto sync
2025-02-13 23:41:26 +01:00
Schnitzel5
815ccbc19a
+
2025-02-13 15:54:45 +01:00
Schnitzel5
00229ef5d0
enhanced sync feature
2025-02-12 23:59:39 +01:00
Schnitzel5
fc20f87870
Merge branch 'temp/sync' into feature/sync
2025-02-12 22:26:18 +01:00
Schnitzel5
aa946c9d51
enhanced sync feature
2025-02-12 19:13:16 +01:00
Schnitzel5
3f95c5b8d8
fallback message
2025-02-12 16:01:13 +01:00
Schnitzel5
f00b82ddb9
added deep links for repo urls
2025-02-12 15:48:36 +01:00
Moustapha Kodjo Amadou
8384bcad51
co-written with @Schnitzel5 : update source fetching methods to utilize repositories
2025-02-12 11:04:46 +01:00
Moustapha Kodjo Amadou
f125f442c7
Merge pull request #377 from Schnitzel5/remove-repo
...
Remove extension repo urls
2025-02-12 00:46:37 +01:00
Schnitzel5
be21df2354
-
2025-02-12 00:44:47 +01:00
Moustapha Kodjo Amadou
6e886a6276
refactor
2025-01-30 17:34:41 +01:00
Moustapha Kodjo Amadou
00b2e5fa31
improve custom navigation settings
2025-01-30 15:51:17 +01:00
Moustapha Kodjo Amadou
3eeb4777a6
feat: improve chapter download
2025-01-30 15:09:47 +01:00
Moustapha Kodjo Amadou
3353a85b0a
Merge pull request #375 from Schnitzel5/fix/restore-broken-categories
...
added conversion forManga to itemType when restoring
2025-01-29 19:44:17 +01:00
Schnitzel5
082fd455e3
added conversion forManga to itemType when restoring
2025-01-27 22:37:30 +01:00
Schnitzel5
83c5356359
fixed restore not refreshing navigation
2025-01-25 21:50:14 +01:00
Schnitzel5
cccf4b65cd
reversed the switch to be more clear if the navigation is toggled
2025-01-25 21:32:18 +01:00
Schnitzel5
78adb3d65e
removed some old strings
2025-01-25 21:19:42 +01:00
Schnitzel5
235db734d2
allow user to reorder and toggle each navigation item
2025-01-25 21:15:36 +01:00
Schnitzel5
7bc3061485
+
2025-01-24 00:25:11 +01:00
Moustapha Kodjo Amadou
d9e9e87926
fix #365
2025-01-22 18:25:28 +01:00
Moustapha Kodjo Amadou
c2942178d0
add additional localization strings
2025-01-22 12:03:45 +01:00
Moustapha Kodjo Amadou
116d9ac299
refactor: enhance label text style in navigation bar for better overflow handling
2025-01-22 10:59:24 +01:00
Moustapha Kodjo Amadou
a89e1b9ba7
refactor: simplify color filter handling in image view
2025-01-22 10:47:34 +01:00
Moustapha Kodjo Amadou
4265ba11fe
refactor: remove unnecessary iOS view checks and adjust animation duration in reader view
2025-01-22 10:30:37 +01:00
Moustapha Kodjo Amadou
bc8e0cef47
fix #324
2025-01-22 10:24:18 +01:00
Moustapha Kodjo Amadou
e901ef6281
refactor: update chapter handling to use IDs instead of objects in reader views
2025-01-22 10:02:44 +01:00
Moustapha Kodjo Amadou
e139dc3247
fix #362
2025-01-21 15:53:10 +01:00
Moustapha Kodjo Amadou
478c408db7
refactor: enhance query to exclude local archives in updates screen
2025-01-21 15:10:52 +01:00
Moustapha Kodjo Amadou
c4b153f60c
refactor: replace Container with Badge for item count display and move hide items in appearance settings
2025-01-17 17:57:43 +01:00
Moustapha Kodjo Amadou
500713fc86
refactor
2025-01-17 11:41:00 +01:00
Moustapha Kodjo Amadou
0cc6194a5d
+
2025-01-15 09:48:14 +01:00
Moustapha Kodjo Amadou
c906eec398
refactor
2025-01-15 09:31:45 +01:00
Moustapha Kodjo Amadou
8c841baaa3
fix
2025-01-11 06:45:34 +01:00
Moustapha Kodjo Amadou
778133ef89
fix migration error
2025-01-10 20:17:52 +01:00
kodjomoustapha
22cbf2dc44
fix Textfield not visible on mobile when typing
2025-01-09 17:16:00 +01:00
kodjomoustapha
fcb67ffd36
+
2025-01-09 15:24:55 +01:00
kodjomoustapha
6deffa4b97
refactor CodeEditor & update package
2025-01-08 12:51:16 +01:00
Schnitzel5
5ae7a8d581
added option to download novels
2025-01-07 23:37:29 +01:00
kodjomoustapha
7e8b7430bf
-
2025-01-07 14:00:26 +01:00
Moustapha Kodjo Amadou
9eb49c7af6
Merge pull request #351 from Schnitzel5/novel/font-size
...
added option to adjust reader font size
2025-01-07 13:25:06 +01:00
kodjomoustapha
3fdaf80b7c
feat: enhance update total numbers filter options for updates and sources
2025-01-07 13:23:06 +01:00
kodjomoustapha
32b10b8a30
-
2025-01-07 12:46:09 +01:00
Schnitzel5
b4fa508ab8
hide novel reader settings for now
2025-01-06 18:49:16 +01:00
kodjomoustapha
61734faed5
fix
2025-01-06 17:39:21 +01:00