* feat: custom hook to prevent redundant navigation and handle default params with URL comparison
* feat: implement useSafeNavigation to QB, to ensure that the back navigation works properly
* fix: handle syncing the relativeTime param with the time picker selected relative time
* feat: add support for absolute and relative time sync with time picker component
* refactor: integrate safeNavigate in LogsExplorerChart and deprecate the existing back navigation
* feat: update pagination query params on pressing next/prev page
* fix: fix the issue of NOOP getting converted to Count on coming back from alert creation page
* refactor: replace history navigation with safeNavigate in DateTimeSelectionV2 component
it also fixes the issue of relativeTime not being added to the url on mounting
* feat: integrate useSafeNavigate across service details tabs
* fix: fix duplicate redirections by converting the timestamp to milliseconds
* fix: replace history navigation with useSafeNavigate in LogsExplorerViews and useUrlQueryData
* fix: replace history navigation with useSafeNavigate across dashboard components
* fix: use safeNavigate in alert components
* fix: fix the issue of back navigation in alert table and sync the pagination with url param
* fix: handle back navigation for resource filter and sync the state with url query
* fix: fix the issue of double redirection from top operations to traces
* fix: replace history.push with safeNavigate in TracesExplorer's updateDashboard
* fix: prevent unnecessary query re-runs by checking stagedQuery before redirecting in NewWidget
* chore: cleanup
* fix: fix the failing tests
* fix: fix the documentation redirection failing tests
* test: mock useSafeNavigate hook in WidgetGraphComponent test
* test: mock useSafeNavigate hook in ExplorerCard test
* feat: setup the app context to fetch users,licenses and feature flags
* feat: added global event listeners for after_login event
* feat: remove redux from app state and private route
* feat: syncronize the approutes file
* feat: cleanup the private routes
* feat: handle login and logout
* feat: cleanup the app layout file
* feat: cleanup and syncronize side nav item
* fix: minor small re-render issue
* feat: parallel processing for sync calls for faster bootup of application
* feat: some refactoring for private routes
* fix: entire application too much re-rendering
* fix: remove redux
* feat: some more corrections
* feat: fix all the files except signup
* feat: add app provider to the test-utils
* feat: should fix a lot of tests
* chore: fix more tests
* chore: fix more tests
* feat: fix some tests and corrected the redux mock
* feat: delete snapshot
* fix: test cases
* fix: pipeline actions test cases
* fix: billing test cases
* feat: update the signup API to accept isAnonymous and hasOptedUpdates
* chore: cleanup the console logs
* fix: indefinite loading on manage licenses screen
* fix: better handling and route to something_went_wrong in case of qs down
* fix: signup for subsequent users
* chore: update test-utils
* fix: jerky behaviour on entering the home page
* feat: handle the retention for login context flow
* fix: do not let users workaround workspace blocked screen
* feat: time picker hint and timezone picker UI with basic functionality + helper to get timezones
* feat: add support for esc keypress to close the timezone picker
* chore: add the selected timezone as url param and close timezone picker on select
* fix: overall improvement + add searchIndex to timezone
* feat: timezone preferences UI
* chore: improve timezone utils
* chore: change timezone item from div to button
* feat: display timezone in timepicker input
* chore: fix the typo
* fix: don't focus on time picker when timezone is clicked
* fix: fix the issue of timezone breaking for browser and utc timezones
* fix: display the timezone in timepicker hint 'You are at'
* feat: timezone basic functionality (#6492)
* chore: change div to fragment + change type to any as the ESLint complains otherwise
* chore: manage etc timezone filtering with an arg
* chore: update timezone wrapper class name
* fix: add timezone support to downloaded logs
* feat: add current timezone to dashboard list and configure metadata modal
* fix: add pencil icon next to timezone hint + change the copy to Current timezone
* fix: properly handle the escape button behavior for timezone picker
* chore: replace @vvo/tzdb with native Intl API for timezones
* feat: lightmode for timezone picker and timezone adaptation components
* fix: use normald tz in browser timezone
* fix: timezone picker lightmode fixes
* feat: display selected time range in 12 hour format
* chore: remove unnecessary optional chaining
* fix: fix the typo in css variable
* chore: add em dash and change icon for timezone hint in date/time picker
* chore: move pen line icon to the right of timezone offset
* fix: fix the failing tests
* feat: handle switching off the timezone adaptation
* feat: add channel creation option and auto-refresh channels list on dropdown open
* chore: move inline styles to style.ts
* fix: show the prompt to ask admin if the user doesn't have permissions
* fix: display create channel option only if the user has permission
* fix: prevent repeated new alert event logs + log new channel option inside dropdown
* feat: tooltip plugin to show series data in tooltip
* feat: send anomaly function as last function
* feat: default z_score_threshold to 3
* fix: anomaly function not applied on initial load
* feat: maintain select alert type on reload
* feat: maintain select alert type on reload
* chore: update events to handle anomaly alert interactions
* feat: tabs and filters for alert history page (#5655)
* feat: alert history page route and component setup
* feat: alert history basic tabs and fitlers UI
* feat: route based tabs for alert history and overview and improve the UI to match designs
* chore: unused components and files cleanup
* chore: improve alert history and overview route paths
* chore: use parent selector in scss files
* chore: alert -> alerts
* feat: alert rule details metadata header (#5675)
* feat: alert history basic tabs and fitlers UI
* feat: route based tabs for alert history and overview and improve the UI to match designs
* chore: unused components and files cleanup
* feat: copy to clipboard component
* feat: see more component
* feat: key value label component
* feat: alert rule details meta data header
* fix: apply the missing changes
* chore: uncomment the alert status with static data
* chore: compress the alert status svg icons and define props, types, and defaultProps
* feat: alert rule history skeleton using static data (#5688)
* feat: alert history basic tabs and fitlers UI
* feat: route based tabs for alert history and overview and improve the UI to match designs
* feat: top contributors UI using static data
* feat: avg. resolution time and total triggered stats card UI using static data
* feat: tabs component
* feat: timeline tabs and filters
* feat: overall status graph UI using dummy data with graph placeholder
* feat: timeline table and pagination UI using dummy data
* fix: bugfix in reset tabs
* feat: add popover to go to logs/traces to top contributors and timeline table
* chore: remove comments
* chore: rename AlertIcon to AlertState
* fix: add cursor pointer to timeline table rows
* feat: add parent tabs to alert history
* chore: add icon to the configure tab
* fix: display popover on hovering the more button in see more component
* fix: wrap key value label
* feat: alert rule history enable/disable toggle UI
* Feat: get alert history data from API (#5718)
* feat: alert history basic tabs and fitlers UI
* feat: route based tabs for alert history and overview and improve the UI to match designs
* feat: data state renderer component
* feat: get total triggered and avg. resolution cards data from API
* fix: hide stats card if we get NaN
* chore: improve rule stats types
* feat: get top contributors data from API
* feat: get timeline table data from API
* fix: properly render change percentage indicator
* feat: total triggered and avg resolution empty states
* fix: fix stats height issue that would cause short border-right in empty case
* feat: top contributors empty state
* fix: fix table and graph borders
* feat: build alert timeline labels filter and handle client side filtering
* fix: select the first tab on clicking reset
* feat: set param and send in payload on clicking timeline filter tabs
* Feat: alert history timeline remaining subtasks except graphs (#5720)
* feat: alert history basic tabs and fitlers UI
* feat: route based tabs for alert history and overview and improve the UI to match designs
* feat: implement timeline table sorting
* chore: add initial count to see more and alert labels
* chore: move PaginationInfoText component to /periscope
* chore: implement top contributor rows using Ant Table
* feat: top contributors view all
* fix: hide border for last row and prevent layout shift in top contributors by specifying height
* feat: properly display duration in average resolution time
* fix: properly display normal alert rule state
* feat: add/remove view all top contributors param to url on opening/closing view all
* feat: calculate start and end time from relative time and add/remove param to url
* fix: fix console warnings
* fix: enable timeline table query only if start and end times exist
* feat: handle enable/disable alert rule toggle request
* chore: replace string values with constants
* fix: hide stats card if only past data is available + remove unnecessary states from AlertState
* fix: redirect configure alert rule to alert overview tab
* fix: display total triggers in timeline chart wrapper based on API response data
* fix: choosing the same relative time doesn't udpate start and end time
* Feat: total triggered and avg. resolution time graph (#5750)
* feat: alert history basic tabs and fitlers UI
* feat: route based tabs for alert history and overview and improve the UI to match designs
* feat: handle enable/disable alert rule toggle request
* feat: stats card line chart
* fix: overall improvements to stats card graph
* fix: overall UI improvements to match the Figma screens
* chore: remove duplicate hook
* fix: make the changes w.r.t timeline table API changes to prevent breaking the page
* fix: update stats card null check based on updated API response
* feat: stats card no previous data UI
* feat: redirect to 404 page if rule id is invalid
* chore: improve alert enable toggle success toast message
* feat: get top contributors row and timeline table row related logs and traces links from API
* feat: get total items from API and make pagination work
* feat: implement timeline filters based on API response
* fix: in case of current and target units, convert the value unit in timeline table
* fix: timeline table y axis unit null check
* fix: hide stats card graph if only a single entry is there in timeseries
* chore: redirect alert from all alerts to overview tab
* fix: prevent adding extra unnecessary params on clicking alerts top level tabs
* chore: use conditional alert popover in timeline table and import the scss file
* fix: prevent infinity if we receive totalPastTriggers as '0'
* fix: improve UI to be pixel perfect based on figma designs
* fix: fix the incorrect change direction
* fix: add height to top contributors row
* feat: alert history light mode
* fix: remove the extra padding from alert overview query builder tabs
* chore: overall improvements
* chore: remove mock file
* fix: overall improvements
* fix: add dark mode support for top contributors empty state
* chore: improve timeline chart placeholder bg in light mode
* Feat: alert history horizontal timeline chart (#5773)
* feat: timeline horizontal chart
* fix: remove the labels from horizontal timeline chart
* chore: add null check to timeline chart
* chore: hide cursor from timeline chart
* fix: fix the blank container being displayed in loading state
* fix: alert history UI fixes (#5776)
* fix: remove extra padding from alert overview query section tabs
* fix: add padding to alert overview container
* fix: improve breadcrumb click behavior
* chore: temporarily hide reset button from alert details timepicker
* fix: improve breadcrumb click behavior
* chore: hide alert firing since
* fix: don't use the data state renderer for timeline table
* fix: alert history pr review changes (#5778)
* chore: rename alert history scss files in pascal case
* fix: use proper variables
* chore: use color variable for action button dropdown item
* chore: improve the directory structure for alert history components
* chore: move inline style to scss file and extract dropdown renderer component
* chore: use colors from Color instead of css variables inside tsx files
* chore: return null in default case
* chore: update alert details spinner tip
* chore: timelinePlugin warnings and remove file wide warning disabling
* chore: change Arial to Geist Mono in timeline plugin
* feat: alert history remaining feats (#5825)
* fix: add switch case for inactive state to alert state component
* feat: add API enabled label search similar to Query Builder
* feat: add reset button to date and time picker
* feat: add vertical timeline chart using static data
* chore: use Colors instead of hex + dummy data for 90 days
* fix: label search light mode UI
* fix: remove placeholder logic, and display vertical charts if more than 1 day
* chore: extract dayjs manipulate types to a constant
* fix: hide the overflow of top contributors card
* fix: throw instead of return error to prevent breaking alert history page in case of error
* chore: temporarily comment alert history vertical charts
* chore: calculate start and end times from relative time and remove query params (#5828)
* chore: calculate start and end times from relative time and remove query params
* fix: hide reset button if selected time is 30m
* feat: alert history dropdown functionality (#5833)
* feat: alert history dropdown actions
* chore: use query keys from react query key constant
* fix: properly handle error states for alert rule APIs
* fix: handle dropdown state using onOpenChange to fix clicking delete not closing the dropdown
* Fix: bugfixes and overall improvements to alert history (#5841)
* fix: don't display severity label
* chore: remove id from alert header
* chore: add tooltip to enable/disable alert toggle
* chore: update enable/disbale toast message
* fix: set default relative time to 6h if relative time is not provided
* chore: update empty top contributors text and remove configure alert
* chore: temporarily hide value column from timeline column
* fix: use correct links for logs and traces in alert popover
* fix: properly set timeline table offset
* fix: display all values in graph
* fix: resolve conflicts
* chore: remove style for value column in timeline table
* chore: temporarily hide labels search
* fix: incorrect current page in pagination info text
* chore: remove label QB search
* chore: remove value column
* chore: remove commented code
* fix: show traces button when trace link is available
* fix: display horizontal chart even for a single entry
* fix: show inactive state in horizontal similar to normal state
* fix: properly render inactive state in horizontal chart
* fix: properly handle preserving alert toggle between overview and history tabs
* feat: get page size from query param
* chore: remove commented code + minor refactor
* chore: remove tsconfi.tmp
* fix: don't add default relative time if start and times exist in the url
* feat: display date range preview for stat cards
* chore: remove custom dropdown renderer component
* Fix: UI feedback changes (#5852)
* fix: add divider before delete button
* fix: timeline section title color in lightmode
* fix: remove the extra border from alert history tabs
* fix: populate alert rule disabled state on toggling alert state (#5854)
---------
Co-authored-by: Shaheer Kochai <ashaheerki@gmail.com>
* feat: move chat support behind paywall
* feat: wire up chat support paywall
* feat: move chat support code from app layout to separate component
* feat: add log events
* feat: added track event in Alerts - (multiple places)
* feat: comment resolve and code refactor
* feat: add Alert Channel: Channel list page visited event
* feat: removed testSuccess variable and used responseStatus directly
* feat: added save status in alert channel: save action
* feat: added channel detail in save and test notification event
* feat: code refactor
* feat: added status message for save and test
* feat: added status message for save channel events
* feat: code refactor
* feat: added an option to create channel when no Channels are availabel in alert config
* feat: added tooltip for the case when nochannel
* feat: opened notification channel creation in new tab
* feat: added role permission on create-notification-btn and disabled on loading
* feat: added admin permission required message in tooltip
---------
Co-authored-by: Vishal Sharma <makeavish786@gmail.com>
* fix: step interval not working for logs alerts
* fix: build issues
* fix: do not auto update the step interval when user enters some value
* feat: remove initial default 60 from step interval
* feat: revert last change
* fix: step interval mapping
* fix: remove initial default 60 from step interval
* Revert "fix: remove initial default 60 from step interval"
This reverts commit d23ce5e7e2860f37d433070d16793ceab85ed614.
* chore: fix backend
* chore: remove backend changes
* feat: enable the aggregate every interval across product
* fix: handle full view and landing view changes
---------
Co-authored-by: Srikanth Chekuri <srikanth.chekuri92@gmail.com>
* fix: page breaking when query range response is null for table panel type
* fix: page breaking when query range response is null for table panel type
* fix: page breaking when query range response is null for table panel type
* feat: added helper text, learn-more and doc-link
* feat: added collapse and uncollapse text on hover
* feat: added learn-more doc link for trace & logs explorer
* feat: added learn-more doc link
* feat: added learn-more doc link
* chore: added alert links and minor updates
* feat: added learn-more doc link
---------
Co-authored-by: makeavish <makeavish786@gmail.com>
* fix: ch queries sending builder as query type in query range api for exceptions alerts
* fix: ch queries sending builder as query type in query range api for exceptions alerts
* fix: alerts routing from logs explorer and dashboards
* fix: restrict visibilty of facing-issue button to only cloud users with intercom setup
* fix: restrict visibilty of facing-issue button to only cloud users with intercom setup
* fix: added a comment
* fix: added chat support feature flag condition
* fix: added a comment
* fix: changed folder structure
* fix: alert threshold form is resetting to default query option on stage & run
* fix: alert threshold - added safety check when the queryOption is deleted
* feat: update time range selection flows to handle relative and absolute times
* fix: lint error
* fix: lint error
* feat: update logic to handle custom relative times on load and standardize relative time formats
* fix: type issue
* fix: handle light mode and on custom time range select
* chore: update alert frequency corresponding times
* chore: update copy URL
* feat: update styles