Skip to content

fix: console text selection#1834

Merged
pedrolamas merged 4 commits intofluidd-core:developfrom
pedrolamas:pedrolamas/console-no-dynamic
May 10, 2026
Merged

fix: console text selection#1834
pedrolamas merged 4 commits intofluidd-core:developfrom
pedrolamas:pedrolamas/console-no-dynamic

Conversation

@pedrolamas
Copy link
Copy Markdown
Member

@pedrolamas pedrolamas commented May 10, 2026

Replaces and removes the DynamicScroller with a regular list. Main reason for this is to allow selection of text which the DynamicScroller control does not allow due to circular items recycling.

Fixes #1020
Fixes #1783
Supersedes #1823

Signed-off-by: Pedro Lamas <pedrolamas@gmail.com>
@pedrolamas pedrolamas added this to the 1.37 milestone May 10, 2026
@pedrolamas pedrolamas requested a review from Copilot May 10, 2026 17:46
@pedrolamas pedrolamas added the Code - Optimizations Everything that relates to code optimizations! label May 10, 2026
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR removes vue-virtual-scroller from the console implementation and replaces the virtualized DynamicScroller with a normal scrolling container/list to restore reliable mouse text selection in the console (and related update output consoles).

Changes:

  • Replaced the console’s DynamicScroller with a plain list inside a new AppScrollableContainer that manages “pinned to latest” scrolling.
  • Removed vue-virtual-scroller dependency, plugin registration, CSS import, and related TypeScript typings.
  • Updated console item rendering to support both ConsoleEntry and UpdateResponse payload shapes.

Reviewed changes

Copilot reviewed 6 out of 9 changed files in this pull request and generated 3 comments.

Show a summary per file
File Description
src/typings/vue-virtual-scroller.d.ts Removes local typings for vue-virtual-scroller.
src/main.ts Removes vue-virtual-scroller CSS import and plugin registration.
src/components/widgets/console/ConsoleItem.vue Broadens accepted item type and adjusts rendering guards for union types.
src/components/widgets/console/ConsoleCard.vue Removes auto-scroll toggle UI and updates scroll-to-latest invocation.
src/components/widgets/console/Console.vue Replaces DynamicScroller with AppScrollableContainer + v-for list rendering.
src/components/ui/AppScrollableContainer.vue Adds a new reusable scroll container that tracks “away from latest” state.
package.json Removes vue-virtual-scroller dependency.
package-lock.json Removes vue-virtual-scroller and its transitive dependencies.
components.d.ts Registers AppScrollableContainer for auto-imported components typing.

Comment on lines +40 to +44
updated () {
this.$nextTick(() => {
this.scrollToLatest()
})
}
Comment thread src/components/ui/AppAutoScrollContainer.vue
Comment thread src/components/widgets/console/Console.vue
Signed-off-by: Pedro Lamas <pedrolamas@gmail.com>
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 6 out of 9 changed files in this pull request and generated 2 comments.

Comment on lines 73 to 77
</v-list-item-content>
</v-list-item>

<v-list-item @click="autoScroll = !autoScroll">
<v-list-item-action class="my-0">
<v-checkbox :input-value="autoScroll" />
</v-list-item-action>
<v-list-item-content>
<v-list-item-title>
{{ $t('app.console.label.auto_scroll') }}
</v-list-item-title>
</v-list-item-content>
</v-list-item>

<v-list-item @click="flipLayout = !flipLayout">
<v-list-item-action class="my-0">
Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I want to keep the state property for now and will revisit this later.

Comment thread src/components/ui/AppAutoScrollContainer.vue
Signed-off-by: Pedro Lamas <pedrolamas@gmail.com>
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 6 out of 9 changed files in this pull request and generated 2 comments.

Comment thread src/components/ui/AppAutoScrollContainer.vue Outdated
Comment thread src/components/widgets/console/Console.vue
Signed-off-by: Pedro Lamas <pedrolamas@gmail.com>
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 8 out of 11 changed files in this pull request and generated no new comments.

@pedrolamas pedrolamas merged commit 65dd5a1 into fluidd-core:develop May 10, 2026
9 checks passed
@pedrolamas pedrolamas deleted the pedrolamas/console-no-dynamic branch May 10, 2026 21:19
pedrolamas added a commit to pedrolamas/fluidd that referenced this pull request May 11, 2026
Signed-off-by: Pedro Lamas <pedrolamas@gmail.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Code - Optimizations Everything that relates to code optimizations!

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Console still stops scrolling Selection of console using mouse click-hold-drag doesn't work

2 participants