rmcrackan
82d4001f0a
#1878 : Detect incomplete in-app upgrades, roll back install files, and show clear recovery messages
2026-06-17 10:18:52 -04:00
rmcrackan
4bd7796f70
#1872 : Suggest Widevine when ADRM licenserequest fails with Sable acr:null
2026-06-16 11:12:58 -04:00
rmcrackan
158ee3d5ba
Merge pull request #1869 from rmcrackan/rmcrackan/1867-duplicate-asin
...
#1867 - Fix duplicate-ASIN crashes. New Hangover recovery
2026-06-12 11:52:42 -04:00
rmcrackan
b654a8b551
#1867 - Fix duplicate-ASIN crashes. New Hangover recovery
2026-06-12 11:48:32 -04:00
rmcrackan
4d1b78f7e4
#1865 - Add in-dialog "Apply to all" and "Remember in Settings" for bad-book errors. Also a testing section when run in debug (ie: from visual studio)
2026-06-12 09:53:57 -04:00
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