Skip to content

Conversation

@gauravyad69
Copy link
Contributor

No description provided.

@gauravyad69 gauravyad69 marked this pull request as draft August 28, 2025 15:30
…o the app

Introduces extension functionality, allowing users to add and manage custom content sources.

- Implements extension manager for handling extensions
- Adds UI for browsing, installing, and managing extensions
- Introduces repository support for extension distribution
- Adds example extension for testing purposes
- Creates database tables for extensions and repositories
- Updates gradle and gitignore files
- Introduces ExtensionLoader for loading, saving, and deleting extensions.
- Adds ExtensionReadingService to handle book and chapter retrieval from extensions.
- Updates ExtensionManager to support fetching chapters from extensions.
- Implements BrowseViewModel and InstalledViewModel for managing UI state in browsing and installed extensions.
- Enhances UI components for browsing and managing installed extensions, including error handling.
- Updates strings.xml with new UI strings for better user experience.
- Adds RepositoryInitializer to manage default repositories from Shosetsu.
- Integrates repository initialization in MainActivity and RepositoriesViewModel.
- Introduces RepositoryInfoDialog for displaying information about Shosetsu repositories.
- Updates RepositoriesScreen to allow users to add default repositories and view repository information.
- Adds new strings for UI elements related to repository management.
- Updated RepositoryService to handle new data structure from Shosetsu, including changes to versioning and description fields.
- Modified RepoIndex model to include authors, libraries, scripts, styles, and JS.
- Enhanced RepositoryRemoteDataSource to accommodate .lua file extensions for Shosetsu repositories.
- Added refresh functionality in RepositoriesViewModel to allow users to refresh all repositories.
- Updated RepositoriesScreen UI to include a refresh button for better user interaction.
- Added new string resource for the refresh action.
…cements

- Added ExtensionExplorationHomeScreen and ExtensionSearchScreen for browsing and searching novels from installed extensions.
- Introduced ExtensionExplorationViewModel to manage UI state and handle data fetching for available extensions and search results.
- Updated navigation to include exploration routes and integrated exploration options in the main UI.
- Enhanced ExtensionReadingService to generate unique book IDs based on extension information.
- Added new string resources for exploration-related UI elements.
…rdcoded as .lua, will make dynamic later) format and fix repository download logic
First, let's improve the extension loader to handle proper extension loading:
2. Fix Extension-to-Book ID Mapping
Let's create a proper book ID encoding/decoding system
3. Create Extension Book Mapping Database Table
-Create Extension Settings System
-Create Extension Settings Manager
…and fall back to the regular web service if no extension book is found.
Refactored luaextenion into smaller file
update the converter, the extensions show up in the drop down
…ic data source management to avoid not switching to desrired source

- Added DelegatingWebDataSource to switch between built-in and extension data sources at runtime and avoid error.
- Introduced ReactiveWebDataSource for automatic updates when extensions are loaded.
- Updated WebDataSourceModule to use DelegatingWebDataSource for improved data source resolution.
…ties

-removed mock to test out the real onces
…ement, and improve data source integration, revert the book repository back to original
…to integers (which was failing), I use the chapter index (0, 1, 2...) as the chapter ID that the UI sees

Original ID Preservation: Store a mapping between (bookId, chapterIndex) and the original chapter ID from the extension
Proper Chapter Loading: When getChapterContent is called, look up the original chapter ID and pass that to the extension
@gauravyad69
Copy link
Contributor Author

so what do we do?

@dmzz-yyhyy
Copy link
Owner

sorry i am not online in weekday. the detail about the pr is explained by yukonisen in discord

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants