* fix(faqwikius): update site URL to include '/novel' for correct navigation
* chore: bumped version of faqwiki
* fix(faqwikius): remove script tags from parsed HTML to clean up novel data
* fix(faqwikius): move the remove script tags from parseNovels method to parseNovel method
* chore(faqwikius): rename parseNovels method to parseNovelList and parseNovel to parseNovelDetails for clarity
* fix(faqwikius): reversion of previous commit
* fix: update BoxNovel source configuration
* feat: add filter configuration for boxnovel plugin
* chore: remove redundant boxnovel filter file from readnovelfull multiscr
* fix: boxnovel uses newchapterendpoint
Chapter list was not working
Co-authored-by: K1ngfish3r <26593485+K1ngfish3r@users.noreply.github.com>
* chore(madara): bump template base version to 2.2.0, set boxnovel to increment 2
* chore(madara): reset other plugin version increments in sources.json
---------
Co-authored-by: K1ngfish3r <26593485+K1ngfish3r@users.noreply.github.com>
* fix(novelbuddy): fix watermark regex and bump version to 2.1.2
* fix(novelbuddy): fix watermark regex, remove chapter api fetch and bump version to 2.1.2
* Update novelbuddy.ts
* feat(novelbuddy): optimize performance and improve watermark removal
* feat(novelbuddy): optimize performance and improve watermark removal (v2.1.2)
* chore: restore original index.ts to ensure clean PR
* refactor: address reviewer feedback and update watermark regex
- Replace regex-based URL path manipulation with startsWith and slice.
- Update fwnRegex with a more comprehensive pattern.
- Run npm run format.
* refactor: update watermark regex to latest comprehensive pattern
- Integrate the newest provided fwnRegex pattern.
- Ensure non-capturing groups and special characters are correctly handled.
- Maintain addressing of reviewer feedback regarding URL manipulation.
- Run npm run format.
* Add TruyenSS Vietnamese source for truyenss.com
Implements novel pages, hash-style chapter list, POST chapter loader
(/layout/xem-chuong.php), genre filters for popular listings, and
multi-pattern search. Includes saved HTML fixtures used for selectors.
* fix(truyenss): fetch chapter HTML via GET like the site
TruyenSS loads chapters with jQuery $.ajax, which defaults to GET.
POST to xem-chuong.php returns an empty body, causing empty chapter
errors in the app while WebView (GET + hash) still worked.
Bump plugin version to 1.0.1.
* fix(truyenss): address PR review — version 1.0.0, defaultCover, cleanup
Remove README note and truyenss HTML fixtures. Drop unused resolveUrl and
full-URL handling in parseNovel. Use defaultCover for listing items and when
novel page has no cover image.
* fix(truyenss): browse list covers — scrape thumbs, stable placeholder URL
LNReader applies plugin Referer headers to browse tiles; external blob
placeholders can fail. List layout omits defaultCover when cover is unset.
Prefer real listing images; use raw GitHub placeholder URL aligned with the app.
* fix(truyenss): resolve listing covers (.card sibling img, ../ URLs)
Genre/search cards put the thumbnail in col-2 beside the stretched link,
not inside the anchor. Image src uses ../user-upload/... which must be
resolved against the list page URL. Use the site no_avatar.jpg placeholder
so browse tiles load with the plugin Referer.
* fix(playground): readable novel summary + TruyenSS paragraph breaks
- Parse playground: normalize CR/LF and stray spaces; use whitespace-pre-line,
max-w-prose, leading-7, break-words, explicit font-sans for robust wrapping
when webfonts misbehave.
- TruyenSS: preserve <br>/<p> structure like novelfire (join with newlines)
instead of collapsing the whole intro to one line.
* fix(proxy): avoid static zstd import so Vite starts on older Node
zstdDecompressSync is not exported from zlib on Node versions before it was
added. Importing it at load time broke vite.config (and the dev server)
with SyntaxError. Only call zstd at runtime when content-encoding is zstd
and throw a clear error if the runtime lacks support.
* fix(proxy): correct decompress error message for zstd
* Revert "fix(proxy): correct decompress error message for zstd"
This reverts commit ab5c4f0f6b0059589956693da534294a49500be0.
* Revert "fix(proxy): avoid static zstd import so Vite starts on older Node"
This reverts commit 58ddf6c6003fa3828a5a6627f77b4ea3aa3cfca4.
* fix(dev): proxy URL for https targets + disable auto-open by default
- Reconstruct target URL when the dev server path is /https://... (from
window.fetch prefixing localhost); the old + path form produced
an invalid URL and broke all proxied plugin requests.
- Only open a browser when VITE_OPEN=true so missing xdg-open does not error.
* Revert "fix(dev): proxy URL for https targets + disable auto-open by default"
This reverts commit b0de564fca75e756ef11899e77038fc594f18f97.
* revert: drop out-of-scope parse-novel playground summary changes
Restore src/components/parse-novel.tsx to pre-093668b state; TruyenSS
summary parsing in the plugin is unchanged.
---------
Co-authored-by: Cursor Agent <cursoragent@cursor.com>
`$()` only treats the input as HTML when it starts with `<`; otherwise it
parses as a CSS selector. The novelbuddy API returns `initialManga.summary`
as plain text for many novels (e.g. "When I opened my eyes, I was inside
a novel."), and cheerio's selector parser then chokes on the first `.`
in the punctuation with `Expected name, found .` — `parseNovel` throws
and the novel page fails to load entirely.
Wrap the summary in a `<div>` before passing it to `$()` so cheerio always
takes the HTML branch. Plain text becomes `<div>plain text</div>` (parses
fine, `.text()` still returns the original string), HTML stays HTML, and
the existing `.find('br').replaceWith('\n')` / `.find('p').before/after`
behavior is preserved either way.
Bumps version 2.1.0 → 2.1.1.
Repro:
- Open the source, search/browse to "Trash of the Count's Family" (or any
novel where the API returns a plain-text summary)
- Tap the entry; details fail with `QuickJsException: Expected name, found .`
* fix: change novel.totalPages calculation to divide by 50 instead of 100
* update version number
* fix: refactor novelfire popular,search and summary
---------
Co-authored-by: G0yp <goupsoup2@gmail.com>
* Update fenrirrealm.ts
* Update fenrirrealm.ts
* Update fenrirrealm.ts
* Improve novel status extraction and clean summary
Enhanced status parsing logic and cleaned up summary HTML.
* Enhance parseNovelFromApi for better data handling
Update parseNovelFromApi to clean HTML tags and set default status.
* feat: add Fenrir Realm plugin for novel fetching and parsing.
* feat: add Fenrir Realm plugin for novel fetching and parsing.
* feat: add Fenrir Realm plugin for fetching and parsing novels and chapters.
* feat: add Fenrir Realm plugin for novel browsing and reading
* feat: Add Fenrir Realm plugin for fetching and parsing novels and chapters.
* feat: add Fenrir Realm plugin for novel fetching and parsing.
* feat: Add Fenrir Realm plugin for fetching and parsing novels.
* feat: add Fenrir Realm plugin
* feat: add Fenrir Realm plugin
* Update auto-generated plugins index
* chore: delete file.
* feat: Add new Fenrir Realm plugin.
* feat: Add Fenrir Realm plugin and establish a new centralized plugin index.
* Delete a file.
* Fix Fenrir Realm plugin fallback slug for old library entries
* Enhance fenrirrealm plugin fallback to auto-heal renamed slugs using search API
* feat: Add Fenrir Realm plugin, Gunslinger novel data, and a related HTML parsing test script.
* Implement fuzzy search backoff to handle misspelled user queries in searchNovels
* Refactor Fenrir Realm plugin to fetch novel details directly from the undocumented JSON API, bypassing HTML scraping and Cloudflare rate-limiting issues
* Fix fenrirrealm plugin falling back to clean slug and migrating parseNovel to JSON API
* Fix fetching empty chapters by adopting exact novel slug formatting dictated by the fenrir realm JSON chapter payload instead of statically building chapter-{{id}}
* Auto-heal legacy broken chapter URLs in user libraries by dynamically resolving slugs via API fallback during parseChapter
* Enhance parseChapter auto-heal with exhaustive search-fallback to natively resolve heavily outdated overarching novel slugs
* Optimize search fallback heuristic to prevent Cloudflare 403 network request rate limits
* Intercept generic fetchApi crashes caused by Cloudflare 403 blocks with localized WebView Captcha-prompt error responses
* feat: add new gunslinger and fenrirrealm plugins, along with associated test and utility files.
* feat: Add Fenrir Realm plugin with associated test and support files.
* feat: Add Fenrir Realm plugin with associated test files and data.
* Distribute explicitly defined anti-Cloudflare fetch Headers globally to all internal APIs throughout the legacy auto-heal fallback routing
* Silence HTTP 500 SvelteKit crash exceptions in parseChapter to allow robust legacy URL auto-healing to trigger
* Add inline catch guards to ALL async calls in parseChapter auto-heal to prevent React Native fetch exceptions from aborting legacy URL recovery
* feat: Add Fenrir Realm plugin for 'Surviving as a Gunslinger in Wild West' novel, including associated data and test files.
* Refactor chapter parsing logic to improve reliability and handle potential changes in website structure.
* Refactor chapter parsing logic to improve error handling and fallback mechanism, utilizing .content-area class for HTML extraction.
* Update version number to 1.0.13 in FenrirRealmPlugin
* Refactor Fenrir Realm plugin for improved API calls
* Update Fenrir Realm version to 1.0.13
* feat(fenrir): rewrite parseChapter with sveltekit fallback and path healing
* feat(fenrir): robust parseChapter with prosemirror json fallback and path healing
* feat(fenrir): restore to official commit ef55446 (v1.0.16) [no-verify]
* feat: Add Fenrir Realm plugin and settings component, and remove various configuration files.
* feat: Introduce settings management UI and API, establish a plugin system, and remove obsolete configuration files.
* feat: Introduce a new plugin indexing system, add Fenrir Realm plugin and settings component, and remove various configuration files.
* feat: Add Fenrir Realm plugin and settings component, remove old configuration files, and update proxy.
* feat: Introduce a settings UI and plugin system, removing old configuration files and updating the proxy.
* Add missing file
Add missing file
* Add plugins index file with multiple language imports
This file imports various plugins from different languages and creates a PLUGINS array that exports them for use in the application.
* Delete index.ts
* feat: add Indra Translations and NovelRest plugins.