Kavita/API/Data/Migrations
Joseph Milazzo b0df67cdda
PDF Support + MORE!!!! (#416)
# 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>
2021-07-22 21:13:24 -05:00
..
20201213205325_AddUser.cs Added User with ability to login and register. By default, user is not an admin. DTO expects an integer and will convert to Boolean. 2020-12-13 16:07:25 -06:00
20201213205325_AddUser.Designer.cs Added User with ability to login and register. By default, user is not an admin. DTO expects an integer and will convert to Boolean. 2020-12-13 16:07:25 -06:00
20201215195007_AddedLibrary.cs Lots of changes to get code ready to add library. 2020-12-17 11:27:19 -06:00
20201215195007_AddedLibrary.Designer.cs Lots of changes to get code ready to add library. 2020-12-17 11:27:19 -06:00
20201218173135_ManyToManyLibraries.cs Added new many to many migration for libraries and users. Add Library now works and you can get Library (entity) objects from a user. LibraryDto project is upcoming. 2020-12-18 12:01:45 -06:00
20201218173135_ManyToManyLibraries.Designer.cs Added new many to many migration for libraries and users. Add Library now works and you can get Library (entity) objects from a user. LibraryDto project is upcoming. 2020-12-18 12:01:45 -06:00
20201221141047_IdentityAdded.cs Forgot to add migrations 2020-12-21 11:18:51 -06:00
20201221141047_IdentityAdded.Designer.cs Forgot to add migrations 2020-12-21 11:18:51 -06:00
20201224155621_MiscCleanup.cs Added Hangfire with LiteDB for a task running system. At the most basic, this allows us to monitor tasks running on the system (during dev only) and run tasks on a reoccuring or ad-hoc basis. 2020-12-26 14:03:35 -06:00
20201224155621_MiscCleanup.Designer.cs Added Policy for getUsers and moved some APIs. 2020-12-24 10:13:22 -06:00
20201229190216_SeriesAndVolumeEntities.cs Rough version of Saving Series, Volumes, and MangaFiles to the DB. Relies on Cascaded delete rather than manually handling updating of file changes. 2020-12-30 11:30:12 -06:00
20201229190216_SeriesAndVolumeEntities.Designer.cs Rough version of Saving Series, Volumes, and MangaFiles to the DB. Relies on Cascaded delete rather than manually handling updating of file changes. 2020-12-30 11:30:12 -06:00
20210101180935_AddedCoverImageToSeries.cs Fixed a bug in ScanLibrary that caused duplicated Volumes. Implemented APIs for navigating down to Volume for webui. 2021-01-01 14:04:31 -06:00
20210101180935_AddedCoverImageToSeries.Designer.cs Fixed a bug in ScanLibrary that caused duplicated Volumes. Implemented APIs for navigating down to Volume for webui. 2021-01-01 14:04:31 -06:00
20210102165536_EntityTimestamps.cs Added ability to automatically track last modified and created timestamps for entities via an interface. DBContext will automatically update for us. 2021-01-02 10:59:52 -06:00
20210102165536_EntityTimestamps.Designer.cs Added ability to automatically track last modified and created timestamps for entities via an interface. DBContext will automatically update for us. 2021-01-02 10:59:52 -06:00
20210102173326_VolumeNumberRefactor.cs Refactored Volume to have Name and Number (int) so that we can properly sort and still handle possible split volumes. 2021-01-02 12:21:36 -06:00
20210102173326_VolumeNumberRefactor.Designer.cs Refactored Volume to have Name and Number (int) so that we can properly sort and still handle possible split volumes. 2021-01-02 12:21:36 -06:00
20210103201043_RemoveUserIsAdmin.cs Added migration for removing IsAdmin column since we use IdentityService Roles instead. 2021-01-03 14:16:06 -06:00
20210103201043_RemoveUserIsAdmin.Designer.cs Added migration for removing IsAdmin column since we use IdentityService Roles instead. 2021-01-03 14:16:06 -06:00
20210103230812_SeriesCoverImage.cs adding initial coverimage functionality 2021-01-03 19:50:10 -06:00
20210103230812_SeriesCoverImage.Designer.cs adding initial coverimage functionality 2021-01-03 19:50:10 -06:00
20210104011624_VolumeCoverImage.cs adding initial coverimage functionality 2021-01-03 19:50:10 -06:00
20210104011624_VolumeCoverImage.Designer.cs adding initial coverimage functionality 2021-01-03 19:50:10 -06:00
20210109205034_CacheMetadata.cs Refactored ScanLibrary to produce page numbers on the Manga File, Format and to update existing series/volumes rather than always create new entries. 2021-01-09 15:27:04 -06:00
20210109205034_CacheMetadata.Designer.cs Refactored ScanLibrary to produce page numbers on the Manga File, Format and to update existing series/volumes rather than always create new entries. 2021-01-09 15:27:04 -06:00
20210111231840_VolumePages.cs Refactored volume to contain pages and removed /reader/info API endpoint. 2021-01-11 17:36:11 -06:00
20210111231840_VolumePages.Designer.cs Refactored volume to contain pages and removed /reader/info API endpoint. 2021-01-11 17:36:11 -06:00
20210114214506_UserProgress.cs Very messy code that implements read status tracking. Needs major cleanup. 2021-01-17 15:05:27 -06:00
20210114214506_UserProgress.Designer.cs Very messy code that implements read status tracking. Needs major cleanup. 2021-01-17 15:05:27 -06:00
20210117180406_ReadStatusModifications.cs Very messy code that implements read status tracking. Needs major cleanup. 2021-01-17 15:05:27 -06:00
20210117180406_ReadStatusModifications.Designer.cs Very messy code that implements read status tracking. Needs major cleanup. 2021-01-17 15:05:27 -06:00
20210117181421_SeriesPages.cs Very messy code that implements read status tracking. Needs major cleanup. 2021-01-17 15:05:27 -06:00
20210117181421_SeriesPages.Designer.cs Very messy code that implements read status tracking. Needs major cleanup. 2021-01-17 15:05:27 -06:00
20210119213837_AppUserRatingAndReviews.cs Implemented ability to leave a rating (up to 5 stars) and a text review (not UI supported until v0.2). 2021-01-19 17:06:26 -06:00
20210119213837_AppUserRatingAndReviews.Designer.cs Implemented ability to leave a rating (up to 5 stars) and a text review (not UI supported until v0.2). 2021-01-19 17:06:26 -06:00
20210121180051_AddedServerSettings.cs Implemented ability to have server settings. Currently cache directory is there but it is not configurable (or used in this commit) 2021-01-23 09:01:10 -06:00
20210121180051_AddedServerSettings.Designer.cs Implemented ability to have server settings. Currently cache directory is there but it is not configurable (or used in this commit) 2021-01-23 09:01:10 -06:00
20210121215532_ServerSettingsAdjustment.cs Implemented ability to have server settings. Currently cache directory is there but it is not configurable (or used in this commit) 2021-01-23 09:01:10 -06:00
20210121215532_ServerSettingsAdjustment.Designer.cs Implemented ability to have server settings. Currently cache directory is there but it is not configurable (or used in this commit) 2021-01-23 09:01:10 -06:00
20210122165809_ServerSettingsChange.cs Implemented ability to have server settings. Currently cache directory is there but it is not configurable (or used in this commit) 2021-01-23 09:01:10 -06:00
20210122165809_ServerSettingsChange.Designer.cs Implemented ability to have server settings. Currently cache directory is there but it is not configurable (or used in this commit) 2021-01-23 09:01:10 -06:00
20210122172455_ServerSettingsPrimaryKey.cs Implemented ability to have server settings. Currently cache directory is there but it is not configurable (or used in this commit) 2021-01-23 09:01:10 -06:00
20210122172455_ServerSettingsPrimaryKey.Designer.cs Implemented ability to have server settings. Currently cache directory is there but it is not configurable (or used in this commit) 2021-01-23 09:01:10 -06:00
20210128143348_SeriesVolumeChapterChange.cs Refactored DB to be Series->Volumes->Chapters instead. All functionality that previously worked still works. Cleanup still needed. 2021-02-01 09:29:11 -06:00
20210128143348_SeriesVolumeChapterChange.Designer.cs Refactored DB to be Series->Volumes->Chapters instead. All functionality that previously worked still works. Cleanup still needed. 2021-02-01 09:29:11 -06:00
20210128201832_MangaFileChapterRelationship.cs Refactored DB to be Series->Volumes->Chapters instead. All functionality that previously worked still works. Cleanup still needed. 2021-02-01 09:29:11 -06:00
20210128201832_MangaFileChapterRelationship.Designer.cs Refactored DB to be Series->Volumes->Chapters instead. All functionality that previously worked still works. Cleanup still needed. 2021-02-01 09:29:11 -06:00
20210203164258_ServerSettingsKey.cs Ability to update settings. Take effect on next reboot. 2021-02-04 16:49:48 -06:00
20210203164258_ServerSettingsKey.Designer.cs Ability to update settings. Take effect on next reboot. 2021-02-04 16:49:48 -06:00
20210205220227_UserPreferences.cs Fixed a deployment bug where we weren't listening on port properly. New way will force firewall exception dialog on Windows and work across board. Implemented user preferences and ability to update them. 2021-02-06 13:08:48 -06:00
20210205220227_UserPreferences.Designer.cs Fixed a deployment bug where we weren't listening on port properly. New way will force firewall exception dialog on Windows and work across board. Implemented user preferences and ability to update them. 2021-02-06 13:08:48 -06:00
20210207231256_SeriesNormalizedName.cs A hefty refactor of the ScanLibrary code. There were significant fallouts due to duplicate entities getting created and SingleOrDefaults failing. 2021-02-08 12:03:52 -06:00
20210207231256_SeriesNormalizedName.Designer.cs A hefty refactor of the ScanLibrary code. There were significant fallouts due to duplicate entities getting created and SingleOrDefaults failing. 2021-02-08 12:03:52 -06:00
20210225150830_AddLocalizedName.cs Implemented the ability to correct a match from UI and further scans will show that new Series name. 2021-03-08 09:33:35 -06:00
20210225150830_AddLocalizedName.Designer.cs Implemented the ability to correct a match from UI and further scans will show that new Series name. 2021-03-08 09:33:35 -06:00
20210315134028_SearchIndexAndProgressDates.cs Hangfire now dies gracefully when using CTRL+C rather than Stop button in Rider. Implemented one stream method for testing. Regenerated a few migrations due to oversight in index not taking account of library. 2021-03-15 08:43:43 -05:00
20210315134028_SearchIndexAndProgressDates.Designer.cs Hangfire now dies gracefully when using CTRL+C rather than Stop button in Rider. Implemented one stream method for testing. Regenerated a few migrations due to oversight in index not taking account of library. 2021-03-15 08:43:43 -05:00
20210322212724_MangaFileToPages.cs Some code cleanup 2021-03-23 12:22:47 -05:00
20210322212724_MangaFileToPages.Designer.cs Some code cleanup 2021-03-23 12:22:47 -05:00
20210323213507_LastModifiedOnMangaFiles.cs When we scan a library, store the last write time for a file so we can skip page calculation if there were no modifications. 2021-03-23 17:28:48 -05:00
20210323213507_LastModifiedOnMangaFiles.Designer.cs When we scan a library, store the last write time for a file so we can skip page calculation if there were no modifications. 2021-03-23 17:28:48 -05:00
20210330134414_IsSpecialOnChapters.cs Special Grouping (#134) 2021-03-31 12:10:26 -05:00
20210330134414_IsSpecialOnChapters.Designer.cs Special Grouping (#134) 2021-03-31 12:10:26 -05:00
20210419222000_BookReaderPreferences.cs EPUB Support (#178) 2021-04-28 16:16:22 -05:00
20210419222000_BookReaderPreferences.Designer.cs EPUB Support (#178) 2021-04-28 16:16:22 -05:00
20210419234652_BookReaderPreferencesFontSize.cs EPUB Support (#178) 2021-04-28 16:16:22 -05:00
20210419234652_BookReaderPreferencesFontSize.Designer.cs EPUB Support (#178) 2021-04-28 16:16:22 -05:00
20210423132900_CustomChapterTitle.cs EPUB Support (#178) 2021-04-28 16:16:22 -05:00
20210423132900_CustomChapterTitle.Designer.cs EPUB Support (#178) 2021-04-28 16:16:22 -05:00
20210504184715_TapToPaginatePref.cs Tap to Paginate User Pref (#197) 2021-05-04 17:01:27 -05:00
20210504184715_TapToPaginatePref.Designer.cs Tap to Paginate User Pref (#197) 2021-05-04 17:01:27 -05:00
20210509014029_SiteDarkModePreference.cs Implemented Dark Mode (#203) 2021-05-09 08:44:12 -05:00
20210509014029_SiteDarkModePreference.Designer.cs Implemented Dark Mode (#203) 2021-05-09 08:44:12 -05:00
20210519215934_CollectionTag.cs Don't log exceptions to Sentry when debugging locally. Fixed a constraint issue with collection tags that prevented deleting series. Ensure when we scan we add SeriesMetadata objects to existing series. (#265) 2021-06-04 17:49:19 -05:00
20210519215934_CollectionTag.Designer.cs Collection Support (#234) 2021-05-30 17:24:23 -05:00
20210528150353_CollectionCoverImage.cs Collection Support (#234) 2021-05-30 17:24:23 -05:00
20210528150353_CollectionCoverImage.Designer.cs Collection Support (#234) 2021-05-30 17:24:23 -05:00
20210530201541_CollectionSummary.cs Collection Support (#234) 2021-05-30 17:24:23 -05:00
20210530201541_CollectionSummary.Designer.cs Collection Support (#234) 2021-05-30 17:24:23 -05:00
20210603133957_BookReadingDirectionPref.cs Added book reader reading direction preference (#249) 2021-06-03 09:05:07 -05:00
20210603133957_BookReadingDirectionPref.Designer.cs Added book reader reading direction preference (#249) 2021-06-03 09:05:07 -05:00
20210603212429_BookScrollIdProgress.cs Book Reading Progress Enhancement (#259) 2021-06-03 18:33:13 -05:00
20210603212429_BookScrollIdProgress.Designer.cs Book Reading Progress Enhancement (#259) 2021-06-03 18:33:13 -05:00
20210622164318_NewUserPreferences.cs Manga Redesign (#321) 2021-06-24 19:31:42 -05:00
20210622164318_NewUserPreferences.Designer.cs Manga Redesign (#321) 2021-06-24 19:31:42 -05:00
20210722223304_AddedSeriesFormat.cs PDF Support + MORE!!!! (#416) 2021-07-22 21:13:24 -05:00
20210722223304_AddedSeriesFormat.Designer.cs PDF Support + MORE!!!! (#416) 2021-07-22 21:13:24 -05:00
DataContextModelSnapshot.cs PDF Support + MORE!!!! (#416) 2021-07-22 21:13:24 -05:00