Skip to content

feat(logs): add logs-saved-views feature flag and integrate into API and frontend#52232

Merged
jonmcwest merged 1 commit intomasterfrom
03-25-feat_logs_add_logs-saved-views_feature_flag_and_integrate_into_api_and_frontend
Mar 25, 2026
Merged

feat(logs): add logs-saved-views feature flag and integrate into API and frontend#52232
jonmcwest merged 1 commit intomasterfrom
03-25-feat_logs_add_logs-saved-views_feature_flag_and_integrate_into_api_and_frontend

Conversation

@jonmcwest
Copy link
Contributor

@jonmcwest jonmcwest commented Mar 25, 2026

Problem

Saved views were gated behind the logs-tabbed-view feature flag meaning it couldn't be rolled out seperately.

Changes

Gates the saved views feature behind it's own feature flag so it can be rolled out independently of the tabbed view feature.

  • adds a feature flag
  • protects frontend and api with the feature flag

How did you test this code?

  • updated unit tests & manual ui testing

👉 Stay up-to-date with PostHog coding conventions for a smoother review.

Publish to changelog?

no

Copy link
Contributor Author

This stack of pull requests is managed by Graphite. Learn more about stacking.

@github-actions
Copy link
Contributor

github-actions bot commented Mar 25, 2026

Size Change: +448 B (0%)

Total Size: 123 MB

