-
Notifications
You must be signed in to change notification settings - Fork 38
[FEATURE] LogsTable: Improve copy/pasting from logstable panel #523
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
Conversation
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
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>
jgbernalp
reviewed
Jan 14, 2026
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
approved these changes
Jan 14, 2026
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
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.
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:
Multi line copying:
Checklist
[<catalog_entry>] <commit message>naming convention using one of thefollowing
catalog_entryvalues:FEATURE,ENHANCEMENT,BUGFIX,BREAKINGCHANGE,DOC,IGNORE.UI Changes