Commit graph

1820 commits

Author SHA1 Message Date
Moustapha Kodjo Amadou
44ca6742ab + 2026-04-07 15:52:31 +01:00
Moustapha Kodjo Amadou
5f8439212a v0.7.4 2026-04-07 15:41:22 +01:00
Moustapha Kodjo Amadou
98ed091a12 feat: add showNSFW setting and integrate into browsing features 2026-04-07 15:31:11 +01:00
Moustapha Kodjo Amadou
4d1d8c4472 feat: conditionally display custom DNS option based on DoH state 2026-04-07 14:46:04 +01:00
Moustapha Kodjo Amadou
d275120cac refactor 2026-04-07 14:43:39 +01:00
Moustapha Kodjo Amadou
2a8bb4dc73 chore: update dependencies 2026-04-07 14:27:57 +01:00
Moustapha Kodjo Amadou
daf6399b6a Translate various l10n 2026-04-07 14:04:44 +01:00
Moustapha Kodjo Amadou
0df04bcfad feat #682 option to split chapter whe importing local epub 2026-04-07 11:55:42 +01:00
Moustapha Kodjo Amadou
f7ec660543
Merge pull request #691 from Schnitzel5/fix/windows
fixed server update on Windows
2026-04-07 10:40:20 +01:00
Moustapha Kodjo Amadou
6688e16ab3
Merge pull request #690 from Schnitzel5/fix/restore
fixed restore backup
2026-04-07 10:39:31 +01:00
Moustapha Kodjo Amadou
e5d359d6c3
Merge pull request #689 from NBA2K1/main
Move Flutter initialization and error handlers into runZonedGuarded and add Linux exit workaround
2026-04-07 10:38:57 +01:00
Moustapha Kodjo Amadou
50cfa2d217
Merge pull request #688 from NBA2K1/backup-compression
Add suggested changes of review from last PR
2026-04-07 10:37:56 +01:00
Schnitzel5
7394d9ed33 fixed server update on Windows
need to stop the java process that was blocking the directory
2026-04-06 22:15:43 +02:00
Schnitzel5
887bd6ef68 fixed restore backup 2026-04-06 22:13:00 +02:00
NBA2K1
8a39977c88 Workaround for libepoxy error when closing app
on Linux. Caused by media-kit
2026-04-06 17:51:08 +02:00
NBA2K1
bc9d8f80fc Fix Exception on startup
════════ Exception caught by Flutter framework ═════════════════════════════════
The following assertion was thrown during runApp:
Zone mismatch.
The Flutter bindings were initialized in a different zone than is now being used. This will likely cause confusion and bugs as any zone-specific configuration will inconsistently use the configuration of the original binding initialization zone or this zone based on hard-to-predict factors such as which zone was active when a particular callback was set.
It is important to use the same zone when calling `ensureInitialized` on the binding as when calling `runApp` later.
To make this warning fatal, set BindingBase.debugZoneErrorsAreFatal to true before the bindings are initialized (i.e. as the first statement in `void main() { }`).

When the exception was thrown, this was the stack:
#0      BindingBase.debugCheckZone.<anonymous closure> (package:flutter/src/foundation/binding.dart:519:31)
binding.dart:519
#1      BindingBase.debugCheckZone (package:flutter/src/foundation/binding.dart:525:6)
binding.dart:525
#2      _runWidget (package:flutter/src/widgets/binding.dart:1680:18)
binding.dart:1680
#3      runApp (package:flutter/src/widgets/binding.dart:1616:3)
binding.dart:1616
#4      main.<anonymous closure> (package:mangayomi/main.dart:108:7)
main.dart:108
<asynchronous suspension>
════════════════════════════════════════════════════════════════════════════════
2026-04-06 17:47:01 +02:00
NBA2K1
271be91ce6 remove default compression level in settings model
because the default is already in the provider, so it is redundant.

+ regenerate provider
2026-04-06 16:04:23 +02:00
NBA2K1
e6eb3d4873 Change compression value of hardcoded 6
to the archive package's default value.