ℹ️ View Unchanged
Filename Size Change
frontend/dist/368Hedgehogs 5.26 kB 0 B
frontend/dist/abap 14.2 kB 0 B
frontend/dist/Action 20.6 kB 0 B
frontend/dist/Actions 1.02 kB 0 B
frontend/dist/AdvancedActivityLogsScene 33.9 kB 0 B
frontend/dist/AgenticAuthorize 5.25 kB 0 B
frontend/dist/apex 3.95 kB 0 B
frontend/dist/ApprovalDetail 16.2 kB 0 B
frontend/dist/array.full.es5.js 324 kB 0 B
frontend/dist/array.full.js 420 kB 0 B
frontend/dist/array.js 176 kB 0 B
frontend/dist/AsyncMigrations 13.1 kB 0 B
frontend/dist/AuthorizationStatus 716 B 0 B
frontend/dist/azcli 846 B 0 B
frontend/dist/bat 1.84 kB 0 B
frontend/dist/BatchExportScene 70.5 kB 0 B
frontend/dist/bicep 2.55 kB 0 B
frontend/dist/Billing 493 B 0 B
frontend/dist/BillingSection 20.7 kB 0 B
frontend/dist/BoxPlot 4.99 kB 0 B
frontend/dist/browserAll-0QZMN1W2 37.4 kB 0 B
frontend/dist/ButtonPrimitives 562 B 0 B
frontend/dist/CalendarHeatMap 4.79 kB 0 B
frontend/dist/cameligo 2.19 kB 0 B
frontend/dist/changeRequestsLogic 544 B 0 B
frontend/dist/CLIAuthorize 11.3 kB 0 B
frontend/dist/CLILive 3.98 kB 0 B
frontend/dist/clojure 9.64 kB 0 B
frontend/dist/coffee 3.59 kB 0 B
frontend/dist/Cohort 23.2 kB 0 B
frontend/dist/CohortCalculationHistory 6.22 kB 0 B
frontend/dist/Cohorts 9.39 kB 0 B
frontend/dist/ConfirmOrganization 4.48 kB 0 B
frontend/dist/conversations.js 63.8 kB 0 B
frontend/dist/Coupons 720 B 0 B
frontend/dist/cpp 5.3 kB 0 B
frontend/dist/Create 829 B 0 B
frontend/dist/crisp-chat-integration.js 1.88 kB 0 B
frontend/dist/csharp 4.52 kB 0 B
frontend/dist/csp 1.42 kB 0 B
frontend/dist/css 4.51 kB 0 B
frontend/dist/cssMode 4.16 kB 0 B
frontend/dist/CustomCssScene 3.55 kB 0 B
frontend/dist/CustomerAnalyticsConfigurationScene 1.99 kB 0 B
frontend/dist/CustomerAnalyticsScene 26.4 kB 0 B
frontend/dist/CustomerJourneyBuilderScene 1.6 kB 0 B
frontend/dist/CustomerJourneyTemplatesScene 7.39 kB 0 B
frontend/dist/customizations.full.js 17.8 kB 0 B
frontend/dist/CyclotronJobInputAssignee 1.32 kB 0 B
frontend/dist/CyclotronJobInputTicketTags 711 B 0 B
frontend/dist/cypher 3.38 kB 0 B
frontend/dist/dart 4.25 kB 0 B
frontend/dist/Dashboard 1 kB 0 B
frontend/dist/Dashboards 14.7 kB 0 B
frontend/dist/DataManagementScene 646 B 0 B
frontend/dist/DataPipelinesNewScene 2.32 kB 0 B
frontend/dist/DataWarehouseScene 1.11 kB 0 B
frontend/dist/DataWarehouseSourceScene 634 B 0 B
frontend/dist/Deactivated 1.13 kB 0 B
frontend/dist/dead-clicks-autocapture.js 13 kB 0 B
frontend/dist/DeadLetterQueue 5.38 kB 0 B
frontend/dist/DebugScene 20 kB 0 B
frontend/dist/decompressionWorker 2.85 kB 0 B
frontend/dist/decompressionWorker.js 2.85 kB 0 B
frontend/dist/DefinitionEdit 7.11 kB 0 B
frontend/dist/DefinitionView 22.7 kB 0 B
frontend/dist/DestinationsScene 2.71 kB 0 B
frontend/dist/dist 575 B 0 B
frontend/dist/dockerfile 1.87 kB 0 B
frontend/dist/EarlyAccessFeature 685 B 0 B
frontend/dist/EarlyAccessFeatures 2.84 kB 0 B
frontend/dist/ecl 5.34 kB 0 B
frontend/dist/EditorScene 828 B 0 B
frontend/dist/elixir 10.3 kB 0 B
frontend/dist/elk.bundled 1.44 MB 0 B
frontend/dist/EmailMFAVerify 2.98 kB 0 B
frontend/dist/EndpointScene 37.1 kB 0 B
frontend/dist/EndpointsScene 21 kB 0 B
frontend/dist/ErrorTrackingConfigurationScene 2.19 kB 0 B
frontend/dist/ErrorTrackingIssueFingerprintsScene 6.98 kB 0 B
frontend/dist/ErrorTrackingIssueScene 81.8 kB 0 B
frontend/dist/ErrorTrackingScene 12.9 kB 0 B
frontend/dist/EvaluationTemplates 575 B 0 B
frontend/dist/EventsScene 2.44 kB 0 B
frontend/dist/exception-autocapture.js 11.7 kB 0 B
frontend/dist/Experiment 261 kB 0 B
frontend/dist/Experiments 17.1 kB 0 B
frontend/dist/exporter 20 MB 0 B
frontend/dist/exporter.js 20 MB +36 B (0%)
frontend/dist/ExportsScene 3.86 kB 0 B
frontend/dist/FeatureFlag 102 kB 0 B
frontend/dist/FeatureFlags 572 B 0 B
frontend/dist/FeatureFlagTemplatesScene 7.03 kB 0 B
frontend/dist/FlappyHog 5.78 kB 0 B
frontend/dist/flow9 1.81 kB 0 B
frontend/dist/freemarker2 16.7 kB 0 B
frontend/dist/fsharp 2.98 kB 0 B
frontend/dist/go 2.65 kB 0 B
frontend/dist/graphql 2.26 kB 0 B
frontend/dist/Group 14.5 kB 0 B
frontend/dist/Groups 3.92 kB 0 B
frontend/dist/GroupsNew 7.34 kB 0 B
frontend/dist/handlebars 7.34 kB 0 B
frontend/dist/hcl 3.59 kB 0 B
frontend/dist/HealthScene 12 kB 0 B
frontend/dist/HeatmapNewScene 4.16 kB 0 B
frontend/dist/HeatmapRecordingScene 3.92 kB 0 B
frontend/dist/HeatmapScene 6.04 kB 0 B
frontend/dist/HeatmapsScene 3.88 kB 0 B
frontend/dist/hls 394 kB 0 B
frontend/dist/HogFunctionScene 59 kB 0 B
frontend/dist/HogRepl 7.37 kB 0 B
frontend/dist/html 5.58 kB 0 B
frontend/dist/htmlMode 4.62 kB 0 B
frontend/dist/image-blob-reduce.esm 49.4 kB 0 B
frontend/dist/InboxScene 54.5 kB 0 B
frontend/dist/index 255 kB 0 B
frontend/dist/index.js 255 kB 0 B
frontend/dist/ini 1.1 kB 0 B
frontend/dist/InsightOptions 4.79 kB 0 B
frontend/dist/InsightScene 27 kB 0 B
frontend/dist/IntegrationsRedirect 733 B 0 B
frontend/dist/intercom-integration.js 1.93 kB 0 B
frontend/dist/InviteSignup 13.3 kB 0 B
frontend/dist/java 3.22 kB 0 B
frontend/dist/javascript 985 B 0 B
frontend/dist/jsonMode 13.9 kB 0 B
frontend/dist/julia 7.22 kB 0 B
frontend/dist/kotlin 3.4 kB 0 B
frontend/dist/lazy 151 kB 0 B
frontend/dist/LegacyPluginScene 21.1 kB 0 B
frontend/dist/less 3.9 kB 0 B
frontend/dist/lexon 2.44 kB 0 B
frontend/dist/lib 2.22 kB 0 B
frontend/dist/Link 468 B 0 B
frontend/dist/LinkScene 24.8 kB 0 B
frontend/dist/LinksScene 4.19 kB 0 B
frontend/dist/liquid 4.52 kB 0 B
frontend/dist/LiveDebugger 19.1 kB 0 B
frontend/dist/LiveEventsTable 4.44 kB 0 B
frontend/dist/LLMAnalyticsClusterScene 15.7 kB 0 B
frontend/dist/LLMAnalyticsClustersScene 43 kB 0 B
frontend/dist/LLMAnalyticsDatasetScene 19.7 kB 0 B
frontend/dist/LLMAnalyticsDatasetsScene 3.28 kB 0 B
frontend/dist/LLMAnalyticsEvaluation 40.5 kB 0 B
frontend/dist/LLMAnalyticsEvaluationsScene 29.3 kB 0 B
frontend/dist/LLMAnalyticsPlaygroundScene 36.3 kB 0 B
frontend/dist/LLMAnalyticsScene 113 kB 0 B
frontend/dist/LLMAnalyticsSessionScene 13.4 kB 0 B
frontend/dist/LLMAnalyticsTraceScene 127 kB 0 B
frontend/dist/LLMAnalyticsUsers 526 B 0 B
frontend/dist/LLMASessionFeedbackDisplay 4.83 kB 0 B
frontend/dist/LLMPromptScene 16.9 kB 0 B
frontend/dist/LLMPromptsScene 4.21 kB 0 B
frontend/dist/Login 8.49 kB 0 B
frontend/dist/Login2FA 4.21 kB 0 B
frontend/dist/logs.js 38.3 kB 0 B
frontend/dist/LogsScene 18.7 kB +268 B (+1.45%)
frontend/dist/lua 2.12 kB 0 B
frontend/dist/m3 2.81 kB 0 B
frontend/dist/main 819 kB 0 B
frontend/dist/ManagedMigration 14 kB 0 B
frontend/dist/markdown 3.79 kB 0 B
frontend/dist/MarketingAnalyticsScene 24.6 kB 0 B
frontend/dist/MaterializedColumns 10.2 kB 0 B
frontend/dist/Max 767 B 0 B
frontend/dist/mdx 5.39 kB 0 B
frontend/dist/MessageTemplate 16.3 kB 0 B
frontend/dist/MetricsScene 833 B 0 B
frontend/dist/mips 2.58 kB 0 B
frontend/dist/ModelsScene 13.6 kB 0 B
frontend/dist/MonacoDiffEditor 403 B 0 B
frontend/dist/monacoEditorWorker 288 kB 0 B
frontend/dist/monacoEditorWorker.js 288 kB 0 B
frontend/dist/monacoJsonWorker 419 kB 0 B
frontend/dist/monacoJsonWorker.js 419 kB 0 B
frontend/dist/monacoTsWorker 7.02 MB 0 B
frontend/dist/monacoTsWorker.js 7.02 MB 0 B
frontend/dist/MoveToPostHogCloud 4.46 kB 0 B
frontend/dist/msdax 4.91 kB 0 B
frontend/dist/mysql 11.3 kB 0 B
frontend/dist/NavTabChat 4.59 kB 0 B
frontend/dist/NewSourceWizard 758 B 0 B
frontend/dist/NewTabScene 647 B 0 B
frontend/dist/NodeDetailScene 15.5 kB 0 B
frontend/dist/NotebookCanvasScene 3.03 kB 0 B
frontend/dist/NotebookPanel 5.04 kB 0 B
frontend/dist/NotebookScene 8.04 kB 0 B
frontend/dist/NotebooksScene 7.58 kB 0 B
frontend/dist/OAuthAuthorize 573 B 0 B
frontend/dist/objective-c 2.41 kB 0 B
frontend/dist/Onboarding 677 kB 0 B
frontend/dist/OnboardingCouponRedemption 1.19 kB 0 B
frontend/dist/pascal 2.99 kB 0 B
frontend/dist/pascaligo 2 kB 0 B
frontend/dist/passkeyLogic 484 B 0 B
frontend/dist/PasswordReset 4.32 kB 0 B
frontend/dist/PasswordResetComplete 2.94 kB 0 B
frontend/dist/perl 8.25 kB 0 B
frontend/dist/PersonScene 15.9 kB 0 B
frontend/dist/PersonsScene 4.73 kB 0 B
frontend/dist/pgsql 13.5 kB 0 B
frontend/dist/php 8.02 kB 0 B
frontend/dist/PipelineStatusScene 6.22 kB 0 B
frontend/dist/pla 1.68 kB 0 B
frontend/dist/posthog 251 kB 0 B
frontend/dist/postiats 7.86 kB 0 B
frontend/dist/powerquery 16.9 kB 0 B
frontend/dist/powershell 3.27 kB 0 B
frontend/dist/PreflightCheck 5.53 kB 0 B
frontend/dist/product-tours.js 115 kB 0 B
frontend/dist/ProductTour 273 kB 0 B
frontend/dist/ProductTours 4.7 kB 0 B
frontend/dist/ProjectHomepage 21.9 kB 0 B
frontend/dist/protobuf 9.05 kB 0 B
frontend/dist/pug 4.82 kB 0 B
frontend/dist/python 4.76 kB 0 B
frontend/dist/qsharp 3.19 kB 0 B
frontend/dist/r 3.13 kB 0 B
frontend/dist/razor 9.35 kB 0 B
frontend/dist/recorder-v2.js 111 kB 0 B
frontend/dist/recorder.js 111 kB 0 B
frontend/dist/redis 3.55 kB 0 B
frontend/dist/redshift 11.8 kB 0 B
frontend/dist/RegionMap 29.4 kB 0 B
frontend/dist/render-query 19.7 MB +36 B (0%)
frontend/dist/render-query.js 19.7 MB +36 B (0%)
frontend/dist/ResourceTransfer 9.14 kB 0 B
frontend/dist/restructuredtext 3.9 kB 0 B
frontend/dist/RevenueAnalyticsScene 25.6 kB 0 B
frontend/dist/ruby 8.5 kB 0 B
frontend/dist/rust 4.16 kB 0 B
frontend/dist/SavedInsights 664 B 0 B
frontend/dist/sb 1.82 kB 0 B
frontend/dist/scala 7.32 kB 0 B
frontend/dist/scheme 1.77 kB 0 B
frontend/dist/scss 6.41 kB 0 B
frontend/dist/SdkDoctorScene 11 kB 0 B
frontend/dist/SessionAttributionExplorerScene 6.6 kB 0 B
frontend/dist/SessionGroupSummariesTable 4.62 kB 0 B
frontend/dist/SessionGroupSummaryScene 17 kB 0 B
frontend/dist/SessionProfileScene 15.8 kB 0 B
frontend/dist/SessionRecordingDetail 1.73 kB 0 B
frontend/dist/SessionRecordingFilePlaybackScene 4.46 kB 0 B
frontend/dist/SessionRecordings 742 B 0 B
frontend/dist/SessionRecordingsKiosk 8.84 kB 0 B
frontend/dist/SessionRecordingsPlaylistScene 4.06 kB 0 B
frontend/dist/SessionRecordingsSettingsScene 1.9 kB 0 B
frontend/dist/SessionsScene 3.86 kB 0 B
frontend/dist/SettingsScene 2.98 kB 0 B
frontend/dist/SharedMetric 15.7 kB 0 B
frontend/dist/SharedMetrics 515 B 0 B
frontend/dist/shell 3.07 kB 0 B
frontend/dist/SignupContainer 22.8 kB 0 B
frontend/dist/Site 1.18 kB 0 B
frontend/dist/solidity 18.6 kB 0 B
frontend/dist/sophia 2.76 kB 0 B
frontend/dist/SourcesScene 5.96 kB 0 B
frontend/dist/sourceWizardLogic 662 B 0 B
frontend/dist/sparql 2.55 kB 0 B
frontend/dist/sql 10.3 kB 0 B
frontend/dist/SqlVariableEditScene 7.24 kB 0 B
frontend/dist/st 7.4 kB 0 B
frontend/dist/StartupProgram 21.2 kB 0 B
frontend/dist/SupportSettingsScene 40.1 kB 0 B
frontend/dist/SupportTicketScene 22.7 kB 0 B
frontend/dist/SupportTicketsScene 733 B 0 B
frontend/dist/Survey 746 B 0 B
frontend/dist/SurveyFormBuilder 1.54 kB 0 B
frontend/dist/Surveys 18.2 kB 0 B
frontend/dist/surveys.js 89.8 kB 0 B
frontend/dist/SurveyWizard 56.1 kB 0 B
frontend/dist/swift 5.27 kB 0 B
frontend/dist/SystemStatus 16.8 kB 0 B
frontend/dist/systemverilog 7.61 kB 0 B
frontend/dist/TaskDetailScene 19 kB 0 B
frontend/dist/TaskTracker 16.3 kB 0 B
frontend/dist/tcl 3.57 kB 0 B
frontend/dist/toolbar 9.44 MB +36 B (0%)
frontend/dist/toolbar.js 9.44 MB +36 B (0%)
frontend/dist/ToolbarLaunch 2.52 kB 0 B
frontend/dist/tracing-headers.js 1.74 kB 0 B
frontend/dist/TracingScene 14.7 kB 0 B
frontend/dist/TransformationsScene 1.95 kB 0 B
frontend/dist/tsMode 24 kB 0 B
frontend/dist/twig 5.97 kB 0 B
frontend/dist/TwoFactorReset 3.98 kB 0 B
frontend/dist/typescript 240 B 0 B
frontend/dist/typespec 2.82 kB 0 B
frontend/dist/Unsubscribe 1.62 kB 0 B
frontend/dist/UserInterview 4.53 kB 0 B
frontend/dist/UserInterviews 2.01 kB 0 B
frontend/dist/vb 5.79 kB 0 B
frontend/dist/VercelConnect 4.02 kB 0 B
frontend/dist/VercelLinkError 1.9 kB 0 B
frontend/dist/VerifyEmail 4.48 kB 0 B
frontend/dist/vimMode 211 kB 0 B
frontend/dist/VisualReviewRunScene 18.7 kB 0 B
frontend/dist/VisualReviewRunsScene 6.12 kB 0 B
frontend/dist/VisualReviewSettingsScene 9.95 kB 0 B
frontend/dist/web-vitals.js 6.39 kB 0 B
frontend/dist/WebAnalyticsScene 5.7 kB 0 B
frontend/dist/WebGLRenderer-DYjOwNoG 60.3 kB 0 B
frontend/dist/WebGPURenderer-B_wkl_Ja 36.3 kB 0 B
frontend/dist/WebScriptsScene 2.57 kB 0 B
frontend/dist/webworkerAll-puPV1rBA 319 B 0 B
frontend/dist/wgsl 7.34 kB 0 B
frontend/dist/Wizard 4.45 kB 0 B
frontend/dist/WorkflowScene 101 kB 0 B
frontend/dist/WorkflowsScene 46.9 kB 0 B
frontend/dist/WorldMap 4.73 kB 0 B
frontend/dist/xml 2.98 kB 0 B
frontend/dist/yaml 4.6 kB 0 B

