rmcrackan
c285522a0c
Add contributor from PR #1854
2026-06-07 12:56:13 -04:00
rmcrackan
869917e0ce
#1851 - threading bug
2026-06-04 09:59:12 -04:00
rmcrackan
f8c5f0da68
#1836 - Fix misleading "Not enough disk space" warnings when Books and In progress are on different drives
2026-05-25 10:25:46 -04:00
rmcrackan
d63fabd73d
Download works but queue goes red with Download PDF
2026-05-21 10:33:13 -04:00
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
eb4ab59737
Add @CryptoJones to contributor list
2026-05-15 09:41:33 -04:00
rmcrackan
727c869ba9
#1711 : Linux/Docker: the default in-progress download/decrypt folder is now per-user (/tmp/Libation-<username>) and is created with 0700 permissions, fixing failures caused by leftover /tmp/Libation directories from previous root installs and hardening against another local user reading partial download artifacts. Auto-upgrade downloads now land in a randomly-named per-run temp directory.
2026-05-08 09:04:39 -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
13bdebbe9d
#1776 . better messages to users. improve all exception display
2026-04-30 11:04:50 -04:00
rmcrackan
ccc74cef56
#1748 : In-app upgrades now wait for the real installer and treat failures as failures.
2026-04-20 10:20:29 -04:00
rmcrackan
65623e8e81
Catch WebKit load failures on account login. Wrap the code path that opens NativeWebDialog / WebView for Audible login in a try/catch for DllNotFoundException (and related load failures). On failure, show a short dialog: install WebKit2GTK and do not crash the app.
2026-04-15 09:41:47 -04:00
rmcrackan
e4282f014e
remove close issues search link
2026-03-31 17:38:32 -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
rmcrackan
5c1153e187
better error messages when webview is the problem. shouldn't appear like a scan error
2026-03-30 14:22:09 -04:00
rmcrackan
0960edeafb
Add contributor: Jo-Be-Co
2026-03-24 15:16:17 -04:00
rmcrackan
0b0f5184d2
Validate essential files early
2026-03-12 14:55:14 -04:00
rmcrackan
41e0aa0dfb
Upgrade checks to include: yes, no, don't know
2026-03-02 08:44:18 -05: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
cb159336a6
Enable NTRs on main form and fix resulting warnings.
2026-01-27 12:42:21 -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
Michael Bucari-Tovo
e9016ace03
Make IncludedUntil and LastDownload nulls always sort to bottom
2026-01-21 13:41:47 -07:00
Robert
413da72bf0
logging typo
2026-01-19 10:31:34 -05:00
Mbucari
c95dccd246
Add confirmation dialog when removing books from Audible
2026-01-11 15:45:56 -07:00
Mbucari
94cf665be7
Fix books not being marked absent on large imports
2026-01-11 15:40:11 -07:00
Michael Bucari-Tovo
659f793eb8
Improve TrashBinDialog functionality
...
- Use the main display grid control to display deleted books
- Added search functionality for deleted books. This required creating a temporary search index in the `InProgress` folder. The products grid control now uses an instance of `ISearchEngine` to filter its grid entries. The main grid uses a singleton instance of `MainSearchEngine`, which merely wraps `SearchEngineCommands.Search()`. The TrashBinDialogs use `TempSearchEngine`.
- Users can now batch select `Everyting` as well as `Audible Plus Books`
Avalonia:
- Refactor main grid context menus to no longer require reflection
2026-01-09 16:47:37 -07:00
Michael Bucari-Tovo
1514de54da
Add menu option to remove Plus books from Audible
2026-01-08 13:00:47 -07:00
Michael Bucari-Tovo
804bac5c4c
Add LibraryBook.IsAudiblePlus property
2026-01-07 15:50:23 -07:00
Michael Bucari-Tovo
3fa805d51f
Verify correct Serilog parameters used ( #1536 )
2026-01-07 15:10:54 -07:00
Robert
930fc3da58
Merge branch 'master' of https://github.com/rmcrackan/Libation
2026-01-06 07:26:40 -05:00
Robert
90e8d03590
add github doc contributor
2026-01-06 07:26:35 -05:00
Michael Bucari-Tovo
4bd641ee50
Improve LocateAudiobooksDialog
...
- Move LocatedAudiobooksViewModel to LibationUiBase
- Refactor Avalonia and Classic displays to use same view model.
- Do scan on background task
2026-01-05 15:38:15 -07:00
MBucari
396d2c8a95
Address rmcrackan comments and refactor
2026-01-02 13:04:35 -07:00
Michael Bucari-Tovo
f6b96fc210
Add feature to scan for better quality audiobooks
...
Add AccessibleDataGridViewColumn which can apply Accessability names and descriptions from the designer.
Create reusable SortBindingList<T> for basic sorting of data-bound items.
2025-12-31 16:31:52 -07:00
Michael Bucari-Tovo
7d30a3036d
Move viewmodel into UiBase
2025-12-30 15:56:47 -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
802ccf25e8
Add recent contributors
2025-12-26 14:08:59 -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
MBucari
fde78f4167
Update to .NET 10
...
- Update all project runtime targets
- Update all dependencies
- NOTE: Using Npgsql.EntityFrameworkCore.PostgreSQL RTM build from MyGet
- Delete unused pubxml files (they were made redundant by recent workflow changes)
- Replace Libation.sln with Libation.slnx
2025-11-20 15:56:47 -07:00
MBucari
e8c911e603
Improve management and validation of Libation settings
...
- Move all settings file logic into new LibationFiles class
- Configuration.LibationFiles is a singleton instance of the LibationFiles class.
- A LibationFiles instance is bound to a single appsettings.json path. All updates to LibationFiles location are updated in that appsettings.json file
- Unify initial setup and settings validation process
- Add LibationSetup which handles all startup validation of settings files and prompts users for setup if needed
- Added a new LibationUiBase.Tests test project with tests for various
2025-11-17 10:49:23 -07:00
Michael Bucari-Tovo
23d391485d
Update AboutDialog and add recent contributors
2025-11-07 10:35:33 -07:00
Michael Bucari-Tovo
5634fee2aa
Add Account column #1398
2025-11-05 08:48:29 -07:00