* Enhance plugin/authenticate to allow RefreshToken to be returned as well.
* When typing a series name, min, or max filter, press enter to apply metadata filter.
* Cleaned up the documentation around MaxCount and TotalCount
* Fixed a bug where PublicationStatus wasn't being correctly set due to some strange logic I coded.
* Fixed bookmark mode not having access to critical page dimensions. Fetching bookmark info api now returns dimensions by default.
* Fixed pagination scaling code for different fitting options
* Fixed missing code to persist page split in manga reader
* Removed unneeded prefetch of blank images in bookmark mode
* Updated number inputs with a more mobile friendly control
* Started writing lots of unit tests on PersonHelper to try and hammer out foreign constraint
* Fixes side-nav actionable alignment
* Added some unit tests
* Buffed out the unit tests
* Applied input modes throughout the app
* Fixed a small bug in refresh token validation to make it work correctly
* Try out a new way to block multithreading from interacting with people during series metadata update.
* Fixed the lock code to properly lock, which should help with any constraint issues.
* Locking notes
* Tweaked locking on people to prevent a constraint issue. This slows down the scanner a bit, but not much. Will tweak after validating on a user's server.
* Replaced all DBFactory.Series with SeriesBuilder.
* Replaced all DBFactory.Volume() with VolumeBuilder
* Replaced SeriesMetadata with Builder
* Replaced DBFactory.CollectionTag
* Lots of refactoring to streamline entity creation
* Fixed one of the unit tests
* Refactored all of new Library()
* Removed tag and genre
* Removed new SeriesMetadata
* Refactored new Volume()
* MangaFile()
* ReadingList()
* Refactored all of Chapter and ReadingList
* Add title to all event widget flows
* Updated Base Url to inform user it doesn't work for docker users with non-root user.
* Added unit test coverage to FormatChapterTitle and FormatChapterName.
* Started on Unit test for scanner, but need to finish it later.
---------
Co-authored-by: Robbie Davis <robbie@therobbiedavis.com>
* 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>
* Fixed a bug on bookmark mode not finding correct image for prefetcher.
* Fixed up the edit series relationship modal on tablet viewports.
* On double page mode, only bookmark 1 page if only 1 pages is renderered on screen.
* Added percentage read of a given library and average hours read per week to user stats.
* Fixed a bug in the reader with paging in bookmark mode
* Added a "This Week" option to top readers history
* Added date ranges for reading time. Added dates that don't have anything, but might remove.
* On phone, when applying a metadata filter, when clicking apply, collapse the filter automatically.
* Disable jump bar and the resuming from last spot when a custom sort is applied.
* Ensure all Regex.Replace or Matches have timeouts set
* Fixed a long standing bug where fit to height on tablets wouldn't center the image
* Streamlined url parsing to be more reliable
* Reduced an additional db query in chapter info.
* Added a missing task to convert covers to webP and added messaging to help the user understand to run it after modifying the setting.
* Changed OPDS to be enabled by default for new installs. This should reduce issues with users being confused about it before it's enabled.
* When there are multiple files for a chapter, show a count card on the series detail to help user understand duplicates exist. Made the unread badge smaller to avoid collision.
* Added Word Count to user stats and wired up average reading per week.
* Fixed word count failing on some epubs
* Removed some debug code
* Don't give more information than is necessary about file paths for page dimensions.
* Fixed a bug where pagination area would be too small when the book's content was less that height on default mode.
* Updated Default layout mode to Scroll for books.
* Added bytes in the UI and at an API layer for CDisplayEx
* Don't log health checks to logs at all.
* Changed Word Count to Length to match the way pages work
* Made reading time more clear when min hours is 0
* Apply more aggressive coalescing when remapping bad metadata keys for epubs.
* Changed the amount of padding between icon and text for side nav item.
* Fixed a NPE on book reader (harmless)
* Fixed an ordering issue where Volume 1 was a single file but also tagged as Chapter 1 and Volume 2 was Chapter 0. Thus Volume 2 was being selected for continue point when Volume 1 should have been.
* When clicking on an activity stream header from dashboard, show the title on the resulting page.
* Removed a property that can't be animated
* Fixed a typeahead typescript issue
* Added Size into Series Info and Added some tooltip and spacing changes to better explain some fields.
* Added size for volume drawers and cleaned up some date edge case handling
* Fixed an annoying bug where when on mobile opening a view with a metadata filter, Kavita would open the filter automatically.
* Cleanup some messaging in the scan loop to be more context bearing
* Added Response Caching to Series Detail for 1 min, due to the heavy nature of the call.
* Refactored code to make it so that processing of series runs sync correctly.
Added a log to inform the user of corrupted volume from buggy code in v0.5.6.
* Moved folder watching out of experimental
* Fixed an issue where empty folders could break the scan loop
* Another fix for when dates aren't valid, the scanner wouldn't get the proper min and would throw an exception (develop)
* Implemented the ability to edit release year from the UI for a series.
* Added a unit test for some new logic
* Code smells
* Fixed inputs not showing inline validation due to a missing class
* Fixed some checks
* Increased the button size on manga reader (develop)
* Migrated a type cast to a pure pipe
* Sped up the check for if SendTo should render on the menu
* Don't allow user to bookmark in bookmark mode
* Fixed a bug where Scan Series would skip over Specials due to how new scan loop works.
* Fixed scroll to top button persisting when navigating between pages
* Edit Series modal now doesn't have a lock field for Series, which can't be locked as it is inheritently locked.
Added some validation to ensure Name and SortName are required.
* Fixed up some spacing
* Fixed actionable menu not opening submenu on mobile
* Cleaned up the layout of cover image on series detail
* Show all volume or chapters (if only one volume) for cover selection on series
* Don't open submenu to right if there is no space
* Fixed up cover image not allowing custom saves of existing series/chapter/volume images.
Fixed up logging so console output matches log file.
* Implemented the ability to turn off css transitions in the UI.
* Updated a note internally
* Code smells
* Added InstallId when pinging the email service to allow throughput tracking
* Added Last Folder Scanned time to series info modal.
Tweaked the info event detail modal to have a primary and thus be auto-dismissable
* Added an error event when multiple series are found in processing a series.
* Fixed a bug where a series could get stuck with other series due to a bad select query.
Started adding the force flag hook for the UI and designing the confirm.
Confirm service now also has ability to hide the close button.
Updated error events and logging in the loop, to be more informative
* Fixed a bug where confirm service wasn't showing the proper body content.
* Hooked up force scan series
* refresh metadata now has force update
* Fixed up the messaging with the prompt on scan, hooked it up properly in the scan library to avoid the check if the whole library needs to even be scanned. Fixed a bug where NormalizedLocalizedName wasn't being calculated on new entities.
Started adding unit tests for this problematic repo method.
* Fixed a bug where we updated NormalizedLocalizedName before we set it.
* Send an info to the UI when series are spread between multiple library level folders.
* Added some logger output when there are no files found in a folder. Return early if there are no files found, so we can avoid some small loops of code.
* Fixed an issue where multiple series in a folder with localized series would cause unintended grouping. This is not supported and hence we will warn them and allow the bad grouping.
* Added a case where scan series fails due to the folder being removed. We will now log an error
* Normalize paths when finding the highest directory till root.
* Fixed an issue with Scan Series where changing a series' folder to a different path but the original series folder existed with another series in it, would cause the series to not be deleted.
* Fixed some bugs around specials causing a series merge issue on scan series.
* Removed a bug marker
* Cleaned up some of the scan loop and removed a test I don't need.
* Remove any prompts for force flow, it doesn't work well. Leave the API as is though.
* Fixed up a check for duplicate ScanLibrary calls
* Staging the code for the new scan loop.
* Implemented a basic idea of changes on drives triggering scan loop. Issues: 1. Scan by folder does not work, 2. Queuing system is very hacky and needs a separate thread, 3. Performance degregation could be very real.
* Started writing unit test for new loop code
* Implemented a basic method to scan a folder path with ignore support (not implemented, code in place)
* Added some code to the parser to build out the idea of processing series in batches based on some top level folder.
* Scan Series now uses the new code (folder based parsing) and now handles the LocalizedSeries issue.
* Got library scan working with the new folder-based scan loop. Updated code to set FolderPath (for improved scan times and partial scan support).
* Wrote some notes on update library scan loop.
* Removed migration for merge
* Reapplied the SeriesFolder migration after merge
* Refactored a check that used multiple db calls into one.
* Made lots of progress on ignore support, but some confusion on underlying library. Ticket created. On hold till then.
* Updated Scan Library and Scan Series to exit early if no changes are on the underlying folders that need to be scanned.
* Implemented the ability to have .kavitaignore files within your directories and Kavita will parse them and ignore files and directories based on rules within them.
* Fixed an issue where ignore files nested wouldn't stack with higher level ignores
* Wrote out some basic code that showcases how we can scan series or library based on file events on the underlying system. Very buggy, needs lots of edge case testing and logging and dupplication checking.
* Things are working kinda. I'm getting lost in my own code and complexity. I'm not sure it's worth it.
* Refactored ScanFiles out to Directory Service.
* Refactored more code out to keep the code clean.
* More unit tests
* Refactored the signature of ParsedSeries to use IList. Started writing unit tests and reworked the UpdateLibrary to work how it used to with new scan loop code (note: using async update library/series does not work).
* Fixed the bug where processSeriesInfos was being invoked twice per series and made the code work very similar to old code (except loose leaf files dont work) but with folder based scanning.
* Prep for unit tests (updating broken ones with new implementations)
* Just some notes. Not sure I want to finish this work.
* Refactored the LibraryWatcher with some comments and state variables.
* Undid the migrations in case I don't move forward with this branch
* Started to clean the code and prepare for finishing this work.
* Fixed a bad merge
* Updated signatures to cleanup the code and commit to the new strategy for scanning.
* Swapped out the code with async processing of series on a small library
* The new scan loop is working in both Sync and Async methods. The code is slow and not optimized. This represents a good point to start polling and applying optimizations.
* Refactored UpdateSeries out of Scanner and into a dedicated file.
* Refactored how ProcessTasks are awaited to allow more async
* Fixed an issue where side nav item wouldn't show correct highlight and migrated to OnPush
* Moved where we start to stopwatch to encapsulate the full scan
* Cleaned up SignalR events to report correctly (still needs a redesign)
* Remove the "remove" code until I figure it out
* Put in extremely expensive series deletion code for library scan.
* Have Genre and Tag update the DB immediately to avoid dup issues
* Taking a break
* Moving to a lock with People was successful. Need to apply to others.
* Refactored code for series level and tag and genre with new locking strategy.
* New scan loop works. Next up optimization
* Swapped out the Kavita log with svg for faster load
* Refactored metadata updates to occur when the series are being updated.
* Code cleanup
* Added a new type of generic message (Info) to inform the user.
* Code cleanup
* Implemented an optimization which prevents any I/O (other than an attribute lookup) for Library/Series Scan. This can bring a recently updated library on network storage (650 series) to fully process in 2 seconds.
Fixed a bug where File Analysis was running everytime for each non-epub file.
* Fixed ARM x64 builds not being able to view PDF cover images due to a bad update in DocNet.
* Some code cleanup
* Added experimental signalr update code to have a more natural refresh of library-detail page
* Hooked in ability to send new series events to UI
* Moved all scan (file scan only) tasks into Scan Queue. Made it so scheduled ScanLibraries will now check if any existing task is being run and reschedule for 3 hours, and 10 mins for scan series.
* Implemented the info event in the events widget and added a clear all button to dismiss all infos and errors. Added --event-widget-info-bg-color
* Remove --drawer-background-color since it's not used
* When new series added, inject directly into the view.
* Some debug code cleanup
* Fixed up the unit tests
* Ensure all config directories exist on startup
* Disabled Library Watching (that will go in next build)
* Ensure update for series is admin only
* Lots of code changes, scan series kinda works, specials are splitting, optimizations are failing. Demotivated on this work again.
* Removed SeriesFolder migration
* Added the SeriesFolder migration
* Added a new pipe for dates so we can provide some nicer defaults. Added folder path to the series detail.
* The scan optimizations now work for NTFS systems.
* Removed a TODO
* Migrated all the times to use DateTime.Now and not Utc.
* Refactored some repo calls to use the includes flag pattern
* Implemented a check for the library scan optimization check to validate if the library was updated (type change, library rename, folder change, or series deleted) and let the optimization be bypassed.
* Added another optimization which will use just folder attribute of last write time if the drive is not NTFS.
* Fixed a unit test
* Some code cleanup
* Updated to Angular 14
* Fixed all new tslint issues
* Fixed a routing bug for Angular 14
* Updated ngBootstrap and bootstrap. Fixed side nav item not highlighting on route change
* Refactored how default dark styles are done
* Migrated everything to a typed form
* Bump versions by dotnet-bump-version.
* Fixed a regression where click areas need an explicit z-index
* Cleanup some css
* Bumped docnet back to the alpha which has our downstream fixes
* Updated dependencies to later versions. Mainly just NetVips with some archive fixes.
* Fixed broken unit tests (due to some fixes in SharpCompress that changed byte arrays, but not visible quality)
* Fixing up modal and cover selector
* adding code for card image
* fixing placeholder border
* Fixing placeholder issue
* Fixing drop down z-index
* Updating reading list
* 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
* Refactored code to show action bar instead of drawer in immersive mode
* Card grid
* adding margin for pagination gap
* Fixed a rare routing case that wouldn't redirect
* Fixed a bug where series detail would show blank filtering
* Fixing image scaling and library card spacing
* Refactored some methods to be static
* Adding card grid to series detail
* Fixed a bug with webtoon going to non-webtoon mode, resulting in black screen.
* Ensure emails are trimmed when trying to invite.
* Don't show More In if there is only 1 item in there on library recommended tab
* Fixed some bugs around locking metadata fields where the correct param wasn't being sent to backend.
* Added some UI error messaging when the email doesn't match the confirm-email (or rather any email in the system).
* Fixed some pages where actions weren't working (library detail) and removed some actionable buttons where they didn't make sense
* Refactored the series detail to use Robbie's new grid system.
* some styling fixes
* Styling fixes
- Removing select border gap
- fixing switches on lite theme
- fixing search result text-light
* better css var naming
* changing search lite text color override
* fixing as per feedback
* Removing boolean from being visible in bookreader
* Fixed some bugs in bulk operations not being visible on light/eink screens. Added --bulk-selection-highlight-text-color and --bulk-selection-text-color.
Co-authored-by: Robbie Davis <robbie@therobbiedavis.com>
* Updated the wording for Read in incognito, as 'in' was redundant
* Added icons to the middle tabs for a mobile compaitible view
* Fixed up the code for side nav to make the display much cleaner
* Added icons to tabs
* Styling polishing
- Making pagination spacing uniform
- Fixing onresize event
- Making cards center justification on mobile only
- fixing vertical alignment for companion bar icons
- Fixing Issue where drawer buttons would sometimes not be visible.
- Fixed vertical alignment issue with filter button
* Fixing orientation change event
* added fixed position to drawer
- fixes styling issues
* added total pages to series modal
* Downgraded ExCSS package to a version that doesn't die on @page query selectors.
* Cleaned up some code and wrote some bug markers in typeahead
* Removed some padding top on companion bar
* Aligned the top margin for card detail layout and series detail
* Use a temp close button on book reader until new code is ready.
Co-authored-by: Robbie Davis <robbie@therobbiedavis.com>
* Trim when reading some fields from ComicInfo. Adjusted css on the site to reduce nbsp
* Added Cancelled as a publication status
* Ensure we track volume number from ComicInfo for the count to determine publication status
* Publication Status will now check against volume number or chapter number (parsed or comicinfo). The UI will now display the progress, ie) 10/15 and will show the series as completed with a green tag badge if the progress is 100%.
* Tweaked the ordering of the tabs to make it more streamlined in the reading ordering of Kavita
* Tweaked the logic for filling in tag badge
* Added a new publication status of Ended for series that have finished releasing, but not all items are in Kavita
* Added some fields to edit series modal
* Implemented the ability to link different series together through Edit Series. CSS pending.
* Fixed up the css for related cards to show the relation
* Working on making all tabs in edit seris modal save in one go. Taking a break.
* Some fixes for Robbie to help with styling on
* Linked series pill, center library
* Centering library detail and related pill spacing
- Library detail cards are now centered if total number of items is > 6 or if mobile.
- Added ability to determine if mobile (viewport width <= 480px
- Fixed related card spacing
- Fixed related card pill spacing
* Updating relation form spacing
* Fixed a bug in card detail layout when there is no pagination, we create one in a way that all items render at once.
* Only auto-close side nav on phones, not tablets
* Fixed a bug where we had flipped state on sideNavCollapsed$
* Cleaned up some misleading comments
* Implemented RBS back in and now if you have a relationship besides prequel/sequel, the target series will show a link back to it's parent.
* Added Parentto pipe
* Missed a relationship type
Co-authored-by: Robbie Davis <robbie@therobbiedavis.com>
* 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
* Added playwright and started writing e2e tests.
* To make things easy, disabled other browsers while I get confortable. Added a login flow (assumes my dev env)
* More tests on login page
* Lots more testing code, trying to figure out auth code.
* Ensure we don't track DBs inside config
* Added a new date property for when chapters are added to a series which helps with OnDeck calculations. Changed a lot of heavy api calls to use IEnumerable to stream repsonse to UI.
* Fixed OnDeck with a new field for when last chapter was added on Series. This is a streamlined way to query.
Updated Reading List with NormalizedTitle, CoverImage, CoverImageLocked.
* Implemented the ability to read a random item in the reading list and for the reading list to be intact for order.
* Tweaked the style for webtoon to not span the whole width, but use max width
* When we update a cover image just send an event so we don't need to have logic for when updates occur
* Fixed a bad name for entity type on cover updates
* Aligned the edit collection tag modal to align with new tab design
* Rewrote code for picking the first file for metadata to ensure it always picks the correct file, esp if the first chapter of a series starts with a float (1.1)
* Refactored setting LastChapterAdded to ensure we do it on the Series.
* Updated Chapter updating in scan loop to avoid nested for loop and an additional loop.
* Fixed a bug where locked person fields wouldn't persist between scans.
* Updated Contributing to reflect how to view the swagger api
* adding back side-nav
* Event Widget Update (#1098)
* Took care of some notes in the code
* Fixed an issue where Extra might get flagged as special too early, if in a word like Extraordinary
* Moved Tag cleanup code into Scanner service. Added a SplitQuery to another heavy API. Refactored Scan loop to remove parallelism and use async instead.
* Lots of rework on the codebase to support detailed messages and easier management of message sending. Need to take a break on this work.
* Progress is being made, but slowly. Code is broken in this commit.
* Progress is being made, but slowly. Code is broken in this commit.
* Fixed merge issue
* Fixed unit tests
* CoverUpdate is now hooked into new ProgressEvent structure
* Refactored code to remove custom observables and have everything use standard messages$
* Refactored a ton of instances to NotificationProgressEvent style and tons of the UI to respect that too. UI is still a bit buggy, but wholistically the work is done.
* Working much better. Sometimes events come in too fast. Currently cover update progress doesn't display on UI
* Fixed unit tests
* Removed SignalREvent to minimize internal event types. Updated the UI to use progress bars. Finished SiteThemeService.
* Merged metadata refresh progress events and changed library scan events to merge cleaner in the UI
* Changed RefreshMetadataProgress to CoverUpdateProgress to reflect the event better.
* Theme Cleanup (#1089)
* Fixed e-ink theme not properly applying correctly
* Fixed some seed changes. Changed card checkboxes to use our themed ones
* Fixed recently added carousel not going to recently-added page
* Fixed an issue where no results found would show when searching for a library name
* Cleaned up list a bit, typeahead dropdown still needs work
* Added a TODO to streamline series-card component
* Removed ng-lazyload-image module since we don't use it. We use lazysizes
* Darken card on hover
* Fixing accordion focus style
* ux pass updates
- Fixed typeahead width
- Fixed changelog download buttons
- Fixed a select
- Fixed various input box-shadows
- Fixed all anchors to only have underline on hover
- Added navtab hover and active effects
* more ux pass
- Fixed spacing on theme cards
- Fixed some light theme issues
- Exposed text-muted-color for theme card subtitle color
* UX pass fixes
- Changed back to bright green for primary on dark theme
- Changed fa icon to black on e-ink
* Merged changelog component
* Fixed anchor buttons text decoration
* Changed nav tabs to have a background color instead of open active state
* When user is not authenticated, make sure we set default theme (dark)
* Cleanup on carousel
* Updated Users tab to use small buttons with icons to align with Library tab
* Cleaned up brand to not underline, removed default link underline on hover in dropdown and pill tabs
* Fixed collection detail posters not rendering
Co-authored-by: Robbie Davis <robbie@therobbiedavis.com>
* Bump versions by dotnet-bump-version.
* Tweaked some of the emitting code
* Some css, but pretty bad. Robbie please save me
* Removed a todo
* styling update
* Only send filename on FileScanProgress
* Some console.log spam cleanup
* Various updates
* Show events widget activity based on activeEvents
* progress bar color updates
* Code cleanup
Co-authored-by: Robbie Davis <robbie@therobbiedavis.com>
* Bump versions by dotnet-bump-version.
* Scanner event hub fix (#1099)
* Scanner event hub fix
- Fixed an issue where the scanner would error when adding a new series because the series didn't have a library name yet. (develop)
* Removing library.type
* Bump versions by dotnet-bump-version.
* Workflow update to add nightly versions (#1100)
# Changed
- Changed: Changed automated workflow to release individual nightly versions on dockerhub
* Bump versions by dotnet-bump-version.
* Updating GA to parse version (#1101)
* Bump versions by dotnet-bump-version.
* GA Fixes (#1103)
**Strictly Repo Changes**
# Fixed
- Fixed: Fixed an issue where patch version was not being added to docker tag.
* Bump versions by dotnet-bump-version.
* Fixed specials being misaligned (#1106)
# Fixed
- Fixed: Fixed issue with specials not being properly aligned (develop)
* Bump versions by dotnet-bump-version.
* Bugfix/ux pass 2 (#1107)
* Adding margin bottom to series detail tabs
* Styling tag badges with green on dark
- Added 3 new css vars
* Removing underline from readmore
* Fixing see more to be on one line
* adding gutter to see more
* Changing queue toasts to info
* adding api key tooltip
* Updating active accordion on user preference.
* Fixing search bar and close btn position
* Fixed a bug where entering book reader in dark mode then closing out, would leave you in a broken white state.
* Fixed broken wiki links
Co-authored-by: Joseph Milazzo <joseph.v.milazzo@gmail.com>
* Bump versions by dotnet-bump-version.
* Series Detail Refactor (#1118)
* Fixed a bug where reading list and collection's summary wouldn't render newlines
* Moved all the logic in the UI for Series Detail into the backend (messy code). We are averaging 400ms max with much optimizations available. Next step is to refactor out of controller and provide unit tests.
* Unit tests for CleanSpecialTitle
* Laid out foundation for testing major code in SeriesController.
* Refactored code so that read doesn't need to be disabled on page load. SeriesId doesn't need the series to actually load.
* Removed old property from Volume
* Changed tagbadge font size to rem.
* Refactored some methods from SeriesController.cs into SeriesService.cs
* UpdateRating unit tested
* Wrote unit tests for SeriesDetail
* Worked up some code where books are rendered only as volumes. However, looks like I will need to use Chapters to better support series_index as floats.
* Refactored Series Detail to change Volume Name on Book libraries to have book name and series_index.
* Some cleanup on the code
* DeleteMultipleSeries test is hard. Going to skip.
* Removed some debug code and make all tabs Books for Book library Type
* Bump versions by dotnet-bump-version.
* Tachiyomi Bugfix (#1119)
* Updated the dependencies for .NET 6.0.2
* Fixed a bad prev chapter logic where we would bleed into chapters from last volume instead of specials.
* Fixed the get prev chapter code to properly walk the order according to documentation and updated some bad test cases
* Updated side nav to float a bit and added user settings to it.
* Refactored the code to hide/show sidenav to be more angular and decoupled
* Moved Changelog out of admin dashboard and into a dedicated page in user menu. Added a wiki link from user menu
* Introduced a side nav item for rendering each item and refactored code to use it.
* Added a filter of side nav when there are more than 10 libraries. Added some themeing overrides for side nav.
* Cleaned up the template code for side nav item so if there is no link, we don't generate that html directive
* Refactored side nav into a module and migrated a few pipes into a pipe module for easy re-use
* Added companion bar on reading list and collection. Updated modules to load pages and make side nav items clickable as anchors, so new tab works.
* Moved metadata filter into separate component/module and the button in the companion bar. Needs cleanup.
* Finished cleanup and refactoring of metadata filter into separate component.
Removed filtering from Collections as it doesn't work and wasn't hooked up.
* Tweaked the css on carousel component
* Added to library detail and series-detail
* Fixes and css vars
* Stop destroying sidenav, animaton timing
* Integrated side nav on the rest of the pages
* Navbar now collapses to icons
* mobile sidenav start
* more mobile fixes
* mobile tweaks
* light and e-ink theme updates
* white and eink dropdown color fixes
* plex inspired side-nav
* theme fixes
* Making spacing more uniform across app
* More fixes
* fixing spacing on cards
* actionable fix for sidenav
* no scroll on mobile when sidenav is open
* hide sidenav on pages
* Adding card spacing
* Adding ability to remove sidenav when in a reader
* tidying up sidenav toggles
* side-nav mobile updates
* fixing up other themes
* overlay fixes
* Cleaned up the code to make the observables have better names.
Removed a bunch of pointless subscriptions. Cleaned up methods that werent needed.
Added jsdocs to help ensure the understandability of the 2 states for the side nav.
* Integrated a highlight effect on side nav. Fixed a ton of places where the nav was being hidden when it shouldn't.
* Fixed where active state wasn't working on all urls
* misc fixes
- smaller hamburger
- z-index fixes
- active fixes
* Revert "Merge branch 'develop' into feature/side-nav-upgrade"
This reverts commit 76b0d15a98, reversing
changes made to b3ed553954.
* Fixing edit-series modal spacing
* Give the ability to jump to a library from admin manage libraries page
* Fixed a bug with highlighting active item on side nav
* Moved localized series title to companion bar via subtitle
* Removed old title
* Fixed a bug where clicking a link would reload the whole app, styling fixes on filter, fixed issue with initial load not setting active state, adjusted styles on active style.
* code cleanup
Co-authored-by: Robbie Davis <robbie@therobbiedavis.com>
* Refactored manga reader to use a regular image element for all cases except for split page rendering
* Fixed a weird issue where ordering of routes broke redireciton in one case.
* Added comments to a lot of the enums and refactored READER_MODE to be ReaderMode and much more clearer on function.
* Added bookmark effect on image renderer
* Implemented keyboard shortcut modal
* Introduced the new layout mode into the manga reader, updated preferences, and updated bookmark to work for said functionality. Need to implement renderer now
* Hooked in ability to show double pages but all the css is broken. Committing for help from Robbie.
* Fixed an issue where Language tag in metadata edit wasn't being updated
* Fixed up some styling on mobile for edit series detail
* Some css fixes
* Hooked in ability to set background color on reader (not implemented in reader). Optimized some code in ArchiveService to avoid extra memory allocations.
* Hooked in background color, generated the migration
* Fixed a bug when paging to cover images, full height would be used instead of full-width for cover images
* New option in reader to show screen hints (on by default). You can disable in user preferences which will stop showing pagination overlay hints
* Lots of fixes for double rendering mode
* Bumped the amount of cached pages to 8
* Fixed an issue where dropdowns weren't being locked on form manipulation
* Added the skeleton code for layout, hooked up Age Rating, Publication Status, and Tags
* Tweaked message of Scan service to Finished scan of to better indicate the total scan time
* Hooked in foundation for person typeaheads
* Fixed people not populating typeaheads on load
* For manga/comics, when parsing, set the SeriesSort from ComicInfo if it exists.
* Implemented the ability to override and create new genre tags. Code is ready to flush out the rest.
* Ability to update metadata from the UI is hooked up. Next is locking.
* Updated typeahead to allow for non-multiple usage. Implemented ability to update Language tag in Series Metadata.
* Fixed a bug in GetContinuePoint for a case where we have Volumes, Loose Leaf chapters and no read progress.
* Added ETag headers on Images to allow for better caching (bookmarks and images in manga reader)
* Built out UI code to show locked indication to user
* Implemented Series locking and refactored a lot of styles in typeahead to make the lock setting work, plus misc cleanup.
* Added locked properties to dtos. Updated typeahead loading indicator to not interfere with close button if present
* Hooked up locking flags in UI
* Integrated regular field locking/unlocking
* Removed some old code
* Prevent input group from wrapping
* Implemented some basic layout for metadata on volume/chapter card modal. Refactored out all metadata from Chapter object in terms of UI and put into a separate call to ensure speedy delivery and simplicity of code.
* Refactored code to hide covers section if not an admin
* Implemented ability to modify a chapter/volume cover from the detail modal
* Removed a few variables and change cover image modal
* Added bookmark to single chapter view
* Put a temp fix in for a ngb v12 z-index bug (reported). Bumped ngb to 12.0 stable and fixed some small rendering bugs
* loading buttons ftw
* Lots of cleanup, looks like the story is finished
* Changed action name from Info to Details
* Style tweaks
* Fixed an issue where Summary would assume it's locked due to a subscription firing on setting the model
* Fixed some misc bugs
* Code smells
Co-authored-by: Robbie Davis <robbie@therobbiedavis.com>
* Started the migration to bootstrap 5. Introduced a breakpoint system that bootstrap reflects for our screens.
* sr only migrated
* mr/ml -> me/ms
* pl/pr -> ps/pe
* btn-block
* removed input-group-append
* Added form-label to all labels
* Added some style overrides for inputs
* Replaced form-group with mb-3
* Ignore journal files
* Update media to d-flex/flex-grow-1
* Fixed reading list detail page
* For develop builds, don't inline critical styles
* Fixed some downstream security issues
* Fixed a layout issue in series detail
* Fixed issue with btn-light not having background color. Updated layout for series detail metadata
* Cleaned up nav search
* Laid out the organization for custom theme components. Update _inputs.scss with variable overrides and depending on theme, it will just work.
* Lots of theming work
* Added inputs to the theme page
* Login and input placeholder changes
- Fixed login screen centering issue on all devices
- Changed the format of the login screen
- Change the input placeholder color
* Added checkbox styles
* Refactored tagbadges and removed some ngdeep selectors
* Added nav bar component and refactored some styles into event widget
* Cleaned nav events again and made dedicated popover body
* Finished pagination component
* Fixed up some styles with buttons
* refactored dropdown component
* Update accordion component
* Refactored breadcrumbs and rating star. Fixed a missing style for cards
* Fixed some styling issues on person badge, added modal component, and some global styles
* Finished moving everything within dark to component files
* Fixed up filter buttons, move card styles into a component theme, fixed slider style
* Refactored library card and grouped typeahead
* Updated normal typeahead component and reduced amount of ngdeep selector
* Refactored grid breakpoints to be available by css variable, but it's hardcoded into the app
* Ensure breakpoints are defined per theme
* Fixed up some styling overrides and customization for nav links and alt button
* Removed some deep styles, moved css out of splash container and brough back labels for login page
* Finished css variable refactor
* Refactored all the theme variable definitions into files for each theme.
* Added back bootstrap overrides
* Added a note about bootstrap theme colors being not-possible to swap out at runtime
* Cleaned up some dead code
* Implemented the ability to set a custom theme on the site. Cleaned up misc code throughout.
* Additional changes
- Fixed nav where "kavita" was not hiding correctly on small viewports
- Fixed search bar to make the behavior more consistent
- Fixed accordion buttons
- Changed accordion buttons to be more responsive
- Added radio button colors
- Fixed radios on theme test page
- Changed login and reset password card layouts to be more consistent.
- Added primary color shade for when darker shading is needed.
* Built a basic site, allow the user to apply different themes, refactored nav service code out.
* Implemented the ability update a user's theme
* Added unit tests for Scan and Get Content in SiteThemeService.
* Fixed a bug in the login code and Pref code which wasn't joining on SiteTheme table. Wrote Unit tests and the UI component to manage current theme.
* Implemented scan so that it manages custom themes with unit tests
* Component updates
- Repositioning style ordering
- Adding indicator override
- Adding select styles
* SignlaR integration, some fixes when creating custom entities, one single migration. Just login functionality left.
* More ui updated
- Added .no-hover to prevent hover on elements where not needed
- Changed all selects I could find to appropriate class
- Changed up nav tabs to work more like bootstrap tabs than pills
- Added padding to top of some containers to make styles consistent
- Added ability to change navbar fontawesome icon colors
- removed some unecessary inline styling
- Changed radio button to appropriate class
- Toned down primate color, a bit too bright for dark theme.
- Added ability to change button fontawesome icon color
* nav-tab fix for series-detail
* Added themes folder to gitignore
* Adding card overlay
* Fixing up light theme
* Everything is done. Only bug is that color-scheme isn't being set properly from css variable.
* Checkboxes have pointer by default. Confirm/Confirm email use default (dark) theme by default
* Fixed an error where color-scheme wasn't reflecting correctly on themes on first load
* Fixed user preferences not available on login
* Changing dual radios to switches and color tweaks
* disabled primary APCA fix
* button APCA fixes
* Fixed some timing issues with first load and image service
* Fixed swiper issues from upgrade
* Changed themes to be scss files again and adjusted Seed code
* Migrated carousel to css variables. Fixed a broken animation for search.
* Cleaned up some backend smells
* Fixed white border outline on nav tabs, added some variables for header
* Nav bar has been css variable-ified
* Added some basic eink stuff to make the app useable
Co-authored-by: Robbie Davis <robbie@therobbiedavis.com>
* Implemented a basic version of enhanced search where we can return multiple types of entities in one go. Current unoptimized version is twice as expensive as normal search, but under NFR. Currently 200ms max.
* Worked in some basic code for grouped typeahead search component. Keyboard navigation is working.
* Most of the code is in place for the typeahead. Needs css work and some accessibility work.
* Hooked up filtering into all-series. Added debouncing on search, clear input field now works. Some optimizations related to memory cleanup
* Added ability to define a custom placeholder
* Hooked in noResults template and logic
* Fixed a duplicate issue in Collection tag searching and commented out old code. OPDS still needs some updates.
* Don't trigger inputChanged when reopening/clicking on input.
* Added Reading list to OPDS search
* Added a new image component so all the images can be lazyloaded without logic duplication
* Added a maxWidth/Height on the image component
* Search css update
* cursor fixes
* card changes
- fixing border radius on cards
- adding bottom card color
* Expose intenral state of if the search component has focus
* Adjusted the accessibility to not use complex keys and just use tab instead since this is a search, not a typeahead
* Cleaned up dead code, removed angular-ng-complete library as it's no longer used.
* Fixes for mobile search
* Merged code
* Fixed a bad merge and some nav bar styling
* Cleaned up the focus code for nav bar
* Removed focusIndex and just use hover state. Fixed clicking on items
* fixing overlay overlap issue
Co-authored-by: Robbie Davis <robbie@therobbiedavis.com>
* Added Date Added time to volume/chapter card detail modals to help users understand when new chapters are added after something has been fully read. Changed Created -> Added for better clarity.
* updating workflow discord parser
- Added ` and > to parser
Co-authored-by: Robbie Davis <robbie@therobbiedavis.com>
* When flattening directories, ensure the order or directories being enumerated follows a natural sort. Some users are discovering directories in a different order than other machines.
* Added a case for volume parsing and fixed a poorly designed negative lookahead.
Added a sentence case pipe for formatting things.
Added time for all dates.
* Some more sentence case
* Register user now has a white input
* Fixed an issue with Manga up/down reading mode where top of the page was going forwards, when it should have gone backwards
* Reworked some code to ensure that scanseries doesn't show errors where in fact there was just nothing to update.
* Last updated should be working as intended for new library flow.
* Code smell
* 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
* ImageService had a stream reset before writting out to array. Added logging statment for updating series metadata. Removed ConcurencyCheck due to bad update issue for CollectionTag.
* Added a new screen which lets you quickly see all your bookmarks for a given user.
* Built user bookmark page in user settings. Moved user settings to it's own lazy loaded module. Removed unneded debouncing from downloader and just used throttleTime instead.
* Removed a not-yet implemented tab from series modal
* Fixed a bug in clear bookmarks and adjusted icons within anchors to have proper styling
* Added some documentation. Removed Require Admin Role from Search Tags. Added Summary to be updated on UpdateTag.
* Added Swagger xml doc generation to beef up the documentation. Started adding xml comments to the APIs. This is a needed, slow task for upcoming Plugins system.
* Implemented the ability to upload a custom series image to override the existing cover image.
Refactored some code out to use ImageService and added more documentation
* When a page cache fails, delete cache directory so user can try to reload.
* Implemented the ability to lock a series cover image such that after user uploads something, it wont get refreshed by Kavita.
* Implemented the ability to reset cover image for series by unlocking
* Kick off a series refresh after a cover is unlocked.
* Ability to press enter to load a url
* Ability to reset selection
* Cleaned up cover chooser such that reset is nicer, errors inform user to use file upload, series edit modal now doesn't use scrollable body. Mobile tweaks. CoverImageLocked is now sent to the UI.
* More css changes to look better
* When no bookmarks, don't show both markups
* Fixed issues where images wouldn't refresh after cover image was changed.
* Implemented the ability to change the cover images for collection tags.
* Added property and API for chapter cover image update
* Added UI code to prepare for updating cover image for chapters. need to rearrange components
* Moved a ton of code around to separate card related screens into their own module.
* Implemented the ability to update a chapter/volume cover image
* Refactored action for volume to say edit to reflect modal action
* Fixed issue where after editing chapter cover image, the underlying card wouldn't update
* Fixed an issue where we were passing volumeId to the reset chapter lock. Changed some logic in volume cover image generation.
* Automatically apply when you hit reset cover image
2021-08-15 10:36:47 -07:00
Renamed from UI/Web/src/app/_modals/edit-series-modal/edit-series-modal.component.html (Browse further)