compressed-size-action

@jonmcwest jonmcwest marked this pull request as ready for review March 25, 2026 11:09
Copilot AI review requested due to automatic review settings March 25, 2026 11:09
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR separates “Logs saved views” from the existing “logs-tabbed-view” rollout by introducing a dedicated feature flag and enforcing it consistently across the frontend UI entrypoint and the backend API.

Changes:

  • Added logs-saved-views feature flag to the frontend FEATURE_FLAGS map.
  • Introduced a feature-flagged SavedViewsButton component and integrated it into both tabbed and non-tabbed Logs scene headers.
  • Protected the Logs Views API (LogsViewViewSet) behind PostHogFeatureFlagPermission and updated tests to account for flag gating.

Reviewed changes

Copilot reviewed 5 out of 5 changed files in this pull request and generated no comments.

Show a summary per file
File Description
products/logs/frontend/components/LogsViews/SavedViewsButton.tsx New feature-flagged button wrapper that conditionally exposes the saved views modal.
products/logs/frontend/LogsScene.tsx Replaces inline saved-views UI wiring with the new SavedViewsButton in both scene variants.
products/logs/backend/views_api.py Gates the Logs Views ViewSet behind logs-saved-views via PostHogFeatureFlagPermission.
products/logs/backend/test/test_views_api.py Patches feature flag evaluation for tests and adds explicit 403 coverage when disabled.
frontend/src/lib/constants.tsx Registers LOGS_SAVED_VIEWS: 'logs-saved-views' in FEATURE_FLAGS.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@greptile-apps
Copy link
Contributor

