Skip to content

Conversation

@rickardsjp
Copy link
Contributor

Description

This PR adds copy functionality to the logs table to improve the formatting when copying lines. It is part of a series of enhancements for adding a LogExplorer plugin.

Single-row copy: Adds a copy button to each log row with three format options (Full, Message, JSON). The button appears on hover and shows a success checkmark after copying.

Multi-row selection: Implements GitHub-style selection with click to set anchor, Cmd/Ctrl+Click to toggle rows, Shift+Click for ranges, Cmd/Ctrl+A to select all, Cmd/Ctrl+C to copy, and Esc to clear. Copied rows show a toast notification in the bottom-right that allows switching formats without reselecting. It also changes the behavior of the LogsTable slightly: Clicking a LogRow now no longer expands it to show the labels. Now, users have to click the chevron to open the labels.
A dismissible hints banner explains the selection shortcuts, with state persisted to localStorage. I consider this a compelling case for using local storage, but happy to change that to a better solution if needed.

Screenshots

Single line copying:

single

Multi line copying:

multi

Checklist

  • Pull request has a descriptive title and context useful to a reviewer.
  • Pull request title follows the [<catalog_entry>] <commit message> naming convention using one of the
    following catalog_entry values: FEATURE, ENHANCEMENT, BUGFIX, BREAKINGCHANGE, DOC,IGNORE.
  • All commits have DCO signoffs.

UI Changes

  • Changes that impact the UI include screenshots and/or screencasts of the relevant changes.
  • Code follows the UI guidelines.

Signed-off-by: Jeremy Rickards <jeremy.rickards@sap.com>
This commit introduces two distinct ways to copy log lines:
Single line copy adds a copy button on the selected line, where a
drop-down allows users to pick either the full log, just the log message,
or the full, JSON-formatted log including the labels.
This enhancement is necessary because currently, copying lines means that
the rich copy contains a lot of formatting strings.

In addition, this commit introduces multiline copying, which solves the
problem that copying multiple log row entries polluted the clipboard entry
with rich HTML. Now, users can select multiple log row entries by Cmd/Ctrl-
clicking log rows, or select entire ranges by shift-clicking. The `Esc` key
allows to reset the selection. There is also a hint banner at the top of
the logs table. It can be hidden, which is saved to local storage.
Multi-row selection shows a toast in a popover, which then also allows
changing the format in which the logs are copied, same as single line copy.

Signed-off-by: Jeremy Rickards <jeremy.rickards@sap.com>
@rickardsjp rickardsjp requested a review from a team as a code owner January 14, 2026 10:45
@rickardsjp rickardsjp requested review from jgbernalp and removed request for a team January 14, 2026 10:45
Removed the undefined labels test. Since labels is part of the LogEntry
type contract and all real logs have labels defined (even if empty),
testing the undefined case was testing an edge case that violates the
type contract. The empty labels test (labels: {}) covers that scenario.

