* Fixed an underline on hover of pagination link
* Ensure title of companion bar eats full width if there is no filter
* If a user doesn't have the Download role, they will not be able to download over OPDS.
* Fixed a bug where after going into webtoon reader mode then leaving, the bookmark effect would continue using the webtoon mode styling
* Fixed a bug where continuous reader wasn't being triggered due to moving scrollbar to body and a floating point percision error on scroll top
* Fixed how continuous trigger is shown so that we properly adjust scroll on the top (for prev chapter)
* Fixed a bad merge that broke saving any edits to series metadata
* When a epub key is not correct, even after we correct it, ignore the inlining of the style so the book is at least still readable.
* Disabled double rendering (this feature is being postponed to a later release)
* Disabled user setting and forced it to Single on any save
* Removed cache directory from UpdateSettings validation as we don't allow changing it.
* Fix security issue with url parse
* After all migrations run, update the installed version in the Database. Send that installed version on the stat service.
* Dependency bot to update some security stuff
* Some misc code cleanup and fixes on the typeahead (still broken)
* Fixed a bug where the bottom of the page could be cut off
* Adjusted all the headings to h2, which looks better
* Refactored GetSeriesDetail to actually map the names inside the code so the UI just displays.
* Put in some basic improvements to OPDS by using Series Detail type layout, but this only reduces one click.
* Fixed a bug where offset from scrollbar fix causes readers to be cutoff.
* adding back side-nav
* Event Widget Update (#1098)
* Took care of some notes in the code
* Fixed an issue where Extra might get flagged as special too early, if in a word like Extraordinary
* Moved Tag cleanup code into Scanner service. Added a SplitQuery to another heavy API. Refactored Scan loop to remove parallelism and use async instead.
* Lots of rework on the codebase to support detailed messages and easier management of message sending. Need to take a break on this work.
* Progress is being made, but slowly. Code is broken in this commit.
* Progress is being made, but slowly. Code is broken in this commit.
* Fixed merge issue
* Fixed unit tests
* CoverUpdate is now hooked into new ProgressEvent structure
* Refactored code to remove custom observables and have everything use standard messages$
* Refactored a ton of instances to NotificationProgressEvent style and tons of the UI to respect that too. UI is still a bit buggy, but wholistically the work is done.
* Working much better. Sometimes events come in too fast. Currently cover update progress doesn't display on UI
* Fixed unit tests
* Removed SignalREvent to minimize internal event types. Updated the UI to use progress bars. Finished SiteThemeService.
* Merged metadata refresh progress events and changed library scan events to merge cleaner in the UI
* Changed RefreshMetadataProgress to CoverUpdateProgress to reflect the event better.
* Theme Cleanup (#1089)
* Fixed e-ink theme not properly applying correctly
* Fixed some seed changes. Changed card checkboxes to use our themed ones
* Fixed recently added carousel not going to recently-added page
* Fixed an issue where no results found would show when searching for a library name
* Cleaned up list a bit, typeahead dropdown still needs work
* Added a TODO to streamline series-card component
* Removed ng-lazyload-image module since we don't use it. We use lazysizes
* Darken card on hover
* Fixing accordion focus style
* ux pass updates
- Fixed typeahead width
- Fixed changelog download buttons
- Fixed a select
- Fixed various input box-shadows
- Fixed all anchors to only have underline on hover
- Added navtab hover and active effects
* more ux pass
- Fixed spacing on theme cards
- Fixed some light theme issues
- Exposed text-muted-color for theme card subtitle color
* UX pass fixes
- Changed back to bright green for primary on dark theme
- Changed fa icon to black on e-ink
* Merged changelog component
* Fixed anchor buttons text decoration
* Changed nav tabs to have a background color instead of open active state
* When user is not authenticated, make sure we set default theme (dark)
* Cleanup on carousel
* Updated Users tab to use small buttons with icons to align with Library tab
* Cleaned up brand to not underline, removed default link underline on hover in dropdown and pill tabs
* Fixed collection detail posters not rendering
Co-authored-by: Robbie Davis <robbie@therobbiedavis.com>
* Bump versions by dotnet-bump-version.
* Tweaked some of the emitting code
* Some css, but pretty bad. Robbie please save me
* Removed a todo
* styling update
* Only send filename on FileScanProgress
* Some console.log spam cleanup
* Various updates
* Show events widget activity based on activeEvents
* progress bar color updates
* Code cleanup
Co-authored-by: Robbie Davis <robbie@therobbiedavis.com>
* Bump versions by dotnet-bump-version.
* Scanner event hub fix (#1099)
* Scanner event hub fix
- Fixed an issue where the scanner would error when adding a new series because the series didn't have a library name yet. (develop)
* Removing library.type
* Bump versions by dotnet-bump-version.
* Workflow update to add nightly versions (#1100)
# Changed
- Changed: Changed automated workflow to release individual nightly versions on dockerhub
* Bump versions by dotnet-bump-version.
* Updating GA to parse version (#1101)
* Bump versions by dotnet-bump-version.
* GA Fixes (#1103)
**Strictly Repo Changes**
# Fixed
- Fixed: Fixed an issue where patch version was not being added to docker tag.
* Bump versions by dotnet-bump-version.
* Fixed specials being misaligned (#1106)
# Fixed
- Fixed: Fixed issue with specials not being properly aligned (develop)
* Bump versions by dotnet-bump-version.
* Bugfix/ux pass 2 (#1107)
* Adding margin bottom to series detail tabs
* Styling tag badges with green on dark
- Added 3 new css vars
* Removing underline from readmore
* Fixing see more to be on one line
* adding gutter to see more
* Changing queue toasts to info
* adding api key tooltip
* Updating active accordion on user preference.
* Fixing search bar and close btn position
* Fixed a bug where entering book reader in dark mode then closing out, would leave you in a broken white state.
* Fixed broken wiki links
Co-authored-by: Joseph Milazzo <joseph.v.milazzo@gmail.com>
* Bump versions by dotnet-bump-version.
* Series Detail Refactor (#1118)
* Fixed a bug where reading list and collection's summary wouldn't render newlines
* Moved all the logic in the UI for Series Detail into the backend (messy code). We are averaging 400ms max with much optimizations available. Next step is to refactor out of controller and provide unit tests.
* Unit tests for CleanSpecialTitle
* Laid out foundation for testing major code in SeriesController.
* Refactored code so that read doesn't need to be disabled on page load. SeriesId doesn't need the series to actually load.
* Removed old property from Volume
* Changed tagbadge font size to rem.
* Refactored some methods from SeriesController.cs into SeriesService.cs
* UpdateRating unit tested
* Wrote unit tests for SeriesDetail
* Worked up some code where books are rendered only as volumes. However, looks like I will need to use Chapters to better support series_index as floats.
* Refactored Series Detail to change Volume Name on Book libraries to have book name and series_index.
* Some cleanup on the code
* DeleteMultipleSeries test is hard. Going to skip.
* Removed some debug code and make all tabs Books for Book library Type
* Bump versions by dotnet-bump-version.
* Tachiyomi Bugfix (#1119)
* Updated the dependencies for .NET 6.0.2
* Fixed a bad prev chapter logic where we would bleed into chapters from last volume instead of specials.
* Fixed the get prev chapter code to properly walk the order according to documentation and updated some bad test cases
* Updated side nav to float a bit and added user settings to it.
* Refactored the code to hide/show sidenav to be more angular and decoupled
* Moved Changelog out of admin dashboard and into a dedicated page in user menu. Added a wiki link from user menu
* Introduced a side nav item for rendering each item and refactored code to use it.
* Added a filter of side nav when there are more than 10 libraries. Added some themeing overrides for side nav.
* Cleaned up the template code for side nav item so if there is no link, we don't generate that html directive
* Refactored side nav into a module and migrated a few pipes into a pipe module for easy re-use
* Added companion bar on reading list and collection. Updated modules to load pages and make side nav items clickable as anchors, so new tab works.
* Moved metadata filter into separate component/module and the button in the companion bar. Needs cleanup.
* Finished cleanup and refactoring of metadata filter into separate component.
Removed filtering from Collections as it doesn't work and wasn't hooked up.
* Tweaked the css on carousel component
* Added to library detail and series-detail
* Fixes and css vars
* Stop destroying sidenav, animaton timing
* Integrated side nav on the rest of the pages
* Navbar now collapses to icons
* mobile sidenav start
* more mobile fixes
* mobile tweaks
* light and e-ink theme updates
* white and eink dropdown color fixes
* plex inspired side-nav
* theme fixes
* Making spacing more uniform across app
* More fixes
* fixing spacing on cards
* actionable fix for sidenav
* no scroll on mobile when sidenav is open
* hide sidenav on pages
* Adding card spacing
* Adding ability to remove sidenav when in a reader
* tidying up sidenav toggles
* side-nav mobile updates
* fixing up other themes
* overlay fixes
* Cleaned up the code to make the observables have better names.
Removed a bunch of pointless subscriptions. Cleaned up methods that werent needed.
Added jsdocs to help ensure the understandability of the 2 states for the side nav.
* Integrated a highlight effect on side nav. Fixed a ton of places where the nav was being hidden when it shouldn't.
* Fixed where active state wasn't working on all urls
* misc fixes
- smaller hamburger
- z-index fixes
- active fixes
* Revert "Merge branch 'develop' into feature/side-nav-upgrade"
This reverts commit 76b0d15a98, reversing
changes made to b3ed553954.
* Fixing edit-series modal spacing
* Give the ability to jump to a library from admin manage libraries page
* Fixed a bug with highlighting active item on side nav
* Moved localized series title to companion bar via subtitle
* Removed old title
* Fixed a bug where clicking a link would reload the whole app, styling fixes on filter, fixed issue with initial load not setting active state, adjusted styles on active style.
* code cleanup
Co-authored-by: Robbie Davis <robbie@therobbiedavis.com>
* Refactored manga reader to use a regular image element for all cases except for split page rendering
* Fixed a weird issue where ordering of routes broke redireciton in one case.
* Added comments to a lot of the enums and refactored READER_MODE to be ReaderMode and much more clearer on function.
* Added bookmark effect on image renderer
* Implemented keyboard shortcut modal
* Introduced the new layout mode into the manga reader, updated preferences, and updated bookmark to work for said functionality. Need to implement renderer now
* Hooked in ability to show double pages but all the css is broken. Committing for help from Robbie.
* Fixed an issue where Language tag in metadata edit wasn't being updated
* Fixed up some styling on mobile for edit series detail
* Some css fixes
* Hooked in ability to set background color on reader (not implemented in reader). Optimized some code in ArchiveService to avoid extra memory allocations.
* Hooked in background color, generated the migration
* Fixed a bug when paging to cover images, full height would be used instead of full-width for cover images
* New option in reader to show screen hints (on by default). You can disable in user preferences which will stop showing pagination overlay hints
* Lots of fixes for double rendering mode
* Bumped the amount of cached pages to 8
* Fixed an issue where dropdowns weren't being locked on form manipulation
* Fixed a bug where adding multiple series to reading list would throw an error on UI, but it was successful.
* When a series has a reading list, we now show the connection on Series detail.
* Removed all baseurl code from UI and not-connected component since we no longer use it.
* Fixed tag badges not showing a border. Added last read time to the series detail page
* Fixed up error interceptor to remove no-connection code
* Changed implementation for series detail. Book libraries will never send chapters back. Volume 0 volumes will not be sent in volumes ever. Fixed up more renaming logic on books to send more accurate representations to the UI.
* Cleaned up the selected tab and tab display logic
* Fixed a bad where statement in reading lists for series
* Fixed up tab logic again
* Fixed a small margin on search backdrop
* Made badge expander button smaller to align with badges
* Fixed a few UIs due to .form-group and .form-row being removed
* Updated Theme component page to help with style testing
* Added more components to theme tester
* Cleaned up some styling
* Fixed opacity on search item hover
* Adding margin bottom to series detail tabs
* Styling tag badges with green on dark
- Added 3 new css vars
* Removing underline from readmore
* Fixing see more to be on one line
* adding gutter to see more
* Changing queue toasts to info
* adding api key tooltip
* Updating active accordion on user preference.
* Fixing search bar and close btn position
* Fixed a bug where entering book reader in dark mode then closing out, would leave you in a broken white state.
* Fixed broken wiki links
Co-authored-by: Joseph Milazzo <joseph.v.milazzo@gmail.com>
* Started the migration to bootstrap 5. Introduced a breakpoint system that bootstrap reflects for our screens.
* sr only migrated
* mr/ml -> me/ms
* pl/pr -> ps/pe
* btn-block
* removed input-group-append
* Added form-label to all labels
* Added some style overrides for inputs
* Replaced form-group with mb-3
* Ignore journal files
* Update media to d-flex/flex-grow-1
* Fixed reading list detail page
* For develop builds, don't inline critical styles
* Fixed some downstream security issues
* Fixed a layout issue in series detail
* Fixed issue with btn-light not having background color. Updated layout for series detail metadata
* Cleaned up nav search
* Laid out the organization for custom theme components. Update _inputs.scss with variable overrides and depending on theme, it will just work.
* Lots of theming work
* Added inputs to the theme page
* Login and input placeholder changes
- Fixed login screen centering issue on all devices
- Changed the format of the login screen
- Change the input placeholder color
* Added checkbox styles
* Refactored tagbadges and removed some ngdeep selectors
* Added nav bar component and refactored some styles into event widget
* Cleaned nav events again and made dedicated popover body
* Finished pagination component
* Fixed up some styles with buttons
* refactored dropdown component
* Update accordion component
* Refactored breadcrumbs and rating star. Fixed a missing style for cards
* Fixed some styling issues on person badge, added modal component, and some global styles
* Finished moving everything within dark to component files
* Fixed up filter buttons, move card styles into a component theme, fixed slider style
* Refactored library card and grouped typeahead
* Updated normal typeahead component and reduced amount of ngdeep selector
* Refactored grid breakpoints to be available by css variable, but it's hardcoded into the app
* Ensure breakpoints are defined per theme
* Fixed up some styling overrides and customization for nav links and alt button
* Removed some deep styles, moved css out of splash container and brough back labels for login page
* Finished css variable refactor
* Refactored all the theme variable definitions into files for each theme.
* Added back bootstrap overrides
* Added a note about bootstrap theme colors being not-possible to swap out at runtime
* Cleaned up some dead code
* Implemented the ability to set a custom theme on the site. Cleaned up misc code throughout.
* Additional changes
- Fixed nav where "kavita" was not hiding correctly on small viewports
- Fixed search bar to make the behavior more consistent
- Fixed accordion buttons
- Changed accordion buttons to be more responsive
- Added radio button colors
- Fixed radios on theme test page
- Changed login and reset password card layouts to be more consistent.
- Added primary color shade for when darker shading is needed.
* Built a basic site, allow the user to apply different themes, refactored nav service code out.
* Implemented the ability update a user's theme
* Added unit tests for Scan and Get Content in SiteThemeService.
* Fixed a bug in the login code and Pref code which wasn't joining on SiteTheme table. Wrote Unit tests and the UI component to manage current theme.
* Implemented scan so that it manages custom themes with unit tests
* Component updates
- Repositioning style ordering
- Adding indicator override
- Adding select styles
* SignlaR integration, some fixes when creating custom entities, one single migration. Just login functionality left.
* More ui updated
- Added .no-hover to prevent hover on elements where not needed
- Changed all selects I could find to appropriate class
- Changed up nav tabs to work more like bootstrap tabs than pills
- Added padding to top of some containers to make styles consistent
- Added ability to change navbar fontawesome icon colors
- removed some unecessary inline styling
- Changed radio button to appropriate class
- Toned down primate color, a bit too bright for dark theme.
- Added ability to change button fontawesome icon color
* nav-tab fix for series-detail
* Added themes folder to gitignore
* Adding card overlay
* Fixing up light theme
* Everything is done. Only bug is that color-scheme isn't being set properly from css variable.
* Checkboxes have pointer by default. Confirm/Confirm email use default (dark) theme by default
* Fixed an error where color-scheme wasn't reflecting correctly on themes on first load
* Fixed user preferences not available on login
* Changing dual radios to switches and color tweaks
* disabled primary APCA fix
* button APCA fixes
* Fixed some timing issues with first load and image service
* Fixed swiper issues from upgrade
* Changed themes to be scss files again and adjusted Seed code
* Migrated carousel to css variables. Fixed a broken animation for search.
* Cleaned up some backend smells
* Fixed white border outline on nav tabs, added some variables for header
* Nav bar has been css variable-ified
* Added some basic eink stuff to make the app useable
Co-authored-by: Robbie Davis <robbie@therobbiedavis.com>
* Implemented a new role "Change Password". This role allows you to change your own password. By default, all users will have it. A user can have it removed arbitrarliy.
Removed components that are no longer going to be used.
* Cleaned up some code
* Moved the Server Settings out into a button on nav header
* Refactored Mange Users page to the new design (skeleton). Implemented skeleton code for Invite User.
* Hashed out more of the code, but need to move all the email code to a Kavita controlled API server due to password credentials.
* Cleaned up some warnings
* When no user exists for an api key in Plugin controller, throw 401.
* Hooked in the ability to check if the Kavita instance can be accessed externally so we can determine if the user can invite or not.
* Hooked up some logic if the user's server isn't accessible, then default to old flow
* Basic flow is working for confirm email. Needs validation, error handling, etc.
* Refactored Password validation to account service
* Cleaned up the code in confirm-email to work much better.
* Refactored the login page to have a container functionality, so we can reuse the styles on multiple pages (registration pages). Hooked up the code for confirm email.
* Messy code, but making progress. Refactored Register to be used only for first time user registration. Added a new register component to handle first time flow only.
* Invite works much better, still needs a bit of work for non-accessible server setup. Started work on underlying manage users page to meet new design.
* Changed (you) to a star to indicate who you're logged in as.
* Inviting a user is now working and tested fully.
* Removed the register member component as we now have invite and confirm components.
* Editing a user is now working. Username change and Role/Library access from within one screen. Email changing is on hold.
* Cleaned up code for edit user and disabled email field for now.
* Cleaned up the code to indicate changing a user's email is not possible.
* Implemented a migration for existing accounts so they can validate their emails and still login.
* Change url for email server
* Implemented the ability to resend an email confirmation code (or regenerate for non accessible servers). Fixed an overflow on the confirm dialog.
* Removed all code around disabling authentication. Users that were already disabled can look up their password on the wiki.
* Refactored the Font Escaping Regex with new unit tests.
* Fonts are now properly escaped, somehow a regression was introduced.
* Refactored most of the book page loading for the reader into the service.
* Fixed a bug where going into fullscreen in non dark mode will cause the background of the reader to go black. Fixed a rendering issue with margin left/right screwing html up. Fixed an issue where line-height: 100% would break book's css, now we remove the styles if they are non-valuable.
* Changed how I fixed the black mode in fullscreen
* Fixed an issue where anchors wouldn't be colored blue in white mode
* Fixed a bug in the code that checks if a filename is a cover where it would choose "backcover" as a cover, despite it not being a valid case.
* Validate if ReleaseYear is a valid year and if not, set it to 0 to disable it.
* Fixed an issue where some large images could blow out the screen when reading on mobile. Now images will force to be max of width of browser
* Put my hack back in for fullscreen putting background color to black
* Change forwarded headers from All to explicit names
* Fixed an issue where Scheme was not https when it should have been. Now the browser will handle which scheme to request.
* Cleaned up the user preferences to stack multiple controls onto one row
* Fixed fullscreen scroll issue with progress, but now sticky top is missing.
* Corrected the element on which we fullscreen
* Don't show an exception when bookmarking doesn't have anything to change.
* Cleaned up the bookmark code a bit.
* Implemented fullscreen mode in the web reader. Refactored User Settings to move Password and 3rd Party Clients to a tab rather than accordion. Removed color filters for web reader.
* Implemented fullscreen mode into book reader
* Added some code for toggling fullscreen which re-renders the screen to ensure the fitting works optimially
* Fixed an issue where moving from FitToScreen -> Split (L/R) wouldn't render the screen correctly due to canvas not being reset.
* Fixed bad optimization and scaling when drawing fit to screen
* Removed left/right highlights on page direction change in favor for icons. Double arrow will dictate the page change.
* Reduced overlay auto close time to 3 seconds
* Updated the paginging direction overlay to use icons and colors. Added a blur effect on menus
* Removed debug flags
* Added a new endpoint to get all Series with Progress info.
* Fixed up some potential NPEs during scan
* Commented out filter code, not ready for it.
* Fixed up a parsing case for european comics
* Refactored FilterDto to allow for specifying multiple formats to return.
* Refactored FilterDto to allow for specifying multiple formats to return.
* Refactored the UI to show OPDS as 3rd Party Clients since Tachiyomi now uses OPDS url scheme for authentication.
* Do not allow non-admins to change their passwords when authentication is disabled
* Clean up the login page so that input field text is black
* cleanup some resizing when typing a password and having a lot of users
* Changed the LastActive for a user to not just be login, but also when they open an already authenticated session.
* Added parser case for "The Duke of Death and His Black Maid - Ch. 177 - The Ball (3).cbz"
* Removed a file that is created and modified every test run.
* Fixed a bad parser case for "Batman Beyond 02 (of 6) (1999)" which was consuming too many characters
* Removed a lot of "Volume" parsing for Comics that don't make sense. This is prep work for the upcoming Comic Rework release.
* Reworked a lot of parsing cases for comics based on naming conventions observed from releases found online.
* Added a way for external scripts to use a user api key to authenticate
* Fixed an issue if the manga only had one page, the bottom menu would be missing page and chapter controls.
* Fixed a bug where on small phones, nav bar could overflow due to scroll to top
* Tweaked a lot of regex for manga parsing to handle some cases where poorly named files, like "Vol. 03 Ch. 21" would end up parsing as Series "Vol. 03".
* Even more handling of parser cases. Manga parser should be as it was but more robust to handle bad naming.
* Fixed: Don't force metadata refresh on Scan Series, only on refresh metadata
* Implemented the ability to automatically refresh after a series scan based on when server finishes. Remove a duplicate API call from series detail.
* Removed another API call for series metadata that isn't needed.
* Refactored Message creation to a factory, hardcoded strings are centralized, and RefreshSeriesMetadata sends an event and is refactored to be async.
* Fixed a bug when really poorly named files are within a folder that contains the series name, fallback couldn't occur due to it being taken as root folder. Now we detect said condition and will go one level higher, resulting in potentially more I/O, but the series will not be deleted.
* Added the Read in Incognito context item for Chapter cards
* Skip an additional check for series summary for series that aren't EPUB or Archive formats.
* Fixed an issue where cover image generation could occur due to a bad check on LastWriteTime on the underlying file.
* Added some extra comic parser tests
* Added a ScanLibrary event (not hooked up in UI)
* Performance improvement on metadata service. Now when we scan for cover image changes, we emit when a change occurs and only then do we update parent entities (array copy).
* Removed an hr from series detail and ensure we update the cover image for series when scan series finishes.
* Updated the infinite scroller to use a Flags pattern for the debug mode. Updated a few logical conditions for mobile.
* Removed the concurrency check on row progress as if too many calls hit the DB, it will throw, but it doesn't matter.
Fixed a bad logic code which could cause scrolling after hitting the bottom of the chapter.
* Ensure prefetching uses totalPages + 1 since we pass in totalPages as - 1 from manga reader
* Fixed issue where last page of webtoon wouldn't be prefetched due to a < instead of <= on prefetching code
* Implemented ability to send images from archives to the UI without incurring any extra memory pressure.
* Dropdown menus now have a darker background
* Webtoon reader now works on mobile.
* Fixed how keyboard presses for up/down/left/right work with MANGA_UD reading mode. See issue #579
* Fixed cont reader for webtoons on mobile
* Fixed a small issue where top spacer would too quickly switch to prev chapter
* Updated user preferences to use same slider style. Removed some css that is not used.
* Added comic parser case for "Saga 001 (2012) (Digital) (Empire-Zone)"
* Added accessibility toggle to reading list order and aligned sliders to all use the same style.
* Removed a todo for checking on new image serving code. It works great.
* Fixed a missing await
* Auth guard will now check if an existing toast is present giving same message before poping the toast.
* Fixed alignment on phones for reading lists
* Moved sorters so they aren't resused between multiple threads. Slightly higher memory footprint.
* Fixed a broken unit test
* Code smells
* More unit test fixing
* Added continous reading to the book reader. Clicking on the max pages to right of progress bar will now go to last page.
* Forgot a file for continous book reading
* Fixed up some code regarding transitioning between chapters. Arrows now show to represent a chapter transition.
* Laid the foundation for reading lists
* All foundation is laid out. Actions are wired in the UI. Backend repository is setup. Redid the migration to have ReadingList track modification so we can order them for the user.
* Updated add modal to have basic skeleton
* Hooked up ability to fetch reading lists from backend
* Made a huge performance improvement to GetChapterIdsForSeriesAsync() by reducing a JOIN and an iteration loop. Improvement went from 2 seconds -> 200 ms.
* Implemented the ability to add all chapters in a series to a reading list.
* Fixed issue with adding new items to reading list not being in a logical order. Lots of work on getting all the information around the reading list view. Added some foreign keys back to chapter so delete should clean up after itself.
* Added ability to open directly the series
* Reading List Items now have progress attached
* Hooked up list deletion and added a case where if doesn't exist on load, then redirect to library.
* Lots of changes. Introduced a dashboard component for the main app. This will sit on libraries route for now and will have 3 tabs to show different sections.
Moved libraries reel down to bottom as people are more likely to access recently added or in progress than explore their whole library.
Note: Bundles are messed up, they need to be reoptimized and routes need to be updated.
* Added pagination to the reading lists api and implemented a page to show all lists
* Cleaned up old code from all-collections component so now it only handles all collections and doesn't have the old code for an individual collection
* Hooked in actions and navigation on reading lists
* When the user re-arranges items, they are now persisted
* Implemented remove read, but performance is pretty poor. Needs to be optimized.
* Lots of API fixes for adding items to a series, returning items, etc. Committing before fixing incorrect fetches of items for a readingListId.
* Rewrote the joins for GetReadingListItemDtosByIdAsync() to not return extra records.
* Remove bug marker now that it is fixed
* Refactor update-by-series to move more of the code to a re-usable function for update-by-volume/chapter APIs
* Implemented the ability to add via series, volume or chapter.
* Added OPDS support for reading lists. This included adding VolumeId to the ReadingListDto.
* Fixed a bug with deleting items
* After we create a library inform user that a scan has started
* Added some extra help information for users on directory picker, since linux users were getting confused.
* Setup for the reading functionality
* Fixed an issue where opening the edit series modal and pressing save without doing anything would empty collection tags. Would happen often when editing cover images.
* Fixed get-next-chapter for reading list. Refactored all methods to use the new GetUserIdByUsernameAsync(), which is much faster and uses less memory.
* Hooked in prev chapter for continuous reading with reading list
* Hooked up the read code for manga reader and book reader to have list id passed
* Manga reader now functions completely with reading lists
* Implemented reading list and incognito mode into book reader
* Refactored some common reading code into reader service
* Added support for "Series - - Vol. 03 Ch. 023.5 - Volume 3 Extras.cbz" format that can occur with FMD2.
* Implemented continuous reading with a reading list between different readers. This incurs a 3x performance hit on the book info api.
* style changes. Don't emit an event if position of draggable item hasn't changed
* Styling and added the edit reading list flow.
* Cleaned up some extra spaces when actionables isn't shown. Lots of cleanup for promoted lists.
* Refactored some filter code to a common service
* Added an RBS check in getting Items for a given user.
* Code smells
* More smells
* Added some basic OPDS implementation
* Fixed an issue with feed href
* More changes
* Added library routes and moved user code to a method so we can hack in fixed code without authentication
* Images now load on the OPDS reusing our existing Image infrastructure.
* Added the ability to download and moved some download code to a dedicated service
* Download is working, pagination is implemented.
* Refactored libraries to use pagination
* Laid foundation for OpenSearch implementation
* Fixed up some serialization issues and some old code that wasn't referencing helper methods
* Ensure chapters are sorted when we send them over OPDS
* OpenSearch implemented
* Removed any support for OPDS-PS due to lack of apps supporting it.
* Don't distribute development.json nor stats directory on build.
* Implemented In Progress feed as well.
* Ability to enable OPDS for server. OPDS now accepts initial call as POST in case app uses username/password.
* UI now properly renders state for OPDS enablement. Added Collections routes.
* Fixed pagination startIndex on OPDS feeds when there is less than 1 page.
* Chunky Reader now works. It only accepts UTF-8 encodings
* More Chunky fixes
* More chunky changes, such a fussy client.
* Implemented the ability to have a custom api key assigned to a user and use that api key as your authentication token against OPDS routing.
* Implemented the ability to reset your API Key
* Fixed favicon not being sent back correctly
* Fixed an issue where images wouldn't send on OPDS feed.
* Implemented Page streaming and fixed a pagination bug
* Hooked in the ability to save progress in Kavita when Page Streaming
* ImageService had a stream reset before writting out to array. Added logging statment for updating series metadata. Removed ConcurencyCheck due to bad update issue for CollectionTag.
* Added a new screen which lets you quickly see all your bookmarks for a given user.
* Built user bookmark page in user settings. Moved user settings to it's own lazy loaded module. Removed unneded debouncing from downloader and just used throttleTime instead.
* Removed a not-yet implemented tab from series modal
* Fixed a bug in clear bookmarks and adjusted icons within anchors to have proper styling