The directory is created by the SDK license step with sudo, so we need
sudo to change its permissions. This fixes the "Operation not permitted"
error during the workflow run.
Fix compilation errors in library browser views:
- Use serverUrl instead of url on AudiobookShelfServer model
- Use authToken instead of token on AuthenticatedUser model
- Add all required variant handlers to Series.maybeMap call
These changes align with the actual model definitions in the codebase.
This workflow automatically builds APKs for feature branches:
- Triggers on pushes to branches starting with 'claude/', 'feature/', or 'dev/'
- Runs build_runner to generate required .g.dart files
- Supports both signed (if secrets available) and debug builds
- Uploads APK artifacts with branch name and commit SHA
- 30-day artifact retention for testing
- Manual trigger support via workflow_dispatch
This allows developers to test changes without manually building locally.
Artifacts can be downloaded from the GitHub Actions run page.
This commit implements a comprehensive library browsing feature:
- Add LibraryBrowserProvider with providers for authors, genres, and series data
- Create LibraryAuthorsPage with grid view of authors including images and book counts
- Create LibraryGenresPage with list view of all genres
- Create LibrarySeriesPage with list view of series and book counts
- Update LibraryBrowserPage navigation to route to the new views
- Add routes for /browser/authors, /browser/genres, and /browser/series
- Replace "Not Implemented" toasts with functional navigation
The implementation uses the Audiobookshelf API via shelfsdk to fetch:
- Authors list with metadata (getAuthors)
- Genres from library filter data (getFilterData)
- Series with pagination support (getSeries)
All views follow Material Design 3 patterns and include proper loading/error states.
* feat: add fadeSlideTransitionBuilder for smoother transitions in user login
* fix: reuse onboarding components on server manager page
* fix: gaining focus rebuilt the widget
using memoized fixes this issue
* feat: add AbsIcons font and update pubspec.yaml for font integration
* feat: implement library selection in YouPage
* fix: optimize authenticatedApi provider to not rebuild unnecessarily
* feat: add LibrarySwitchChip widget and integrate it into YouPage and ScaffoldWithNavBar
* feat: enhance library selection UI with refresh functionality and error handling
* fix: change library switcher activation from long press to double tap
* feat: show current library on nav bar
* feat: refactor LibraryBrowserPage to use CustomScrollView and enhance app bar with dynamic library icon and title
* Refactor CI workflow and add Linux packaging support; update app title to "Vaani"
* Refactor CI workflow to separate setup, testing, and building steps; add Linux AppImage packaging support
* use reusable workflow
* Make Flutter version input optional in setup-env action and rename step in workflow
* Replace setup-env action with reusable flutter-setup workflow; streamline CI configuration and enhance dependency management
* Add Flutter setup composite action for streamlined environment configuration
* Move repository checkout step to the main workflow for better control and clarity in the CI process
* Remove unnecessary shell specification for Flutter dependency setup to simplify action configuration
* Add shell specification for Flutter dependency command to enhance cross-platform compatibility
* Comment out static analysis step in Flutter test workflow to streamline CI process
* Add repository checkout and Flutter environment setup steps to CI workflow
* Add installation of Linux dependencies for Flutter test workflow
* Remove obsolete Flutter setup and release workflows to streamline CI configuration
* Fix formatting in make_config.yaml by ensuring newline at end of file
* refactor: consolidate theme definitions by removing separate dark and light theme files
* feat: integrate dynamic color support and enhance theme settings management
* feat: add theme settings route and update theme management in app settings
* feat: enhance theme management by integrating high contrast support in various components
* feat: implement mode selection dialog for theme settings and enhance button functionality
* refactor: update theme import paths and consolidate theme provider files
* feat: enhance theme management by integrating theme selection based on audiobook playback
* refactor: update default value for useMaterialThemeFromSystem to false in theme settings
* refactor: adjust high contrast condition order in theme settings for consistency
* refactor: rename useMaterialThemeOfPlayingItem to useCurrentPlayerThemeThroughoutApp for clarity
* refactor: correct spelling in system theme provider and replace with updated implementation
* refactor: extract restore backup dialog into a separate widget for improved readability
* refactor: reorganize settings sections for clarity and improve restore dialog functionality