Signed-off-by: Jeremy Rickards <jeremy.rickards@sap.com>
Signed-off-by: Jeremy Rickards <jeremy.rickards@sap.com>
@jgbernalp jgbernalp added this pull request to the merge queue Jan 14, 2026
Merged via the queue into perses:main with commit 2664060 Jan 14, 2026
13 checks passed
fraser-qs added a commit to Quantum-Secret/plugins that referenced this pull request Jan 17, 2026
* [FEATURE] Logstable: Add back in colour coded log rows (perses#512)

* [FEATURE] Logstable: Add back in colour coded log rows

Signed-off-by: fraser-qs <fraser@quantum-secret.com>

* fix npm linting and correctly use useSeverityColor

Signed-off-by: fraser-qs <fraser@quantum-secret.com>

* fix npm linting

Signed-off-by: fraser-qs <fraser@quantum-secret.com>

* update handler for log colours

Signed-off-by: fraser-qs <fraser@quantum-secret.com>

---------

Signed-off-by: fraser-qs <fraser@quantum-secret.com>

* [ENHANCEMENT] Table: improve migration of column settings (perses#514)

Signed-off-by: Antoine THEBAUD <antoine.thebaud@yahoo.fr>

* [FEATURE]: Adds support for log type y-axis (as well as linear) for TimeSeriesChart (perses#500)

- adds possibility for choosing the "ECharts yaxis type:log" field instead of just 'value'.
- adds options for choosing log-base (2, 10)
- adds cue and updates go-sdk with logbase

---------

Signed-off-by: Simon Olander <simon.olander@sap.com>

* [ignore] bump perses component (perses#515)

Signed-off-by: Augustin Husson <augustin.husson@amadeus.com>

* [ignore] bump cuelang dep and update bump-dep script (perses#517)

Signed-off-by: Augustin Husson <augustin.husson@amadeus.com>

* [FEATURE] Table: Add data link column setting to generate column config (perses#516)

Signed-off-by: Mahmoud Shahrokni <seyedmahmoud.shahrokni@amadeus.com>

* [ignore] release all plugin under rc.0 status (perses#518)

Signed-off-by: Augustin Husson <augustin.husson@amadeus.com>

* Bump the gomod group across 25 directories with 1 update (perses#519)

Bumps the gomod group with 1 update in the / directory: [github.com/perses/perses](https://github.com/perses/perses).
Bumps the gomod group with 1 update in the /barchart directory: [github.com/perses/perses](https://github.com/perses/perses).
Bumps the gomod group with 1 update in the /clickhouse directory: [github.com/perses/perses](https://github.com/perses/perses).
Bumps the gomod group with 1 update in the /datasourcevariable directory: [github.com/perses/perses](https://github.com/perses/perses).
Bumps the gomod group with 1 update in the /flamechart directory: [github.com/perses/perses](https://github.com/perses/perses).
Bumps the gomod group with 1 update in the /gaugechart directory: [github.com/perses/perses](https://github.com/perses/perses).
Bumps the gomod group with 1 update in the /heatmapchart directory: [github.com/perses/perses](https://github.com/perses/perses).
Bumps the gomod group with 1 update in the /histogramchart directory: [github.com/perses/perses](https://github.com/perses/perses).
Bumps the gomod group with 1 update in the /logstable directory: [github.com/perses/perses](https://github.com/perses/perses).
Bumps the gomod group with 1 update in the /loki directory: [github.com/perses/perses](https://github.com/perses/perses).
Bumps the gomod group with 1 update in the /markdown directory: [github.com/perses/perses](https://github.com/perses/perses).
Bumps the gomod group with 1 update in the /piechart directory: [github.com/perses/perses](https://github.com/perses/perses).
Bumps the gomod group with 1 update in the /prometheus directory: [github.com/perses/perses](https://github.com/perses/perses).
Bumps the gomod group with 1 update in the /pyroscope directory: [github.com/perses/perses](https://github.com/perses/perses).
Bumps the gomod group with 1 update in the /scatterchart directory: [github.com/perses/perses](https://github.com/perses/perses).
Bumps the gomod group with 1 update in the /statchart directory: [github.com/perses/perses](https://github.com/perses/perses).
Bumps the gomod group with 1 update in the /staticlistvariable directory: [github.com/perses/perses](https://github.com/perses/perses).
Bumps the gomod group with 1 update in the /statushistorychart directory: [github.com/perses/perses](https://github.com/perses/perses).
Bumps the gomod group with 1 update in the /table directory: [github.com/perses/perses](https://github.com/perses/perses).
Bumps the gomod group with 1 update in the /tempo directory: [github.com/perses/perses](https://github.com/perses/perses).
Bumps the gomod group with 1 update in the /timeserieschart directory: [github.com/perses/perses](https://github.com/perses/perses).
Bumps the gomod group with 1 update in the /timeseriestable directory: [github.com/perses/perses](https://github.com/perses/perses).
Bumps the gomod group with 1 update in the /tracetable directory: [github.com/perses/perses](https://github.com/perses/perses).
Bumps the gomod group with 1 update in the /tracingganttchart directory: [github.com/perses/perses](https://github.com/perses/perses).
Bumps the gomod group with 1 update in the /victorialogs directory: [github.com/perses/perses](https://github.com/perses/perses).


Updates `github.com/perses/perses` from 0.53.0-beta.4 to 0.53.0-rc.0
- [Release notes](https://github.com/perses/perses/releases)
- [Changelog](https://github.com/perses/perses/blob/v0.53.0-rc.0/CHANGELOG.md)
- [Commits](perses/perses@v0.53.0-beta.4...v0.53.0-rc.0)

Updates `github.com/perses/perses` from 0.53.0-beta.4 to 0.53.0-rc.0
- [Release notes](https://github.com/perses/perses/releases)
- [Changelog](https://github.com/perses/perses/blob/v0.53.0-rc.0/CHANGELOG.md)
- [Commits](perses/perses@v0.53.0-beta.4...v0.53.0-rc.0)

Updates `github.com/perses/perses` from 0.53.0-beta.4 to 0.53.0-rc.0
- [Release notes](https://github.com/perses/perses/releases)
- [Changelog](https://github.com/perses/perses/blob/v0.53.0-rc.0/CHANGELOG.md)
- [Commits](perses/perses@v0.53.0-beta.4...v0.53.0-rc.0)

Updates `github.com/perses/perses` from 0.53.0-beta.4 to 0.53.0-rc.0
- [Release notes](https://github.com/perses/perses/releases)
- [Changelog](https://github.com/perses/perses/blob/v0.53.0-rc.0/CHANGELOG.md)
- [Commits](perses/perses@v0.53.0-beta.4...v0.53.0-rc.0)

Updates `github.com/perses/perses` from 0.53.0-beta.4 to 0.53.0-rc.0
- [Release notes](https://github.com/perses/perses/releases)
- [Changelog](https://github.com/perses/perses/blob/v0.53.0-rc.0/CHANGELOG.md)
- [Commits](perses/perses@v0.53.0-beta.4...v0.53.0-rc.0)

Updates `github.com/perses/perses` from 0.53.0-beta.4 to 0.53.0-rc.0
- [Release notes](https://github.com/perses/perses/releases)
- [Changelog](https://github.com/perses/perses/blob/v0.53.0-rc.0/CHANGELOG.md)
- [Commits](perses/perses@v0.53.0-beta.4...v0.53.0-rc.0)

Updates `github.com/perses/perses` from 0.53.0-beta.4 to 0.53.0-rc.0
- [Release notes](https://github.com/perses/perses/releases)
- [Changelog](https://github.com/perses/perses/blob/v0.53.0-rc.0/CHANGELOG.md)
- [Commits](perses/perses@v0.53.0-beta.4...v0.53.0-rc.0)

Updates `github.com/perses/perses` from 0.53.0-beta.4 to 0.53.0-rc.0
- [Release notes](https://github.com/perses/perses/releases)
- [Changelog](https://github.com/perses/perses/blob/v0.53.0-rc.0/CHANGELOG.md)
- [Commits](perses/perses@v0.53.0-beta.4...v0.53.0-rc.0)

Updates `github.com/perses/perses` from 0.53.0-beta.4 to 0.53.0-rc.0
- [Release notes](https://github.com/perses/perses/releases)
- [Changelog](https://github.com/perses/perses/blob/v0.53.0-rc.0/CHANGELOG.md)
- [Commits](perses/perses@v0.53.0-beta.4...v0.53.0-rc.0)

Updates `github.com/perses/perses` from 0.53.0-beta.4 to 0.53.0-rc.0
- [Release notes](https://github.com/perses/perses/releases)
- [Changelog](https://github.com/perses/perses/blob/v0.53.0-rc.0/CHANGELOG.md)
- [Commits](perses/perses@v0.53.0-beta.4...v0.53.0-rc.0)

Updates `github.com/perses/perses` from 0.53.0-beta.4 to 0.53.0-rc.0
- [Release notes](https://github.com/perses/perses/releases)
- [Changelog](https://github.com/perses/perses/blob/v0.53.0-rc.0/CHANGELOG.md)
- [Commits](perses/perses@v0.53.0-beta.4...v0.53.0-rc.0)

Updates `github.com/perses/perses` from 0.53.0-beta.4 to 0.53.0-rc.0
- [Release notes](https://github.com/perses/perses/releases)
- [Changelog](https://github.com/perses/perses/blob/v0.53.0-rc.0/CHANGELOG.md)
- [Commits](perses/perses@v0.53.0-beta.4...v0.53.0-rc.0)

Updates `github.com/perses/perses` from 0.53.0-beta.4 to 0.53.0-rc.0
- [Release notes](https://github.com/perses/perses/releases)
- [Changelog](https://github.com/perses/perses/blob/v0.53.0-rc.0/CHANGELOG.md)
- [Commits](perses/perses@v0.53.0-beta.4...v0.53.0-rc.0)

Updates `github.com/perses/perses` from 0.53.0-beta.4 to 0.53.0-rc.0
- [Release notes](https://github.com/perses/perses/releases)
- [Changelog](https://github.com/perses/perses/blob/v0.53.0-rc.0/CHANGELOG.md)
- [Commits](perses/perses@v0.53.0-beta.4...v0.53.0-rc.0)

Updates `github.com/perses/perses` from 0.53.0-beta.4 to 0.53.0-rc.0
- [Release notes](https://github.com/perses/perses/releases)
- [Changelog](https://github.com/perses/perses/blob/v0.53.0-rc.0/CHANGELOG.md)
- [Commits](perses/perses@v0.53.0-beta.4...v0.53.0-rc.0)

Updates `github.com/perses/perses` from 0.53.0-beta.4 to 0.53.0-rc.0
- [Release notes](https://github.com/perses/perses/releases)
- [Changelog](https://github.com/perses/perses/blob/v0.53.0-rc.0/CHANGELOG.md)
- [Commits](perses/perses@v0.53.0-beta.4...v0.53.0-rc.0)

Updates `github.com/perses/perses` from 0.53.0-beta.4 to 0.53.0-rc.0
- [Release notes](https://github.com/perses/perses/releases)
- [Changelog](https://github.com/perses/perses/blob/v0.53.0-rc.0/CHANGELOG.md)
- [Commits](perses/perses@v0.53.0-beta.4...v0.53.0-rc.0)

Updates `github.com/perses/perses` from 0.53.0-beta.4 to 0.53.0-rc.0
- [Release notes](https://github.com/perses/perses/releases)
- [Changelog](https://github.com/perses/perses/blob/v0.53.0-rc.0/CHANGELOG.md)
- [Commits](perses/perses@v0.53.0-beta.4...v0.53.0-rc.0)

Updates `github.com/perses/perses` from 0.53.0-beta.4 to 0.53.0-rc.0
- [Release notes](https://github.com/perses/perses/releases)
- [Changelog](https://github.com/perses/perses/blob/v0.53.0-rc.0/CHANGELOG.md)
- [Commits](perses/perses@v0.53.0-beta.4...v0.53.0-rc.0)

Updates `github.com/perses/perses` from 0.53.0-beta.4 to 0.53.0-rc.0
- [Release notes](https://github.com/perses/perses/releases)
- [Changelog](https://github.com/perses/perses/blob/v0.53.0-rc.0/CHANGELOG.md)
- [Commits](perses/perses@v0.53.0-beta.4...v0.53.0-rc.0)

Updates `github.com/perses/perses` from 0.53.0-beta.4 to 0.53.0-rc.0
- [Release notes](https://github.com/perses/perses/releases)
- [Changelog](https://github.com/perses/perses/blob/v0.53.0-rc.0/CHANGELOG.md)
- [Commits](perses/perses@v0.53.0-beta.4...v0.53.0-rc.0)

Updates `github.com/perses/perses` from 0.53.0-beta.4 to 0.53.0-rc.0
- [Release notes](https://github.com/perses/perses/releases)
- [Changelog](https://github.com/perses/perses/blob/v0.53.0-rc.0/CHANGELOG.md)
- [Commits](perses/perses@v0.53.0-beta.4...v0.53.0-rc.0)

Updates `github.com/perses/perses` from 0.53.0-beta.4 to 0.53.0-rc.0
- [Release notes](https://github.com/perses/perses/releases)
- [Changelog](https://github.com/perses/perses/blob/v0.53.0-rc.0/CHANGELOG.md)
- [Commits](perses/perses@v0.53.0-beta.4...v0.53.0-rc.0)

Updates `github.com/perses/perses` from 0.53.0-beta.4 to 0.53.0-rc.0
- [Release notes](https://github.com/perses/perses/releases)
- [Changelog](https://github.com/perses/perses/blob/v0.53.0-rc.0/CHANGELOG.md)
- [Commits](perses/perses@v0.53.0-beta.4...v0.53.0-rc.0)

Updates `github.com/perses/perses` from 0.53.0-beta.4 to 0.53.0-rc.0
- [Release notes](https://github.com/perses/perses/releases)
- [Changelog](https://github.com/perses/perses/blob/v0.53.0-rc.0/CHANGELOG.md)
- [Commits](perses/perses@v0.53.0-beta.4...v0.53.0-rc.0)

---
updated-dependencies:
- dependency-name: github.com/perses/perses
  dependency-version: 0.53.0-rc.0
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: gomod
- dependency-name: github.com/perses/perses
  dependency-version: 0.53.0-rc.0
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: gomod
- dependency-name: github.com/perses/perses
  dependency-version: 0.53.0-rc.0
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: gomod
- dependency-name: github.com/perses/perses
  dependency-version: 0.53.0-rc.0
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: gomod
- dependency-name: github.com/perses/perses
  dependency-version: 0.53.0-rc.0
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: gomod
- dependency-name: github.com/perses/perses
  dependency-version: 0.53.0-rc.0
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: gomod
- dependency-name: github.com/perses/perses
  dependency-version: 0.53.0-rc.0
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: gomod
- dependency-name: github.com/perses/perses
  dependency-version: 0.53.0-rc.0
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: gomod
- dependency-name: github.com/perses/perses
  dependency-version: 0.53.0-rc.0
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: gomod
- dependency-name: github.com/perses/perses
  dependency-version: 0.53.0-rc.0
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: gomod
- dependency-name: github.com/perses/perses
  dependency-version: 0.53.0-rc.0
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: gomod
- dependency-name: github.com/perses/perses
  dependency-version: 0.53.0-rc.0
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: gomod
- dependency-name: github.com/perses/perses
  dependency-version: 0.53.0-rc.0
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: gomod
- dependency-name: github.com/perses/perses
  dependency-version: 0.53.0-rc.0
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: gomod
- dependency-name: github.com/perses/perses
  dependency-version: 0.53.0-rc.0
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: gomod
- dependency-name: github.com/perses/perses
  dependency-version: 0.53.0-rc.0
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: gomod
- dependency-name: github.com/perses/perses
  dependency-version: 0.53.0-rc.0
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: gomod
- dependency-name: github.com/perses/perses
  dependency-version: 0.53.0-rc.0
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: gomod
- dependency-name: github.com/perses/perses
  dependency-version: 0.53.0-rc.0
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: gomod
- dependency-name: github.com/perses/perses
  dependency-version: 0.53.0-rc.0
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: gomod
- dependency-name: github.com/perses/perses
  dependency-version: 0.53.0-rc.0
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: gomod
- dependency-name: github.com/perses/perses
  dependency-version: 0.53.0-rc.0
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: gomod
- dependency-name: github.com/perses/perses
  dependency-version: 0.53.0-rc.0
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: gomod
- dependency-name: github.com/perses/perses
  dependency-version: 0.53.0-rc.0
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: gomod
- dependency-name: github.com/perses/perses
  dependency-version: 0.53.0-rc.0
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: gomod
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* [ignore] Remove copyright date from license headers (perses#520)

Signed-off-by: Augustin Husson <augustin.husson@amadeus.com>

* [ignore] check license in all code files header (perses#522)

Signed-off-by: Augustin Husson <augustin.husson@amadeus.com>

* [FEATURE] Table: embed variables into datalink (perses#521)

Signed-off-by: Mahmoud Shahrokni <seyedmahmoud.shahrokni@amadeus.com>

* [FEATURE] LogsTable: Improve copy/pasting from logstable panel (perses#523)

* feat(logstable): add copy helper utilities for formatting log entries

Signed-off-by: Jeremy Rickards <jeremy.rickards@sap.com>

* feat(logstable): Add copy functionality

This commit introduces two distinct ways to copy log lines:
Single line copy adds a copy button on the selected line, where a
drop-down allows users to pick either the full log, just the log message,
or the full, JSON-formatted log including the labels.
This enhancement is necessary because currently, copying lines means that
the rich copy contains a lot of formatting strings.

In addition, this commit introduces multiline copying, which solves the
problem that copying multiple log row entries polluted the clipboard entry
with rich HTML. Now, users can select multiple log row entries by Cmd/Ctrl-
clicking log rows, or select entire ranges by shift-clicking. The `Esc` key
allows to reset the selection. There is also a hint banner at the top of
the logs table. It can be hidden, which is saved to local storage.
Multi-row selection shows a toast in a popover, which then also allows
changing the format in which the logs are copied, same as single line copy.

Signed-off-by: Jeremy Rickards <jeremy.rickards@sap.com>

* Remove unnecessary test

Removed the undefined labels test. Since labels is part of the LogEntry
type contract and all real logs have labels defined (even if empty),
testing the undefined case was testing an edge case that violates the
type contract. The empty labels test (labels: {}) covers that scenario.

Signed-off-by: Jeremy Rickards <jeremy.rickards@sap.com>

* Run `npm install`

Signed-off-by: Jeremy Rickards <jeremy.rickards@sap.com>

---------

Signed-off-by: Jeremy Rickards <jeremy.rickards@sap.com>

* [IGNORE] All: Bump CUE version + rely on shared repo for cue/common (perses#505)

* [IGNORE] Rely on shared repo for cue/common

Signed-off-by: Antoine THEBAUD <antoine.thebaud@yahoo.fr>

cue mod tidy

Signed-off-by: Antoine THEBAUD <antoine.thebaud@yahoo.fr>

Bump all plugins to CUE v0.15.1

Signed-off-by: Antoine THEBAUD <antoine.thebaud@yahoo.fr>

bump perses/perses dep

Signed-off-by: Antoine THEBAUD <antoine.thebaud@yahoo.fr>

Bump perses/shared dep in all plugins

Signed-off-by: AntoineThebaud <antoine.thebaud@yahoo.fr>

Bump CUE version in CI

Signed-off-by: AntoineThebaud <antoine.thebaud@yahoo.fr>

* fix perses/perses wrong version

Signed-off-by: AntoineThebaud <antoine.thebaud@yahoo.fr>

* fix percli version

Signed-off-by: AntoineThebaud <antoine.thebaud@yahoo.fr>

* fix some wrong stuff rpeorted by new CLI version

Signed-off-by: AntoineThebaud <antoine.thebaud@yahoo.fr>

---------

Signed-off-by: AntoineThebaud <antoine.thebaud@yahoo.fr>

---------

Signed-off-by: fraser-qs <fraser@quantum-secret.com>
Signed-off-by: Antoine THEBAUD <antoine.thebaud@yahoo.fr>
Signed-off-by: Simon Olander <simon.olander@sap.com>
Signed-off-by: Augustin Husson <augustin.husson@amadeus.com>
Signed-off-by: Mahmoud Shahrokni <seyedmahmoud.shahrokni@amadeus.com>
Signed-off-by: dependabot[bot] <support@github.com>
Signed-off-by: Jeremy Rickards <jeremy.rickards@sap.com>
Signed-off-by: AntoineThebaud <antoine.thebaud@yahoo.fr>
Co-authored-by: Antoine THEBAUD <antoine.thebaud@yahoo.fr>
Co-authored-by: Simon Olander <simon.olander@sap.com>
Co-authored-by: Augustin Husson <husson.augustin@gmail.com>
Co-authored-by: Seyed Mahmoud Shahrokni <39291137+shahrokni@users.noreply.github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Jeremy Rickards <9338170+rickardsjp@users.noreply.github.com>
fraser-qs added a commit to Quantum-Secret/plugins that referenced this pull request Jan 20, 2026
* [FEATURE] Logstable: Add back in colour coded log rows (perses#512)

* [FEATURE] Logstable: Add back in colour coded log rows

Signed-off-by: fraser-qs <fraser@quantum-secret.com>

* fix npm linting and correctly use useSeverityColor

Signed-off-by: fraser-qs <fraser@quantum-secret.com>

* fix npm linting

Signed-off-by: fraser-qs <fraser@quantum-secret.com>

* update handler for log colours

Signed-off-by: fraser-qs <fraser@quantum-secret.com>

---------

Signed-off-by: fraser-qs <fraser@quantum-secret.com>

* [ENHANCEMENT] Table: improve migration of column settings (perses#514)

Signed-off-by: Antoine THEBAUD <antoine.thebaud@yahoo.fr>

* [FEATURE]: Adds support for log type y-axis (as well as linear) for TimeSeriesChart (perses#500)

- adds possibility for choosing the "ECharts yaxis type:log" field instead of just 'value'.
- adds options for choosing log-base (2, 10)
- adds cue and updates go-sdk with logbase

---------

Signed-off-by: Simon Olander <simon.olander@sap.com>

* [ignore] bump perses component (perses#515)

Signed-off-by: Augustin Husson <augustin.husson@amadeus.com>

* [ignore] bump cuelang dep and update bump-dep script (perses#517)

Signed-off-by: Augustin Husson <augustin.husson@amadeus.com>

* [FEATURE] Table: Add data link column setting to generate column config (perses#516)

Signed-off-by: Mahmoud Shahrokni <seyedmahmoud.shahrokni@amadeus.com>

* [ignore] release all plugin under rc.0 status (perses#518)

Signed-off-by: Augustin Husson <augustin.husson@amadeus.com>

* Bump the gomod group across 25 directories with 1 update (perses#519)

Bumps the gomod group with 1 update in the / directory: [github.com/perses/perses](https://github.com/perses/perses).
Bumps the gomod group with 1 update in the /barchart directory: [github.com/perses/perses](https://github.com/perses/perses).
Bumps the gomod group with 1 update in the /clickhouse directory: [github.com/perses/perses](https://github.com/perses/perses).
Bumps the gomod group with 1 update in the /datasourcevariable directory: [github.com/perses/perses](https://github.com/perses/perses).
Bumps the gomod group with 1 update in the /flamechart directory: [github.com/perses/perses](https://github.com/perses/perses).
Bumps the gomod group with 1 update in the /gaugechart directory: [github.com/perses/perses](https://github.com/perses/perses).
Bumps the gomod group with 1 update in the /heatmapchart directory: [github.com/perses/perses](https://github.com/perses/perses).
Bumps the gomod group with 1 update in the /histogramchart directory: [github.com/perses/perses](https://github.com/perses/perses).
Bumps the gomod group with 1 update in the /logstable directory: [github.com/perses/perses](https://github.com/perses/perses).
Bumps the gomod group with 1 update in the /loki directory: [github.com/perses/perses](https://github.com/perses/perses).
Bumps the gomod group with 1 update in the /markdown directory: [github.com/perses/perses](https://github.com/perses/perses).
Bumps the gomod group with 1 update in the /piechart directory: [github.com/perses/perses](https://github.com/perses/perses).
Bumps the gomod group with 1 update in the /prometheus directory: [github.com/perses/perses](https://github.com/perses/perses).
Bumps the gomod group with 1 update in the /pyroscope directory: [github.com/perses/perses](https://github.com/perses/perses).
Bumps the gomod group with 1 update in the /scatterchart directory: [github.com/perses/perses](https://github.com/perses/perses).
Bumps the gomod group with 1 update in the /statchart directory: [github.com/perses/perses](https://github.com/perses/perses).
Bumps the gomod group with 1 update in the /staticlistvariable directory: [github.com/perses/perses](https://github.com/perses/perses).
Bumps the gomod group with 1 update in the /statushistorychart directory: [github.com/perses/perses](https://github.com/perses/perses).
Bumps the gomod group with 1 update in the /table directory: [github.com/perses/perses](https://github.com/perses/perses).
Bumps the gomod group with 1 update in the /tempo directory: [github.com/perses/perses](https://github.com/perses/perses).
Bumps the gomod group with 1 update in the /timeserieschart directory: [github.com/perses/perses](https://github.com/perses/perses).
Bumps the gomod group with 1 update in the /timeseriestable directory: [github.com/perses/perses](https://github.com/perses/perses).
Bumps the gomod group with 1 update in the /tracetable directory: [github.com/perses/perses](https://github.com/perses/perses).
Bumps the gomod group with 1 update in the /tracingganttchart directory: [github.com/perses/perses](https://github.com/perses/perses).
Bumps the gomod group with 1 update in the /victorialogs directory: [github.com/perses/perses](https://github.com/perses/perses).


Updates `github.com/perses/perses` from 0.53.0-beta.4 to 0.53.0-rc.0
- [Release notes](https://github.com/perses/perses/releases)
- [Changelog](https://github.com/perses/perses/blob/v0.53.0-rc.0/CHANGELOG.md)
- [Commits](perses/perses@v0.53.0-beta.4...v0.53.0-rc.0)

Updates `github.com/perses/perses` from 0.53.0-beta.4 to 0.53.0-rc.0
- [Release notes](https://github.com/perses/perses/releases)
- [Changelog](https://github.com/perses/perses/blob/v0.53.0-rc.0/CHANGELOG.md)
- [Commits](perses/perses@v0.53.0-beta.4...v0.53.0-rc.0)

Updates `github.com/perses/perses` from 0.53.0-beta.4 to 0.53.0-rc.0
- [Release notes](https://github.com/perses/perses/releases)
- [Changelog](https://github.com/perses/perses/blob/v0.53.0-rc.0/CHANGELOG.md)
- [Commits](perses/perses@v0.53.0-beta.4...v0.53.0-rc.0)

Updates `github.com/perses/perses` from 0.53.0-beta.4 to 0.53.0-rc.0
- [Release notes](https://github.com/perses/perses/releases)
- [Changelog](https://github.com/perses/perses/blob/v0.53.0-rc.0/CHANGELOG.md)
- [Commits](perses/perses@v0.53.0-beta.4...v0.53.0-rc.0)

Updates `github.com/perses/perses` from 0.53.0-beta.4 to 0.53.0-rc.0
- [Release notes](https://github.com/perses/perses/releases)
- [Changelog](https://github.com/perses/perses/blob/v0.53.0-rc.0/CHANGELOG.md)
- [Commits](perses/perses@v0.53.0-beta.4...v0.53.0-rc.0)

Updates `github.com/perses/perses` from 0.53.0-beta.4 to 0.53.0-rc.0
- [Release notes](https://github.com/perses/perses/releases)
- [Changelog](https://github.com/perses/perses/blob/v0.53.0-rc.0/CHANGELOG.md)
- [Commits](perses/perses@v0.53.0-beta.4...v0.53.0-rc.0)

Updates `github.com/perses/perses` from 0.53.0-beta.4 to 0.53.0-rc.0
- [Release notes](https://github.com/perses/perses/releases)
- [Changelog](https://github.com/perses/perses/blob/v0.53.0-rc.0/CHANGELOG.md)
- [Commits](perses/perses@v0.53.0-beta.4...v0.53.0-rc.0)

Updates `github.com/perses/perses` from 0.53.0-beta.4 to 0.53.0-rc.0
- [Release notes](https://github.com/perses/perses/releases)
- [Changelog](https://github.com/perses/perses/blob/v0.53.0-rc.0/CHANGELOG.md)
- [Commits](perses/perses@v0.53.0-beta.4...v0.53.0-rc.0)

Updates `github.com/perses/perses` from 0.53.0-beta.4 to 0.53.0-rc.0
- [Release notes](https://github.com/perses/perses/releases)
- [Changelog](https://github.com/perses/perses/blob/v0.53.0-rc.0/CHANGELOG.md)
- [Commits](perses/perses@v0.53.0-beta.4...v0.53.0-rc.0)

Updates `github.com/perses/perses` from 0.53.0-beta.4 to 0.53.0-rc.0
- [Release notes](https://github.com/perses/perses/releases)
- [Changelog](https://github.com/perses/perses/blob/v0.53.0-rc.0/CHANGELOG.md)
- [Commits](perses/perses@v0.53.0-beta.4...v0.53.0-rc.0)

Updates `github.com/perses/perses` from 0.53.0-beta.4 to 0.53.0-rc.0
- [Release notes](https://github.com/perses/perses/releases)
- [Changelog](https://github.com/perses/perses/blob/v0.53.0-rc.0/CHANGELOG.md)
- [Commits](perses/perses@v0.53.0-beta.4...v0.53.0-rc.0)

Updates `github.com/perses/perses` from 0.53.0-beta.4 to 0.53.0-rc.0
- [Release notes](https://github.com/perses/perses/releases)
- [Changelog](https://github.com/perses/perses/blob/v0.53.0-rc.0/CHANGELOG.md)
- [Commits](perses/perses@v0.53.0-beta.4...v0.53.0-rc.0)

Updates `github.com/perses/perses` from 0.53.0-beta.4 to 0.53.0-rc.0
- [Release notes](https://github.com/perses/perses/releases)
- [Changelog](https://github.com/perses/perses/blob/v0.53.0-rc.0/CHANGELOG.md)
- [Commits](perses/perses@v0.53.0-beta.4...v0.53.0-rc.0)

Updates `github.com/perses/perses` from 0.53.0-beta.4 to 0.53.0-rc.0
- [Release notes](https://github.com/perses/perses/releases)
- [Changelog](https://github.com/perses/perses/blob/v0.53.0-rc.0/CHANGELOG.md)
- [Commits](perses/perses@v0.53.0-beta.4...v0.53.0-rc.0)

Updates `github.com/perses/perses` from 0.53.0-beta.4 to 0.53.0-rc.0
- [Release notes](https://github.com/perses/perses/releases)
- [Changelog](https://github.com/perses/perses/blob/v0.53.0-rc.0/CHANGELOG.md)
- [Commits](perses/perses@v0.53.0-beta.4...v0.53.0-rc.0)

Updates `github.com/perses/perses` from 0.53.0-beta.4 to 0.53.0-rc.0
- [Release notes](https://github.com/perses/perses/releases)
- [Changelog](https://github.com/perses/perses/blob/v0.53.0-rc.0/CHANGELOG.md)
- [Commits](perses/perses@v0.53.0-beta.4...v0.53.0-rc.0)

Updates `github.com/perses/perses` from 0.53.0-beta.4 to 0.53.0-rc.0
- [Release notes](https://github.com/perses/perses/releases)
- [Changelog](https://github.com/perses/perses/blob/v0.53.0-rc.0/CHANGELOG.md)
- [Commits](perses/perses@v0.53.0-beta.4...v0.53.0-rc.0)

Updates `github.com/perses/perses` from 0.53.0-beta.4 to 0.53.0-rc.0
- [Release notes](https://github.com/perses/perses/releases)
- [Changelog](https://github.com/perses/perses/blob/v0.53.0-rc.0/CHANGELOG.md)
- [Commits](perses/perses@v0.53.0-beta.4...v0.53.0-rc.0)

Updates `github.com/perses/perses` from 0.53.0-beta.4 to 0.53.0-rc.0
- [Release notes](https://github.com/perses/perses/releases)
- [Changelog](https://github.com/perses/perses/blob/v0.53.0-rc.0/CHANGELOG.md)
- [Commits](perses/perses@v0.53.0-beta.4...v0.53.0-rc.0)

Updates `github.com/perses/perses` from 0.53.0-beta.4 to 0.53.0-rc.0
- [Release notes](https://github.com/perses/perses/releases)
- [Changelog](https://github.com/perses/perses/blob/v0.53.0-rc.0/CHANGELOG.md)
- [Commits](perses/perses@v0.53.0-beta.4...v0.53.0-rc.0)

Updates `github.com/perses/perses` from 0.53.0-beta.4 to 0.53.0-rc.0
- [Release notes](https://github.com/perses/perses/releases)
- [Changelog](https://github.com/perses/perses/blob/v0.53.0-rc.0/CHANGELOG.md)
- [Commits](perses/perses@v0.53.0-beta.4...v0.53.0-rc.0)

Updates `github.com/perses/perses` from 0.53.0-beta.4 to 0.53.0-rc.0
- [Release notes](https://github.com/perses/perses/releases)
- [Changelog](https://github.com/perses/perses/blob/v0.53.0-rc.0/CHANGELOG.md)
- [Commits](perses/perses@v0.53.0-beta.4...v0.53.0-rc.0)

Updates `github.com/perses/perses` from 0.53.0-beta.4 to 0.53.0-rc.0
- [Release notes](https://github.com/perses/perses/releases)
- [Changelog](https://github.com/perses/perses/blob/v0.53.0-rc.0/CHANGELOG.md)
- [Commits](perses/perses@v0.53.0-beta.4...v0.53.0-rc.0)

Updates `github.com/perses/perses` from 0.53.0-beta.4 to 0.53.0-rc.0
- [Release notes](https://github.com/perses/perses/releases)
- [Changelog](https://github.com/perses/perses/blob/v0.53.0-rc.0/CHANGELOG.md)
- [Commits](perses/perses@v0.53.0-beta.4...v0.53.0-rc.0)

Updates `github.com/perses/perses` from 0.53.0-beta.4 to 0.53.0-rc.0
- [Release notes](https://github.com/perses/perses/releases)
- [Changelog](https://github.com/perses/perses/blob/v0.53.0-rc.0/CHANGELOG.md)
- [Commits](perses/perses@v0.53.0-beta.4...v0.53.0-rc.0)

---
updated-dependencies:
- dependency-name: github.com/perses/perses
  dependency-version: 0.53.0-rc.0
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: gomod
- dependency-name: github.com/perses/perses
  dependency-version: 0.53.0-rc.0
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: gomod
- dependency-name: github.com/perses/perses
  dependency-version: 0.53.0-rc.0
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: gomod
- dependency-name: github.com/perses/perses
  dependency-version: 0.53.0-rc.0
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: gomod
- dependency-name: github.com/perses/perses
  dependency-version: 0.53.0-rc.0
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: gomod
- dependency-name: github.com/perses/perses
  dependency-version: 0.53.0-rc.0
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: gomod
- dependency-name: github.com/perses/perses
  dependency-version: 0.53.0-rc.0
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: gomod
- dependency-name: github.com/perses/perses
  dependency-version: 0.53.0-rc.0
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: gomod
- dependency-name: github.com/perses/perses
  dependency-version: 0.53.0-rc.0
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: gomod
- dependency-name: github.com/perses/perses
  dependency-version: 0.53.0-rc.0
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: gomod
- dependency-name: github.com/perses/perses
  dependency-version: 0.53.0-rc.0
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: gomod
- dependency-name: github.com/perses/perses
  dependency-version: 0.53.0-rc.0
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: gomod
- dependency-name: github.com/perses/perses
  dependency-version: 0.53.0-rc.0
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: gomod
- dependency-name: github.com/perses/perses
  dependency-version: 0.53.0-rc.0
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: gomod
- dependency-name: github.com/perses/perses
  dependency-version: 0.53.0-rc.0
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: gomod
- dependency-name: github.com/perses/perses
  dependency-version: 0.53.0-rc.0
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: gomod
- dependency-name: github.com/perses/perses
  dependency-version: 0.53.0-rc.0
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: gomod
- dependency-name: github.com/perses/perses
  dependency-version: 0.53.0-rc.0
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: gomod
- dependency-name: github.com/perses/perses
  dependency-version: 0.53.0-rc.0
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: gomod
- dependency-name: github.com/perses/perses
  dependency-version: 0.53.0-rc.0
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: gomod
- dependency-name: github.com/perses/perses
  dependency-version: 0.53.0-rc.0
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: gomod
- dependency-name: github.com/perses/perses
  dependency-version: 0.53.0-rc.0
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: gomod
- dependency-name: github.com/perses/perses
  dependency-version: 0.53.0-rc.0
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: gomod
- dependency-name: github.com/perses/perses
  dependency-version: 0.53.0-rc.0
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: gomod
- dependency-name: github.com/perses/perses
  dependency-version: 0.53.0-rc.0
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: gomod
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* [ignore] Remove copyright date from license headers (perses#520)

Signed-off-by: Augustin Husson <augustin.husson@amadeus.com>

* [ignore] check license in all code files header (perses#522)

Signed-off-by: Augustin Husson <augustin.husson@amadeus.com>

* [FEATURE] Table: embed variables into datalink (perses#521)

Signed-off-by: Mahmoud Shahrokni <seyedmahmoud.shahrokni@amadeus.com>

* [FEATURE] LogsTable: Improve copy/pasting from logstable panel (perses#523)

* feat(logstable): add copy helper utilities for formatting log entries

Signed-off-by: Jeremy Rickards <jeremy.rickards@sap.com>

* feat(logstable): Add copy functionality

This commit introduces two distinct ways to copy log lines:
Single line copy adds a copy button on the selected line, where a
drop-down allows users to pick either the full log, just the log message,
or the full, JSON-formatted log including the labels.
This enhancement is necessary because currently, copying lines means that
the rich copy contains a lot of formatting strings.

In addition, this commit introduces multiline copying, which solves the
problem that copying multiple log row entries polluted the clipboard entry
with rich HTML. Now, users can select multiple log row entries by Cmd/Ctrl-
clicking log rows, or select entire ranges by shift-clicking. The `Esc` key
allows to reset the selection. There is also a hint banner at the top of
the logs table. It can be hidden, which is saved to local storage.
Multi-row selection shows a toast in a popover, which then also allows
changing the format in which the logs are copied, same as single line copy.

Signed-off-by: Jeremy Rickards <jeremy.rickards@sap.com>

* Remove unnecessary test

Removed the undefined labels test. Since labels is part of the LogEntry
type contract and all real logs have labels defined (even if empty),
testing the undefined case was testing an edge case that violates the
type contract. The empty labels test (labels: {}) covers that scenario.

Signed-off-by: Jeremy Rickards <jeremy.rickards@sap.com>

* Run `npm install`

Signed-off-by: Jeremy Rickards <jeremy.rickards@sap.com>

---------

Signed-off-by: Jeremy Rickards <jeremy.rickards@sap.com>

* [IGNORE] All: Bump CUE version + rely on shared repo for cue/common (perses#505)

* [IGNORE] Rely on shared repo for cue/common

Signed-off-by: Antoine THEBAUD <antoine.thebaud@yahoo.fr>

cue mod tidy

Signed-off-by: Antoine THEBAUD <antoine.thebaud@yahoo.fr>

Bump all plugins to CUE v0.15.1

Signed-off-by: Antoine THEBAUD <antoine.thebaud@yahoo.fr>

bump perses/perses dep

Signed-off-by: Antoine THEBAUD <antoine.thebaud@yahoo.fr>

Bump perses/shared dep in all plugins

Signed-off-by: AntoineThebaud <antoine.thebaud@yahoo.fr>

Bump CUE version in CI

Signed-off-by: AntoineThebaud <antoine.thebaud@yahoo.fr>

* fix perses/perses wrong version

Signed-off-by: AntoineThebaud <antoine.thebaud@yahoo.fr>

* fix percli version

Signed-off-by: AntoineThebaud <antoine.thebaud@yahoo.fr>

* fix some wrong stuff rpeorted by new CLI version

Signed-off-by: AntoineThebaud <antoine.thebaud@yahoo.fr>

---------

Signed-off-by: AntoineThebaud <antoine.thebaud@yahoo.fr>

* [BUGFIX] Logstable: consistent No Data style for plugins (perses#528)

Signed-off-by: Mahmoud Shahrokni <seyedmahmoud.shahrokni@amadeus.com>

---------

Signed-off-by: fraser-qs <fraser@quantum-secret.com>
Signed-off-by: Antoine THEBAUD <antoine.thebaud@yahoo.fr>
Signed-off-by: Simon Olander <simon.olander@sap.com>
Signed-off-by: Augustin Husson <augustin.husson@amadeus.com>
Signed-off-by: Mahmoud Shahrokni <seyedmahmoud.shahrokni@amadeus.com>
Signed-off-by: dependabot[bot] <support@github.com>
Signed-off-by: Jeremy Rickards <jeremy.rickards@sap.com>
Signed-off-by: AntoineThebaud <antoine.thebaud@yahoo.fr>
Co-authored-by: Antoine THEBAUD <antoine.thebaud@yahoo.fr>
Co-authored-by: Simon Olander <simon.olander@sap.com>
Co-authored-by: Augustin Husson <husson.augustin@gmail.com>
Co-authored-by: Seyed Mahmoud Shahrokni <39291137+shahrokni@users.noreply.github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Jeremy Rickards <9338170+rickardsjp@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants