What's New
Release Notes
All notable changes to this project will be documented in this file.
1.26.3 - March 31 2026
TL;DR
- Authentication reliability has been improved so access and activation flows behave more consistently.
- Access issues should be less likely to interrupt normal use.
- Significant updates now notify users quietly on next interaction — minor fixes are silent.
Added (1)
- Release notifications for users: when a significant update ships, a subtle in-chat message is delivered the next time a user interacts with the bot, summarising what changed and linking to the full release notes. Minor fixes are not notified.
Changed (0)
- None.
Fixed (1)
- Fixed authentication flow reliability so sign-in and activation behavior is more consistent for users.
1.26.2 - March 30 2026
TL;DR
- You can now activate Senti yourself from the landing page using a one-time code and start using the bot without a manual invite flow.
- The bot is safer and more reliable, with stronger onboarding protection, stricter server-side authorization, and cleaner session handling.
- Budgeting is much better: Senti now supports guided budget editing with a stable starter taxonomy and more consistent categorization.
- Reports and expense capture feel more polished, with better period handling, clearer summaries, improved undo behavior, and smarter M-PESA parsing.
- The product is much closer to launch-ready, with onboarding, privacy, help flows, and the main Telegram finance workflow in solid shape.
Added (5)
- A self-serve onboarding activation flow on the landing page, including one-time activation code generation, copy/paste activation in Telegram, and post-activation success feedback.
- User-specific learned categorization rules so corrected M-PESA categories can be reused in future matches.
- A budget taxonomy contract harness to validate slug uniqueness, starter-label stability, category and subcategory integrity, live-query parity, and alias targets.
- A guided budget editing flow that lets users set or revise subcategory amounts step by step, preview the full breakdown, and save user-specific budget allocations.
- Vercel Analytics via the root app layout to capture page views and visitor activity.
Changed (17)
- Hardened the bot, Convex backend, and public onboarding routes by moving authorization-sensitive finance/session/report/chat operations behind a trusted server-side boundary.
- Added webhook and onboarding abuse protections, including rate limiting, security telemetry, and restrictive security headers for the public web surface.
- Updated the onboarding documentation to reflect the current self-serve landing-page activation model and archived the older deep-link onboarding spec.
- Reworked the live budget taxonomy around stable categories and subcategories to make expense capture, budgeting, reporting, and Ask AI responses more consistent.
- Updated default reporting and summary flows to prioritize confirmed expenses unless pending items are explicitly requested.
- Hardened the expense capture path with a silent auto-retry for transient AI failures before surfacing manual recovery, and tightened report routing to avoid redundant AI calls on plain expense messages containing "today" or "yesterday".
- Hardened the reporting flow by removing budget percentages from plain summaries, adding richer `/report` guidance and close actions, adding current-week/current-month delta context, adding compare-to-last-period actions, and expanding natural-language period coverage for weekends, named months, quarters, and rolling day ranges.
- Expanded M-PESA payee normalisation to strip corporate suffixes (LIMITED, LTD, PLC) and apostrophes from payee strings, added datetime comma-separator support, and broadened the merchant alias registry with 20+ deterministic rules covering supermarkets, fuel stations, restaurants, streaming services, and internet providers.
- Simplified the expense save confirmation to a single line, widened the date-edit input to accept YYYY-MM-DD, DD/MM/YYYY, today, and yesterday, and consolidated session-expired copy across the expense flow to a single shared constant.
- Finalized expense-capture session hardening by making undo confirmation a first-class owned flow, preserving continue/replace arbitration instead of silently reusing shared session state.
- Removed insight retry dependence on the shared runtime session so cancelling or retrying an insight cannot wipe an unrelated expense, budget, or plan flow.
- Split the Telegram callback router further by moving report and utility callback branches into dedicated modules, reducing the risk of regressions in the core expense-capture path.
- Marked both expense capture and reporting as launch-ready focus areas in the internal docs and TODO tracking.
- Added privacy consent handling and updated the Telegram command surface to reflect the current bot experience more clearly.
- Expanded in-bot help to explain spending plans and make the bot easier to understand for new users.
- Added admin onboarding alerts so activation events are easier to monitor operationally.
- Refined the privacy-policy and public-footer experience on the web app to better match the current launch posture.
Fixed (5)
- Restored bot access after successful activation in the self-serve onboarding flow.
- Refined the onboarding and home page CTA/button behavior and styling so the landing-page entry path works consistently.
- Fixed the AI timeout retry in the expense capture path — the previous check targeted the wrong result shape and never fired in practice.
- Fixed undo confirm/cancel session cleanup so it clears only undo-owned state instead of tearing down unrelated runtime data.
- Centralized the canonical public app URL and cleaned up privacy-link behavior on activation pages so public app navigation is more consistent.