- remove `inline` where not needed
- use `decodeFromBufferedSource` for okio based streaming
(cherry picked from commit 2cb50a43d9599aa7372fe19036f4530a13611b30)
(cherry picked from commit 5c0b1d30598831a33909dd18de722aee88b99639)
(cherry picked from commit 084ecb06edc9576e753b9f62fb10af5eaf8b0ce6)
* feat: new nextJs serializer
* feat: use specific NextJSDate over Date
* test: add resources
* feat: add undefined, map, list
Also rename non-nextjs specific to react flight specific
* test: make sure it works
* feat: adapt
* refactor: drop dead $-prefixed branches in ReactFlightNumber
$ is already stripped by resolveNextJsRefs before deserialize runs,
so the "$Infinity"/etc cases were unreachable.
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
* refactor: remove no-op nextJsJsonInstance wrapper
It added no serializers module over jsonInstance. Use jsonInstance
directly. Also revert unrelated formatting reflow in
inferredNextJsPredicate.
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
* test: drop synthetic Map/Set tests covered by real fixtures
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
* chore(fr/poseidonscans): bump extVersionCode for ReactFlight rename
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
* refactor: replace ReactFlight wrappers with typealiases
The serialization plugin honors @Serializable(with=) on a typealias
(verified), so Date/BigInteger/Double no longer need wrapper classes.
Fields are now the real JDK types: no .toDouble()/.time indirection,
no Android toByte/toShort override, Double holds Infinity/NaN natively.
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
* fix(fr/poseidonscans): handle null isPremiumUser from RSC $undefined
isPremiumUser can be $undefined in the flight payload; make it
nullable and treat null/false as not-premium.
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
* revert(fr/poseidonscans): restore upstream/main state
Extension-specific changes split out of the core ReactFlight PR per
review. Work preserved on branch poseidonscans-rsc-wip.
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
* fix: no lock
* feat: add package-lock.json to .gitignore
---------
Co-authored-by: Claude Opus 4.7 <noreply@anthropic.com>
(cherry picked from commit 2ce6a053bf7c4e63534e9383f30f84c23527bedb)
(cherry picked from commit 9704e2be1192bc9c3315b150a9dc37b05d0f70bc)
* randomua: set in headers and lint rule
* update randomua usage in sources
* adjust lint rule
* lint errors
* doesn't have randomua in it
* cache useragent response & network on main thread
(cherry picked from commit 3143828aed609f176597ca4ff94d8dce2cf52a0f)
(cherry picked from commit 92643f80e31cea62e4921c2fbbf8b19360e25bc5)
* utils: add NextJs helper
* support for json hydration format (Pages Router) and raw rsc
* newline
* infer
* go to array depth to parse
* infer for list
* update kdoc
* update kdoc and function name
(cherry picked from commit 405ed5a653173e41a3218be06d8e4468dd4660c5)
* Refactor `UrlUtils.fixUrl` to handle relative paths using `okhttp3.HttpUrl`.
* Replace local `getAbsoluteUrl` in `PlaylistUtils` with `UrlUtils.fixUrl`.
* Update return types to nullable `String` for better empty URL handling.
* Add unit test
* Fix some minor bugs and code/project cleanup (Secozzi/aniyomi-extensions#25)
* Update prefs and fix some minor issues in stremio and jellyfin
* Update README.md and minor cleanup
(cherry picked from commit cd514921fac1be62c557ccb7d961d1cf4662a791)
* Improve a bit
---------
Co-authored-by: Cuong-Tran <cuongtran.tm@gmail.com>
* Fix preferences
* Handle null default value for LazyMutablePreference
* handle getting incorrect stored type
* handle exception more carefully
* Narrow the exception
* comment for Set<String> as well
* Move common stuff to `utils` module
* Move more stuff to utils & make stremio not require restart if possible
* Bump versions & small cleanup in build files
* Use context parameters for json utils
* Add spotless
* Simplify build process
* bump versions
(cherry picked from commit cf53bcf647296aaaa793acd2e1aac0a486418665)
---------
Co-authored-by: Cuong-Tran <cuongtran.tm@gmail.com>