feat(apollo-vertex): ai-chat file attachments — upload, paste images, preview [4/5]#631
Draft
petervachon wants to merge 3 commits intofeat/ai-chat-3-message-actionsfrom
Draft
feat(apollo-vertex): ai-chat file attachments — upload, paste images, preview [4/5]#631petervachon wants to merge 3 commits intofeat/ai-chat-3-message-actionsfrom
petervachon wants to merge 3 commits intofeat/ai-chat-3-message-actionsfrom
Conversation
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
This was referenced Apr 30, 2026
e315e1b to
cc1b25a
Compare
7beb110 to
a27c80c
Compare
Dependency License Review
License distribution
Excluded packages
|
30bd3d9 to
8012d26
Compare
1cd03f4 to
c39dd48
Compare
405b118 to
ce7867d
Compare
ccb80ab to
cf9efc2
Compare
7e4b0e5 to
873677f
Compare
cf9efc2 to
b3871a0
Compare
5 tasks
…code with copy button - AiChatCodeBlock: highlight.js syntax highlighting (JS/TS/Python/Bash/JSON/CSS/SQL), github light + github-dark-dimmed themes, hover-reveal copy button with tooltip - AiChatMarkdown: routes fenced code blocks to AiChatCodeBlock; updates inline code, links, blockquote, table, and image rendering to use ai-chat-* colour tokens; removes prose bubble wrapper for a cleaner reading width - registry.json: registers AiChatCodeBlock, adds highlight.js dependency Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
…/feedback/edit - types.ts: AiChatConfig interface + MessageFeedbackType shared across components - AiChatProvider: React context that distributes config (assistantName, action callbacks, isLoading, latestAssistantMessageId) to message components without prop drilling; uses display:contents wrapper to preserve h-full layout - AiChatMessageActions: copy / thumbs up+down / regenerate / edit toolbar; latest assistant message keeps actions always-visible, older messages reveal on hover/focus for clean reading - AiChatMessage: rewritten to use provider context; adds entrance animation (fade + 8px slide-up), styled user/assistant bubbles, inline edit mode (textarea swap, Save & re-run / Cancel, auto-scroll to centre) - AiChat: wraps children with AiChatProvider; adds onFeedback, onRegenerate, onEditMessage, showMessageActions, showCopyButton props; computes latestAssistantMessageId for the provider - AiChatAgentHubMode: removes assistantName from AiChatMessage (now in provider) Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Adds file attachment support to the AI chat input:
- File picker via Paperclip dropdown ("Upload files")
- Clipboard paste for images → auto-added as chips
- Pending file chips with thumbnail preview and remove button
- Lightbox for full-size image preview (Escape to close)
- onSubmit(files?: File[]) signature threads through AiChat.onSendMessage
- registryDependencies updated: alert-dialog, dropdown-menu, tooltip
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
873677f to
2162d40
Compare
b3871a0 to
fffc189
Compare
fffc189 to
bed87cf
Compare
60ffe60 to
8ddf50c
Compare
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.
What this does
Lets users attach files and images to their messages so they can ask the AI about something they're looking at, not just something they can describe.
onSubmit(files?)callback so the host app controls how they're uploaded or sent to the modelTest plan
filesarray toonSubmit🤖 Generated with Claude Code