Cursor Agent and rmcrackan
337cb3169a
Adopt Dinah.Core 10.2.2.1 and AudibleApi 11.0.0.1
...
AudibleApi 11 holds token, key, and cookie values in a SecretString
rather than a string, so nothing public exposes plaintext for a reflective
logger to find. Picking it up is a breaking upgrade: the seven package
references move, and the nine places that read a secret now call Reveal().
Two of those needed thought rather than a mechanical edit. Mkb79Auth
exports to and imports from audible-cli's JSON format, which is plaintext
by definition, so the cookie projections reveal explicitly in both
directions and the file format is unchanged. And the account's own
DecryptKey stays a plain string here: converting it is separate work.
This is the dependency bump only. The log leak it enables fixing - an
AuthenticationRequiredException carrying a live Account, whose address and
activation bytes Serilog.Exceptions writes into a shared log - is still
open, and none of the account-side masking has landed yet.
Co-authored-by: rmcrackan <rmcrackan@gmail.com >
2026-08-17 01:49:21 +00:00
Cursor Agent and rmcrackan
a5b1df0d29
Centralize best-effort file deletion in FileUtility
...
Co-authored-by: rmcrackan <rmcrackan@gmail.com >
2026-08-12 18:55:42 +00:00
Robert McRackan
065118cf6c
Fail fast on invalid Settings.json enums and broken Serilog structure: reject unknown enum values at startup with clear errors, accept case-insensitive names, migrate ZipFile sinks, and validate Serilog shape without blocking hand-edited custom sinks
2026-08-07 11:10:43 -04:00
Robert McRackan
5f4a75aade
Detect identity decrypt failures by exception type
2026-08-01 11:25:56 -04:00
Robert McRackan
20150cc4ed
update dependencies
2026-07-25 22:03:23 -04:00
Robert McRackan
b5485f77bf
update dependencies
2026-07-25 20:08:11 -04:00
rmcrackan
0499bbae7e
Merge pull request #1803 from Jo-Be-Co/1762_filter
...
1762 add filter() to list properties
2026-05-14 11:29:26 -04:00
Jo-Be-Co
c2c7b04acd
minor fixes and comment corrections
2026-05-14 02:12:25 +02:00
Jo-Be-Co
a21bb8174d
#1762 introduce CommonFormatters.TryGetLiteral
2026-05-14 02:04:26 +02:00
rmcrackan
50fde66a4c
#1804 - Fix Windows folder picker crash on custom paths. Normalize stored paths before opening the OS folder dialog (\\?\ / UNC handling, existence check) in shared FolderPickerInitialPath, use it from WinForms and Avalonia folder pickers, and retry once if the dialog still throws. Adds small FileManager tests.
2026-05-12 08:55:12 -04:00
Jo-Be-Co
4ffcbeb1db
Fix typos
2026-05-10 00:37:02 +02:00
Jo-Be-Co
7ef10b1e7d
#1762 add unique() and count() to list properties
2026-05-09 21:15:24 +02:00
Jo-Be-Co
0a644695d8
#1762 extract comparison to separate reusable class
2026-05-09 00:59:35 +02:00
MBucari
505c614210
Code Cleanup
...
Remove unused parameters
Remove unnecessary casts
Make fields readonly
Order modifiers
Format document
Sort usings
Remove unnecessary nullable directive
Apply namespace preferences (file-level)
2026-05-04 21:10:28 -06:00
Michael Bucari-Tovo
df531de255
Update Avalonia to v12
...
Avalonia 12 uses compiled bindings by default. Converted all remaining reflection bindings into compiled bindings,
Fixed binding errors
2026-05-04 21:08:26 -06:00
rmcrackan
274cbf37ca
Merge pull request #1755 from Jo-Be-Co/Conditional-output-on-format-templates
...
#1754 Conditional output on format templates
2026-04-20 21:59:02 -04:00
Jo-Be-Co
417e654799
#1754 Conditional output on format templates
2026-04-20 23:15:54 +02:00
Jo-Be-Co
fa64be7ad0
fixed typoo ;-)
2026-04-20 22:41:34 +02:00
Jo-Be-Co
e3508b2998
rebased and small fixes
2026-04-20 22:06:40 +02:00
Jo-Be-Co
30809fb38d
fixed quoting errors in format-strings
2026-04-20 21:38:45 +02:00
Jo-Be-Co
c1e9911ade
Small fixes on auto checks
2026-04-20 18:43:33 +02:00
Jo-Be-Co
962a5055b2
Fixed PR comments
2026-04-20 18:07:17 +02:00
Jo-Be-Co
dc353aa7e5
Merge branch 'master' into bifunctions
2026-04-17 08:50:53 +02:00
Jo-Be-Co
d5258b7e64
fixed merge collision
2026-04-17 08:46:52 +02:00
Jo-Be-Co
c72e5a3568
fixed matching of first property
2026-04-14 02:48:03 +02:00
Jo-Be-Co
c1b8cc894a
add mathematical symbols
2026-04-14 00:41:22 +02:00
Jo-Be-Co
56c15d3108
add checks on lists
2026-04-14 00:38:41 +02:00
Jo-Be-Co
810ea90770
introduce cmp tag as check with two operands
2026-04-14 00:30:34 +02:00
Jo-Be-Co
a010da5251
#1714 Convert the evaluation of the 'is' tag into two-parameter logic
2026-04-13 01:39:16 +02:00
Jo-Be-Co
b4f48cb54c
Extend <language> and <locale> tags to allow different outputs like ISO-codes or names in different languages
2026-04-10 09:43:11 +02:00
Jo-Be-Co
fc92c633e1
No made up format for minutes as .NET already knows how to format them.
...
User documentation needs to follow.
2026-03-26 03:12:24 +01:00
Jo-Be-Co
3c71cb10b2
some minor fixes
2026-03-26 03:10:43 +01:00
Jo-Be-Co
6b26280aa8
Get formats for properties in given form to the formatters by no unescaping them in advance.
2026-03-25 14:23:03 +01:00
Jo-Be-Co
14d8bb2205
As stated in the "Naming Templates" documentation, support custom formatters on numbers.
...
Only trim spaces on tags where they are disruptive.
2026-03-25 02:34:32 +01:00
Jo-Be-Co
6d2b0b952d
- Inspect exception on regexp timeout
...
- special tests for checks with whitespace
- Escaping allows whitespace at the edges
2026-03-24 00:18:40 +01:00
Jo-Be-Co
fb277cff81
Faulty regex patterns will throw InvalidOperationException during evaluation.
2026-03-23 15:29:32 +01:00
Jo-Be-Co
dbd5af8ab0
QS second part:
...
Made Evaluate() more resilient.
Added tests to CommonFormatters.
2026-03-22 22:22:02 +01:00
Jo-Be-Co
02b9b4fa1c
QS updates:
...
- fixed documentation
- regexp-checks running with timeout and culture-invariant matching
- changed check-building in ConditionalTagCollection to use NonNull parameters. So no warnings occure.
- add tests for <!is ...> and escaped chars
2026-03-22 19:18:55 +01:00
Jo-Be-Co
7ecd571364
Corrections to documentation and comments.
2026-03-22 13:55:28 +01:00
Jo-Be-Co
32f3e6a886
Introduces the slice() format directive
2026-03-22 13:55:27 +01:00
Jo-Be-Co
e477c29890
New tags <minutes>, <tag> and <if abridged->...<-if abridged>
2026-03-22 13:55:27 +01:00
Jo-Be-Co
a8621699c1
Add numerical checks for conditional tag.
...
- numbers are compared with their value
- strings are compared by checking the length
- Collections are evaluated on cheking their size
2026-03-22 13:55:27 +01:00
Jo-Be-Co
cd9a070784
Allow two step formatting to get checkable values and not only single stringa
...
Introduce <is-> Tag. Like <has-> but with additional check on content.
Retrieve objects instead of string for conditions
Pass undefined formats as null instead of empty strings
2026-03-22 13:55:26 +01:00
Jo-Be-Co
d8ce7cc9b0
Formats are now escapable and the evaluation of HasValue has been transformed into a configuration parameter.
2026-03-22 13:55:26 +01:00
Jo-Be-Co
1d6d4ff9ac
GetTagExpression uses Dictionary for capture names from Regexes
2026-03-22 13:55:26 +01:00
Jo-Be-Co
db3a810f47
Regular Expressions with capture names on coments
2026-03-22 13:55:26 +01:00
Jo-Be-Co
812e0c3b60
Format details on fields specified in format. Introduce by colon.
...
Use dictionaries for field access and sorting.
Added sorting to series lists.
2026-03-22 13:55:25 +01:00
Jo-Be-Co
d161bdfaeb
Introduce culture parameter for formatting.
2026-03-22 13:55:24 +01:00
Jo-Be-Co
a6aa14c7f8
Collect formatters into CommonFormatters
2026-03-22 13:55:24 +01:00
Jo-Be-Co
7dd55a2545
Refactorings
2026-03-22 13:55:24 +01:00