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
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
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
db588629c0
Null safety and minor UI bugfix
...
Properly cancel the Locate Audiobooks when the dialog window closes before scanning is finished.
2025-08-04 17:15:37 -06:00
MBucari
6465b0a885
Fix possible NRE
2023-04-04 19:17:43 -06:00
Michael Bucari-Tovo
090871f50d
More migrations to Avalonia 11.0.0-preview6
2023-03-27 11:14:54 -06:00
Mbucari
7289459170
Migrate to Avalonia 11.0.0-preview6
2023-03-22 13:44:25 -06:00
Mbucari
56823c1105
Move FindAudiobooks() to AudioFileStorage
2023-02-10 14:54:29 -07:00
Mbucari
3a4ab80892
Add human name parsing and formatting to naming templates
2023-02-10 12:53:12 -07:00
Mbucari
bba9c2ba7b
Add Locate Audiobooks function ( #485 )
2023-02-10 09:35:21 -07:00