Skip to content

Changelog - Dev - 07.21.2026 โ€‹

All notable changes to this project will be documented in this file.

The format is based on Keep a Changelog.


[Unreleased] - 2026-07-21 โ€‹

Fixed โ€‹

  • Fix Dashboard subscriptions to follow auth state changes: Dashboard realtime subscriptions (lanterns, scheduled lights, waves, connections) now properly wire on late sign-in, tear down and re-wire on account switch, and clear per-user state on transitions. This prevents one account's data from being rendered for another and eliminates subscription leaks. (#680) bug

Update - 2026-07-21 00:49 UTC โ€‹

Security โ€‹

  • Enforce PIN brute-force lockout for sealed pairing: PIN validation on sealed accounts was bypassable because the lockout mechanism keyed on userId and engaged after token issuance. Now enforces the same 5-strike / 15-minute lockout policy keyed on phoneHash before token generation, closing the brute-force window. (#681) bug

Update - 2026-07-21 02:18 UTC โ€‹

Added โ€‹

  • Tag blocked peers in Archived Chats view: Blocked peers' conversations now remain visible in Archived Chats with a "Blocked" tag, preserving chat history and context. Active chats continue to filter blocked peers entirely, keeping the interface clean while the archive provides full transparency. (#682) enhancement

Update - 2026-07-21 17:51 UTC โ€‹

Added โ€‹

  • Add comprehensive Stage B test coverage and Firebase Admin 14 support: Closes all remaining Stage B test gaps with 18 new phone/email-axis ban route tests, 18 PhonePinLogin integration tests covering ban-is-not-a-wrong-PIN invariants across blocked paths, and explicit concurrency tests for createUser phoneHash uniqueness. Upgrades Firebase Admin SDK to version 14. (#687) dependencies

Update - 2026-07-21 19:19 UTC โ€‹

Fixed โ€‹

  • Remove unused firebase-functions-test dependency: Removed firebase-functions-test from the functions workspace to unblock Cloud Functions deployment. The dependency was unused and incompatible with firebase-admin v14, causing Cloud Build to fail during isolated npm install. (#688) bug dependencies

Update - 2026-07-21 21:56 UTC โ€‹

Security โ€‹

  • Restrict client Firestore venue creation to manual source: Client-side Firestore rules now enforce that venues created directly by users must have source set to 'manual', preventing authenticated users from bypassing server-side deduplication, rate limiting, and validation by creating venues with external sources like OpenStreetMap or Google Places. (#689) bug

Update - 2026-07-21 22:51 UTC โ€‹

Changed โ€‹

  • Adopt react-hooks 7.1 linting rules: Updated eslint-plugin-react-hooks to ^7.1.0 and fixed 23 flagged violations across 12 web files using behavior-preserving patterns: lazy initializers for synchronous reads, React's adjust-during-render pattern for prop/route sync, handler-scoped fetches, and ref-to-state conversions where render depends on values. Improves code quality and future maintainability. (#690) enhancement dependencies

Built with VitePress