greptile-apps bot commented Mar 25, 2026

Prompt To Fix All With AI
This is a comment left during a code review.
Path: products/logs/backend/test/test_views_api.py
Line: 204-207

Comment:
**Prefer a named parameter over `*args` for the injected mock**

`@patch` injects the mock as a positional argument following `self`. Using `*args` to discard it silently makes the intent less obvious and could swallow unexpected extra arguments in the future. A named parameter (even a throwaway one) is clearer:

```suggestion
    @patch("posthoganalytics.feature_enabled", return_value=False)
    def test_returns_403_when_feature_flag_disabled(self, _mock_feature_enabled):
        response = self.client.get(self.base_url)
        assert response.status_code == status.HTTP_403_FORBIDDEN
```

How can I resolve this? If you propose a fix, please make it concise.

Reviews (1): Last reviewed commit: "feat(logs): add logs-saved-views feature..." | Re-trigger Greptile

@jonmcwest jonmcwest force-pushed the 03-25-feat_logs_add_logs-saved-views_feature_flag_and_integrate_into_api_and_frontend branch from ac42861 to f69ca6c Compare March 25, 2026 11:25
@jonmcwest jonmcwest force-pushed the 03-25-feat_logs_add_logs-saved-views_feature_flag_and_integrate_into_api_and_frontend branch from f69ca6c to 650ac2e Compare March 25, 2026 12:09
@jonmcwest jonmcwest requested a review from frankh March 25, 2026 12:25
@jonmcwest jonmcwest merged commit 3760f78 into master Mar 25, 2026
161 checks passed
@jonmcwest jonmcwest deleted the 03-25-feat_logs_add_logs-saved-views_feature_flag_and_integrate_into_api_and_frontend branch March 25, 2026 12:33
kyleswank pushed a commit that referenced this pull request Mar 25, 2026
…and frontend (#52232)

## Problem

<!-- Who are we building for, what are their needs, why is this important? -->

<!-- Does this fix an issue? Uncomment the line below with the issue ID to automatically close it when merged -->

<!-- Closes #ISSUE_ID -->

Saved views were gated behind the logs-tabbed-view feature flag meaning it couldn't be rolled out seperately.

## Changes

Gates the saved views feature behind it's own feature flag so it can be rolled out independently of the tabbed view feature.

- adds a feature flag
- protects frontend and api with the feature flag

<!-- If there are frontend changes, please include screenshots. -->

<!-- If a reference design was involved, include a link to the relevant Figma frame! -->

## How did you test this code?

- updated unit tests & manual ui testing

<!-- Briefly describe the steps you took. -->

<!-- Include automated tests if possible, otherwise describe the manual testing routine. -->

<!-- If you are an agent writing this, do NOT include manual tasks you have NOT completed. You can clearly outline you're simply an agent and you haven't tested this manually except for code-based unit/integration tests -->

👉 _Stay up-to-date with_ [_PostHog coding conventions_](https://posthog.com/docs/contribute/coding-conventions) _for a smoother review._

## Publish to changelog?

no

<!-- Add the `skip-inkeep-docs` label if this PR should not trigger an automatic docs update from the Inkeep agent. -->

<!-- ## 🤖 LLM context -->

<!-- If an LLM agent co-authored or authored this PR, uncomment this section and leave any relevant context about the session, tools used, link to the session, or anything else that may help reviewers. -->
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants