rmcrackan
b9490966bb
* Multi-step backup: PDF and later steps now run in the same awaited chain, so disk full on PDF stops the queue instead of counting as success.
...
* Detection: Quota / NAS “out of space” messages are treated like disk full, not generic retries.
2026-05-18 10:00:32 -04:00
rmcrackan
d1114b410e
sync/async bug fixes
2026-05-18 09:53:05 -04:00
rmcrackan
77f518f8d3
#1823 - Address full disk better. Fail clearly and early when possible, fail safely when space cannot be queried, and do not take down the UI or spam the user when the disk is full.
2026-05-18 09:20:51 -04:00
rmcrackan
0cc2ef773d
* Default Scan library to on for new accounts from Upsert / Mkb79 import (matches GUI)
...
* CLI liberate: print short license-denial reasons to stderr
* GUI: message when stoplight can’t queue (e.g. absent from last scan)
2026-05-05 13:32:28 -04:00
rmcrackan
b694e319f7
Give better feedback to user when they're getting persistent 'license denied' errors which are likely caused by too many Plus downloads
2026-03-31 17:31:40 -04:00
Michael Bucari-Tovo
3ab1edc076
Code Cleanup
...
Make fields readonly
Remove unnecessary casts
Format document
Remove unnecessary usings
Sort usings
Use file-level namespaces
Order modifiers
2026-02-05 12:48:44 -07:00
Michael Bucari-Tovo
d67692355f
Enable project-wide nullable reference types
...
Added DB migration for nullable types.
2026-02-05 12:43:05 -07:00
Michael Bucari-Tovo
29501bddf3
Clean up queries
...
Use .NET 10 extensions
Refactor some extensions for clarity
2026-01-22 13:36:25 -07:00
Robert
413da72bf0
logging typo
2026-01-19 10:31:34 -05:00
Michael Bucari-Tovo
3fa805d51f
Verify correct Serilog parameters used ( #1536 )
2026-01-07 15:10:54 -07:00
MBucari
e850465ec1
Add more null safety
...
Enable project-wide nullable on LibationUiBase and LibationAvalonia
Explicitly parallelize unit tests
2025-12-30 13:17:11 -07:00
MBucari
29a5c943cb
Auto-scroll process queue
2025-12-29 21:52:36 -07:00
MBucari
4c5fdf05f5
Add "Download split by chapters" context menu item ( #1436 )
...
All processables are now created with an instance of Configuration, and they use that instance's settings.
Added Configuration.CreateEphemeralCopy() to clone Configuration without persistence.
2025-12-01 23:23:47 -07:00
MBucari
74afbbf581
Add more liberation logging
2025-11-23 23:40:23 -07:00
Mbucari
805f42b1cc
Add warnings for inaccessable InProgress directory ( #1446 )
2025-11-22 15:29:54 -07:00
Michael Bucari-Tovo
b0a40e12b7
Create some extension members
...
Trying out .NET 10s extension members with some Book extension properties.
2025-11-21 12:31:50 -07:00
Michael Bucari-Tovo
dfbc5ec9db
Use the new field keyword where appropriate.
2025-11-21 11:50:07 -07:00
MBucari
a55da5f187
Refactor DbContext access and disposal
...
- Remove instance queue. This is a database, after all, and is designed to be accessed and written to concurrently
- Reduce the number of calls to DbContexts.Create()
- Ensure that no LibationContext remains open across an await boundary. Multithread context access is the most likely culprit for past issues.
- Make all Update UserDefinedItem methods asynchronous.
2025-11-20 22:15:54 -07:00
Michael Bucari-Tovo
ac4c168725
Allow Libation to start with an invalid Books directory
...
- Configuration.LibationSettingsAreValid is true if Books property exists and is any non-null, non-empty string.
- If LibationSettingsAreValid is false, Libation will prompt user to set up Libation.
- When the main window is shown, Libation checks if the books directory exists, and if it doesn't, user is notified and prompted to change their setting
- When a user tries to liberate or convert a book, Books directory is validated and user notified if it does not exist.
2025-08-04 19:58:26 -06:00
MBucari
b27325cdcb
Improve comvert to mp3 task
...
- Improve progress reporting and cancellation performance
- Clear current book from queue before queueing single convert to mp3 task
2025-07-25 15:35:03 -06:00
Michael Bucari-Tovo
80b86086ca
Consolidate process queue view models
...
Remove classic and chardonnay-specific implementations
Refactor TrackedQueue into an IList with INotifyCollectionChanged
2025-07-21 15:56:30 -06:00
MBucari
7e79e98771
Fix possible cross-threading errors with MessageBoxBase
2025-07-16 22:57:25 -06:00
Michael Bucari-Tovo
4b7939541a
Code cleanup and refactoring for clarity
2025-07-16 22:55:57 -06:00
MBucari
4dab16837e
Move ProcessQueueViewModel logic into LibationUiBase
...
Fix UI bug in classic when queue is in popped-out mode.
2025-07-15 22:31:17 -06:00
MBucari
1cf889eed7
Move ProcessBookViewModel logic into LiationUiBase
2025-07-15 15:05:33 -06:00