• v0.0.5 c4f784360d

    v0.0.5 Stable

    padreug released this 2026-01-19 12:17:25 +00:00 | 0 commits to main since this release

    • Fixed default amount display: Pay User dialog now correctly shows sats amount when lightning payment is selected (was incorrectly showing fiat value)

    • Fixed invoice response parsing: Changed from payment_request to bolt11 field name to match LNbits API response

    • Fixed NameError in payables/pay endpoint: Corrected undefined wallet reference to use auth.user_id for payment metadata

    • Fixed user wallet lookup with truncated IDs: Added prefix-based lookup for 8-char user IDs from Beancount accounts

    • Added get_user_wallet_settings_by_prefix() function in crud.py for matching truncated user IDs to full UUIDs

    • Updated /api/v1/user-wallet/{user_id} endpoint to support both full UUIDs and truncated 8-char IDs

    • Lightning payments from Castle to users now work correctly end-to-end

    https://git.aiolabs.dev/padreug/castle/compare/v0.0.4...v0.0.5

    Downloads
  • v0.0.4 8d9e14ee5a

    v0.0.4 Stable

    padreug released this 2026-01-19 11:29:08 +00:00 | 1 commits to main since this release

    • Centralized authorization module: New auth.py with AuthContext, require_super_user, and require_authenticated helpers

    • 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 of wallet_id for 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

    • ChecksumConflictError exception 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 settingsLoaded flag to prevent wrong buttons appearing before isSuperUser was 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
  • v0.0.3 e403ec223d

    v0.0.3 Stable

    padreug released this 2026-01-02 19:27:46 +00:00 | 6 commits to main since this release

    Changes since v0.0.2:

    • e403ec2 - Add settlement links to payment entries for traceability
    • da74e66 - Fix entry_id mismatch between castle links and exp/rcv links
    Downloads
  • v0.0.2 69ce1d9601

    v0.0.2 Stable

    padreug released this 2026-01-02 17:24:28 +00:00 | 8 commits to main since this release

    Fix Fava API endpoint for getting entry context

    Downloads
  • v0.0.1 f8af54f90b

    v0.0.1 Stable

    padreug released this 2025-12-31 15:50:48 +00:00 | 9 commits to main since this release

    Downloads