Conversation
87e8dbe to
a3d6515
Compare
quikee
approved these changes
Apr 17, 2026
Contributor
quikee
left a comment
There was a problem hiding this comment.
OK, don't look anything inherently wrong,. just some of the source files are starting to get out of control.
a3d6515 to
fac531d
Compare
Replace the single-shot LLM request with a server-driven tool loop that supports multiple rounds of tool calls (extract, transform, generate_image). The LLM can now inspect the document structure, propose changes, and request user approval before applying them. Signed-off-by: Rashesh Padia <rashesh.padia@collabora.com> Change-Id: Ifad042b287df733b829b98f1bae36d9727acc588
Signed-off-by: Rashesh Padia <rashesh.padia@collabora.com> Change-Id: I95265a93d44fac600aa5dcb1e347298fc760511f
Signed-off-by: Rashesh Padia <rashesh.padia@collabora.com> Change-Id: Ibffcc768f6ad0fa77e6e038e0cf041046828edaf
Signed-off-by: Rashesh Padia <rashesh.padia@collabora.com> Change-Id: Iee19ed51ad59320769a8166edf68792614460d0b
…sforms When the LLM includes GenerateImage.N commands in a transform_document_structure call, the server now generates images via the AI image provider API and inserts them into slide placeholders. The flow uses progressive replacement: each GenerateImage.N is rewritten to InsertImage.N with a loading placeholder before the transform is forwarded to kit. Once kit applies the transform, the server calls the image generation API for each pending image sequentially and sends InsertImageAt mini-transforms to replace the placeholders with real images without changing the user's active slide. Signed-off-by: Rashesh Padia <rashesh.padia@collabora.com> Change-Id: I81e12c61ec9c713a51b8e801e8dcc30b516586bd
share code between handleAIImageGeneration and generateNextTransformImage Signed-off-by: Rashesh Padia <rashesh.padia@collabora.com> Change-Id: I2080326bd8243681db9ec151aea4240ecb9bf20d
Problem: Everytime a new message was added the whole ai message chat container was re-rendered which percives as flicker to the user Solution: Append the new message directly to the chat container instead of re-rendering the whole chat history Signed-off-by: Rashesh Padia <rashesh.padia@collabora.com> Change-Id: I09aa5a26e3befeb4c5c4d024fa7d1dec1fdfc6c2
Signed-off-by: Rashesh Padia <rashesh.padia@collabora.com> Change-Id: I94eca17296878b135c21c7c6328a7e6e09f03ef6
Signed-off-by: Rashesh Padia <rashesh.padia@collabora.com> Change-Id: Ie85c2510ddbaada3d5508d8be967c6aa26b08b0c
Signed-off-by: Rashesh Padia <rashesh.padia@collabora.com> Change-Id: I846c09fddb2372ec99288128d20e926bbcd42534
Add three new AI tools for spreadsheet documents: - list_calc_functions: fetches the function catalog from core via .uno:CalcFunctionList so the LLM can discover available Calc functions and their signatures. - evaluate_formula: evaluates a formula without inserting it via .uno:EvaluateFormula using ScSimpleFormulaCalculator with GRAM_ENGLISH. The LLM calls this to verify correctness before inserting. - set_cell_formula: inserts formulas into cells via .uno:GoToCell + .uno:EnterString, with user approval. Supports batch operations via a formulas array parameter. Signed-off-by: Rashesh Padia <rashesh.padia@collabora.com> Change-Id: Ic82803ea9ff938d63ce533e89cb10389ea7833fc
When sending via Enter, the keyup event fires after sendMessage() clears inputText but before the deferred layout task updates the DOM. The keyup handler reads the stale textarea value and restores inputText, causing the prompt to reappear when the AI response triggers the next UI rebuild. Clear the textarea DOM value synchronously in sendMessage() so that the keyup handler reads an empty string. Signed-off-by: Rashesh Padia <rashesh.padia@collabora.com> Change-Id: I4637392df1974e0f89f8a5ac16f8bfcb64341689
Move the AI settings section to the top of the View Settings panel (before Zotero and Document Signing) and rename the heading from "AI Settings" to "AI Assistant" per UI/UX team feedback. Signed-off-by: Rashesh Padia <rashesh.padia@collabora.com> Change-Id: I5b8707e26559aed1ee28adc97a190b98e8968fd9
The server already extracts aiProviderModel from view settings but strips it before sending to the client. Add it back as aiModelName so the browser can display it in the sidebar title and approval prompts. No sensitive data (API keys, URLs) is exposed. Both the initial-load path (DocumentBroker) and the settings-update path (ClientSession) now include aiModelName when AI is configured. Signed-off-by: Rashesh Padia <rashesh.padia@collabora.com> Change-Id: I033f0c52bcd7237fb3006b265c2e0d8337cc676d
Display the configured AI model name in the sidebar title, e.g. "AI Assistant: GPT-4.1". Falls back to plain "AI Assistant" when the model name is not available. Add text-overflow ellipsis to the title for long model names. Signed-off-by: Rashesh Padia <rashesh.padia@collabora.com> Change-Id: Ic58fc8b47de231f2e730250740901a3c2cda63d4
Replace generic "The AI" with the actual model name (e.g. "GPT-4.1") in document inspection and modification approval prompts. Falls back to "The AI assistant" when the model name is not configured. Use %1 format strings so translators can position the model name correctly for their language. Signed-off-by: Rashesh Padia <rashesh.padia@collabora.com> Change-Id: I2561f53d50e644883cf91874ab61036364e71773
Add structural hooks for EU AI directive compliance text that will be filled in later: - Add an aichat-eu-notice widget (hidden) in the sidebar empty state area, between the intro text and prompt cards. - Add explicit tooltip fields on the AI Assistant notebookbar buttons in Writer, Calc, and Impress so EU compliance text can be added to the tooltip without changing the button label. - Add CSS styling for the EU notice area. Signed-off-by: Rashesh Padia <rashesh.padia@collabora.com> Change-Id: I048ef30ea854b89b67855ff79b1e97cdcf989cc2
Show a brief "Text inserted at cursor" or "Image inserted at cursor" hint message after the user clicks the insert button on an AI response. The hint auto-clears after 1.5 seconds (matching the existing icon feedback duration) and is replaced if another hint appears in the meantime. Signed-off-by: Rashesh Padia <rashesh.padia@collabora.com> Change-Id: I6efa368eb28a08937c4b9458e5b2416fc454ef19
Add a persistent notice below the text input informing users that responses are generated by an external AI service and may be inaccurate. The notice is always visible regardless of conversation state, satisfying EU AI Act Article 50 transparency requirements. Signed-off-by: Rashesh Padia <rashesh.padia@collabora.com> Change-Id: Id8292d0967333cc8973b40f615d2d05d18218b19
Handle the new cellerror: message from core to display a floating exclamation mark button at the top-left of the active cell when it contains a formula error. Clicking the button opens a menu with the error description, links to help and the function wizard, and an option to edit in the formula bar. Signed-off-by: Rashesh Padia <rashesh.padia@collabora.com> Change-Id: I5a20764e2b01f6f3172b5c815fe565fceabd2152
The solid dark accent color background made text hard to read, especially for spreadsheets (dark green) and presentations (orange). Switch to a light 8% tint with dark text and an accent-colored right border for visual distinction Signed-off-by: Rashesh Padia <rashesh.padia@collabora.com> Change-Id: I6c1963f23818af9efb738cb0d132631159dca7a2
Signed-off-by: Rashesh Padia <rashesh.padia@collabora.com> Change-Id: Icc7577cbd127043221c81aa26ff4e47cbe0f4a99
This makes the comment marker distinguish more from formula error marker introdcued in https://gerrit.collaboraoffice.com/c/core/+/636 Signed-off-by: Rashesh Padia <rashesh.padia@collabora.com> Change-Id: Ic2114276b9c347cde4be7f7381b1deeae4e6d33d
Signed-off-by: Rashesh Padia <rashesh.padia@collabora.com> Change-Id: Iaed72ca90270a9793eb62186cbf81df9615d408c
Signed-off-by: Rashesh Padia <rashesh.padia@collabora.com> Change-Id: I28eb3dfb8dadfb0adb8a1163951d0823319f186a
Signed-off-by: Rashesh Padia <rashesh.padia@collabora.com> Change-Id: I1fd6d54a1183bc6469817289030dc942a266400c
fac531d to
536efe6
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.
Signed-off-by: Rashesh Padia rashesh.padia@collabora.com
Change-Id: Ifad042b287df733b829b98f1bae36d9727acc588