`AppTheme` never set `android:windowBackground`, so it was inherited from
`Theme.AppCompat.DayNight.NoActionBar` and resolved to a near-white colour
whenever the system was in light mode — independently of the theme picked
inside the app. Nothing between that window and the navigators painted a
background of its own: the root view, `GestureHandlerRootView` and
`SafeAreaProvider` are all transparent, and only the individual screens carry
`contentStyle`. Any frame in which no screen was drawn — mounting a nested
navigator such as `MoreStack` or `ReaderStack`, or freezing the screen being
left — therefore showed the white window through.
Paint the root view with the active theme background so the window stays
covered, and give `AppTheme` a day/night `android:windowBackground` so the
frames before React draws are themed as well. The chapter screen additionally
uses the reader background instead of the app background, so pushing it no
longer flashes the app theme before the reader appears.
Claude-Session: https://claude.ai/code/session_014uxuC7JVkShhWnN1WhkTaH
Co-authored-by: Claude <noreply@anthropic.com>
* use new ids
* refactor in appearance settings
* fix lint
* remove setThemeMode from handleThemeSelect
* fix type logic
* use context for theme
* shorten animation
* adjusted LanguagePickerModal
* Fix Accent Color picker
* fix bottom navigation coloring
* log error instead of crashing when no theme context is available
Replace expo-notifications based TTS controls with a native
NativeTTSMediaControl TurboModule using Android's MediaSessionCompat
and MediaStyle notification. This provides proper media integration
with lock screen controls, cover art display, and seekbar.
- Add NativeTTSMediaControl Kotlin TurboModule with MediaSession
- Support Prev, Rewind, Play/Pause, Next notification buttons
- Show novel cover as notification album art
- Add seekbar with seek-to-element support
- Replace MMKV polling with NativeEventEmitter for instant response
- Add rewind and seekTo methods to TTS in core.js
- Clean up expo-notifications TTS setup from App.tsx
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
* added .jj to .gitignore
* chore: Add drizzle-orm and drizzle-kit dependencies to package.json and pnpm-lock.yaml
* update debs
* Edit configs
* create drizzle schema
* generate drizzle migration
* db manager stuff
* Delete unused files
* Update DB Manager
* Rework CategoryQueries and related
* rewrite chapterQueries
* Type safety for chapter order and filter
* Better filter handling
* added queue
* added back database triggers
* Refactor HistoryQueries and LibraryQueries
* fix type issues
* refactor StatsQueries
* refactor NovelQueries
* renamed schemas
* refactor more db calls
* refactor libraryUpdateQueries
* removed deprecated code
* added extracted queries
* fix updates screen issue
* change to op-sqlite
* Update manager.ts
* Update RepositoryQueries
* update packages
* Update NovelQueries
* Update CategoryQueries.ts
* db testing environment v1 (AI)
* Refactor App component to use Suspense for loading state and update database initialization logic. Change drizzle-orm version to 0.45.1 and adjust related database queries for improved error handling and async operations. Clean up unused code and update types for better type safety.
* updated tests
* change db location to default expo-sqlite location
* fix async/sync bugs
* resolve rebase problems
* Added tests for db creation + migration
* update drizzle
* add missing journals to migrations.js
* wrap testDbManager in Proxy to be async
* add db initialization test
* fix lint errors
* improved dbManager.batch function
* remove unused file
* fix rebase conflicts
* use getColumns instead of getTableColumns
* fix lint errors
* fix release build not being able to start
* remove disable lint rule
* improved useLiveQuery
* Resolve issue with the db queue constructor options
* Fix database query issues in library and stats
- Add missing await to all stats query functions
- Remove unnecessary type casts on query results
- Fix downloaded-only filter to use gt(0) instead of eq(1)
---------
Co-authored-by: CD-Z <github.verify097@passmail.com>
* fix not being able to change from chapter drawer
* add UpdatesContext
* fix library search
* Add Switch for plugin settings
* improved BrowseScreen rendering time
* improved rendering time further
* fix download button
* feat: ServiceManager & import multiple epub files
* Fix: merge chapter based on index of toc in file list
* notifcation when jobs get done
* Fix epub: only read table of content in navmap
* add update library to service manager
* add drive backup/restore to service manager
* add self host backup/restore to service manager
* add migrate novel to service manager
* add download chapter to service manager
* clean up
* beta host
* Refactor: url -> path (#944)
* refactor: url -> pathr
* fix: pluginId
* page support (#947)
* add new fields
* minor fix
* pages for novel
* render novel pages with drawer
* support real paginated novels
* descending novel chapter list
* update when has new latest chapter
* set hasUpdate for all pages after update
* fix: insert pageIndex
* fix: refreshChapters
* minor refactor: pageIndex
* fix: update page logic
* fix: order by pageIndex
* refactor: Chapter.pageindex -> index (position in page)
* Revert "refactor: Chapter.pageindex -> index (position in page)"
This reverts commit 109298e0ccfa4a0d3d369087e05cb6f307a786b4.
* refactor: pageindex -> position
* fix: reader drawer
* temporary fix migration
* fix: Serialize plugins into one file (#949)
* serialize plugins into one file
* fix typo
* Fix: insertChapters (#950)
* Fix: re-renders in novel screen(#951)
* remove unnecessary wrap
* fix: add local novel back to local category
* fix: use variables for default states
* fix: do not re-render when no FAB
* close drawer if pages length = 1
* add Portal.Host
* Cheaper useNovel hook (#952)
* fix: using pure state for novel and chapters
* fix: remove latestChapter mmkv hook
* shorter key
* fix: bookmark
* fix: save chapter progress in db
* minor refactor: chapterProgressElement
* Fix: Error/Empty actions (#956)
* fix: reader error handler
* fix: opacity for novel summary
* fix: library empty view
* fix: upsert and pages logic
* fix: update novel logic
* fix: import epub
* fix: plugin site in global search
* fix: scrollbar font size
* minor fix