* Fixed bookmarking failing to convert to webp
* Brought the ag-swipe/ng-swipe code into Kavita due to being abandoned by developer and angular requirements.
* Fixed average reading time per week finally
* Cleaned up some extra decimals on time duration pipe
* Don't try to update index.html for base url on local. Fixed ag-swipe on prod mode.
* Updated a link on theme manager to point to the new github
* Range knobs should be primary color on firefox too
* Implemented the ability to get thumbnails of pages inside an archive or pdf.
* Updated packages and fixed opds-ps 1.2 issue
* Fixed lock file
* Allow Kavita's Swagger to hit instances with CORS
* Added IP/Request logging for Security Audits
* Linked up Summary tag from CBL into Kavita.
* Redid the migration so SecurityEvent now has UTC date as well.
* Split security logging to a separate file
* Update to new versions of checkout and setup
* Added a PR check on PR body to ensure that it doesn't contain any characters that break our discord hook.
* Updating action
* optimize regex in action
* Fixed an issue where fit to width would cause the actual height of the image to be shown for pagination bars, instead of rendered.
* Added some new code in GetPageFromFiles to ensure pages that exceed array map down to last file.
* Added comment about robots
* Fixed up unit tests for new ReaderService signature
* Kavita now cleans up empty reading lists at night
* Don't allow nightly cleanup to run if we are running media conversion tasks
* Fixed some bugs in typeahead, it should behave much more reliably.
* Fix an issue where emulate comic book wasn't extending to the bottom properly
* Added support for Series Chapter 001 Volume 001
* Refactor XFrameOptions="SameOrigins" out to allow users to override in appsettings.json.
* Added a rate limiter for some endpoints, but it doesn't seem to be triggering
---------
Co-authored-by: Robbie Davis <robbie@therobbiedavis.com>
* Updated swiper and some packages for reported security issues
* Fixed reading lists promotion not working
* Refactor RenameFileForCopy to use iterative recursion, rather than functional.
* Ensured that bookmarks are fetched and ordered by Created date.
* Fixed a bug where bookmarks were coming back in the correct order, but due to filenames, would not sort correctly.
* Default installs to Debug log level given errors users have and Debug not being too noisy
* Added jumpbar to bookmarks page
* Now added jumpbar to bookmarks
* Refactored some code into pipes and added some debug messaging for prefetcher
* Try loading next and prev chapter's first/last page to cache so it renders faster
* Updated GetImage to do a bound check on max page.
Fixed a critical bug in how manga reader updates image elements src to prefetch/load pages. I was not creating a new reference which broke Angular's ability to update DOM on changes.
* Refactored the image setting code to use a single method which tries to use a cached image always.
* Refactored code to use getPage which favors cache and simplifies image creation code
* Refactored Library Watcher to use Hangfire under the hood.
* Support .kavitaignore at root level.
* Refactored a lot of the library watching code to process faster and handle when FileSystemWatcher runs out of internal buffer space. It's still not perfect, but good enough for basic use.
* Make folder watching as experimental and default it to off by default.
* Revert #1479
* Tweaked the messaging for OPDS to remove a note about download role.
Moved some code closer to where it's used.
* Cleaned up how the events widget reports
* Fixed a null issue when deleting series in the UI
* Cleaned up some debug code
* Added more information for when we skip a scan
* Cleaned up some logging messages in CoverGen tasks
* More log message tweaks
* Added some debug to help identify a rare issue
* Fixed a bug where save bookmarks as webp could get reset to false when saving other server settings
* Updated some documentation on library watcher.
* Make LibraryWatcher fire every 5 mins
* Fixed bookmarks not being able to load due to missing [AllowAnonymous]
* Downgraded Docnet to 2.4.0-alpha2 which is the version we added our patches to. This might fix reports of broken PDF reading on ARM
* Updated all but one api in collections to admin only policy
* Ensure all config folders are created or exist on first load
* Ensure plugins can authenticate
* Updated some headers we use on Kavita to tighten security.
* Tightened up cover upload flow to restrict more APIs to only the admin
* Enhanced the reset password flow to ensure that the user passes their existing password in (if already authenticated). Admins can still change other users without having existing password.
* Removed an additional copy during build and copied over the prod appsettings and not Development.
* Fixed up the caching mechanism for cover resets and migrated to profiles. Left an etag filter for reference.
* Fixed up manual jump key calculation to include period in #
* Added jumpbar to reading lists page
* Fixed a double scrollbar on library detail page
* Fixed weird scroll issues with want to read
* Fixed a bug where remove from want to read list wasn't hooked up on series card
* Cleaned up Clear bookmarks to use a dedicated api for bulk clearing. Converted Bookmark page to OnPush.
* Fixed jump bar being offset when clicking a jump key
* Ensure we don't overflow on add to reading list
* Fixed a bad name format on reading list items
* Implemented a workaround for nginx users with BlockCommonExploits enabled, which would interfere with book image escaping done by Kavita when images had ../ in their path.
* Added back to top support on all pages but those that untilize virtual scrolling without a parent scroll.
* Hide jumpbar on pages where there is no scroll
* Refactored jumbar code into a dedicated service
* Stash some jumpkey resume code as I can't get it working with the virtual scroller.
* Don't allow non-admins to see File locations on card detail drawer.
* Some cleanup on GetServerInfo
* When an error occurs in register, delete the user on exception.
* Fixed a NPE in Stat collection for brand new users
* When we catch an exception on registering a new user, delete the user as rolling back doesn't do anything.
* Don't close typeahead when we are selecting options from it
* Added shortcut key H to open shortcut modal on manga reader
* When processing progress updates on cards, for volumes, properly find the chapter to update pages read.
* Hide cover image on reading list if it's not set and fixed a missing closing div tag
* Hide collection poster when nothing is set on collection detail
* Small fix around updating state
* Sped up the bookmark image call by removing one DB call
* Fixed broken test from change in bookmark code
* Fixed an oversight where if there is no tag in ComicInfo after a chapter was updated with People or Genres, then the People/Genres would never be removed.
* Added test with TagHelper
* Fixed a bug where 2 clear buttons would show on search bar due to browser injecting their own. Search bar wont show clear button until text is typed.
* Fixed a bug where InstallID wasn't being selected correctly in converter
* Updated Series Info Cards to use OnPush and hooked in progress events when we do a mark as read/unread on entities. These events update progress bars but also will now trigger a re-calculation on Read Time Left.
* Removed Library Card Component
* Refactored manga reader title and subtitle calculation to the backend.
* Coverted card actionables to onPush
* Series Card on push cleanup
* Updated edit collection tags for on push
* Update cover image chooser for on push
* Cleaned up carsouel reel
* Updated cover image to allow for uploading gif and webp files
* Bulk add to collection on push
* Updated bulk operation to use on push. Updated bulk operation to have mark as unread and read buttons explicitly. Updated so add to collection is visible and delete.
Fixed a bug where manage library component wasn't invoking the trackBy function
* Updating entity title for on push
* Removed file info component
* Updated Mange Library for on push
* Entity info cards on push
* List item on push
* Updated icon and title for on push and fixed some missing change detection on series detail
* Restricted the typeahead interface to simplify the design
* Edit Series Relation now shows a value in the dropdown for Parent relationships and disables the field.
* Updated edit series relation to focus on new typeahead when adding a new relationship
* Added some documentation and when Scanning a library, don't allow the user to enqueue the same job multiple times.
* Applied the No-enqueue if already enqueued logic to other tasks
* Library detail on push
* Updated events widget to onpush
* Card detail drawer on push. Card detail cover chooser now will show all chapter's covers for selection in cover chooser.
* Chapter metadata detail on push
* Removed Card Detail modal
* All collections on push
* Removed some comments
* Updated bulk selection to use an observable rather than function calls so new on push strategy works
* collection detail now uses on push and scroller is placed on correct element
* Updated library recommended to on push. Ensure that when mark as read occurs, the appropriate streams are refreshed.
* Updated library detail to on push
* Update metadata fiter to onpush. Bugs found and reported to Project
* person badge on push
* Read more on push
* Updated tag badge to on push
* User login on push
* When initing side nav, don't call an authenticated api until we are sure a user is logged in
* Updated splash container to on push
* Dashboard on push
* Side nav slight refactor around some api calls
* Cleaned up series card on push to use same cdRef naming convention
* Updated Static Files to use caching
* Added width and height to logo image
* shortcuts modal on push
* reading lists on push
* Reading list detail on push
* draggable ordered list on push
* Refactored reading-list-detail to use a new item which drastically reduces renders on operations
* series format on push
* circular loader on push
* Badge Expander on push
* update notification modal on push
* drawer on push
* Edit Series Modal on push
* reset password on push
* review series modal on push
* series metadata detail on push
* theme manager on push
* confirm reset password on push
* register on push
* confirm migration email on push
* confirm email on push
* add email to account migration on push
* user preferences on push. Made global settings default open
* edit series relation on push
* Fixed an edge case bug for next chapter where if the current volume had a single chapter of 1 and the next volume had a chapter number of 0, it would say there are no more chapters.
* Updated infinite scroller with on push support
* Moved some animations over to typeahead, not integrated yet.
* Manga reader is now on push
* Reader settings on push
* refactored how we close the book
* Updated table of contents for on push
* Updated book reader for on push. Fixed a bug where table of contents wasn't showing current page anchor due to a scroll calulation bug
* Small code tweak
* Icon and title on push
* nav header on push
* grouped typeahead on push
* typeahead on push and added a new trackby identity function to allow even faster rendering of big lists
* pdf reader on push
* code cleanup
* Added --card-list-item-bg-color for the card list items
* Updated the card list item progress to match how cards render
* Implemented the ability to configure how many backups are retained.
* Fixed a bug where odd jump keys could cause a bad index error for jump bar
* Commented out more code for the pagination route if we go with that.
* Reverted a move of DisableConcurrentExecution to interface, as it seems to not work there.
* Updated manga format utility code to pipes
* Fixed bulk selection on series detail page
* Fixed bulk selection on all other pages
* Changed card item to OnPush
* Updated image component to OnPush
* Updated Series Card to OnPush
* Updated Series Detail to OnPush
* Lots of changes here. Integrated parentscroll support on card detail layout. Added jump bar (custom js implementation) on collection, reading list and all series pages. Updated UserParams to default to no pagination. Lots of cleanup all around
* Updated some notes on a module use
* Some code cleanup
* Fixed up a broken test due to the mapper not being configured in the test.
* Applied TabID pattern to edit collection tags
* Applied css from series detail to collection detail page to remove double scrollbar
* Implemented the ability to sort by Time To Read.
* Throw an error to the UI when we extract an archive and it contains invalid characters in the filename for the Server OS.
* Tweaked how the page scrolls for jumpbar on collection detail. We will have to polish another release
* Cleaned up the styling on directory picker
* Put some code in but it doesn't work for scroll to top on virtual scrolling. I'll do it later.
* Fixed a container bug
* Updating calcs for firefox
* Removing unused code
* Fixed up browser discrepencies
* Review updates
* Review updates
* Added debouncing to scroll
* Fixed a janky scroll issue with overscrolling
* Cleaned up the code to use renderer and injectable document for SSR.
* Removing sticky tabs
Co-authored-by: Joseph Milazzo <joseph.v.milazzo@gmail.com>
* Refactored all the code that opens the reader to use a unified function. Added new library and setup basic pdf reader route.
* Progress saving is implemented. Targeting ES6 now.
* Customized the toolbar to remove things we don't want, made the download button download with correct filename. Adjusted zoom setting to work well on first load regardless of device.
* Stream the pdf file to the UI rather than handling the download ourselves.
* Started implementing a custom toolbar.
* Fixed up the jump bar calculations
* Fixed filtering being broken
* Pushing up for Robbie to cleanup the toolbar layout
* Added an additional button. Working on logic while robbie takes styling
* Tried to fix the code for robbie
* Tweaks for fonts
* Added button for book mode, but doesn't seem to work after renderer is built
* Removed book mode
* Removed the old image caching code for pdfs as it's not needed with new reader
* Removed the interfaces to extract images from pdf.
* Fixed original pagination area not scaling correctly
* Integrated series remove events to library detail
* Cleaned up the getter naming convention
* Cleaned up some of the manga reader code to reduce cluter and improve re-use
* Implemented Japanese parser support for volume and chapters.
* Fixed a bug where resetting scroll in manga reader wasn't working
* Fixed a bug where word count grew on each scan.
* Removed unused variable
* Ensure we calculate word count on files with their own cache timestamp
* Adjusted size of reel headers
* Put some code in for moving on original image with keyboard, but it's not in use.
* Cleaned up the css for the pdf reader
* Cleaned up the code
* Tweaked the list item so we show scrollbar now when fully read
* Updated cover regex for finding cover images in archives to ignore back_cover or back-cover
* Fixed an issue where Tags wouldn't save due to not pulling them from the DB.
* Refactored All series to it's own lazy loaded module
* Modularized Dashboard and library detail. Had to change main dashboard page to be libraries. Subject to change.
* Refactored login component into registration module
* Series Detail module created
* Refactored nav stuff into it's own module, not lazy loaded, but self contained.
* Refactored theme component into a dev only module so we don't incur load for temp testing modules
* Finished off modularization code. Only missing thing is to re-introduce some dashboard functionality for library view.
* Implemented a basic recommendation page for library detail
* From previous fix, added the other locking conditions on the update series metadata.
* Fixed a bug where custom series, collection tag, and reading list covers weren't being removed on cleanup.
* Ensure reading list detail has a margin to align to the standard
* Refactored some event stuff to use dedicated consts. Introduced a new event when users read something, which can update progress bars on cards.
* Added recomended and library tags to the library detail page. This will eventually offer more custom analytics
* Cleanup some code onc arousel
* Adjusted scale to height/width css to better fit
* Small css tweaks to better center images in the manga reader in both axis. This takes care of double page rendering as well.
* When a special has a Title set in the metadata, on series detail page, show that on the card rather than filename.
* Fixed a bug where when paging in manga reader, the scroll to top wasn't working due to changing where scrolling is done
* More css goodness for rendering images in manga reader
* Fixed a bug where clearing a typeahead externally wouldn't clear the x button
* Fixed a bug where filering then using keyboard would select wrong option
* Added a new sorting field for Last Chapter Added (new field) to get a similar on deck feel.
* Tweaked recently updated to hit the NFR of 500ms (300ms fresh start) and still give a much better experience.
* Refactored On deck to now go to all series and also sort by last updated. Recently Added Series now loads all series with sort by created.
* Some tweaks on css for cover image chooser
* Fixed a bug in pagination control where multiple pagination events could trigger on load and thus multiple requests for data on parent controller.
* Updated edit series modal to show when the last chapter was added and when user last read it.
* Implemented a highlight on the fitler button when a filter is active.
* Refactored metadata filter screens to perserve the filters in the url and thus when navigating back and forth, it will retain. users should click side nav to reset the state.
* Hide middle section on companion bar on phones
* Cleaned up some prefilters and console.logs
* Don't open drawer by default when a filter is active
* Moved libraryType into chapter info
* Fixed a bug where you could not reset cover on a series
* Patched in relevant changes from another polish branch
* Refactored invite user setup to shift the checking for accessibility to the backend and always show the link. This will help with users who have some unique setups in docker.
* Refactored invite user to always print the url to setup a new account.
* Single page renderer uses canvasImage rather than re-requesting and relying on cache
* Fixed a rendering issue where fit to split on single on a cover wouldn't force width scaling just for that image
* Fixed a rendering bug with split image functionality
* Added title to copy button
* Fixed a bug in GetContinuePoint when a chapter is added to an already read volume and a new chapter is added loose leaf. The loose leaf would be prioritized over the volume chapter.
Refactored 2 methods from controller into service and unit tested.
* Fixed a bug on opening a volume in series detail that had a chapter added to it after the volume (0 chapter) was read would cause a loose leaf chapter to be opened.
* Added mark as read/actionables on Files in volume detail modal. Fixed a bug where we were showing the wrong page count in a volume detail modal.
* Removed OnDeck page and replaced it with a pre-filtered All-Series. Hooked up the ability to pass read state to the filter via query params. Fixed some spacing on filter post bootstrap update.
* Fixed up some poor documentation on FilterDto.
* Some string equals enhancements to reduce extra allocations
* Fixed an issue when trying to download via a url, to remove query parameters to get the format
* Made an optimization to Normalize method to reduce memory pressure by 100MB over the course of a scan (16k files)
* Adjusted the styles on dashboard for first time setup and used a routerlink rather than href to avoid a fresh load.
* Use framgment on router link
* Hooked in the ability to search by release year (along with series optionally) and series will be returned back.
* Fixed a bug in the filter format code where it was sending the wrong type
* Only show clear all on typeahead when there are at least one selected item
* Cleaned up the styles of the styles of the typeahead
* Removed some dead code
* Implemented the ability to filter against a series name.
* Fixed filter top offset
* Ensure that when we add or remove libraries, the side nav of users gets updated.
* Tweaked the width on the mobile side nav
* Close side nav on clicking overlay on mobile viewport
* Don't show a pointer if the carousel section title is not actually selectable
* Removed the User profile on the side nav so home is always first. Tweaked styles to match
* Fixed up some poor documentation on FilterDto.
* Fixed a bug where Latest read date wasn't being set due to an early short circuit.
* When sending the chapter file, format the title of the FeedEntry more like Series Detail.
* Removed dead code
* 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>
* Moved libraryType into chapter info
* Fixed a bug where you could not reset cover on a series
* Patched in relevant changes from another polish branch
* Refactored invite user setup to shift the checking for accessibility to the backend and always show the link. This will help with users who have some unique setups in docker.
* Refactored invite user to always print the url to setup a new account.
* Single page renderer uses canvasImage rather than re-requesting and relying on cache
* Fixed a rendering issue where fit to split on single on a cover wouldn't force width scaling just for that image
* Fixed a rendering bug with split image functionality
* Added title to copy button
* Fixed a bug in GetContinuePoint when a chapter is added to an already read volume and a new chapter is added loose leaf. The loose leaf would be prioritized over the volume chapter.
Refactored 2 methods from controller into service and unit tested.
* Fixed a bug on opening a volume in series detail that had a chapter added to it after the volume (0 chapter) was read would cause a loose leaf chapter to be opened.
* Added mark as read/actionables on Files in volume detail modal. Fixed a bug where we were showing the wrong page count in a volume detail modal.
* Removed OnDeck page and replaced it with a pre-filtered All-Series. Hooked up the ability to pass read state to the filter via query params. Fixed some spacing on filter post bootstrap update.
* Fixed up some poor documentation on FilterDto.
* 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>
* Mobile search bar fixes
# Fixed
- Fixed: Fixed an issue with longer usernames causing header to wrap to another line. (develop)
- Fixed: Fixed an issue where the close button for the search was not centered on mobile. Verified on iOS Safari and iOS Chrome. (develop)
* Adding artist to search, fixing cover artist in search
* Implemented the ability to click a metadata tag (in series detail) and load a pre-filtered view. Apply still needs to be implemented (preset load is out of sync with external filter)
* Refactored people to properly use typeahead so duplicates don't happen and use an observable chain so we can update the screen correctly
* Many refactoring to ensure that the timings for filtering always works
* Laying the foundation for the filter rework
* Filtering by Genre is now possible.
* Cleaned up code and preparing for People filtering
* People filtering is hooked up for the frontend
* Filtering now works. On Deck does not work with filtering currently due to a unique implementation.
* More cleanup
* Implemented the ability to reset the filters
* Added a mobile drawer for filtering
* Added some additional cases for NaturalSortComparer. Filter now uses a drawer on smaller screens.
* Fixed a bug where backup service was not pointing to the correct directory.
* Undid the fix, it's working as expected
* Stashing code
* removed some debug code on series detail page. Now detail is collapsed by default.
* Added AgeRating
* Fixed a crash when NetVips tries to write a cover file and cover directory is not existing.
* When a card is selected for bulk actions, show an outline in addition to select box
* Added AgeRating into the metadata parsing. Added a hack where ComicInfo uses Number in ComicInfo rather than Volume. This is to test out the effects on users libraries.
* Added AgeRating and ReleaseDate to the metadata implelentation.
* Fixed a bug where partial volume support got missed on the epub parser.
* When a drive is unavailable during when a scan starts, abort so user doesn't loose half library if their networked drive goes down.
* Moved format for card details to highest level (since all chapters/files have same format) and added date added to each file to help when new chapters/files are added and grouped into a volume.
* Implemented handling on the UI when a series is deleted
* Added case for series removal for series detail
* Only redirect for this series
* Adding multiple cases for comic naming conventions
* Changing "Chapter" to "Issue" for comic libraries
* Fixed an issue where the Parse method was using filename with extension to run regex matching, while it should be running on name without extension.
* Refactored to use Getter
* Cleaned up file to use conditional labelling rather than conditional html fragments
* Refactored code to properly check against library type for a given readinglist item
* Cleaned up series detail
* Conditionally remove special tags during parse
* Setup ParseInfoTests for ComicParserTests and also added unit tests from other comic issues created.
* Added more regex cases for naming patterns reported to be common with comics. Some cases added without regex.
* Pushing up changes
Fixed issue with cleanTitleTest.
Tried some patterns for "Cyberpunk 2077" but reverted
* Updated some cases and some spacing on Parser. Cyberpunk 2077 is not implemented as long as there is a # before issue number.
* Fixed the case for Special parsing on TPB. Fixed a piece of code that got deleted that prevented specials from rendering on volumes tab.
* Potential fix for parsing Cyberpunk 2077
- Added a ComicsSeriesSpecialCasesRegex and passed any filename that contains "Cyberpunk 2077" over to it so we can parse it separately. This could be used for any other potential problem series.
* Revert "Potential fix for parsing Cyberpunk 2077"
This reverts commit a14417e640.
* Added more tests
* Refactored all places in Kavita to use Book, Issue, or Chapter depending on the Library type. Updated Volumes/Chapters to remove Volumes to make it cleaner.
* Removed some leftover test code
Co-authored-by: Joseph Milazzo <joseph.v.milazzo@gmail.com>
* Downgraded ExCSS, the new version has a regression that breaks toCss().
* Cleaned up the next/prev disabling to work more reliably.
Fixed an issue with double arrow on next not disappearing after hitting last page then going back one page.
* Cleaned up some css padding on the side nav progress bar
* Remove the ability to save
* Updated colors of nav bar and side drawer to be darker to separate them from the reader
* Fixed a missed element
* Removed dead code
* Removed TODO, it can't be changed
* Refactored bookmarking on the book progress to have pinpoint accuracy for remembering scroll position. Now will choose the top line on the page.
* Fixed a style issue when applying dark mode from light mode in book reader
* Implemented the ability to perform multi-selections on cards. Basic selection code is done, CSS needed and exposing actions.
* Implemented a bulk selection bar. Added logic to the card on when to force show checkboxes.
* Fixed some bad parsing groups and cases for Comic Chapters.
* Hooked up some bulk actions on series detail page. Not hooked up to backend yet.
* Fixes#593. URI Enocde library names as sometimes they can have & in them.
* Implemented the ability to mark volume/chapters as read/unread.
* Hooked up mark as unread with specials as well.
* Add to reading list hooked up for Series Detail
* Implemented ability to add multiple series to a reading list.
* Implemented bulk selection for series cards
* Added comments to the new code in ReaderService.cs
* Implemented proper styling on bulk operation bar and integrated for collections.
* Fixed an issue with shift clicking
* Cleaned up css of bulk operations bar
* Code cleanup
* Added trackby so when series scan event comes through, cards can update too
* Added chapter boundary toasts on book reader
* Handle closing the reader when in a reading list
* Somehow the trackby save didn't happen
* Fixed an issue where after opening a chapter info modal, then trying to open another in specials tab it would fail due to a pass by reference issue with our factory.
* When a series update occurs, if we loose specials tab, but we were on it, reselect volumes/chapters tab
* Fixed an issue where older releases would show as available, even though they were already installed.
* Converted tabs within modals to use vertical orientation (except on mobile)
* Implemented webp support. Only Safari does not support this format natively. MacOS users can use an alternative browser.
* Refactored ScannerService and MetadataService to be fully async
* Fixed an issue from perf tuning where I forgot to send Pages to frontend, breaking reader.
* Built out continuous reading for webtoon reader. Still has some issues with triggering.
* Refactored GetUserByUsernameAsync to have a new flavor and allow the caller to pass in bitwise flags for what to include. This has a get by username or id variant. Code is much cleaner and snappier as we avoid many extra joins when not needed.
* Cleanup old code from UserRepository.cs
* Refactored OPDS to use faster API lookups for User
* Refactored more code to be cleaner and faster.
* Refactored GetNext/Prev ChapterIds to ReaderService.
* Refactored Repository methods to their correct entity repos.
* Refactored DTOs and overall cleanup of the code.
* Added ability to press 'b' to bookmark a page
* On hitting last page, save progress forcing last page to be read. Adjusted logic for the top and bottom spacers for triggering next/prev chapter load
* When at top or moving between chapters, scrolling down then up will now trigger page load. Show a toastr to inform the user of a change in chapter (it can be really fast to switch)
* Cleaned up scroll code
* Fixed an issue where loading a chapter with last page bookmarked, we'd load lastpage - 1
* Fixed last page of webtoon reader not being resumed on loading said chapter due to a difference in how max page is handled between infinite scroller and manga reader.
* Removed some comments
* Book reader shouldn't look at left/right tap to paginate elems for position bookmarking. Missed a few areas for saving while in incognito mode
* Added a benchmark to test out a sort code
* Updated the read status on reading list to use same style as other places
* Refactored GetNextChapterId to bring the average response time from 1.2 seconds to 400ms.
* Added a filter to add to list when there are more than 5 reading lists
* Added download reading list (will be removed, just saving for later). Fixes around styling on reading lists
* Removed ability to download reading lists
* Tweaked the logic for infinite scroller to be much smoother loading next/prev chapter. Added a bug marker for a concurrency bug.
* Updated the top spacer so that when you hit the top, you stay at the page height and can now just scroll up.
* Got the logic for scrolling up. Now just need the CSS then cont infinite scroller will be working
* More polishing on infinite scroller
* Removed IsSpecial on volumeDto, which is not used anywhere.
* Cont Reading inf scroller edition is done.
* Code smells and fixed package.json explore script
# Added
- New: Cards when processing a download shows a spinner for the progress of the download
# Changed
- Changed: Downloads now always take the backend filename and are streamed in a more optimal manner, reducing the javascript processing that was needed previously.
==================================
* Started refactor of downloader to be more UX friendly and much faster.
* Completed refactor of Volume download to use a new mechanism. Downloads are streamed over and filename used exclusively from header. Backend has additional DB calls to get the Series Name information to make filenames nice.
* download service has been updated so all download functions use new event based observable. Duplicates code for downloading, but much cleaner and faster.
* Small code cleanup
# Added
- Added support for PDFs within Kavita. PDFs will open in the Manga reader and you can read through them as images. PDFs are heavier than archives, so they may take longer to open for reading. (Fixes#187)
# Changed
- Changed: Major change in how Kavita libraries work. Kavita libraries will now allow for mixed media types, that means you can have raw images, archives, epubs, and pdfs all within your Manga library. In the case that the same Series exists between 2 different types of medias, they will be separated and an icon will show to help you identify the types. The correct reader will open regardless of what library you are on. Note: Nightly users need to delete their Raw Images libraries before updating.
# Fixed
- Fixed: Fixed an issue where checking if a file was modified since last scan always returned true, meaning we would do more I/O than was needed (Fixes#415)
- Fixed: There wasn't enough spacing on the top menu bar on the Manga reader
- Fixed: Fixed a bug where user preferences dark mode control always showed true, even if you were not using dark mode
# Dev stuff
- For image extraction, if there is only 1 image we will extract just that, else we will extract only images
- Refactored all the Parser code out of the ScannerService into a self contained class. The class should be created for any scans, allowing multiple tasks to run without any chance of cross over.
* Fixed indentation for cs files
* Fixed an issue where the logic for if a file had been modified or not was not working and always saying modified, meaning we were doing more file I/O than needed.
* Implemented the ability to have PDF books. No reader functionality.
* Implemented a basic form of scanning for PDF files. Reworked Image based libraries to remove the need to separate in a special library and instead just work within the Manga/Comic library.
* Removed the old library types.
* Removed some extra code around old raw library types
* Fully implemented PDF support into Kavita by using docnet. Removed old libraries we tried that did not work. PDFs take about 200ms to save the file to disk, so they are much slower than reading archives.
* Refactored Libraries so that they can have any file extension and the UI will decide which reader to use.
* Reworked the Series Parsing code.
We now use a separate instance for each task call, so there should be no cross over if 2 tasks are running at the same time.
Second, we now store Format with the Series, so we can have duplicate Series with the same name, but a different type of files underneath.
* Fixed PDF transparency issues
- Used this code to fix an issue when a PDF page doesn't have a background. https://github.com/GowenGit/docnet/issues/8#issuecomment-538985672
- This also fixes the same issue for cover images
* Fixed an issue where if a raw image was in a directory with non-image files, those would get moved to cache when trying to open the file.
* For image extraction, if there is only 1 image, just copy that to cache instead of everything else in the directory that is an image.
* Add some spacing to the top menu bar
* Added an icon to the card to showcase the type of file
* Added a tag badge to the series detail page
* Fixed a bug in user preferences where dark mode control would default to true, even if you weren't on it
* Fixed some tests up
* Some code smells
Co-authored-by: Robbie Davis <robbie@therobbiedavis.com>
* Refactored library card to have a custom implemenation using icons rather than images. In addition, swapped out font awesome with official version.
* Replaced pull-right with float-right due to updated bootstrap version.
* Added a new section to admin dashboard
* Added some menu system for reader, fit to width, height or original. Temp hack to make background black.
* Ability to set nav bar completely off from some pages. Removed test case that isn't used.
* Restore nav bar after reading
* Implemented ability to delete a series directly and scan from a series.
* Implemented some basic prefetching capabilities (just next page) and implemented proper reading direction support with a toggle.
* Added a no connection route for if backend goes down. Removed go to page functionality as it isn't really needed and overly complicated.
* Implemented ability to track progress and view it at a series level
* Read status enhancements, cleaned up card code a bit, styling changes on nav bar dropdown, read or continue functionality for series detail page.
* Fixed a few bugs around registering and refactored APIs to match backend.
* Lots of cleanup of the code and TODOs. Improved responsiveness on series detail page.
* Missed some changes
* Implemented ability to rate a series. review text will come in v0.2.
* Reverted some debug code for reader menu always being open. Added loader to reader as well.
* Setup for building prod for releasing Kavita server.
* After we create an admin for first time flow, refresh page so they can login.
* Small change to help user get to server settings to setup libraries
* Implemented ability to save what tab you are on or link directly to tab for admin dashboard.
* Implemented ability to reset another users password. Tweaked how error interceptor reacted to OK messages.
* Implemented general settings. Have ability to change cache directory, but disabled on BE.
* Remove SSL
* Implemented Volume 0's for series detail.
* Compressed image-placeholder and implemented refresh metadata. Refresh metadata will update cover images while scan library will just fix matching, etc.
* Refactored for backened architectural changes. Fixed some bugs around read progress off by one.
* Fixed some styling around grid layout for volume then chapters.
* On unauthorized, force logout then redirect to login page.
* Don't throw multiple toasters when somthing goes wrong due to backend going down.
* Implemented the ability to see and update server settings.
* Implemented user preferences and ability to update them. Fixed a bug in production code such that API requests are made on current domain.
* Small fixes around the app and server setting for port.
* Fixed some styling to look better on mobile devices and overflow text to eclipse.
* Cleanup and implemented card details for Volume/Chapters.
* Small tweak to card details
* Mark as Read/unread on Volumes now implemented.
* Cleaned up some code, integrated user settings into manga reader, took care of some todos.
* Forgot to sort chapters
* Fixed issue in card details with string concatentation
* Updated the Manga Reader to be better looking and simplier (code) on Desktop devices.
* Added more responsive breakpoints for overlay to look much better on more screen sizes
* Some changes for tablet. Clear out localStorage that is older than 1 page of what you're reading.
* Fix bug for continuing where you last left off.
* Fixed a bug where continue reading didn't take into account chapters.
* Cleaned up imports and added autocomplete skeleton.
* Small UX enhancements
* Moved manga-reader into it's own module to lessen default package size
* Removed route guards from reader module as it is handled by parent module.
* Responsive pass through on Series Detail page.
* Cleaned up containers and tooltips.
* Tooltip for icon only buttons
* Library editor modal cleanup
* Implemented nav bar for directory picker.
* Removed console.log
* Implemented a basic search for Kavita. Along the way did some CSS changes and error interceptor messages are better.
* Implemented a re-usable base64 image that can be styled. Not as easy as using inline styling, but easy to use.
* View encapsulation off so we can easily size these images.
* Implemented typeahead search for nav bar.
* Fix a bug when route parameters change, the series detail page wasn't updating with new information
* Implemented page splitting
* Cleaned up Card Details and split into 2 separate versions with unified Look and Feel.
* Implemented ability to mark a series as read/unread.
* Implemented Jump to First/Last page functionality as shortcuts to goToPage.
* Implemented pagination on Library Detail page
* Restore scroll position to the top on page route change
* Not sure if this changes anything, but IDE doesn't complain
* Added a cutsom favicon and small tweak on UI for library pagination controls.
* Bugfix to take into account currently reading chapter for read/continue button
* Implemented user reviews
* Forgot to hook up one click handler
* Only admins can edit a series
* Implemented edit series page. Many fields are not yet supported for modification.
* Hooked in Edit Series into backend. Fixed an ngIf on edit review button.
* Switched over existing series info modal to use the new edit one.
* Partially implemented download logs. Removed some files not needed and trialing css changes on actions menu for card items.
* Integrated Jest for Unit Testing and added one test case. Will expand and integrate into work flow.
* Cleaned up some mobile breakpoint styles. Looks much better on a phone.
* A bit more css around phones to make reader menu useable.
* Removed series-card-detail since it's been replaced with edit-series-modal.
* Implemented save logs
* Small cleanup
* More responsive breakpoint tweaks for nav bar.
* Fetching logs is fixed
* Bugfix: Search bar was visible for non-authenticated users
* Implemented the ability to correct (manually) a series title and for it to persist between scans. Small QoL changes throughout codebase.
* Added some broken test setup.
* Disable comments must start with space lint rule.
* Fixed issue where tablets wouldn't be able to render all images.
* Migrated code off localStorage and used one api to get information about chapter.
* Cleaned up the code now that we are loading images differently.
* Use circular array to cache image requests so that we can ensure next image is instantaneously available.
* Some fixes around ensuring we don't prefetch when going back a page and ensuring prefetch doesn't fetch more pages than there are left.
* Fixed#70: When marking as read from volume level, completion was off by 1 thus series level didn't show as completed.
* Fixed#72. Missing an else statement which allowed another navigate to override the correct code. Refactored hasReadingProgress to be set in setContinuePoint
* Cleaned up the User button in nav bar to be cleaner
* Implemented a custom confirm/alert service so that I have complete control over style.
* Missed LGTM exception
* First pass at removing base64 strings for images and using lazy loaded binary file images.
* Only load images that are within view (scroll port)
* Not connected message needs more top margin
* Move image handling to it's own service. Add transition for loading images and some cleanup
* Misc cleanup
* Refactored action items to a factory
* Refactored the card item actionables into factory and moved actionable rendering into one component
* Added an optional btn class input to allow styling menu as a button.
* Implemented the ability to reset your individual password.
* Wrong reset after resetting password
* Don't let user set log level. Not sure it's possible to implement in ASP.NET
* Implemented a carousel for streams component. Still needs some CSS and tweaking. Added some temp API endpoints for streams. Fixed a bug where after editing name on series underlying card didn't reflect.
* Everything but the css is done
* CSS done. Carousel components implemented
* More CSS stuff
* Small css change
* Some cleanup on code
* Add aria-hidden="true" on icons
* Fixed css issue due to missing class
* Made scrolling carousel feel better on more screen sizes
* Fixed bug where confirm default buttons would all be cancel.
* Replaced placeholder image with a kavita placeholder. Added a theme folder for standardizing colors. Cleaned up some css here and there.
* Removed a dependency no longer needed. Implemented history based pagination for library detail page.
* Changed MangaFile numberOfPages to Page to match with new migration
* Fixed issue where if no chapters, we were just doing console.error instead of informing the user (should never happen)
* Add a todo for a future feature
* Implemented loading on series-detail volume section and fixed an issue where the whole series is just one volume and it's a special aka we can't parse vol/chapter from it, so it renders appropriately
* Fixed a rare issue where split pages would quickly flash both sides due to previously that page being fetched via onload and thus when render called, render got recalled.
* Fixed an off by 1 issue due to the fact that reading is 0-based and everything else is 1 based. (#94)
* Fixed an off by 1 issue due to the fact that reading is 0-based and everything else is 1 based. (#94) (#95)
* Fixed an issue where special case that handles no volumes was showing also when chapters also existed. Renamed "Chapter 0" as "Specials" (#96)
* Bugfixes! (#99)
* Fixed an issue where special case that handles no volumes was showing also when chapters also existed. Renamed "Chapter 0" as "Specials"
* Fixed a typo resulting in pages not rendering on edit series modal. Ensure chapters are sorted on edit series and card details modal.
* Fixed the date format showing days before months.
* Fixed a bug with scrollable modals for context info modals.
* Fixed a bug where adding a folder to a library added a / before the path, thus breaking on linux. (#101)
* Bugfixes (#103)
* Fixed an issue where special case that handles no volumes was showing also when chapters also existed. Renamed "Chapter 0" as "Specials"
* Fixed a typo resulting in pages not rendering on edit series modal. Ensure chapters are sorted on edit series and card details modal.
* Fixed the date format showing days before months.
* Fixed a bug with scrollable modals for context info modals.
* Last modified on chapters didn't really s how well and made no sense to show, removed it.
* Preparing for feature
* CSS adjustment for admin dashboard
* First flow, ensure we go directly to library tab
* When a user registers for first time, put them on login instead of relying on home page redirection.
* Fixed an issue with directory picker where the path separators didn't work for both linux and windows systems.
* Implement comic support (#104)
* Implement comic support
* Any disabled controls should show not-allowed pointer.
* Fixed a scroll bug on modal
* On connection lost, restore to previous page (#106)
* Implement comic support
* Any disabled controls should show not-allowed pointer.
* Fixed a scroll bug on modal
* If the server goes down between sessions and we go to not-connected page, try to restore previous route when connection regained.
* Fixed an issue where context menus weren't resetting when an admin logs out and a new non-admin logs in. (#108)
* Error Cards (#110)
* Fixed an issue where context menus weren't resetting when an admin logs out and a new non-admin logs in.
* Implemented a marker to inform the user that some archives can't be parsed.
* Don't show scrollbar if we don't have enough height to overflow
* Shows an error card when the underlying archive could not be read at all.
* Changed the card up
* Special grouping (#115)
* Implemented splitting specials into their own section for individual reading. Requires up to date backend for db changes.
* Cleaned up the code
* Replace underscores on specials if they exist. A simple name cleaning.
* Lots of Fixes (#126)
* Fixed After editing a user's library access, the Sharing details aren't updating without a refresh #116
* Fixed Series Summary & Review do not respect newline characters #114
* Default to non-specials tab and don't destroy DOM between tab changes
* Align UI api with backend
* Library icon should be "manga" for comic and Manga
* Fixed Mark Series as Read in series detail page doesn't update the volume/chapter cards unless page is refreshed. #118
* Fixed Defect: 2 Split pages in a row causes second page to not split #112
* Fixed an issue if last page is a splitpage, we wouldn't be able to see the other side of the split.
* When jumping to begining and end and both first page and last page are splitpages, make sure we set the paging direction so user can view both pages.
* Make sure we take into account splits when we try jump to first page then try to go "back" to the other split.
* Cleaned up split code a bit
* Fixed Go to Page is off by one #124
* Fixed Read button is showing continue when a show doesn't have any progress on it #121
* Implemented Read more component (Fixes#117)
* Fixed a bug in gotopage where if you went to maxPages or greater, we would always - 1 from page number.
* Forgot to commit this for Readmore component
* tslint cleanup
* Implemented Refactor Review to be bound to the star control rather than having a text review so the user can review without rating. #125
* Fixes#119 - 0 Volumes with 0 chapters were showing as specials, but should be in the special tab.
* Fixed an issue from reverting scanSeries code.
* Handle specials with a little more care
* Fixed#138. Search wasn't showing localizedName due to a rendering issue.
* Fixed an issue where L2R didn't handle multiple split pages in a row.
* Code smells
* Ensure we wipe context actions for library between login/logouts
* Fixed loading series after marking searies unread/read (#135)
* Removed isSpecial from volume (#137)
* Bugfix/gotopage (#139)
* Fixed#138
* Fixed#131 - getStem no longer removes the substring if lastPath is same as path.
* Implements Issue #129 - There is now a close book button on the menu
* Book Support (#141)
* Refactored Library Type dropdown to use an API so UI/Backend is in sync.
* Implemented the ability to load the book reader
* Book support but none of this works. Just here to keep track as I switch to other bugs
* Basic iframe implementation is now working
* Needed changes to load the content into native div rather than via iframe.
* We now have the ability to customize how we render the text.
* Removed console.log
* Implemented the ability to loadpages from remapped anchors from backend.
* Removed epubjs references and implemented table of contents api.
* Code now works for chapters with nested chapters
* Lots of changes, most of the reader is half baked, but foundation is there.
* Changed styles up a bit
* Implemented the ability to scroll to a part within a book. Added a custom font to test out.
* Show active page with a bolding when there are nested chapters
* Chapter group titles are now clickable
* Added the ability to set top offset in drawer
* Finally got style overrides to work and some other stuff
* User can now toggle menu with space
* Ensure styles don't leak. Drawer bottom was cutoff. On phone devices, default margins should be 0%.
* Use smooth scrolling when navigating between pages with scroll offset
* Added some code for checking when all images on page are loaded, added a fade in animation (doesnt work) and some media queries for top bar.
* Refactored all data structures in application into shared module
* CSS changes
* Fixed part selector query due to improper ids, now we use a more robust query type. Implemented a stack for adhoc clicks, so user can explore a bit but pagination is based on current page.
* Reverted sidenav changes. Fixed scrollTo to be more reliable with how the content comes into view.
* When you make an adhoc link jump, we now restore page and scroll position.
* Hooked in basic preferences for books and force margin settings for mobile devices.
* Book overrides now work all the time. Added a bunch of fonts for users to try out.
* Added all font faces
* A bit hacky, but darkMode now works for the reader.
* Remove styles on destroy
* First time users will have their menu open automatically
* Book format now shows on card details modal
* changed how margin updates to make more sense
* Fixed flashing by applying an opacity transition on page change.
* Code cleanup
* Reverted changes to unify series-detail page. Added some extra accessibility for book reader.
* Implement the ability to close drawer by clicking into the reader area
* Don't let the user page past where they should be able to
* Allow user to see the underlying values of customizations and when they save them, actually reset to their preferences
* Responsive top for sticky header
* Code smells
* Implemented the ability to update book settings from user settings
* code smells
* Code smells and max/mins on reader should match the user pref area
* Feature/feats and fixes (#144)
* In case a migration is poorly implemented, default on first load of bookreader.
* If there is no table of contents in epub file, inform the user
* Fixed#143 by ensuring we properly flatten the correct property when catching errors.
* Fixed#140. Search bar in nav is now more responsive than ever and properly scales down to even the smallest phone sizes (less than 300px)
* For Cards, moved the action menu into the bottom area, added Library link that said series belongs to.
* Added library to the series detail card
* Implemented the ability to automatically scale the manga reader based on screen size.
* Fix code smells
* Feature/feats and fixes (#146)
* In case a migration is poorly implemented, default on first load of bookreader.
* If there is no table of contents in epub file, inform the user
* Fixed#143 by ensuring we properly flatten the correct property when catching errors.
* Fixed#140. Search bar in nav is now more responsive than ever and properly scales down to even the smallest phone sizes (less than 300px)
* For Cards, moved the action menu into the bottom area, added Library link that said series belongs to.
* Added library to the series detail card
* Implemented the ability to automatically scale the manga reader based on screen size.
* Fix code smells
* Use margin-top instead of top for offsetting top
* Add a little extra spacing just in case
* Updated carousel to use a swpier
* Increased the budget and changed how vendor module is created
* Added some todos
* Implemented the ability to suppress library link on cards
* Fixed an issue with top offset for reading section
* Added the action bar to the bottom when user scrolls all the way down (Feedback)
* Added in a skip to content link for top nav
* After performing an action on library page, refresh the data on page.
* Implemented the ability to refresh metadata of a single series directly
* Implemented a progress bar for reading and a go to page by clicking the progress bar
* Only show the bottom action bar when there is a scrollbar
* Implemented the ability to tap the sides of book reader to paginate
* Book Feedback and Fixes (#147)
* In case a migration is poorly implemented, default on first load of bookreader.
* If there is no table of contents in epub file, inform the user
* Fixed#143 by ensuring we properly flatten the correct property when catching errors.
* Fixed#140. Search bar in nav is now more responsive than ever and properly scales down to even the smallest phone sizes (less than 300px)
* For Cards, moved the action menu into the bottom area, added Library link that said series belongs to.
* Added library to the series detail card
* Implemented the ability to automatically scale the manga reader based on screen size.
* Fix code smells
* Use margin-top instead of top for offsetting top
* Add a little extra spacing just in case
* Updated carousel to use a swpier
* Increased the budget and changed how vendor module is created
* Added some todos
* Implemented the ability to suppress library link on cards
* Fixed an issue with top offset for reading section
* Added the action bar to the bottom when user scrolls all the way down (Feedback)
* Added in a skip to content link for top nav
* After performing an action on library page, refresh the data on page.
* Implemented the ability to refresh metadata of a single series directly
* Implemented a progress bar for reading and a go to page by clicking the progress bar
* Only show the bottom action bar when there is a scrollbar
* Implemented the ability to tap the sides of book reader to paginate
* Cleaned up carousel and fixed breakpoints so we always at least show 2 cards.
* Cleaned up menu for manga reader and changed how automatic scaling works, based on ratio of width to height rather than raw numbers.
* Fixed an issue where using left/right keys on book reader wouldn't behave like clicking left/right pagination buttons.
* Dark mode and click to paginate was conflicting. The hint overlay still doesn't work when dark mode is on.
* Book Feedback (#148)
* In case a migration is poorly implemented, default on first load of bookreader.
* If there is no table of contents in epub file, inform the user
* Fixed#143 by ensuring we properly flatten the correct property when catching errors.
* Fixed#140. Search bar in nav is now more responsive than ever and properly scales down to even the smallest phone sizes (less than 300px)
* For Cards, moved the action menu into the bottom area, added Library link that said series belongs to.
* Added library to the series detail card
* Implemented the ability to automatically scale the manga reader based on screen size.
* Fix code smells
* Use margin-top instead of top for offsetting top
* Add a little extra spacing just in case
* Updated carousel to use a swpier
* Increased the budget and changed how vendor module is created
* Added some todos
* Implemented the ability to suppress library link on cards
* Fixed an issue with top offset for reading section
* Added the action bar to the bottom when user scrolls all the way down (Feedback)
* Added in a skip to content link for top nav
* After performing an action on library page, refresh the data on page.
* Implemented the ability to refresh metadata of a single series directly
* Implemented a progress bar for reading and a go to page by clicking the progress bar
* Only show the bottom action bar when there is a scrollbar
* Implemented the ability to tap the sides of book reader to paginate
* Cleaned up carousel and fixed breakpoints so we always at least show 2 cards.
* Cleaned up menu for manga reader and changed how automatic scaling works, based on ratio of width to height rather than raw numbers.
* Fixed an issue where using left/right keys on book reader wouldn't behave like clicking left/right pagination buttons.
* Dark mode and click to paginate was conflicting. The hint overlay still doesn't work when dark mode is on.
* Fixed issue where errors from login flow would not throw a toastr
* Moved the progress bar and go to page into the side drawer to be less distracting when reading
* Removed console.logs
* Cleaned up styles on slider to be closer to size of cards
* Fixed an issue with swiper not allowing use of touch (#149)
* Fixed in progress by on last page incrementing to maxPages itself, thus ensuring it matches the sum of pages. (#151)
* Bugfix/in progress (#156)
* Fixed in progress by on last page incrementing to maxPages itself, thus ensuring it matches the sum of pages.
* Actually fix in progress by only incrementing page num on bookmark when we are on the last page
* Impleents tap to paginate user setting. (#157)
* Feature/manga reader (#160)
* Implemented pressing G to open go to page. Enhanced the dialog to give how many pages you can go to. On page splitting button press, if the current page needs splitting, we will re-render with the new option.
* Added gotopage shortcut key for book reader
* Setup for new feature
* Swiper now respects card sizes
* Fixes#51 and updates dependencies for security vulnerabilities
* Implemented back to top button
* Remove the - 1 hack from series-detail
* Remove hack from carad item
* Fix a regression where book reader would +1 pageNum for bookmarking on last page, but because books don't start at 0 for page nums, it isn't necessariy
* Implemented the ability to move between volumes automatically
* Additional security fix
* Code smells
* Cleaned up the implementation to properly prevent pagination when loading next chapter/volume
* v0.4 Last touches (#162)
* PurgeCSS integration
* Changed some icons to have titles
* Automatic scaling changes
* Removed 2 font families that didn't make the release cut. Fixed an off by 1 regression with setContinuePoint
* Backed out purge css after testing
* Some cleanup of the package
* Automatic scaling adjustments
* Bugfix/release shakeout (#164)
* Fixed body color not being reset due to capturing it too late
* Removed some dead code
* v0.4 merge to stable (#165)
* Fixed an off by 1 issue due to the fact that reading is 0-based and everything else is 1 based. (#94)
* Fixed an issue where special case that handles no volumes was showing also when chapters also existed. Renamed "Chapter 0" as "Specials" (#96)
* Bugfixes! (#99)
* Fixed an issue where special case that handles no volumes was showing also when chapters also existed. Renamed "Chapter 0" as "Specials"
* Fixed a typo resulting in pages not rendering on edit series modal. Ensure chapters are sorted on edit series and card details modal.
* Fixed the date format showing days before months.
* Fixed a bug with scrollable modals for context info modals.
* Fixed a bug where adding a folder to a library added a / before the path, thus breaking on linux. (#101)
* Bugfixes (#103)
* Fixed an issue where special case that handles no volumes was showing also when chapters also existed. Renamed "Chapter 0" as "Specials"
* Fixed a typo resulting in pages not rendering on edit series modal. Ensure chapters are sorted on edit series and card details modal.
* Fixed the date format showing days before months.
* Fixed a bug with scrollable modals for context info modals.
* Last modified on chapters didn't really s how well and made no sense to show, removed it.
* Preparing for feature
* CSS adjustment for admin dashboard
* First flow, ensure we go directly to library tab
* When a user registers for first time, put them on login instead of relying on home page redirection.
* Fixed an issue with directory picker where the path separators didn't work for both linux and windows systems.
* Implement comic support (#104)
* Implement comic support
* Any disabled controls should show not-allowed pointer.
* Fixed a scroll bug on modal
* On connection lost, restore to previous page (#106)
* Implement comic support
* Any disabled controls should show not-allowed pointer.
* Fixed a scroll bug on modal
* If the server goes down between sessions and we go to not-connected page, try to restore previous route when connection regained.
* Fixed an issue where context menus weren't resetting when an admin logs out and a new non-admin logs in. (#108)
* Error Cards (#110)
* Fixed an issue where context menus weren't resetting when an admin logs out and a new non-admin logs in.
* Implemented a marker to inform the user that some archives can't be parsed.
* Don't show scrollbar if we don't have enough height to overflow
* Shows an error card when the underlying archive could not be read at all.
* Changed the card up
* Special grouping (#115)
* Implemented splitting specials into their own section for individual reading. Requires up to date backend for db changes.
* Cleaned up the code
* Replace underscores on specials if they exist. A simple name cleaning.
* Lots of Fixes (#126)
* Fixed After editing a user's library access, the Sharing details aren't updating without a refresh #116
* Fixed Series Summary & Review do not respect newline characters #114
* Default to non-specials tab and don't destroy DOM between tab changes
* Align UI api with backend
* Library icon should be "manga" for comic and Manga
* Fixed Mark Series as Read in series detail page doesn't update the volume/chapter cards unless page is refreshed. #118
* Fixed Defect: 2 Split pages in a row causes second page to not split #112
* Fixed an issue if last page is a splitpage, we wouldn't be able to see the other side of the split.
* When jumping to begining and end and both first page and last page are splitpages, make sure we set the paging direction so user can view both pages.
* Make sure we take into account splits when we try jump to first page then try to go "back" to the other split.
* Cleaned up split code a bit
* Fixed Go to Page is off by one #124
* Fixed Read button is showing continue when a show doesn't have any progress on it #121
* Implemented Read more component (Fixes#117)
* Fixed a bug in gotopage where if you went to maxPages or greater, we would always - 1 from page number.
* Forgot to commit this for Readmore component
* tslint cleanup
* Implemented Refactor Review to be bound to the star control rather than having a text review so the user can review without rating. #125
* Fixes#119 - 0 Volumes with 0 chapters were showing as specials, but should be in the special tab.
* Fixed an issue from reverting scanSeries code.
* Handle specials with a little more care
* Fixed#138. Search wasn't showing localizedName due to a rendering issue.
* Fixed an issue where L2R didn't handle multiple split pages in a row.
* Code smells
* Ensure we wipe context actions for library between login/logouts
* Fixed loading series after marking searies unread/read (#135)
* Removed isSpecial from volume (#137)
* Bugfix/gotopage (#139)
* Fixed#138
* Fixed#131 - getStem no longer removes the substring if lastPath is same as path.
* Implements Issue #129 - There is now a close book button on the menu
* Book Support (#141)
* Refactored Library Type dropdown to use an API so UI/Backend is in sync.
* Implemented the ability to load the book reader
* Book support but none of this works. Just here to keep track as I switch to other bugs
* Basic iframe implementation is now working
* Needed changes to load the content into native div rather than via iframe.
* We now have the ability to customize how we render the text.
* Removed console.log
* Implemented the ability to loadpages from remapped anchors from backend.
* Removed epubjs references and implemented table of contents api.
* Code now works for chapters with nested chapters
* Lots of changes, most of the reader is half baked, but foundation is there.
* Changed styles up a bit
* Implemented the ability to scroll to a part within a book. Added a custom font to test out.
* Show active page with a bolding when there are nested chapters
* Chapter group titles are now clickable
* Added the ability to set top offset in drawer
* Finally got style overrides to work and some other stuff
* User can now toggle menu with space
* Ensure styles don't leak. Drawer bottom was cutoff. On phone devices, default margins should be 0%.
* Use smooth scrolling when navigating between pages with scroll offset
* Added some code for checking when all images on page are loaded, added a fade in animation (doesnt work) and some media queries for top bar.
* Refactored all data structures in application into shared module
* CSS changes
* Fixed part selector query due to improper ids, now we use a more robust query type. Implemented a stack for adhoc clicks, so user can explore a bit but pagination is based on current page.
* Reverted sidenav changes. Fixed scrollTo to be more reliable with how the content comes into view.
* When you make an adhoc link jump, we now restore page and scroll position.
* Hooked in basic preferences for books and force margin settings for mobile devices.
* Book overrides now work all the time. Added a bunch of fonts for users to try out.
* Added all font faces
* A bit hacky, but darkMode now works for the reader.
* Remove styles on destroy
* First time users will have their menu open automatically
* Book format now shows on card details modal
* changed how margin updates to make more sense
* Fixed flashing by applying an opacity transition on page change.
* Code cleanup
* Reverted changes to unify series-detail page. Added some extra accessibility for book reader.
* Implement the ability to close drawer by clicking into the reader area
* Don't let the user page past where they should be able to
* Allow user to see the underlying values of customizations and when they save them, actually reset to their preferences
* Responsive top for sticky header
* Code smells
* Implemented the ability to update book settings from user settings
* code smells
* Code smells and max/mins on reader should match the user pref area
* Feature/feats and fixes (#144)
* In case a migration is poorly implemented, default on first load of bookreader.
* If there is no table of contents in epub file, inform the user
* Fixed#143 by ensuring we properly flatten the correct property when catching errors.
* Fixed#140. Search bar in nav is now more responsive than ever and properly scales down to even the smallest phone sizes (less than 300px)
* For Cards, moved the action menu into the bottom area, added Library link that said series belongs to.
* Added library to the series detail card
* Implemented the ability to automatically scale the manga reader based on screen size.
* Fix code smells
* Feature/feats and fixes (#146)
* In case a migration is poorly implemented, default on first load of bookreader.
* If there is no table of contents in epub file, inform the user
* Fixed#143 by ensuring we properly flatten the correct property when catching errors.
* Fixed#140. Search bar in nav is now more responsive than ever and properly scales down to even the smallest phone sizes (less than 300px)
* For Cards, moved the action menu into the bottom area, added Library link that said series belongs to.
* Added library to the series detail card
* Implemented the ability to automatically scale the manga reader based on screen size.
* Fix code smells
* Use margin-top instead of top for offsetting top
* Add a little extra spacing just in case
* Updated carousel to use a swpier
* Increased the budget and changed how vendor module is created
* Added some todos
* Implemented the ability to suppress library link on cards
* Fixed an issue with top offset for reading section
* Added the action bar to the bottom when user scrolls all the way down (Feedback)
* Added in a skip to content link for top nav
* After performing an action on library page, refresh the data on page.
* Implemented the ability to refresh metadata of a single series directly
* Implemented a progress bar for reading and a go to page by clicking the progress bar
* Only show the bottom action bar when there is a scrollbar
* Implemented the ability to tap the sides of book reader to paginate
* Book Feedback and Fixes (#147)
* In case a migration is poorly implemented, default on first load of bookreader.
* If there is no table of contents in epub file, inform the user
* Fixed#143 by ensuring we properly flatten the correct property when catching errors.
* Fixed#140. Search bar in nav is now more responsive than ever and properly scales down to even the smallest phone sizes (less than 300px)
* For Cards, moved the action menu into the bottom area, added Library link that said series belongs to.
* Added library to the series detail card
* Implemented the ability to automatically scale the manga reader based on screen size.
* Fix code smells
* Use margin-top instead of top for offsetting top
* Add a little extra spacing just in case
* Updated carousel to use a swpier
* Increased the budget and changed how vendor module is created
* Added some todos
* Implemented the ability to suppress library link on cards
* Fixed an issue with top offset for reading section
* Added the action bar to the bottom when user scrolls all the way down (Feedback)
* Added in a skip to content link for top nav
* After performing an action on library page, refresh the data on page.
* Implemented the ability to refresh metadata of a single series directly
* Implemented a progress bar for reading and a go to page by clicking the progress bar
* Only show the bottom action bar when there is a scrollbar
* Implemented the ability to tap the sides of book reader to paginate
* Cleaned up carousel and fixed breakpoints so we always at least show 2 cards.
* Cleaned up menu for manga reader and changed how automatic scaling works, based on ratio of width to height rather than raw numbers.
* Fixed an issue where using left/right keys on book reader wouldn't behave like clicking left/right pagination buttons.
* Dark mode and click to paginate was conflicting. The hint overlay still doesn't work when dark mode is on.
* Book Feedback (#148)
* In case a migration is poorly implemented, default on first load of bookreader.
* If there is no table of contents in epub file, inform the user
* Fixed#143 by ensuring we properly flatten the correct property when catching errors.
* Fixed#140. Search bar in nav is now more responsive than ever and properly scales down to even the smallest phone sizes (less than 300px)
* For Cards, moved the action menu into the bottom area, added Library link that said series belongs to.
* Added library to the series detail card
* Implemented the ability to automatically scale the manga reader based on screen size.
* Fix code smells
* Use margin-top instead of top for offsetting top
* Add a little extra spacing just in case
* Updated carousel to use a swpier
* Increased the budget and changed how vendor module is created
* Added some todos
* Implemented the ability to suppress library link on cards
* Fixed an issue with top offset for reading section
* Added the action bar to the bottom when user scrolls all the way down (Feedback)
* Added in a skip to content link for top nav
* After performing an action on library page, refresh the data on page.
* Implemented the ability to refresh metadata of a single series directly
* Implemented a progress bar for reading and a go to page by clicking the progress bar
* Only show the bottom action bar when there is a scrollbar
* Implemented the ability to tap the sides of book reader to paginate
* Cleaned up carousel and fixed breakpoints so we always at least show 2 cards.
* Cleaned up menu for manga reader and changed how automatic scaling works, based on ratio of width to height rather than raw numbers.
* Fixed an issue where using left/right keys on book reader wouldn't behave like clicking left/right pagination buttons.
* Dark mode and click to paginate was conflicting. The hint overlay still doesn't work when dark mode is on.
* Fixed issue where errors from login flow would not throw a toastr
* Moved the progress bar and go to page into the side drawer to be less distracting when reading
* Removed console.logs
* Cleaned up styles on slider to be closer to size of cards
* Fixed an issue with swiper not allowing use of touch (#149)
* Fixed in progress by on last page incrementing to maxPages itself, thus ensuring it matches the sum of pages. (#151)
* Bugfix/in progress (#156)
* Fixed in progress by on last page incrementing to maxPages itself, thus ensuring it matches the sum of pages.
* Actually fix in progress by only incrementing page num on bookmark when we are on the last page
* Impleents tap to paginate user setting. (#157)
* Feature/manga reader (#160)
* Implemented pressing G to open go to page. Enhanced the dialog to give how many pages you can go to. On page splitting button press, if the current page needs splitting, we will re-render with the new option.
* Added gotopage shortcut key for book reader
* Setup for new feature
* Swiper now respects card sizes
* Fixes#51 and updates dependencies for security vulnerabilities
* Implemented back to top button
* Remove the - 1 hack from series-detail
* Remove hack from carad item
* Fix a regression where book reader would +1 pageNum for bookmarking on last page, but because books don't start at 0 for page nums, it isn't necessariy
* Implemented the ability to move between volumes automatically
* Additional security fix
* Code smells
* Cleaned up the implementation to properly prevent pagination when loading next chapter/volume
* v0.4 Last touches (#162)
* PurgeCSS integration
* Changed some icons to have titles
* Automatic scaling changes
* Removed 2 font families that didn't make the release cut. Fixed an off by 1 regression with setContinuePoint
* Backed out purge css after testing
* Some cleanup of the package
* Automatic scaling adjustments
* Bugfix/release shakeout (#164)
* Fixed body color not being reset due to capturing it too late
* Removed some dead code
* Implemented dark mode (#166)
* Implemented dark mode
* Bump version to v0.4.1, moved dark styles to own stylesheet (some files need dark overrides) and ensured all pages are styled correctly.
* Switched the code over to use bootstrap theme with Kavita color
* Bugfix/manga issues (#169)
* Fixes#168
* Fixed a bug on the manga reader that caused the background color to inherit from body rather than be forced black.
Fixed an issue where a long filename on a phone could make it hard to close menu once open.
* Sentry Integration (#170)
* Basic version of sentry is implemented
* Enhanced continuous reading to show a warning when we couldn't find the next reading point. This will also short circuit after the first warning is shown
* Implemented Sentry. Currently src maps aren't uploading
* Bugfixes/misc (#174)
* Fixes#171
* Ensure btn-information is properly styled in dark mode
* no trace sampling for UI
* Fixed an issue where when we had no read progress, when choosing firs… (#176)
* Fixed an issue where when we had no read progress, when choosing first volume, we'd use first chapter, but sometimes chapters wouldn't be ordered.
* Code smell
* Collection Support (#179)
* Home button should go to library page, so we can use back and return to where we clicked from.
* Implemented Collection Support
* Fixed an issue for search in nav bar in darkmode
* Move loading to the top of the book reader
* Added DOMHelper to help with accessibility
* Implemented a re-usable layout component for all card layout screens. Handles pagination.
* Fixes#175
* Additional RBS check for tags where the tag fragment is invalid or there are no libraries that a user has access to
* Introduced an edit collection tag modal and actionables for collection tags.
* Bump version of Sentry SDK.
* Ability to remove series from a tag in a bulk manner.
* Continue Reading Regression (#186)
* Added a dark placeholder image for dark mode and hooked it up to Image service to load correct placeholder
* Fixed#181. Rewrote the continue logic to only check chapters and removed the concept of volumes (since every volume has a chapter). Opening a volume now does it's own check if there is progress on the volume, it will open to where the user left off. Otherwise, it will grab the first chapter and start at the beginning.
* Added dark error placeholder image (#187)
* Bugfix/misc (#188)
* Fixed an issue where carousel series cards scan library would kick off for wrong library id.
* Refactored the tab code to be dynamic based on the volume/chapter/specials of the data. The correct tab will be default selected and tabs that don't need to exist wont.
* Some css adjustments for typeaheads
* Move the loader out of the action bar so if settings menu is open when navigating pages, the math doesn't break
* Fixed a bug where highlight wasn't updating correctly when we type or after we add a tag via keyboard
* Fix an exception when tags are null (due to a bug in release)
* Accessibility bugs
* Collection Tweaks (#190)
* Fixed an issue where carousel series cards scan library would kick off for wrong library id.
* Refactored the tab code to be dynamic based on the volume/chapter/specials of the data. The correct tab will be default selected and tabs that don't need to exist wont.
* Some css adjustments for typeaheads
* Move the loader out of the action bar so if settings menu is open when navigating pages, the math doesn't break
* Fixed a bug where highlight wasn't updating correctly when we type or after we add a tag via keyboard
* Fix an exception when tags are null (due to a bug in release)
* Accessibility bugs
* Fixed#189 and cleaned up series pagination.
* Major cleanup of the typeahead code. One bug remaining
* Fixed highlight issue
* Fixed#183. When using continuous manga reading, moving to another chapter within the reader now updates the url. (#191)
* Book Parity: Reading direction for books (#192)
* Fixed pagination issue on library-detail
* Implemented left to right/right to left reading mode in book reader
* feat: remove Webtoon option from Library Types (#194)
#251
* Book Reading Progress Enhancement (#196)
* Implemented the ability to bookmark and restore reading progress (scroll) for books.
* Check to make sure we have something to search before we perform a querySelectorAll
* Don't reload a page when we've hit the boundaries of min/max pages and are trying to spam left/right key.
* Fixed a bug where if kavita-part marker was on the same page, the conditional was always true, meaning that when it was on a different one, we wouldn't load it up.
* Bugfix/tab refactor (#197)
* Fixed a logic bug which hid the specials tab too aggressively
* Unsubscribe from observables on destroy of account service
* Recently Added Page (#198)
* Recently Added Page
* Changed default pagination to 30
* Update to CSS for homepage section title links (#201)
* Update to CSS for homepage section title links
* Adding :active and :focus selectors
- :active for accessibility best practice and UX.
- :focus for mobile.
* Fixed#202 - Scope list item hover styles in darkmode to only typeahead (#204)
* Double Flashing Fix (#206)
* Fixed#202 - Scope list item hover styles in darkmode to only typeahead
* Fixed#199 - Flickering when paginating
* Fixed an issue with Continue Reading not working after manually updating a volume with multiple chapters as read/unread (#211)
* Directory Picker UX Enhancements (#214)
* Added a filter and some css to the directory picker to make it more useable
* Fixed a bug where last goBack didn't reload the disks and kept the directories from the last selected node.
* Allow user to change port (#215)
* Allow the admin to configure the log level from the UI. Add a warning informing them restart is required for port and log level. (#217)
* Cleaned up some console.logs and tweaked the logic of scroll position remembering. Now the side nav chapter list will show what part you are on (if applicable). (#220)
* Specials Sort (#223)
* Implemented a natural sort (same as BE) to sort the specials so the order isn't completely random
* Added ability to push source maps tagged to a release on push to main and develop (#219)
* Create Library Feedback (#224)
# Added
- Library type and number of folders shared is now visible on Manage Libraries page
# Changed
- Directory Picker will now let you share the current folder from any time in the picker flow
- Headings are now consistent between User Preferences and Admin screen
* Fixing folder structure for sentry github action (#225)
* Updating workflow environment (#226)
Sentry workflow was giving an error: "Error: Container action is only supported on Linux"
* Fixing build dist path for sentry (#227)
* Updating workflow environment
Sentry workflow was giving an error: "Error: Container action is only supported on Linux"
* update build dist path for sentry
* fix: unable to select lib type when creating a new lib (#231)
* fix: unable to select lib type when creating a new lib
fixed#230
* fix: able to change lib type after it's creation
* Download Support (#229)
* Implemented the ability to download series/chapter/volume from server. Uses RBS to determine if a user can or cannot download.
* Safety Checks (#233)
* Fixes a safety check from Sentry ANGULAR-1Z
* Fixed a build issue from downloading branch
* Fix/234 235 login redirection and dark theme not working (#236)
* fix: login redirection not happening
#234
* fix: dark theme not working after logout
#235
* Remove SP marker from specials and also remove extension from specials. (#238)
* Remove SP marker from specials and also remove extension from specials.
* Sort first so we can take advantage of the SP number
* Error Handling Rework (#237)
* Updated ngx-toastr version (includes new styles), updated style.scss to be cleaner. Began adding Title service for accessibility.
* Reworked error interceptor and toastr service to reduce duplicates and properly show errors.
Co-authored-by: Milazzo, Joseph (jm520e) <jm520e@us.att.com>
* Fixed a prod only issue due to multi: true for provider (#243)
* Feat/usage stats collection (#245)
* feat: add client anonymous data collection
* fix: sonar issues
* Implemented a server setting to opt-out of usage collection
Co-authored-by: Joseph Milazzo <joseph.v.milazzo@gmail.com>
* Book Progress Enhancements (#250)
* Implemented the ability to bookmark any part of the book, not just the chapter parts
* Added total pages label to the book reader
* Manga Reader Redesign + Webtoon Reader (#247)
# New
- Bottom drawer has a scroller to jump to pages, jump to first/last page, and jump between volume/chapters.
- Quick actions easily available to change reading direction, change reader mode, color tones, and access extended settings
- Extended settings area for settings unlikely changed
- Ability to auto close menu (setting)
- Ability to apply extra darkness or a sepia tone to reduce blue light
- New reader modes: Left/Right, Up/Down, Webtoon (scroll up and down)
- Information about the volume/chapter you are reading is now showed in the top drawer
# Changed
- When applying reader modes or reading directions, the clickable areas will now show an overlay to help you understand where to click.
- Image scaling and Image splitting now show some contextual icons to help the user understand what they do
- Close book button is now in the top drawer menu
* Bugfix/toastr css updates (#249)
* CSS Updates
- Removed BS4 toastr styles
- Reinstituted default non-BS4 toastr styles
- Centered login (accounting for header)
- Adjusted the carousel section heading font-size.
- Added a small padding (5px) on top of the padding for the nav, so the text isn't so close to the nav.
* Login refresh & toaster styles
- Added new font for login
- Updated login styles
- Hide nav bar on logout
- show nav bar on login
- Added images for new login
- dark styles for login
- dark styles for toastr
* minified images
* sonar bug fix
* updating style url for minified asset
* Fixes and code smells
- fix for login bg image showing up elsewhere
- fix for code smells
- added font family to nav bar
* Fixed missing label/input linking
* resized, compressed, and minified bg image
- change opacity to dark mode login
* Changed Spartan font files to variable weight
* Change requests
- Added font license
- Renamed image used for login bg
- Fixed path in styles where above file was used
- Removed now unused bs4 toastr style import
Co-authored-by: Joseph Milazzo <joseph.v.milazzo@gmail.com>
* Fix a bad version number
* hotfix for docker build issue (#251)
* updating angular.json
changing output folder
* change path
* Fixed build issues (#252)
* Bugs! (#254)
* Fix style issue where bootstrap components weren't taking kavita overrides
* Fixed a bug where after updating certain things within a card on library page, the feeds wouldn't update
* Fixed a bug where chapter sort would not behave the same way as on chrome
* Release canidate bugs (#255)
* Auto Close menu wasn't updating within reader
* (Book Reader) Enhanced scroll part code to limit elements we count for bookmarking, only calculating intersection once fully visible and saving when scroll ends
* Removed Image Smoothing option (chrome only) from this release. No noticeable difference having it.
* Fixed a page reload when clicking on In Progress section title on home page
* Bugfix/webtoons (#256)
* Fixed issue where first load would not start capturing scroll events due to not knowing the scroll to an element finished.
* Changed how to figure out when to end scrolling event by calculating if the target element is visible in the viewport.
* Seems to be working pretty well. Cleaned up some of the messages for debugging.
* Simplified the intersection logic drastically
* Fixed a color issue on slider for non-dark mode
* Disable first/last page buttons if we are already on those respective pages
* Added documentation to circular array class
* Some debug code but scrolling no longer results in jank due to scrollToPage getting executed too often
* Backing out ability to use webtoon reader
* Css fix for book reader progress and light mode toastr (#257)
* Changing dark mode to default (#262)
- Changed user-preferences site dark mode to default true
* added logo and css for logo (#260)
* added logo and css for logo
- max-height is to prevent the image from increasing the height of the navbar.
- middle middle vertical align didn't look to match up as expected, so a top middle was implemented based on chrome and firefox renderings.
* Adding requested accessibility changes
* Added Kavita-webui repo to UI/Web
* Special parsing issues (#361)
* Update README.md
Added demo link to Readme and tweaked Sentry icon
* Adds some regex cases from manga downloaded through FMD2. For parsing specials, if the marker is found, try to overwrite the series with the folder the manga is in, rather than what we parse from filename.
* Version bump
* Changed company to point to our domain
* Fixed copyright to point to our domain
* Adding test github workflow and test build file (#362)
* Fixing copy fail in monorepo-test workflow
* fixing shell script to be executable
* fixing permission issue
* Folder Parsing (#366)
* New: Ability to parse volume and chapter from directory tree, rather than exclusively from filename. (#313)
* Fixed: Fixed an edge case where GetFoldersTillRoot if given a non-existent root in the file path, would result in an infinite loop.
* Book Reader Bugs (#367)
* Fixed: Fixed an issue where when tap to paginate is on, clicking off the settings menu doesn't close it.
* Fixed: Fixed the tint color on book reader being different from manga reader.
* Fixed: Reworked the clickable overlay for tap to paginate so links are still clickable when tap to paginate is on.
* Build on monorepo
* Book Reader Intersection Handler not firing (#369)
* Fixed: Fixed an issue where intersection observer wouldn't be triggered when book page had no images (Book reader bookmark not firing while scrolling #360)
* Raw Image Support (#375)
* New: Ability to add Raw Image folders to Kavita via new library Types Images (Comic) and Images (Manga). Images must belong to a folder, they cannot exist in the root directory. It is important to at least put a second folder (minimum) with a Volume of Chapter, else you will end up with each image as a special which is not easily readable.
* Changed: When caching images for raw images, do it much faster and return earlier if the files have already been cached.
Co-authored-by: Robbie Davis <robbie@therobbiedavis.com>
* Fixed a bug in the circular array which would not properly roll index over for applyFor (#377)
* Fixed: Manga reader's prefetching buffer had issues with rolling over index, which would require a manual image load every 7 pages. (#372)
* Adding new ui dist folder to gitignore
* Added stats folder persistence (#382)
* Added demo link to Readme and tweaked Sentry icon
* Added a symbolic link to persist the stats folder between docker container updates.
Co-authored-by: Joseph Milazzo <joseph.v.milazzo@gmail.com>
* Lots of UI fixes and changes (#383)
* After we flatten, remove any non image files as we shouldn't iterate over them
* Fixed a case for next/prev chapter where if we have a volume then chapters attached afterwards, there would be improper movement due to how sorting works.
* Fixed an issue where no-connection would not resume where the loss of connection occured
* Fixed an issue where after creating a new user, their Last Active Date would show as a weird date, instead of "Never"
* Sort files in card detail to mimic reading order
* Implemented a single source of executing actions (card or main page) and added actionables on library detail page.
* Refactored series actions into action service
* Implemented common handling for entity actions in a dedicated service
* Fixed build script for new monorepo layout.
* Cleaned up nav header subscriptions
* Updated the favicon/icons to work on different devices as home screen shortcuts
* Fixed: Fixed issue where if you had a volume with 1 volume based file and a chapter file, the next/prev chapters wouldn't work (Fixes#380)
* Fixed: When connection is lost to backend, saving current page url and resuming when connection reestablished was not working (Fixes#379)
* Fixed: When creating a new user, a strange date format was shown in Last Active due to not having been active. Now "Never" shows (Fixes#376)
* Fixed: When showing files for a volume/chapter, the files are now sorted in the order you will read them in (Fixes#378)
* Added: Library detail now has actionable menu next to header, so you can kick off a scan or metadata refresh (Closes#363)
* Changed: When performing actions like marking as read/unread on series detail page, the actionable button will disable until the request finishes. (Closes#381)
* Changed: Favicon and Icons have been updated so when saving webpage to home screen, it should show a proper icon (Closes#356)
* Lots of Bugfixes and Tweaks (#387)
* Fixed: Fixed a bug in how we get images. When dealing with raw images, we need special logic (Monorepo)
* Added: (Manga Reader) When we are within 10 pages of the beginning of a manga, prefetch the prev chapter
* Fixed: (Manga Reader) The slider would sometime skip pages and would have leftover track on last page.
* Fixed: (Raw Images) When calculating cover image for Raw Image entities, only select image files
* Fixed: Fixed a logic bug where raw image based entities wouldn't send back the correct page (Monorepo)
* Changed: When deleting a library, it can take a long time. Disable delete buttons until the deletion finishes
* Added: (Parser) Added a regex case for "Series - Ch. 20 - Part"
* Changed: Try to show the files in volume/chapter detail modal in the reading order.
* Fixed: Next/Previous chapter was not working in all cases from previous Monorepo commit.
* Bugfix/locked name reset (#389)
* Fixed: Fixed an issue where if you manually rename a series, then remove/modify an entity related to the series, the series would be deleted and re-created with the original, parsed name.
* Scan Series (#390)
* Refactored Library delete to use a transaction.
* Ensure we parse "Series Name - Chapter XXX" before "Series Name - Vol XXX"
* Ensure if GetFoldersTillRoot is called with a fullPath containing a file, that we ignore the file for returned folders.
* Changed: From the series actionable menu, instead of scan library, which would kick off a filesystem scan on the library the series belonged to, instead we have "scan series" which will scan the folders represented by that series. If that series has files in the root of the library, the library root is scanned, but only said series files will be processed. This can make a refresh occur in under 500 ms (Fixes#371)
* Fixed: Fixed a bad parsing case for "Series Name - Vol.01 Chapter 029 8 Years Ago" where somehow the chapter would parse as "029 8", thus making the file a special rather than chapter 29.
* Fixes a bug where the root path and the full path share a common word, like root: "/Test library" and full path "/Test library/Test" which caused "/Test" to be taken out of root and thus GetFoldersTillRoot would never finish
* About Section (#394)
* Added: Added an about section with version, links to discord, github, donations, etc.
* Fixed: Fixed some parsing issues that caused "Series Name - Volume X Chapter Y" to parse as "Series Name - Volume X" from a previous change in develop.
* Cleaning up monorepo build files
* Fixing permission issues
Co-authored-by: Leonardo Dias <leo.rock14@gmail.com>
Co-authored-by: Robbie Davis <robbie@therobbiedavis.com>
Co-authored-by: Leonardo Dias <contato.leonardod@yahoo.com>
Co-authored-by: Milazzo, Joseph (jm520e) <jm520e@us.att.com>
Co-authored-by: Chris Plaatjes <kizaing@gmail.com>