Skip to content

v0.6.1

Latest

Choose a tag to compare

@alrcatraz alrcatraz released this 22 Aug 15:25
v0.6.1

astra-aigate v0.6.1

Bug-fix release for the self-hosted PostgreSQL run mode.

Fixed

  • Async proxy guards never awaited — the DatabaseAdapter PreparedStatement .get()/.all() returns a Promise, but the three proxy guards (hasBlockingProxyAssignment, hasBlockingProxyAssignmentForProvider, isGlobalProxyEnabled) consumed the results without await. The result: Promise was truthy, so every DIRECT-only provider was rejected with PROXY_ASSIGNED_UNAVAILABLE even with zero proxy-assignment rows, and the provider-level guard inverted the fault, never failing closed. Guards are now async and await every read through getAsyncDb(). The PG-mode scratch .raw is guarded too, so 'no such table: domain_budgets' no longer escapes as an unhandledRejection and loadCostTotal degrades to 0 instead of throwing.

  • Postgres dialect mangled datetime('now') on ON CONFLICT DO UPDATE RHS — rewriteConflictAssignments qualified every bare identifier on the right-hand side, so datetime('now') got a table prefix and was mis-translated into to_timestamp('user_levels.now'), making Postgres fail every gamification upsert with 'schema "user_levels" does not exist'. The qualifier now skips function calls (identifier followed by paren) and quoted strings, so NOW()/datetime('now') survive intact while bare-column sliding counters (consumed = consumed + EXCLUDED.consumed) still get the required table qualification.

Chore

  • Version bump 0.6.0 -> 0.6.1 + CHANGELOG entry.