* feat: base setup for in product home page
* feat: base state
* feat: add empty states for alerts, traces, dashboards, saved views
* feat: add checklist component
* feat: integrate all panels
* feat: integrate preference api and clean up components
* feat: handle done and skip states of the checklist
* feat: update ui
* feat: update ui
* feat: code cleanup
* feat: add events
* feat: support time interval change in services
* feat: add service time change event and cleanup code
* feat: handle light mode
* feat: address review comments
* fix: routing issues
* fix: testcase snapshot, a minor ui improvements
* fix: noopener typo in window.open
* fix: support multitenancy in dashboards
* fix: support multitenancy in saved views
* fix: move migrations to provider file
* fix: remove getUserFromClaims and use new errors
* fix: remove getUserFromClaims and use new errors
* fix: use new errors in dashboards.go
* Update ee/query-service/app/api/dashboard.go
Co-authored-by: ellipsis-dev[bot] <65095814+ellipsis-dev[bot]@users.noreply.github.com>
* fix: minor changes
---------
Co-authored-by: ellipsis-dev[bot] <65095814+ellipsis-dev[bot]@users.noreply.github.com>
### Summary
Integrate the new implementations of the alertmanager along with changes to the ruler. This change can be broadly categoried into 3 parts:
#### Frontend
- The earlier `/api/v1/alerts` api was double encoding the response in json and sending it to the frontend. This PR fixes the json response object.
For instance, we have gone from the response `{
"status": "success",
"data": "{\"status\":\"success\",\"data\":[{\"labels\":{\"alertname\":\"[platform][consumer] consumer is above 100% memory utilization\",\"bu\":\"platform\",\"......
}` to the response `{"status":"success","data":[{"labels":{"alertname":"[Metrics] Pod CP......`
- `msteams` has been changed to `msteamsv2` wherever applicable
#### Ruler
The following changes have been done in the ruler component:
- Removal of the old alertmanager and notifier
- The RuleDB methods `Create`, `Edit` and `Delete` have been made transactional
- Introduction of a new `testPrepareNotifyFunc` for sending test notifications
- Integration with the new alertmanager
#### Alertmanager
Although a huge chunk of the alertmanagers have been merged in previous PRs (the list can be found at https://github.com/SigNoz/platform-pod/issues/404), this PR takes care of changes needed in order to incorporate it with the ruler
- Addition of ruleId based matching
- Support for marshalling the global configuration directly from the upstream alertmanager
- Addition of orgId to the legacy alertmanager
- Support for always adding defaults to both routes and receivers while creating them
- Migration to create the required alertmanager tables
- Migration for msteams to msteamsv2 has been added. We will start using msteamv2 config for the new alertmanager and keep using msteams for the old one.
#### Related Issues / PR's
Closes https://github.com/SigNoz/platform-pod/issues/404
Closes https://github.com/SigNoz/platform-pod/issues/176
* fix: support multitenancy in org
* fix: register and login working now
* fix: changes to migration
* fix: migrations run both on sqlite and postgres
* fix: remove user flags from fe and be
* fix: remove ingestion keys from update
* fix: multitenancy support for apdex settings
* fix: render ts for users correctly
* fix: fix migration to run for new tenants
* fix: clean up migrations
* fix: address comments
* Update pkg/sqlmigration/013_update_organization.go
Co-authored-by: ellipsis-dev[bot] <65095814+ellipsis-dev[bot]@users.noreply.github.com>
* fix: fix build
* fix: force invites with org id
* Update pkg/query-service/auth/auth.go
Co-authored-by: ellipsis-dev[bot] <65095814+ellipsis-dev[bot]@users.noreply.github.com>
* fix: address comments
* fix: address comments
* fix: provier with their own dialect
* fix: update dialects
* fix: remove unwanted change
* Update pkg/query-service/app/http_handler.go
Co-authored-by: ellipsis-dev[bot] <65095814+ellipsis-dev[bot]@users.noreply.github.com>
* fix: different files for types
---------
Co-authored-by: ellipsis-dev[bot] <65095814+ellipsis-dev[bot]@users.noreply.github.com>
* feat: display select columns from user preferences for context log line
* feat: add support for redirecting context log line to logs explorer
* feat: open context log line in new tab
* feat: pass all the filters on opening context log line in a new tab
* chore: make log context line cursor pointer
* feat: onboarding v2 base setup
* feat: add onboarding v2 base setup and styles
- added header
- questionnaire blocks
- basic styling
- search based on UI config method (basic for UI behaviour)
- empty state result UI
* refactor: update class names in OnboardingPageV2 styles
* refactor(onboarding): components for QuestionBlock structural changes
* feat(onboarding): question block filterByCategory added
* feat(onboarding): component structure update and style updates
filterByCategory styling
spacing and styling fixes for options
steps style for question block
header styling update for sticky
added actions on header
* refactor(onboarding): bem SCSS nested way, this is the way
* refactor: moved the flow to another file
* feat: onboarding v2 base setup
* refactor: color variable fixes
* feat: onboarding part 3 changes
* feat: update handle select framework logic
* feat: add logos
* chore: remove old files
* feat: remove unwanted styles
* feat: minor ui updates
* feat: integrate invite team members and ingestion key details api
* feat: update docs links
* feat: added logos and fixed links
* feat: added and fixed links
* feat: handle routing after onboarding
* chore: update base url for docs links - testing
* feat: improve ux
* chore: update file
* feat: reset filters on next and back
* feat: update config
* feat: update api to use getIngestionData
* feat: show region and ingestion details
* feat: push changes behind feature flag
* feat: adding padding to onboarding container
* feat: add log events
* feat: handle back button state
* feat: redirect to onboarding v3 if ff is true and current path is get_started
* fix: update multi ingestion key test case
* feat: enable copy to clipboard
---------
Co-authored-by: Sudeep MP <sudipmelepunathilmp@gmail.com>
Co-authored-by: CheetoDa <Chitgupta24@gmail.com>
* chore: add constants for AWS Integration UI event names
* chore: log event for account viewed and account connection attempt started
* chore: log telemetry event on successful account connection
* chore: log telemetry event when an account connection attempt times out
* chore: log telemetry event on redirecting to AWS for account connection
* chore: log telemetry event on opening account settings
* chore: log telemetry event on saving account settings
* chore: log telemetry event on removing account
* chore: log telemetry event on viewing details of a service
* chore: log telemetry event on opening service settings
* chore: log telemetry event on saving service settings
* chore: some cleanup
* chore: address PR comment
* chore: minor cleanup
* fix: fix the issue of service to logs/traces explorer caused by similar start and end timestamps
* refactor: extract seconds to milliseconds conversion utility
* docs: add JSDoc for onViewTracePopupClick function
* fix: handle seconds to milli seconds in onErrorTrackHandler
* chore: add jsdoc to onErrorTrackHandler
* feat: show a banner if api takes more than 5 secs
* Update frontend/src/container/AppLayout/index.tsx
Co-authored-by: ellipsis-dev[bot] <65095814+ellipsis-dev[bot]@users.noreply.github.com>
* feat: show a banner if api takes more than 5 secs
* feat: show toast message with upgrade option
* feat: log api delays
* feat: igmore /events calls
---------
Co-authored-by: ellipsis-dev[bot] <65095814+ellipsis-dev[bot]@users.noreply.github.com>
* chore: enable AWS integrations for all
* chore: don't show either of configure/enable for a service when not in ctx of a cloud account
* chore: remove AWS integration feature flag
* 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