Use that in localization.
2026-04-06 15:55:15 +02:00
NBA2K1
f8ab2ddbf3 clamp compression level to avoid illegal values
suggested change 2/6
https://github.com/kodjodevf/mangayomi/pull/685#pullrequestreview-4060508021
2026-04-06 14:59:40 +02:00
NBA2K1
6c7d0a3b15 write backup file directly to storage instead of RAM
suggested change 1/6
https://github.com/kodjodevf/mangayomi/pull/685#pullrequestreview-4060508021
2026-04-06 14:56:20 +02:00
Moustapha Kodjo Amadou
f8dda0a07c refactor: enhance headers function for mihon source 2026-04-06 13:03:41 +01:00
Moustapha Kodjo Amadou
2a44792f66
Merge pull request #685 from NBA2K1/backup-compression
Add ability to change the compression level of the backup file
2026-04-06 12:59:00 +01:00
Moustapha Kodjo Amadou
aff7f28476
Merge pull request #687 from Schnitzel5/feature/mass-migration
added mass migration
2026-04-06 12:57:17 +01:00
NBA2K1
23e239d76b Merge remote-tracking branch 'upstream/main' into backup-compression 2026-04-06 03:27:34 +02:00
Schnitzel5
d0bb9294d9 fixed JS syntax bug where titles containing double quotes were not properly escaped 2026-04-06 01:50:58 +02:00
Schnitzel5
a2fa5dc42d added mass migration 2026-04-06 01:49:08 +02:00
Moustapha Kodjo Amadou
21bbbdc012
Merge pull request #686 from NBA2K1/main
Revert commits
2026-04-05 22:56:36 +01:00
Moustapha Kodjo Amadou
a251a88860
Merge pull request #683 from NBA2K1/fix-restore-exception
Fix Exception when restoring from a backup on Linux
2026-04-05 22:27:21 +01:00
Moustapha Kodjo Amadou
f2f9bf9dd2
Merge pull request #684 from Schnitzel5/feature/mihon-integration
integrated ApkBridge for desktop
2026-04-05 22:25:20 +01:00
Moustapha Kodjo Amadou
293418ee12 update m_extension_server dependency URL 2026-04-05 22:24:08 +01:00
NBA2K1
820b4d468e Add slider to change backup file compression 2026-04-05 19:06:12 +02:00
NBA2K1
debc8e098b Fix small bug 2026-04-05 17:08:08 +02:00
Schnitzel5
ef8a90165e integrated ApkBridge for desktop 2026-04-04 23:05:51 +02:00
NBA2K1
3fbcad25bd Fix Exception
Exception has occurred.
_AssertionError ('package:bot_toast/src/bot_toast_init.dart': Failed assertion: line 9 pos 10: '_key.currentState != null': is not true.)
2026-04-04 17:03:21 +02:00
NBA2K1
b760e37ff0 Revert "fix(reader): stabilize chapter progress and page cache writes"
This reverts commit 9f6bf93876.
2026-04-04 02:29:42 +02:00
NBA2K1
9b8b80545d Revert "fix(http): stabilize cloudflare resolver retry semantics"
This reverts commit 0049129853.
2026-04-04 02:29:37 +02:00
NBA2K1
5a841a6a34 Revert "fix(http): add webview html fallback for cloudflare-blocked gets"
This reverts commit 6c5d207612.
2026-04-04 02:29:34 +02:00
NBA2K1
0a634ab32f Revert "fix(http): align extension requests with WebView cookies and harden Cloudflare detection"
This reverts commit 2c4a4c688b.
2026-04-04 02:29:27 +02:00
Moustapha Kodjo Amadou
2e102f9db9 Update dependencies, refactor HTTP client handling and fix dart extension header handling 2026-04-03 12:13:11 +01:00
Moustapha Kodjo Amadou
003e2eda9c
Merge pull request #677 from MorningOctober/main
fix(reader): restore chapter read-state updates in continuous mode
2026-03-30 10:29:39 +01:00
Moustapha Kodjo Amadou
0c24591b69
Merge pull request #678 from Schnitzel5/fix/wyzie-subtitles
added required api key via a cloudflare proxy
2026-03-29 20:26:44 +01:00
Schnitzel5
90d4129295 added required api key via a cloudflare proxy 2026-03-28 20:54:39 +01:00
Schnitzel5
6377eb6d87 adjusted lnreader stub functions
- not every lnreader script has the optional chaining leading to Null Exceptions
2026-03-28 20:54:10 +01:00
MorningOctober
2c4a4c688b fix(http): align extension requests with WebView cookies and harden Cloudflare detection
Problem
- Genz Updates could still return 403/Cloudflare in extension requests even when the same site worked in WebView.
- The extension HTTP path primarily used cached cookies from settings instead of reliably using the current WebView cookie jar.
- Cloudflare challenge detection was too narrow (mostly English markers) and could misclassify localized challenge pages as resolved.

Solution
- Prefer live WebView cookies for outgoing extension HTTP requests, with settings cookies as fallback.
- Sync cookie + user-agent from embedded WebView on onLoadStop in addition to history updates.
- Expand challenge detection with additional multilingual and platform markers.

Implementation Details
- Updated `MCookieManager.interceptRequest` to read cookies from `CookieManager.getCookies()` and use them as the request `Cookie` header when available.
- Added `_syncCookieAndUaFromWebView()` in `MangaWebView` and invoked it from both `onLoadStop` and `onUpdateVisitedHistory` to persist fresh clearance cookies immediately.
- Introduced a centralized `_cloudflareChallengePattern` in `m_client.dart` and reused it in `_containsCloudflareChallengeHtml` and `_isCloudflareChallengePage` for consistent challenge detection.
2026-03-28 18:17:13 +01:00
MorningOctober
6c5d207612 fix(http): add webview html fallback for cloudflare-blocked gets 2026-03-28 16:59:07 +01:00
MorningOctober
0049129853 fix(http): stabilize cloudflare resolver retry semantics 2026-03-28 16:45:51 +01:00
MorningOctober
9f6bf93876 fix(reader): stabilize chapter progress and page cache writes
- prevent stale settings overwrites by reloading settings inside Isar write txn before updating chapterPageUrlsList

- guard getPageLength() against missing chapter entries and empty urls to avoid No element crashes

- simplify read-threshold calculation in setPageIndex() via totalPages/pagesRemaining for continuous and paged modes

- map visible continuous double-page indices to actual page indices in _readProgressListener before persisting progress

- snapshot item positions and clamp indices during fast scrolling to avoid volatile first/last access races
2026-03-28 13:49:39 +01:00
MorningOctober
7fca156df4 fix(reader): restore chapter read-state updates in continuous mode 2026-03-25 10:45:11 +01:00
GitHub Action
f38ad745f5 source update: v0.7.3 2026-03-23 14:52:16 +00:00
Moustapha Kodjo Amadou
0cb4674be8 v0.7.3 2026-03-23 15:30:43 +01:00