Conversation
# Conflicts: # frontend/src/components/expert/Expert.vue # frontend/src/components/expert/components/ExpertChatInput.vue # frontend/src/store/modules/product/expert/index.js
…ved maintainability
…ed comment in product expert reset method.
…o-scroll behavior to use local component state.
…o-scroll behavior to use local component state.
…mponent and `useStreamingList` for streaming logic.
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #6839 +/- ##
=======================================
Coverage 76.62% 76.62%
=======================================
Files 399 399
Lines 20165 20165
Branches 4856 4856
=======================================
Hits 15452 15452
Misses 4713 4713
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
…nt components - Refactor `should-stream` flag handling across multiple components to use unified `shouldStream` getter. - Add `v-if` conditions to avoid rendering empty `GuideHeader` elements when `summary` is not present. - Ensure `streaming-complete` events are emitted consistently in all relevant cases. - Fix comparison logic for streaming order and component visibility in `AnswerWrapper`.
- Introduce `hasFinishedStreaming` ref in `StreamingListHelper` to track streaming completion. - Update `String.js` to add `ff-link` class to links with `target="_blank"`.
# Conflicts: # frontend/src/components/expert/components/ExpertChatInput.vue
Steve-Mcl
left a comment
There was a problem hiding this comment.
bullet points in issues/suggestions are not rendered when containing markdown (see suggestions)
Issue with users prompt and enable/disable of input when query is posted: When I type my query, it remains in the input and the input area is not disabled while the query runs.
Lastly, conflicts need fixing.
frontend/src/components/expert/components/messages/components/resources/IssuesList.vue
Show resolved
Hide resolved
frontend/src/components/expert/components/messages/components/resources/IssuesList.vue
Outdated
Show resolved
Hide resolved
frontend/src/components/expert/components/messages/components/resources/SuggestionsList.vue
Show resolved
Hide resolved
# Conflicts: # frontend/src/components/dialogs/device-group-management/AddDeviceToGroupDialog.vue # frontend/src/components/dialogs/device-group-management/components/device-list.vue # frontend/src/components/expert/Expert.vue # frontend/src/store/modules/product/expert/index.js
Co-authored-by: Stephen McLaughlin <44235289+Steve-Mcl@users.noreply.github.com>
…put` async logic to clear input when sending and not waiting for the response
|
touched on the review points, also addressed an abort controller issue that might have been due to the merge |
|
testing now |
…sanitization and markdown rendering logic
Steve-Mcl
left a comment
There was a problem hiding this comment.
Code review was a somewhat quick scan for obvious no-nos since extensive testing and iteration over last few days have flushed out issues. Happy to merge.
Description
This task refactors the Expert panel to make it more modular, scalable, and easier to extend. The existing monolithic implementation has been broken down into smaller focused Vue components for message rendering, mode switching, banners, context selection, and answer presentation.
The PR also introduces a more structured rendering model for AI responses, including dedicated components for:
In addition to the architectural cleanup, the PR consolidates chat input behavior so it interacts more directly with the Expert store, improves loading-state handling, and simplifies scroll management
Related Issue(s)
closes #6597
Checklist
flowforge.yml?FlowFuse/helmto update ConfigMap TemplateFlowFuse/CloudProjectto update values for Staging/ProductionLabels
area:migrationlabel