• v0.7.0 f61296899e

    v0.7.0 Stable

    rwachters released this 2026-07-01 02:36:45 +00:00 | 500 commits to master since this release

    📦 Release 0.7.0

    📝 Executive Summary

    This release introduces comprehensive message search functionality across the Torvian Chatbot ecosystem. Users can now search within individual chat sessions and across all sessions with support for thread-scoped and all-thread search modes, while maintaining the ability to navigate back to their previous conversation context. The implementation includes server-side search endpoints, client-side UI components, and extensive test coverage.

    🚀 What's New

    Server

    • Cross-Session Message Search API: Added /api/v1/search/messages endpoint with authenticated route wiring, query validation, and ownership-scoped message search with literal wildcard escaping
    • Thread Scope Search: Introduced MessageSearchScope to support searching only visible branches or all threads, with server-side logic restricting default searches to the current visible thread per session

    App

    • In-Session Message Search: Added top-bar search UI with keyboard shortcut, result navigation, and jump-to-result dialog, with search state wired through chat area, message list, and message rendering for highlighting and selection
    • Cross-Session Search Dialog: Added session list search dialog with result rendering, loading, and error states, enabling users to find messages across all sessions
    • Search Navigation with Rollback: Implemented coordinator support for staged rollback to the previously displayed thread after cross-session search navigation, with return-to-previous-thread action in the UI
    • Search UI Improvements: Added debounced query updates and constrained search bar text to single lines for better visual presentation

    🐛 Bug Fixes & Improvements

    • Search Bar Styling: Constrained search label and placeholder to a single line to prevent text wrapping in the chat search bar UI
    • Search State Management: Consolidated search state handling with a single cohesive UI state and improved repository search handling to ignore stale overlapping responses

    🏗️ Technical Updates

    • Version Bump: Updated project version to 0.7.0 in settings.gradle.kts
    • Search Architecture Refactor: Replaced separate cross-session search ViewModel fields with unified state model, moved in-session search state into ChatViewModel, and added durable navigation intent/state for cross-session result clicks
    • Documentation: Updated message search feature ideas to mark single-session and cross-session message search as complete
    Downloads