Conversation
Chat row menu: Rename, Export, Delete; Export saves via the system file picker and is dimmed for an empty chat. The + menu adds Import chat, which opens an exported file as a new chat. Transcript I/O runs in ChatViewModel off the main thread; menus are a shared Material 3 popup that TalkBack can read.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Description
Implemented the ability to export and import Agent conversations as plain
.txtfiles. This ensures users can back up important chats, share them with teammates, or continue conversations across different devices. To support the UI requirements, the standard options menu was replaced with a custom Material 3 menu.Details
⋮), saving transcripts locally via the system file picker.ChatTranscriptmodel to handle strict parsing, ensuring imported chats accurately retain senders, timestamps, and order while assigning fresh IDs to prevent overwriting existing chats.ChatFragmentwith ActivityResultContracts to handle system file picker intents for creating and opening documents.Screen_Recording_20260925_151127_Code.on.the.Go.mp4
Ticket
ADFA-6247
Observation
The standard
PopupMenuwas replaced with a customSidebarPopupMenubecause the host's tooltip relies on aPopupWindow. Anchoring a tooltip inside a standard popup menu throws aBadTokenExceptionthat crashes the IDE. The custom menu safely handles long-press tooltips and supports displaying disabled state explanations, such as when attempting to export an empty chat.