-
v0.0.4 Stable
released this
2026-01-19 11:29:08 +00:00 | 1 commits to main since this release-
Centralized authorization module: New
auth.pywithAuthContext,require_super_user, andrequire_authenticatedhelpers -
Fixed 6 critical unprotected endpoints that exposed sensitive data
-
Consolidated 16+ admin endpoints with duplicated super_user checks into standardized patterns
-
Standardized on
user_id(wallet.wallet.user) instead ofwallet_idfor consistency -
Added concurrency protection for Fava/Beancount ledger writes to prevent race conditions
-
Global asyncio.Lock to serialize all write operations
-
Per-user locks for finer-grained concurrency control
-
Retry logic with exponential backoff for checksum conflicts
-
New
add_entry_idempotent()method to prevent duplicate entries -
ChecksumConflictErrorexception for conflict handling -
Fixed approve/reject endpoints to use Fava source API correctly
-
Properly read entry metadata (filename, lineno) from parsed entry
-
Read full source file via GET /source, modify specific lines, write back via PUT /source
-
Added Fava settings UI in super admin Settings dialog (URL, ledger slug, timeout)
-
Fava client reinitializes automatically when settings are updated
-
Fixed race conditions in toolbar buttons - added
settingsLoadedflag to prevent wrong buttons appearing beforeisSuperUserwas determined -
Fixed "Cannot read properties of undefined (reading 'user')" error from premature Vue mount() call
https://git.aiolabs.dev/padreug/castle/compare/v0.0.3...v0.0.4
Downloads
-
Source code (ZIP)
3 downloads
-
Source code (TAR.GZ)
2 downloads
-