Improved layout menu buttons#784
Conversation
There was a problem hiding this comment.
Code Review
This pull request introduces keyboard shortcuts (Ctrl+1, Ctrl+2, Ctrl+3) to switch between different layout modes (Default, State view, and Topology view) and adds support for displaying these shortcuts in the header menu. It also implements a mechanism to preserve the timeline scale when loading inspection data by tracking whether the initial scale has been applied. Feedback highlights two main issues: first, tracking the initialization state in ViewStateService using plain class properties instead of Angular signals will prevent the computed signal in TimelineSmartComponent from re-evaluating, potentially causing infinite rendering loops; second, the global keyboard shortcuts in LayoutService should be guarded to avoid intercepting keydown events when a user is actively typing in input fields or textareas.
b924c1b
into
GoogleCloudPlatform:epic/file-schema-v6
* feat(proto): add proto definitions and build setup for file schema v6 migration (GoogleCloudPlatform#618) * feat(proto): add proto definitions and build setup for file schema v7 migration - Add Protobuf definitions for KHI file schema v7 (split into shared.proto, style.proto, timeline.proto, etc.) to migrate from the previous JSON-based file format. - Set up Buf configuration (buf.yaml, buf.gen.yaml) to generate Go and TypeScript code. - Add `proto-gen` target to `scripts/make/codegen.mk` using `npx @bufbuild/buf` to support the new build process. - Generate Go code in `pkg/generated/khifile/` and TypeScript code in `web/src/app/generated/`. * fixed typos on proto fields * Specified proto rule and build target * Rebuild the generated files from the updated proto * Added linguist-generated for ignoreing generated files by proto * fix reviewed points and lint error * fix version number * Skip proto breaking change check until it's merged * Fixed shared type names * fix typos on comments * feat: update InternedValue proto to have int64 value (GoogleCloudPlatform#623) * Adding KHI file schema v6 namespaced ID generator (GoogleCloudPlatform#621) * feat: update InternedValue proto to have int64 value * Adding KHI file schema v6 namespaced ID generator * Adding generated files I forgot to push (GoogleCloudPlatform#626) * feat: update InternedValue proto to have int64 value * Adding KHI file schema v6 namespaced ID generator * Adding generated files I forgot to push * Rolling back GoogleCloudPlatform#626 (GoogleCloudPlatform#627) * feat: update InternedValue proto to have int64 value * Adding KHI file schema v6 namespaced ID generator * Adding generated files I forgot to push * Fix the lint thing on the generated codes * feat(web): add v6 parser foundation (errors and interfaces) (GoogleCloudPlatform#628) * Adding interning utility for file schema version v6 (GoogleCloudPlatform#622) * feat: update InternedValue proto to have int64 value * Adding KHI file schema v6 namespaced ID generator * Adding generated files I forgot to push * Fix the lint thing on the generated codes * Adding interning utility used in khi file format v6 * feat(khifile): implement v6 chunk container writer and reader (GoogleCloudPlatform#624) * Adding serializer/deserializer for InternedStruct (GoogleCloudPlatform#631) * Add LogAccumulator storing all logs before serializing them into the (GoogleCloudPlatform#633) khifile * Add TimelinePath utilities and IDNamespace used for timeline types (GoogleCloudPlatform#632) * feat(web): add v6 parser binary reader and parser (GoogleCloudPlatform#630) * feat(web): add v6 parser binary reader and streamer * address review comments * Added serializer for timeline registry to flush contents as proto (GoogleCloudPlatform#634) * Added interned pool types and struct decoder (GoogleCloudPlatform#640) * Merge main into epic/file-schema-v6 (GoogleCloudPlatform#648) * Removing unused CORS code (GoogleCloudPlatform#619) * Removing unused CORS code * Update pkg/core/init/default/defaultextension.go Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com> Signed-off-by: kyasbal <[email protected]> --------- Signed-off-by: kyasbal <[email protected]> Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com> * Replaced unsafe innerHTML with textContent (GoogleCloudPlatform#620) * feat(startup): implement smart component and integrate data loading (GoogleCloudPlatform#599) * feat(startup): add inspection list components * feat(startup): implement smart component and integrate data loading GoogleCloudPlatform#558 * Fix name of the function pointed out by the review * chore: fix make setup error in jj and update dev guide (GoogleCloudPlatform#629) * chore: fix make setup error in jj and update dev guide * fix commented issues on review * fixed minor issues on Makefile (GoogleCloudPlatform#644) * Merge epic/csm-parser into main (GoogleCloudPlatform#645) * Add Inventory/Discovery tasks for parsing the map from NEG name to BS name (GoogleCloudPlatform#635) * Add fleet PJ form task and query task to gather CSM TD audit logs (GoogleCloudPlatform#636) * Add Inventory/Discovery tasks for parsing the map from NEG name to BS name * Adding form task to receive the fleet project and query task to gather logs from Cloud Logging * Add timeline mapper for TD resource logs (GoogleCloudPlatform#637) * Add Inventory/Discovery tasks for parsing the map from NEG name to BS name * Adding form task to receive the fleet project and query task to gather logs from Cloud Logging * Add timeline mapper for traffic director resource logs * 🐛 fix set-input suggestion being wrapped for every lines (GoogleCloudPlatform#638) * fix set-input suggestion being wrapped for every lines * Update web/src/app/timeline-toolbar/components/set-input-popup.component.scss Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com> Signed-off-by: kyasbal <[email protected]> --------- Signed-off-by: kyasbal <[email protected]> Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com> --------- Signed-off-by: kyasbal <[email protected]> Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com> * feat: Adding TimelineStyleRegistry (GoogleCloudPlatform#639) * Added style related domain stores (GoogleCloudPlatform#658) * Adding metadata accumulator (GoogleCloudPlatform#646) * Change input of style registration not to depend on proto (GoogleCloudPlatform#656) * Adding KHI file format spec and serializer/deserializer spec (GoogleCloudPlatform#650) * Merge main into epic/file-schema-v6 (GoogleCloudPlatform#666) * Removing unused CORS code (GoogleCloudPlatform#619) * Removing unused CORS code * Update pkg/core/init/default/defaultextension.go Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com> Signed-off-by: kyasbal <[email protected]> --------- Signed-off-by: kyasbal <[email protected]> Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com> * Replaced unsafe innerHTML with textContent (GoogleCloudPlatform#620) * feat(startup): implement smart component and integrate data loading (GoogleCloudPlatform#599) * feat(startup): add inspection list components * feat(startup): implement smart component and integrate data loading GoogleCloudPlatform#558 * Fix name of the function pointed out by the review * chore: fix make setup error in jj and update dev guide (GoogleCloudPlatform#629) * chore: fix make setup error in jj and update dev guide * fix commented issues on review * fixed minor issues on Makefile (GoogleCloudPlatform#644) * Merge epic/csm-parser into main (GoogleCloudPlatform#645) * Add Inventory/Discovery tasks for parsing the map from NEG name to BS name (GoogleCloudPlatform#635) * Add fleet PJ form task and query task to gather CSM TD audit logs (GoogleCloudPlatform#636) * Add Inventory/Discovery tasks for parsing the map from NEG name to BS name * Adding form task to receive the fleet project and query task to gather logs from Cloud Logging * Add timeline mapper for TD resource logs (GoogleCloudPlatform#637) * Add Inventory/Discovery tasks for parsing the map from NEG name to BS name * Adding form task to receive the fleet project and query task to gather logs from Cloud Logging * Add timeline mapper for traffic director resource logs * 🐛 fix set-input suggestion being wrapped for every lines (GoogleCloudPlatform#638) * fix set-input suggestion being wrapped for every lines * Update web/src/app/timeline-toolbar/components/set-input-popup.component.scss Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com> Signed-off-by: kyasbal <[email protected]> --------- Signed-off-by: kyasbal <[email protected]> Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com> * Fix bugs to register the CSM TD parser tasks (GoogleCloudPlatform#647) * Fix the same issue of GoogleCloudPlatform#638 (GoogleCloudPlatform#659) * Adding make clean command (GoogleCloudPlatform#651) * Addming make clean command * fixed commented points * Removing unused old headers on frontend (GoogleCloudPlatform#660) * removed prefix 'v2' in shader files (GoogleCloudPlatform#661) * rename commonlogk8sauditv2 to commonlogk8saudit (GoogleCloudPlatform#662) --------- Signed-off-by: kyasbal <[email protected]> Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com> * improve ts coding rule (GoogleCloudPlatform#667) * Merge main branch into epic/file-schema-v6 (GoogleCloudPlatform#670) * Removing unused CORS code (GoogleCloudPlatform#619) * Removing unused CORS code * Update pkg/core/init/default/defaultextension.go Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com> Signed-off-by: kyasbal <[email protected]> --------- Signed-off-by: kyasbal <[email protected]> Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com> * Replaced unsafe innerHTML with textContent (GoogleCloudPlatform#620) * feat(startup): implement smart component and integrate data loading (GoogleCloudPlatform#599) * feat(startup): add inspection list components * feat(startup): implement smart component and integrate data loading GoogleCloudPlatform#558 * Fix name of the function pointed out by the review * chore: fix make setup error in jj and update dev guide (GoogleCloudPlatform#629) * chore: fix make setup error in jj and update dev guide * fix commented issues on review * fixed minor issues on Makefile (GoogleCloudPlatform#644) * Merge epic/csm-parser into main (GoogleCloudPlatform#645) * Add Inventory/Discovery tasks for parsing the map from NEG name to BS name (GoogleCloudPlatform#635) * Add fleet PJ form task and query task to gather CSM TD audit logs (GoogleCloudPlatform#636) * Add Inventory/Discovery tasks for parsing the map from NEG name to BS name * Adding form task to receive the fleet project and query task to gather logs from Cloud Logging * Add timeline mapper for TD resource logs (GoogleCloudPlatform#637) * Add Inventory/Discovery tasks for parsing the map from NEG name to BS name * Adding form task to receive the fleet project and query task to gather logs from Cloud Logging * Add timeline mapper for traffic director resource logs * 🐛 fix set-input suggestion being wrapped for every lines (GoogleCloudPlatform#638) * fix set-input suggestion being wrapped for every lines * Update web/src/app/timeline-toolbar/components/set-input-popup.component.scss Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com> Signed-off-by: kyasbal <[email protected]> --------- Signed-off-by: kyasbal <[email protected]> Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com> * Fix bugs to register the CSM TD parser tasks (GoogleCloudPlatform#647) * Fix the same issue of GoogleCloudPlatform#638 (GoogleCloudPlatform#659) * Adding make clean command (GoogleCloudPlatform#651) * Addming make clean command * fixed commented points * Removing unused old headers on frontend (GoogleCloudPlatform#660) * removed prefix 'v2' in shader files (GoogleCloudPlatform#661) * rename commonlogk8sauditv2 to commonlogk8saudit (GoogleCloudPlatform#662) * fixed the flaky backend test due to race condition (GoogleCloudPlatform#665) * improved sticky header to show resource layer (GoogleCloudPlatform#663) --------- Signed-off-by: kyasbal <[email protected]> Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com> * Removed InternedStuctDTO (GoogleCloudPlatform#664) This type is duplication of the pb.InternedStruct. It's internal type of the domain store but its a shared proto type which is expected not to change by file version update. * add v6 khi file builder (GoogleCloudPlatform#652) * Add listing methods in style-store (GoogleCloudPlatform#668) * Added log related domain stores (GoogleCloudPlatform#641) * Updated the frontend-codegen to generate icon list from registered styles (GoogleCloudPlatform#672) * Adding color helper functions and better validation on style (GoogleCloudPlatform#673) registration * Merge main into epic/file-schema-v6 (GoogleCloudPlatform#683) * Removing unused CORS code (GoogleCloudPlatform#619) * Removing unused CORS code * Update pkg/core/init/default/defaultextension.go Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com> Signed-off-by: kyasbal <[email protected]> --------- Signed-off-by: kyasbal <[email protected]> Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com> * Replaced unsafe innerHTML with textContent (GoogleCloudPlatform#620) * feat(startup): implement smart component and integrate data loading (GoogleCloudPlatform#599) * feat(startup): add inspection list components * feat(startup): implement smart component and integrate data loading GoogleCloudPlatform#558 * Fix name of the function pointed out by the review * chore: fix make setup error in jj and update dev guide (GoogleCloudPlatform#629) * chore: fix make setup error in jj and update dev guide * fix commented issues on review * fixed minor issues on Makefile (GoogleCloudPlatform#644) * Merge epic/csm-parser into main (GoogleCloudPlatform#645) * Add Inventory/Discovery tasks for parsing the map from NEG name to BS name (GoogleCloudPlatform#635) * Add fleet PJ form task and query task to gather CSM TD audit logs (GoogleCloudPlatform#636) * Add Inventory/Discovery tasks for parsing the map from NEG name to BS name * Adding form task to receive the fleet project and query task to gather logs from Cloud Logging * Add timeline mapper for TD resource logs (GoogleCloudPlatform#637) * Add Inventory/Discovery tasks for parsing the map from NEG name to BS name * Adding form task to receive the fleet project and query task to gather logs from Cloud Logging * Add timeline mapper for traffic director resource logs * 🐛 fix set-input suggestion being wrapped for every lines (GoogleCloudPlatform#638) * fix set-input suggestion being wrapped for every lines * Update web/src/app/timeline-toolbar/components/set-input-popup.component.scss Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com> Signed-off-by: kyasbal <[email protected]> --------- Signed-off-by: kyasbal <[email protected]> Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com> * Fix bugs to register the CSM TD parser tasks (GoogleCloudPlatform#647) * Fix the same issue of GoogleCloudPlatform#638 (GoogleCloudPlatform#659) * Adding make clean command (GoogleCloudPlatform#651) * Addming make clean command * fixed commented points * Removing unused old headers on frontend (GoogleCloudPlatform#660) * removed prefix 'v2' in shader files (GoogleCloudPlatform#661) * rename commonlogk8sauditv2 to commonlogk8saudit (GoogleCloudPlatform#662) * fixed the flaky backend test due to race condition (GoogleCloudPlatform#665) * improved sticky header to show resource layer (GoogleCloudPlatform#663) * Removed redundant v from the version string (GoogleCloudPlatform#671) * bugfix: automatic log scroll is not matching to the actual element (GoogleCloudPlatform#675) * bugfix: ignore changing selected timeline when user clicked a log from log list (GoogleCloudPlatform#674) * bugfix: automatic scroll to the beginning time of log query when user selected a timeline without point to a log (GoogleCloudPlatform#676) * bugfix: scaling around right edge of query duration may be clipped to jump to other timing (GoogleCloudPlatform#677) --------- Signed-off-by: kyasbal <[email protected]> Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com> * Define log type and severity timeline style variables (GoogleCloudPlatform#685) * Add some style fields in TimelineType (GoogleCloudPlatform#684) * Add core timeline domain models and timeline store (GoogleCloudPlatform#682) * Adding the InspectionDataBuilder to build the domain layer (GoogleCloudPlatform#643) * updated tests for the updated style.proto * Adding the InspectionDataBuilder to build the domain layer * fix failed CI due to wrong Makefile dependency (GoogleCloudPlatform#694) * updated tests for the updated style.proto * fix failed CI due to wrong Makefile dependency * Merge main into epic/file-schema-v6 (GoogleCloudPlatform#696) * Removing unused CORS code (GoogleCloudPlatform#619) * Removing unused CORS code * Update pkg/core/init/default/defaultextension.go Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com> Signed-off-by: kyasbal <[email protected]> --------- Signed-off-by: kyasbal <[email protected]> Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com> * Replaced unsafe innerHTML with textContent (GoogleCloudPlatform#620) * feat(startup): implement smart component and integrate data loading (GoogleCloudPlatform#599) * feat(startup): add inspection list components * feat(startup): implement smart component and integrate data loading GoogleCloudPlatform#558 * Fix name of the function pointed out by the review * chore: fix make setup error in jj and update dev guide (GoogleCloudPlatform#629) * chore: fix make setup error in jj and update dev guide * fix commented issues on review * fixed minor issues on Makefile (GoogleCloudPlatform#644) * Merge epic/csm-parser into main (GoogleCloudPlatform#645) * Add Inventory/Discovery tasks for parsing the map from NEG name to BS name (GoogleCloudPlatform#635) * Add fleet PJ form task and query task to gather CSM TD audit logs (GoogleCloudPlatform#636) * Add Inventory/Discovery tasks for parsing the map from NEG name to BS name * Adding form task to receive the fleet project and query task to gather logs from Cloud Logging * Add timeline mapper for TD resource logs (GoogleCloudPlatform#637) * Add Inventory/Discovery tasks for parsing the map from NEG name to BS name * Adding form task to receive the fleet project and query task to gather logs from Cloud Logging * Add timeline mapper for traffic director resource logs * 🐛 fix set-input suggestion being wrapped for every lines (GoogleCloudPlatform#638) * fix set-input suggestion being wrapped for every lines * Update web/src/app/timeline-toolbar/components/set-input-popup.component.scss Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com> Signed-off-by: kyasbal <[email protected]> --------- Signed-off-by: kyasbal <[email protected]> Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com> * Fix bugs to register the CSM TD parser tasks (GoogleCloudPlatform#647) * Fix the same issue of GoogleCloudPlatform#638 (GoogleCloudPlatform#659) * Adding make clean command (GoogleCloudPlatform#651) * Addming make clean command * fixed commented points * Removing unused old headers on frontend (GoogleCloudPlatform#660) * removed prefix 'v2' in shader files (GoogleCloudPlatform#661) * rename commonlogk8sauditv2 to commonlogk8saudit (GoogleCloudPlatform#662) * fixed the flaky backend test due to race condition (GoogleCloudPlatform#665) * improved sticky header to show resource layer (GoogleCloudPlatform#663) * Removed redundant v from the version string (GoogleCloudPlatform#671) * bugfix: automatic log scroll is not matching to the actual element (GoogleCloudPlatform#675) * bugfix: ignore changing selected timeline when user clicked a log from log list (GoogleCloudPlatform#674) * bugfix: automatic scroll to the beginning time of log query when user selected a timeline without point to a log (GoogleCloudPlatform#676) * bugfix: scaling around right edge of query duration may be clipped to jump to other timing (GoogleCloudPlatform#677) * Updated CODEOWNER file (GoogleCloudPlatform#678) * Updated the release.yml for GitHub (GoogleCloudPlatform#679) --------- Signed-off-by: kyasbal <[email protected]> Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com> * enforce @typescript-eslint/array-type ESlint rule (GoogleCloudPlatform#695) * enforce @typescript-eslint/array-type ESlint rule * Enable prettier with configuration files having suffix .mjs * Add lookup methods to Timeline and their unit tests (GoogleCloudPlatform#686) * Add lookup methods to Timeline and their unit tests * fixed the reviewed points * Defined TimelineTypes from the previously defined enum.ParentRelationshipTypes (GoogleCloudPlatform#688) * Replace the serializer task to use the new file format serializer (GoogleCloudPlatform#693) * Replace Serializer task with the new file builder and implemented progress reporting feature * Added issue tracker ID in the TODO comment * Add the new ChangeSet utility (GoogleCloudPlatform#689) * Add SetAlias method on TimelineAccumulator * Add the new ChangeSet utility * Added issue number on the TODO comment * Add timeline hierarchy and parent-child relationship getters/iterators (GoogleCloudPlatform#687) * Make storybook works with BigInt (GoogleCloudPlatform#702) * Updated Typescript coding rule (GoogleCloudPlatform#713) * Added handling for non UTF-8 valid string (GoogleCloudPlatform#712) * Added handling for non UTF-8 valid string * fixed the commented part in the review and added test for the corner case * Implemented the missing part of file parser (GoogleCloudPlatform#700) * Added timeline mapper base task type (GoogleCloudPlatform#703) * Added util used in log ingestor or timeline mappers * Added timeline mapper base task type * Added log ingester base task types (GoogleCloudPlatform#704) * Added util used in log ingestor or timeline mappers * Added log ingester base task types * Added severity utils to parse GCP severity (GoogleCloudPlatform#710) * Added severity utils to parse GCP severity * fixed problems pointed by the review * Add FeatureTaskLabelV2 (GoogleCloudPlatform#711) * Pure UI components for advanced timeline toolbar (GoogleCloudPlatform#706) * added timeline-view and its timeline filters (GoogleCloudPlatform#707) * Adding metadata domain layer (GoogleCloudPlatform#701) * Adding metadata domain layer * resolving conflict * Added SKILL for building tasks on log ingesters or timeline mapper (GoogleCloudPlatform#714) * Added SKILL for building tasks on log ingesters or timeline mapper * fixed reviewed points * Defined TimelineTypes, RevisionStates and related utilities (GoogleCloudPlatform#715) * Defined TimelineTypes, RevisionStates and related utilities * fixed reviewed points * Adding blueprint type for v6 (GoogleCloudPlatform#717) * Adding blueprint type for v6 * fixed GCA reviewed points * Adding timeline sorting logic (GoogleCloudPlatform#718) * Adding timeline sorting logic * fixed GCA's reviewed points * Fixed Makefile to generate proto artifacts automatically before building other codes (GoogleCloudPlatform#719) * Advanced timeline toolbar integrating CEL filtering and timeline-view (GoogleCloudPlatform#716) * Advanced timeline toolbar integrating CEL filtering and timeline-view * fixed GCA reviewed point * Optimized structured data storing in domain store (GoogleCloudPlatform#721) * Make domain type to hold structured data with protobuf binary * Cache body object with WeakRef in Log and Revision * Centralized interned struct body cache * Adding khi_parser skill to define a new parser (GoogleCloudPlatform#720) * Migrate CSM access log and TD resource audit log parsers to file format v6 (GoogleCloudPlatform#722) * Migrate CSM access log and TD resource audit log parsers to file format v6 * Use resource.labels.project_id instead of the resource name * fixed GCA's review commented part * Migrate GCE network audit log parsers to file format v6 (GoogleCloudPlatform#723) * Migrate GCE network audit log parsers to file format v6 * fixed GCA's review commented part * Migrate K8s event log parsers to file format v6 (GoogleCloudPlatform#724) * Migrate GKE cluster autoscaler log parsers to file format v6 (GoogleCloudPlatform#725) * Migrate GKE cluster autoscaler log parsers to file format v6 * fix autoscale related tests * Migrate Composer log parsers to file format v6 (GoogleCloudPlatform#726) * Migrate Composer log parsers to file format v6 * fixed review commented part by GCA * Migrate K8s node log parsers to file format v6 (GoogleCloudPlatform#728) * Migrate K8s node log parsers to file format v6 * fixed GCA's review commented part * Migrate GKE multicloud audit log parsers to file format v6 (GoogleCloudPlatform#727) * Migrate K8s controlplane log parsers to file format v6 (GoogleCloudPlatform#729) * Migrate K8s controlplane log parsers to file format v6 * fix control plane related tests * fixed GCA's commented part * Migrate GCE serial port log parsers to file format v6 (GoogleCloudPlatform#730) * Migrate GCE serial port log parsers to file format v6 * fix serialport related parser tests * fixed GCA's commented part * Migrate K8s audit log parsers to file format v6 (GoogleCloudPlatform#731) * Implemented base task utilities for k8s audit log parser * Migrate K8s audit log parsers to file format v6 * Migrate GKE audit log parsers to file format v6 (GoogleCloudPlatform#732) * Migrate Compute API audit log parsers to file format v6 (GoogleCloudPlatform#733) * Migrate Compute API audit log parsers to file format v6 * fix GCA's commented parts * Migrate K8s container log parsers to file format v6 (GoogleCloudPlatform#734) * Migrate K8s container log parsers to file format v6 * fix GCA's commented parts * Migrate GDC audit log parsers to file format v6 (GoogleCloudPlatform#735) * Migrate GDC audit log parsers to file format v6 * fixed GCA's commented part * Migrate OSS event parser to KHI file format v6 (GoogleCloudPlatform#738) * adding mock inspection data (GoogleCloudPlatform#737) * adding mock inspection data * fixed GCA's suggested part * Adding services needed to migrate timeline components to the new domain type (GoogleCloudPlatform#742) * Add InspectionDataStore * Adding selection manager v2 * fix issues pointed by gca and tests * Replace referenced domain types to the new type in the log related components (GoogleCloudPlatform#743) * Replace referenced domain types to the new type in the log related components * fixed review points * Replace domain types used from the timeline related components (GoogleCloudPlatform#744) * Replace domain types used from the timeline related components * [broken]timeline hover overlay * [broken]timeline-legend component * [broken]timline-ruler component * [broken] Migrated timeline-index component * [Broken]Migrating renderer resources * Migrating other timeline resources * fixed storybook build failure * fixed reviewed points * extend memory limit for ng lint (GoogleCloudPlatform#745) * Integrate the new timeline view classes and current toolbar component (GoogleCloudPlatform#746) * Integrate the timeline filter component * Updated toolbar * fix GCA's commented part * Fixed the separate diff page works with the new domain store (GoogleCloudPlatform#747) * fix graph data converter * fixed diff separated page * fixed compilation error * fixed GCA's reviewed points * Remove @type field contained in `request` and `respone` of the protoPayload in audit logs (GoogleCloudPlatform#748) * Add field filter node * Remove @type field of request or response in the manifest generator * fixed GCA's comented part * Cleaning up unused codes on backend (GoogleCloudPlatform#749) * Removing old code on backend side * Remove MainMessage fieldset * Added sorting configuration on timeline type (GoogleCloudPlatform#750) * Added sorting configuration on timeline type * fixed failed unit tests * Improved CEL based filtering (GoogleCloudPlatform#751) * Improved CEL based filtering * fixed failing unit tests * fixed GCA's reviewed part * Added standard log filtering components (GoogleCloudPlatform#753) * Added standard log filtering components * fixed GCA's commented part * Unified timeline-advanced-toolbar and timeline-toolbar (GoogleCloudPlatform#754) * Unified timeline-advanced-toolbar and timeline-toolbar * defined dedicated error for cancellation * fixed GCA's reviewed part * Index severity field with timeline filter (GoogleCloudPlatform#755) * Index severity field with timeline filter * fixed GCA's reviewed part * Added CEL guide and its popup components (GoogleCloudPlatform#756) * Added CEL guide and its popup components * fixed GCA's commented part * Added typeChip foreground property on the TimelineStyle protos (GoogleCloudPlatform#758) * Implemented functions to copy a domain store data to the other worker with SharedArrayBuffer (GoogleCloudPlatform#757) * SharedArrayBuffer experiment * Migrated store data to SharedArrayBuffer for utilizing WebWorkers * Allowed empty value in the filter builder (GoogleCloudPlatform#761) * allowed empty value in the filter builder * fixed GCA's commented part * Added style override dialog to preview timeline styles easier (GoogleCloudPlatform#762) * Added style override dialog to preview timeline styles easier * fixed GCA's commented part * Migrate log/timeline searching to WebWorker (GoogleCloudPlatform#763) * Migrate log searching to WebWorker * fixed GCA's commented part * Implement search cancellation for log and timeline async queries (GoogleCloudPlatform#764) * Implemented cancellation * fixed GCA's commented part * Restructure timeline paths hierarchically under Projects and Category folders (GoogleCloudPlatform#765) * adjusting colors and styles * refactor: reuse common contract methods directly in autoscaler parser * Optimized memory usage for searching (GoogleCloudPlatform#769) * Optimized memory usage for searching * fixed GCA's reviewed part * bug: fix log scrolling by arrow keys (GoogleCloudPlatform#770) * bug: fix log scrolling by arrow keys * fixed GCA's reviewed part * update descriptions on feature tasks (GoogleCloudPlatform#771) * update descriptions on feature tasks * fixed GCA's reviewed part * Improved search feature on diffs/logs (GoogleCloudPlatform#773) * Improved search feature on diffs/logs * Address review comments for PR 773 * bug: fix unintentionally jump to another timeline when 2 or more logs are associated with the same log (GoogleCloudPlatform#772) * bug: fix unintentionally jump to another timeline when 2 or more logs are associated with the same log * Addressed review comments for PR 772 * update descriptive messages used on KHI (GoogleCloudPlatform#774) * Merge main into epic/file-schema-v6 (GoogleCloudPlatform#775) * Removing unused CORS code (GoogleCloudPlatform#619) * Removing unused CORS code * Update pkg/core/init/default/defaultextension.go Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com> Signed-off-by: kyasbal <[email protected]> --------- Signed-off-by: kyasbal <[email protected]> Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com> * Replaced unsafe innerHTML with textContent (GoogleCloudPlatform#620) * feat(startup): implement smart component and integrate data loading (GoogleCloudPlatform#599) * feat(startup): add inspection list components * feat(startup): implement smart component and integrate data loading GoogleCloudPlatform#558 * Fix name of the function pointed out by the review * chore: fix make setup error in jj and update dev guide (GoogleCloudPlatform#629) * chore: fix make setup error in jj and update dev guide * fix commented issues on review * fixed minor issues on Makefile (GoogleCloudPlatform#644) * Merge epic/csm-parser into main (GoogleCloudPlatform#645) * Add Inventory/Discovery tasks for parsing the map from NEG name to BS name (GoogleCloudPlatform#635) * Add fleet PJ form task and query task to gather CSM TD audit logs (GoogleCloudPlatform#636) * Add Inventory/Discovery tasks for parsing the map from NEG name to BS name * Adding form task to receive the fleet project and query task to gather logs from Cloud Logging * Add timeline mapper for TD resource logs (GoogleCloudPlatform#637) * Add Inventory/Discovery tasks for parsing the map from NEG name to BS name * Adding form task to receive the fleet project and query task to gather logs from Cloud Logging * Add timeline mapper for traffic director resource logs * 🐛 fix set-input suggestion being wrapped for every lines (GoogleCloudPlatform#638) * fix set-input suggestion being wrapped for every lines * Update web/src/app/timeline-toolbar/components/set-input-popup.component.scss Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com> Signed-off-by: kyasbal <[email protected]> --------- Signed-off-by: kyasbal <[email protected]> Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com> * Fix bugs to register the CSM TD parser tasks (GoogleCloudPlatform#647) * Fix the same issue of GoogleCloudPlatform#638 (GoogleCloudPlatform#659) * Adding make clean command (GoogleCloudPlatform#651) * Addming make clean command * fixed commented points * Removing unused old headers on frontend (GoogleCloudPlatform#660) * removed prefix 'v2' in shader files (GoogleCloudPlatform#661) * rename commonlogk8sauditv2 to commonlogk8saudit (GoogleCloudPlatform#662) * fixed the flaky backend test due to race condition (GoogleCloudPlatform#665) * improved sticky header to show resource layer (GoogleCloudPlatform#663) * Removed redundant v from the version string (GoogleCloudPlatform#671) * bugfix: automatic log scroll is not matching to the actual element (GoogleCloudPlatform#675) * bugfix: ignore changing selected timeline when user clicked a log from log list (GoogleCloudPlatform#674) * bugfix: automatic scroll to the beginning time of log query when user selected a timeline without point to a log (GoogleCloudPlatform#676) * bugfix: scaling around right edge of query duration may be clipped to jump to other timing (GoogleCloudPlatform#677) * Updated CODEOWNER file (GoogleCloudPlatform#678) * Updated the release.yml for GitHub (GoogleCloudPlatform#679) * fix: confirm refresh when backend disconnects (GoogleCloudPlatform#692) * fix: confirm refresh when backend disconnects Signed-off-by: Haihan Jiang <[email protected]> * chore: use absolute imports in root tests Signed-off-by: Haihan Jiang <[email protected]> * Align unload confirmation with disconnect review --------- Signed-off-by: Haihan Jiang <[email protected]> * Handle slog attributes in KHI log formatter (GoogleCloudPlatform#708) * Handle slog attributes in KHI log formatter * Optimize KHI log attribute formatting * Handle KHI log formatter review feedback * Change default listen host to 127.0.0.1 from localhost (GoogleCloudPlatform#759) * Improve retry logic to consider temporal failure due to ECP issue (GoogleCloudPlatform#760) * Improve retry logic to consider temporal failure due to ECP issue * fixed GCA's reviewed points --------- Signed-off-by: kyasbal <[email protected]> Signed-off-by: Haihan Jiang <[email protected]> Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com> Co-authored-by: Haihan Jiang <[email protected]> * Update the usability of timeline hover component (GoogleCloudPlatform#777) * Optimize log lookup and resolve sticky header overlay placement - Resolve target timeline fallback order (selectedTimeline -> descendants -> all timelines) - Compensate hover placement offset when hovering directly over the sticky header - Optimize preceding and succeeding log extraction using bisectLeft - Standardize timestamps to bigint (nanoseconds) across hover resolution * Visualize current cursor time with a dedicated separator line - Propagate cursor time as bigint (nanoseconds) to the hover overlay - Update lastClickedTime dynamically on mouse movement across empty timeline periods - Conditionally insert a dedicated cursor separator row (isCursor: true) only when hovering over empty timeline periods - Render cursor row with flex container and CSS dashed lines flanking centered text - Enforce dashed lines expansion with flex: 1 1 20px and height: 1px - Update Storybook stories to include mock cursorTime property * addressed comments on PR777 * feat: show RevisionState description popup on hover in timeline legend (GoogleCloudPlatform#776) * feat: show RevisionState description popup on hover in timeline legend * addressed comments on PR776 * Added diagram view to the golden layout tab (GoogleCloudPlatform#780) * feat: embed graph view as a GoldenLayout tab * Remove diagram button from the toolbar * addressed PR comments on GoogleCloudPlatform#780 * make storybook not freezed by serialization (GoogleCloudPlatform#781) * make storybook not freezed by serialization * addressed PR781 review comments * Make graph draw feature async (GoogleCloudPlatform#782) * Make graph draw feature async * addressed PR782 review comments * removed unused frontend codes (GoogleCloudPlatform#783) * Improved layout menu buttons (GoogleCloudPlatform#784) * Merge main into epic/file-schema-v6 (GoogleCloudPlatform#786) * Removing unused CORS code (GoogleCloudPlatform#619) * Removing unused CORS code * Update pkg/core/init/default/defaultextension.go Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com> Signed-off-by: kyasbal <[email protected]> --------- Signed-off-by: kyasbal <[email protected]> Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com> * Replaced unsafe innerHTML with textContent (GoogleCloudPlatform#620) * feat(startup): implement smart component and integrate data loading (GoogleCloudPlatform#599) * feat(startup): add inspection list components * feat(startup): implement smart component and integrate data loading GoogleCloudPlatform#558 * Fix name of the function pointed out by the review * chore: fix make setup error in jj and update dev guide (GoogleCloudPlatform#629) * chore: fix make setup error in jj and update dev guide * fix commented issues on review * fixed minor issues on Makefile (GoogleCloudPlatform#644) * Merge epic/csm-parser into main (GoogleCloudPlatform#645) * Add Inventory/Discovery tasks for parsing the map from NEG name to BS name (GoogleCloudPlatform#635) * Add fleet PJ form task and query task to gather CSM TD audit logs (GoogleCloudPlatform#636) * Add Inventory/Discovery tasks for parsing the map from NEG name to BS name * Adding form task to receive the fleet project and query task to gather logs from Cloud Logging * Add timeline mapper for TD resource logs (GoogleCloudPlatform#637) * Add Inventory/Discovery tasks for parsing the map from NEG name to BS name * Adding form task to receive the fleet project and query task to gather logs from Cloud Logging * Add timeline mapper for traffic director resource logs * 🐛 fix set-input suggestion being wrapped for every lines (GoogleCloudPlatform#638) * fix set-input suggestion being wrapped for every lines * Update web/src/app/timeline-toolbar/components/set-input-popup.component.scss Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com> Signed-off-by: kyasbal <[email protected]> --------- Signed-off-by: kyasbal <[email protected]> Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com> * Fix bugs to register the CSM TD parser tasks (GoogleCloudPlatform#647) * Fix the same issue of GoogleCloudPlatform#638 (GoogleCloudPlatform#659) * Adding make clean command (GoogleCloudPlatform#651) * Addming make clean command * fixed commented points * Removing unused old headers on frontend (GoogleCloudPlatform#660) * removed prefix 'v2' in shader files (GoogleCloudPlatform#661) * rename commonlogk8sauditv2 to commonlogk8saudit (GoogleCloudPlatform#662) * fixed the flaky backend test due to race condition (GoogleCloudPlatform#665) * improved sticky header to show resource layer (GoogleCloudPlatform#663) * Removed redundant v from the version string (GoogleCloudPlatform#671) * bugfix: automatic log scroll is not matching to the actual element (GoogleCloudPlatform#675) * bugfix: ignore changing selected timeline when user clicked a log from log list (GoogleCloudPlatform#674) * bugfix: automatic scroll to the beginning time of log query when user selected a timeline without point to a log (GoogleCloudPlatform#676) * bugfix: scaling around right edge of query duration may be clipped to jump to other timing (GoogleCloudPlatform#677) * Updated CODEOWNER file (GoogleCloudPlatform#678) * Updated the release.yml for GitHub (GoogleCloudPlatform#679) * fix: confirm refresh when backend disconnects (GoogleCloudPlatform#692) * fix: confirm refresh when backend disconnects Signed-off-by: Haihan Jiang <[email protected]> * chore: use absolute imports in root tests Signed-off-by: Haihan Jiang <[email protected]> * Align unload confirmation with disconnect review --------- Signed-off-by: Haihan Jiang <[email protected]> * Handle slog attributes in KHI log formatter (GoogleCloudPlatform#708) * Handle slog attributes in KHI log formatter * Optimize KHI log attribute formatting * Handle KHI log formatter review feedback * Change default listen host to 127.0.0.1 from localhost (GoogleCloudPlatform#759) * Improve retry logic to consider temporal failure due to ECP issue (GoogleCloudPlatform#760) * Improve retry logic to consider temporal failure due to ECP issue * fixed GCA's reviewed points * bug: fix CSM's access log query was wrong for GDC clusters (GoogleCloudPlatform#779) * bug: fix CSM's access log query was wrong for GDC clusters * addressed comment in GoogleCloudPlatform#779 --------- Signed-off-by: kyasbal <[email protected]> Signed-off-by: Haihan Jiang <[email protected]> Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com> Co-authored-by: Haihan Jiang <[email protected]> --------- Signed-off-by: kyasbal <[email protected]> Signed-off-by: Haihan Jiang <[email protected]> Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com> Co-authored-by: Haihan Jiang <[email protected]>
Added layout preset button and its shortcuts to switch layout easier.