Commit Graph

63 Commits

Author SHA1 Message Date
WithoutPants 602f95dd29
Fix video files with identical phashes being merged during scan (#5461)
* Change Fingerprints.Remove to return new instead of mutate current
* Match only by oshash and md5 when merging scenes during scan
2024-11-07 14:29:26 +11:00
WithoutPants a17199ba21
Handle symlink zip files (#5249) 2024-09-11 13:58:02 +10:00
WithoutPants c21ded028a
Scan video orientation (#5189)
* Adjust video dimensions for side data rotation
* Warn user when ffprobe version < 5. Only get rotation data on version >= 5
2024-09-03 16:33:15 +10:00
WithoutPants 899ee713ab
Adjust image dimensions for exif orientation (#5188) 2024-09-03 16:32:29 +10:00
Andi ae1841efb0
chore: use errors.New to replace fmt.Errorf with no parameters will much better (#4778) 2024-08-28 14:45:57 +10:00
WithoutPants b7799df2a6
Add package docs and project vision/goals (#5169)
* Add goals/design vision to contributing doc
* Add barebones package documentation
2024-08-28 09:01:39 +10:00
CJ 0fa71be697
Add scan option to force gallery zip rescan (#4113)
* Add scan option to force rescan
---------
Co-authored-by: WithoutPants <53250216+WithoutPants@users.noreply.github.com>
2024-05-20 13:52:36 +10:00
WithoutPants 141f60f8fb
Fix interactive speed being lost when file is moved (#4799) 2024-05-03 13:10:05 +10:00
hidewrong 4c0d9d0a07
chore: fix struct names (#4766)
Signed-off-by: hidewrong <hidewrong@outlook.com>
2024-05-02 12:04:54 +10:00
dogwithakeyboard f1f6e84aa0
Add bmp to image codec list (#4653) 2024-03-06 09:56:17 +11:00
WithoutPants 22986097c4 Fix code from #4570 2024-03-06 09:52:06 +11:00
WithoutPants 76e5598876
Improve handling of moved and added video files (#4598)
* If old file path is not in library, treat as move
* Use existing phash if file with same oshash exists
2024-02-20 14:04:31 +11:00
WithoutPants e7f610ce18
Fix invalid share causing error during cleaning (#4570) 2024-02-19 10:24:10 +11:00
WithoutPants 403f7c54ef
Move zip files while moving folders (#4374) 2024-01-16 14:48:28 +11:00
DingDongSoLong4 33f2ebf2a3
Model refactor, part 3 (#4152)
* Remove manager.Repository
* Refactor other repositories
* Fix tests and add database mock
* Add AssertExpectations method
* Refactor routes
* Move default movie image to internal/static and add convenience methods
* Refactor default performer image boxes
2023-10-16 14:26:34 +11:00
WithoutPants 0dbe3e6ea8
Fix data corruption when moving folders (#4169)
* Add data correction migration
* Correct folder hierarchy after folder move
2023-10-03 17:05:08 +11:00
DingDongSoLong4 c364346a59
Model refactor (#3915)
* Add mockery config file
* Move basic file/folder structs to models
* Fix hack due to import loop
* Move file interfaces to models
* Move folder interfaces to models
* Move scene interfaces to models
* Move scene marker interfaces to models
* Move image interfaces to models
* Move gallery interfaces to models
* Move gallery chapter interfaces to models
* Move studio interfaces to models
* Move movie interfaces to models
* Move performer interfaces to models
* Move tag interfaces to models
* Move autotag interfaces to models
* Regenerate mocks
2023-09-01 10:39:29 +10:00
therandomguy42 ab4f56213f
Fix non-animated avif files getting classified as video files (#3913) 2023-08-01 14:17:34 +10:00
WithoutPants 93b41fb650
Add folder rename detection (#3817) 2023-07-11 11:53:49 +10:00
DingDongSoLong4 4f11a2820f
Ignore video clips in zip files (#3826) 2023-06-15 13:34:49 +10:00
yoshnopa ed7640b7b1
Update Metadata Bugfix (#3757) 2023-05-25 09:29:05 +10:00
yoshnopa a2e477e1a7
Support image clips/gifs (#3583)
Co-authored-by: WithoutPants <53250216+WithoutPants@users.noreply.github.com>
2023-05-17 09:30:51 +10:00
DingDongSoLong4 90683bd263
Fix zip gallery moving (#3610)
* Fix folder ZipFileID synchronization
* Fix zip gallery moving
2023-04-19 13:06:53 +10:00
DingDongSoLong4 b4b7cf02b6
Improve caching, HTTP headers and URL handling (#3594)
* Fix relative URLs
* Improve login base URL and redirects
* Prevent duplicate customlocales requests
* Improve UI base URL handling
* Improve UI embedding
* Improve CSP header
* Add Cache-Control headers to all responses
* Improve CORS responses
* Improve authentication handler
* Add back media timestamp suffixes
* Fix default image handling
* Add default param to other image URLs
2023-04-19 13:01:32 +10:00
DingDongSoLong4 a8f9310c0f
Fix moveFiles for zip files (#3608) 2023-03-29 09:28:11 +11:00
WithoutPants 1f578db2d6
Warn on charset decoding issues (#3568) 2023-03-24 09:04:48 +11:00
WithoutPants 09c724b8d5
Add move files external interface (#3557)
* Add moveFiles graphql mutation
* Move library resolution code into config
* Implement file moving
* Log if old file not removed in SafeMove
* Ensure extensions are consistent
* Don't allow overwriting existing files
2023-03-22 07:57:26 +11:00
WithoutPants 7cff71c35f
Add filesystem based blob storage (#3187)
* Refactor transaction hooks. Add preCommit
* Add BlobStore
* Use blobStore for tag images
* Use blobStore for studio images
* Use blobStore for performer images
* Use blobStore for scene covers
* Don't generate screenshots in legacy directory
* Run post-hooks outside original transaction
* Use blobStore for movie images
* Remove unnecessary DestroyImage methods
* Add missing filter for scene cover
* Add covers to generate options
* Add generate cover option to UI
* Add screenshot migration
* Delete thumb files as part of screenshot migration
2023-03-17 10:52:49 +11:00
xWTF 6a5a2060bf
Fix gallery zip scan context (#3433)
* fix zip scan context
* move ValueOnlyContext to utils, use it for zipCtx
2023-02-16 10:07:52 +11:00
xWTF d00966c335
Support non-utf8 encoding for zip files (#3389)
* detect & decode zip file names in newZipFS
2023-02-16 10:06:12 +11:00
WithoutPants 3cf97f6e27
Handle folder symlinks correctly during clean (#3415) 2023-02-11 09:21:18 +11:00
puc9 cf0ce6cb08
Fix and improve captions detection (#3276) 2023-01-27 11:52:56 +11:00
WithoutPants dc875ed5d7
Clean missing captions during scan (#3240) 2022-12-06 12:04:40 +11:00
alexandra-3 87cea80e7b
Fix a bunch of scanning / tagging bugs (#3154)
* Fix possible infinite loop/stack overflow with weird/broken zip files
* Fix path length calculation using bytes instead of characters (runes)
* Fix bug where oshash gets buffers with size not actually multiple of 8
* Add oshash tests

Co-authored-by: WithoutPants <53250216+WithoutPants@users.noreply.github.com>
2022-12-01 16:48:04 +11:00
alexandra-3 abc9ec648a
Fix a few cases where ffmpeg produces no output (#3161)
* Treat no output from ffmpeg as an error condition
* Distinguish file vs. video duration, and use later where appropriate
* Check for empty file in generateFile

Co-authored-by: WithoutPants <53250216+WithoutPants@users.noreply.github.com>
2022-11-21 17:21:27 +11:00
WithoutPants f39fa416a9
Fix database locked errors (#3153)
* Make read-only operations use WithReadTxn
* Allow one database write thread
* Add unit test for concurrent transactions
* Perform some actions after commit to release txn
* Suppress some errors from cancelled context
2022-11-21 06:49:10 +11:00
WithoutPants 4a054ab081
Support file-less scenes. Add scene split, merge and reassign file (#3006)
* Reassign scene file functionality
* Implement scene create
* Add scene create UI
* Add sceneMerge backend support
* Add merge scene to UI
* Populate split create with scene details
* Add merge button to duplicate checker
* Handle file-less scenes in marker preview generate
* Make unique file name for file-less scene exports
* Add o-counter to scene update input
* Hide rescan for file-less scenes
* Generate heatmap if no speed set on file
* Fix count in scene/image queries
2022-11-14 16:35:09 +11:00
WithoutPants 479ebfc88d
Reimplement case-insensitivity move bug fix (#3047)
* Use eq for FindByPath for case sensitivity
* Handle case sensitive moves
2022-10-25 11:37:54 +11:00
WithoutPants 1c92336798
Fix symlink size calculation (#3046) 2022-10-25 10:57:37 +11:00
DingDongSoLong4 4db0e48f73
Fix zip gallery renaming (#3036) 2022-10-24 09:38:02 +11:00
WithoutPants 7104bb67ca
Handle null video durations in migration (#3021) 2022-10-20 10:58:42 +11:00
WithoutPants 6ce409cd56
Prevent errors from stopping scan 2022-10-11 14:20:24 +11:00
WithoutPants b160c3bb97
Associate funscript files on scan (#2978) 2022-10-06 11:17:01 +11:00
WithoutPants 6ba9f55df0
Add default thumbnails for scenes and images (#2949)
* Use default thumbnail for scene covers
* Use defautl thumbnail for image thumbnails
2022-10-03 13:01:35 +11:00
WithoutPants dce90a3ed9
Handle file rescan (#2951)
* Fire handlers when file updated or moved
* Create galleries as needed
* Clean empty galleries
* Handle cleaning zip folders when path changed
* Fix gallery association on duplicate images
* Re-create missing folder-based galleries
2022-09-28 16:08:00 +10:00
WithoutPants 0848b02e93
Various bug fixes (#2945)
* Only update fingerprints if changed
* Fix panic when loading primary file fails
* Fix gallery/scene association
* Fix display of scene gallery in card
* Use natural_cs collation with paths for title sorting
2022-09-25 12:07:55 +10:00
WithoutPants b74428cb42
Various bug fixes (#2938)
* Don't recalculate MD5 if not enabled

Remove MD5 if oshash has changed and MD5 was not calculated.

* Fix panic in paged DLNA
* Prevent identical hashes in stash-box drafts
2022-09-21 15:39:41 +10:00
WithoutPants cffcd9f4b8
Various bug fixes (#2935)
* Sort scene/image/gallery tags by name
* Calculate md5 if missing
* Prevent multiple folder create logs
2022-09-20 17:02:14 +10:00
DingDongSoLong4 8efbcc1c4d
Suppress benign broken pipe and context closed warnings (#2927) 2022-09-19 15:01:40 +10:00
WithoutPants 2564351265
Use post commit hook for post-create plugin hooks (#2920) 2022-09-19 14:53:06 +10:00