From 4cb9a687ddb603521db9668e5f1849aa5a7dd0c9 Mon Sep 17 00:00:00 2001 From: PostHog Bot <69588470+posthog-bot@users.noreply.github.com> Date: Tue, 3 Oct 2023 09:04:48 -0400 Subject: [PATCH 01/11] chore(deps): Update posthog-js to 1.81.3 (#17725) --- frontend/src/test/init.ts | 1 - package.json | 2 +- pnpm-lock.yaml | 30 +++++++++++++++++++++--------- 3 files changed, 22 insertions(+), 11 deletions(-) diff --git a/frontend/src/test/init.ts b/frontend/src/test/init.ts index 59a7444c3d50e..dc896f740e8c9 100644 --- a/frontend/src/test/init.ts +++ b/frontend/src/test/init.ts @@ -19,7 +19,6 @@ export function initKeaTests(mountCommonLogic = true, teamForWindowContext: Team current_team: teamForWindowContext, } as unknown as AppContext posthog.init('no token', { - test: true, autocapture: false, disable_session_recording: true, advanced_disable_decide: true, diff --git a/package.json b/package.json index d766ed4da53bb..2ca5a921bbd3b 100644 --- a/package.json +++ b/package.json @@ -126,7 +126,7 @@ "md5": "^2.3.0", "monaco-editor": "^0.39.0", "papaparse": "^5.4.1", - "posthog-js": "1.81.1", + "posthog-js": "1.81.3", "posthog-js-lite": "2.0.0-alpha5", "prettier": "^2.8.8", "prop-types": "^15.7.2", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index d0c40db53220a..c9d9973654106 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -1,4 +1,4 @@ -lockfileVersion: '6.0' +lockfileVersion: '6.1' settings: autoInstallPeers: true @@ -201,8 +201,8 @@ dependencies: specifier: ^5.4.1 version: 5.4.1 posthog-js: - specifier: 1.81.1 - version: 1.81.1 + specifier: 1.81.3 + version: 1.81.3 posthog-js-lite: specifier: 2.0.0-alpha5 version: 2.0.0-alpha5 @@ -6104,7 +6104,7 @@ packages: dependencies: '@types/node': 18.11.9 '@types/qs': 6.9.8 - '@types/range-parser': 1.2.4 + '@types/range-parser': 1.2.5 '@types/send': 0.17.2 dev: true @@ -6248,10 +6248,18 @@ packages: resolution: {integrity: sha512-YATxVxgRqNH6nHEIsvg6k2Boc1JHI9ZbH5iWFFv/MTkchz3b1ieGDa5T0a9RznNdI0KhVbdbWSN+KWWrQZRxTw==} dev: true + /@types/mime@1.3.3: + resolution: {integrity: sha512-Ys+/St+2VF4+xuY6+kDIXGxbNRO0mesVg0bbxEfB97Od1Vjpjx9KD1qxs64Gcb3CWPirk9Xe+PT4YiiHQ9T+eg==} + dev: true + /@types/mime@3.0.1: resolution: {integrity: sha512-Y4XFY5VJAuw0FgAqPNd6NNoV44jbq9Bz2L7Rh/J6jLTiHBSBJa9fxqQIvkIld4GsoDOcCbvzOUAbLPsSKKg+uA==} dev: true + /@types/mime@3.0.2: + resolution: {integrity: sha512-Wj+fqpTLtTbG7c0tH47dkahefpLKEbB+xAZuLq7b4/IDHPl/n6VoXcyUQ2bypFlbSwvCr0y+bD4euTTqTJsPxQ==} + dev: true + /@types/ms@0.7.31: resolution: {integrity: sha512-iiUgKzV9AuaEkZqkOLDIvlQiL6ltuZd9tGcW3gwpnX8JbuiuhFlEGmmFXEXkN50Cvq7Os88IY2v0dkDqXYWVgA==} dev: true @@ -6344,6 +6352,10 @@ packages: resolution: {integrity: sha512-EEhsLsD6UsDM1yFhAvy0Cjr6VwmpMWqFBCb9w07wVugF7w9nfajxLuVmngTIpgS6svCnm6Vaw+MZhoDCKnOfsw==} dev: true + /@types/range-parser@1.2.5: + resolution: {integrity: sha512-xrO9OoVPqFuYyR/loIHjnbvvyRZREYKLjxV4+dY6v3FQR3stQ9ZxIGkaclF7YhI9hfjpuTbu14hZEy94qKLtOA==} + dev: true + /@types/react-dom@16.9.17: resolution: {integrity: sha512-qSRyxEsrm5btPXnowDOs5jSkgT8ldAA0j6Qp+otHUh+xHzy3sXmgNfyhucZjAjkgpdAUw9rJe0QRtX/l+yaS4g==} dependencies: @@ -6429,7 +6441,7 @@ packages: /@types/send@0.17.2: resolution: {integrity: sha512-aAG6yRf6r0wQ29bkS+x97BIs64ZLxeE/ARwyS6wrldMm3C1MdKwCcnnEwMC1slI8wuxJOpiUH9MioC0A0i+GJw==} dependencies: - '@types/mime': 1.3.2 + '@types/mime': 1.3.3 '@types/node': 18.11.9 dev: true @@ -6445,7 +6457,7 @@ packages: resolution: {integrity: sha512-yVRvFsEMrv7s0lGhzrggJjNOSmZCdgCjw9xWrPr/kNNLp6FaDfMC1KaYl3TSJ0c58bECwNBMoQrZJ8hA8E1eFg==} dependencies: '@types/http-errors': 2.0.2 - '@types/mime': 3.0.1 + '@types/mime': 3.0.2 '@types/node': 18.11.9 dev: true @@ -13112,7 +13124,7 @@ packages: dependencies: universalify: 2.0.0 optionalDependencies: - graceful-fs: 4.2.11 + graceful-fs: 4.2.10 /jsprim@2.0.2: resolution: {integrity: sha512-gqXddjPqQ6G40VdnI6T6yObEC+pDNvyP95wdQhkWkg7crHH3km5qP1FsOXEkzEQwnz6gz5qGTn1c2Y52wP3OyQ==} @@ -15031,8 +15043,8 @@ packages: resolution: {integrity: sha512-tlkBdypJuvK/s00n4EiQjwYVfuuZv6vt8BF3g1ooIQa2Gz9Vz80p8q3qsPLZ0V5ErGRy6i3Q4fWC9TDzR7GNRQ==} dev: false - /posthog-js@1.81.1: - resolution: {integrity: sha512-pQfG9ZGVn3R7Uh1cC/S02trZ6u4TOLs1NhZG3WiNrqMKDA8MJQjZ/PqdkLO0/BeozRBfIbON6pw3xfOIneIclg==} + /posthog-js@1.81.3: + resolution: {integrity: sha512-Aqqcj1n1KqZlxMaYYfd5OJC2BMIAP927+f7XqEbEplYJKigGTbQ6ygt2UeSJZe3xcDMxyDK4jxOWy68kD3YIlw==} dependencies: fflate: 0.4.8 dev: false From 76396abddd0cdfda0aa5922f6f17184508b74d51 Mon Sep 17 00:00:00 2001 From: Brett Hoerner Date: Tue, 3 Oct 2023 07:52:54 -0600 Subject: [PATCH 02/11] fix(plugin-server): use rdkafka autocommit by storing our own offsets (#17657) * fix(plugin-server): use rdkafka autocommit by storing our own offsets * chore(plugin-server): remove default value for autoCommit arg to startBatchConsumer * chore(plugin-server): commitOffsetsForMessages -> storeOffsetsForMessages --- plugin-server/src/kafka/batch-consumer.ts | 13 ++++++------- plugin-server/src/kafka/consumer.ts | 6 +++--- .../src/main/ingestion-queues/kafka-queue.ts | 1 + .../session-recordings-consumer-v1.ts | 1 + .../session-recordings-consumer-v2.ts | 2 +- 5 files changed, 12 insertions(+), 11 deletions(-) diff --git a/plugin-server/src/kafka/batch-consumer.ts b/plugin-server/src/kafka/batch-consumer.ts index 8ef61ee4ff4f9..0a4b8fa88cc37 100644 --- a/plugin-server/src/kafka/batch-consumer.ts +++ b/plugin-server/src/kafka/batch-consumer.ts @@ -4,12 +4,12 @@ import { exponentialBuckets, Gauge, Histogram } from 'prom-client' import { status } from '../utils/status' import { createAdminClient, ensureTopicExists } from './admin' import { - commitOffsetsForMessages, consumeMessages, countPartitionsPerTopic, createKafkaConsumer, disconnectConsumer, instrumentConsumerMetrics, + storeOffsetsForMessages, } from './consumer' export interface BatchConsumer { @@ -23,6 +23,7 @@ export const startBatchConsumer = async ({ connectionConfig, groupId, topic, + autoCommit, sessionTimeout, consumerMaxBytesPerPartition, consumerMaxBytes, @@ -32,13 +33,13 @@ export const startBatchConsumer = async ({ batchingTimeoutMs, topicCreationTimeoutMs, eachBatch, - autoCommit = true, cooperativeRebalance = true, queuedMinMessages = 100000, }: { connectionConfig: GlobalConfig groupId: string topic: string + autoCommit: boolean sessionTimeout: number consumerMaxBytesPerPartition: number consumerMaxBytes: number @@ -48,7 +49,6 @@ export const startBatchConsumer = async ({ batchingTimeoutMs: number topicCreationTimeoutMs: number eachBatch: (messages: Message[]) => Promise - autoCommit?: boolean cooperativeRebalance?: boolean queuedMinMessages?: number }): Promise => { @@ -76,9 +76,8 @@ export const startBatchConsumer = async ({ ...connectionConfig, 'group.id': groupId, 'session.timeout.ms': sessionTimeout, - // We disable auto commit and rather we commit after one batch has - // completed. - 'enable.auto.commit': false, + 'enable.auto.commit': autoCommit, + 'enable.auto.offset.store': false, /** * max.partition.fetch.bytes * The maximum amount of data per-partition the server will return. @@ -211,7 +210,7 @@ export const startBatchConsumer = async ({ messagesProcessed += messages.length if (autoCommit) { - commitOffsetsForMessages(messages, consumer) + storeOffsetsForMessages(messages, consumer) } } } catch (error) { diff --git a/plugin-server/src/kafka/consumer.ts b/plugin-server/src/kafka/consumer.ts index 14a45f946376e..d05013aa7e6f0 100644 --- a/plugin-server/src/kafka/consumer.ts +++ b/plugin-server/src/kafka/consumer.ts @@ -203,7 +203,7 @@ export const findOffsetsToCommit = (messages: TopicPartitionOffset[]): TopicPart return highestOffsets } -export const commitOffsetsForMessages = (messages: Message[], consumer: RdKafkaConsumer) => { +export const storeOffsetsForMessages = (messages: Message[], consumer: RdKafkaConsumer) => { const topicPartitionOffsets = findOffsetsToCommit(messages).map((message) => { return { ...message, @@ -213,8 +213,8 @@ export const commitOffsetsForMessages = (messages: Message[], consumer: RdKafkaC }) if (topicPartitionOffsets.length > 0) { - status.debug('📝', 'Committing offsets', { topicPartitionOffsets }) - consumer.commit(topicPartitionOffsets) + status.debug('📝', 'Storing offsets', { topicPartitionOffsets }) + consumer.offsetsStore(topicPartitionOffsets) } } diff --git a/plugin-server/src/main/ingestion-queues/kafka-queue.ts b/plugin-server/src/main/ingestion-queues/kafka-queue.ts index 7989efd4b356a..3d15270307722 100644 --- a/plugin-server/src/main/ingestion-queues/kafka-queue.ts +++ b/plugin-server/src/main/ingestion-queues/kafka-queue.ts @@ -249,6 +249,7 @@ export class IngestionConsumer { connectionConfig: createRdConnectionConfigFromEnvVars(this.pluginsServer as KafkaConfig), topic: this.topic, groupId: this.consumerGroupId, + autoCommit: true, sessionTimeout: 30000, consumerMaxBytes: this.pluginsServer.KAFKA_CONSUMPTION_MAX_BYTES, consumerMaxBytesPerPartition: this.pluginsServer.KAFKA_CONSUMPTION_MAX_BYTES_PER_PARTITION, diff --git a/plugin-server/src/main/ingestion-queues/session-recording/session-recordings-consumer-v1.ts b/plugin-server/src/main/ingestion-queues/session-recording/session-recordings-consumer-v1.ts index 7f1c6f3fdd2f9..81b4fc9ec2be8 100644 --- a/plugin-server/src/main/ingestion-queues/session-recording/session-recordings-consumer-v1.ts +++ b/plugin-server/src/main/ingestion-queues/session-recording/session-recordings-consumer-v1.ts @@ -85,6 +85,7 @@ export const startSessionRecordingEventsConsumerV1 = async ({ connectionConfig, groupId, topic: KAFKA_SESSION_RECORDING_EVENTS, + autoCommit: true, sessionTimeout, consumerMaxBytesPerPartition, consumerMaxBytes, diff --git a/plugin-server/src/main/ingestion-queues/session-recording/session-recordings-consumer-v2.ts b/plugin-server/src/main/ingestion-queues/session-recording/session-recordings-consumer-v2.ts index d42f756b7d49c..1cdbcdbb0aa5c 100644 --- a/plugin-server/src/main/ingestion-queues/session-recording/session-recordings-consumer-v2.ts +++ b/plugin-server/src/main/ingestion-queues/session-recording/session-recordings-consumer-v2.ts @@ -451,6 +451,7 @@ export class SessionRecordingIngesterV2 { connectionConfig, groupId: KAFKA_CONSUMER_GROUP_ID, topic: KAFKA_SESSION_RECORDING_SNAPSHOT_ITEM_EVENTS, + autoCommit: false, sessionTimeout: KAFKA_CONSUMER_SESSION_TIMEOUT_MS, // the largest size of a message that can be fetched by the consumer. // the largest size our MSK cluster allows is 20MB @@ -464,7 +465,6 @@ export class SessionRecordingIngesterV2 { fetchBatchSize: this.config.SESSION_RECORDING_KAFKA_BATCH_SIZE, batchingTimeoutMs: this.config.KAFKA_CONSUMPTION_BATCHING_TIMEOUT_MS, topicCreationTimeoutMs: this.config.KAFKA_TOPIC_CREATION_TIMEOUT_MS, - autoCommit: false, eachBatch: async (messages) => { return await this.handleEachBatch(messages) }, From 70379e7b60a7ebbd57f9d401d51d9dc55800b436 Mon Sep 17 00:00:00 2001 From: Marius Andra Date: Tue, 3 Oct 2023 16:39:08 +0200 Subject: [PATCH 03/11] feat(queries): consolidate query runners (#17732) --- posthog/api/query.py | 41 ++++++++---------------- posthog/hogql_queries/query_runner.py | 46 +++++++++++++++++++++------ 2 files changed, 50 insertions(+), 37 deletions(-) diff --git a/posthog/api/query.py b/posthog/api/query.py index 45358277c3eb7..20812b8313201 100644 --- a/posthog/api/query.py +++ b/posthog/api/query.py @@ -26,11 +26,7 @@ from posthog.hogql.metadata import get_hogql_metadata from posthog.hogql.query import execute_hogql_query -from posthog.hogql_queries.insights.lifecycle_query_runner import LifecycleQueryRunner -from posthog.hogql_queries.insights.trends_query_runner import TrendsQueryRunner -from posthog.hogql_queries.web_analytics.top_clicks import WebTopClicksQueryRunner -from posthog.hogql_queries.web_analytics.top_pages import WebTopPagesQueryRunner -from posthog.hogql_queries.web_analytics.top_sources import WebTopSourcesQueryRunner +from posthog.hogql_queries.query_runner import get_query_runner from posthog.models import Team from posthog.models.event.events_query import run_events_query from posthog.models.user import User @@ -41,6 +37,14 @@ from posthog.schema import EventsQuery, HogQLQuery, HogQLMetadata from posthog.utils import refresh_requested_by_client +QUERY_WITH_RUNNER = [ + "LifecycleQuery", + "TrendsQuery", + "WebTopSourcesQuery", + "WebTopClicksQuery", + "WebTopPagesQuery", +] + class QueryThrottle(TeamRateThrottle): scope = "query" @@ -206,10 +210,13 @@ def process_query( # query_json has been parsed by QuerySchemaParser # it _should_ be impossible to end up in here with a "bad" query query_kind = query_json.get("kind") - tag_queries(query=query_json) - if query_kind == "EventsQuery": + if query_kind in QUERY_WITH_RUNNER: + refresh_requested = refresh_requested_by_client(request) if request else False + query_runner = get_query_runner(query_json, team) + return _unwrap_pydantic_dict(query_runner.run(refresh_requested=refresh_requested)) + elif query_kind == "EventsQuery": events_query = EventsQuery.model_validate(query_json) events_response = run_events_query(query=events_query, team=team, default_limit=default_limit) return _unwrap_pydantic_dict(events_response) @@ -227,14 +234,6 @@ def process_query( metadata_query = HogQLMetadata.model_validate(query_json) metadata_response = get_hogql_metadata(query=metadata_query, team=team) return _unwrap_pydantic_dict(metadata_response) - elif query_kind == "LifecycleQuery": - refresh_requested = refresh_requested_by_client(request) if request else False - lifecycle_query_runner = LifecycleQueryRunner(query_json, team) - return _unwrap_pydantic_dict(lifecycle_query_runner.run(refresh_requested=refresh_requested)) - elif query_kind == "TrendsQuery": - refresh_requested = refresh_requested_by_client(request) if request else False - trends_query_runner = TrendsQueryRunner(query_json, team) - return _unwrap_pydantic_dict(trends_query_runner.run(refresh_requested=refresh_requested)) elif query_kind == "DatabaseSchemaQuery": database = create_hogql_database(team.pk) return serialize_database(database) @@ -253,18 +252,6 @@ def process_query( ) serializer.is_valid(raise_exception=True) return get_session_events(serializer) or {} - elif query_kind == "WebTopSourcesQuery": - refresh_requested = refresh_requested_by_client(request) if request else False - web_top_sources_query_runner = WebTopSourcesQueryRunner(query_json, team) - return _unwrap_pydantic_dict(web_top_sources_query_runner.run(refresh_requested=refresh_requested)) - elif query_kind == "WebTopClicksQuery": - refresh_requested = refresh_requested_by_client(request) if request else False - web_top_clicks_query_runner = WebTopClicksQueryRunner(query_json, team) - return _unwrap_pydantic_dict(web_top_clicks_query_runner.run(refresh_requested=refresh_requested)) - elif query_kind == "WebTopPagesQuery": - refresh_requested = refresh_requested_by_client(request) if request else False - web_top_pages_query_runner = WebTopPagesQueryRunner(query_json, team) - return _unwrap_pydantic_dict(web_top_pages_query_runner.run(refresh_requested=refresh_requested)) else: if query_json.get("source"): return process_query(team, query_json["source"]) diff --git a/posthog/hogql_queries/query_runner.py b/posthog/hogql_queries/query_runner.py index 49dac4c5b0177..d8b51dd959343 100644 --- a/posthog/hogql_queries/query_runner.py +++ b/posthog/hogql_queries/query_runner.py @@ -1,6 +1,6 @@ from abc import ABC, abstractmethod from datetime import datetime -from typing import Any, Generic, List, Optional, Type, Dict, TypeVar, Union, Tuple +from typing import Any, Generic, List, Optional, Type, Dict, TypeVar, Union, Tuple, cast from django.conf import settings from django.core.cache import cache @@ -17,10 +17,6 @@ from posthog.schema import ( QueryTiming, TrendsQuery, - FunnelsQuery, - RetentionQuery, - PathsQuery, - StickinessQuery, LifecycleQuery, WebTopSourcesQuery, WebTopClicksQuery, @@ -64,10 +60,6 @@ class CachedQueryResponse(QueryResponse): RunnableQueryNode = Union[ TrendsQuery, - FunnelsQuery, - RetentionQuery, - PathsQuery, - StickinessQuery, LifecycleQuery, WebTopSourcesQuery, WebTopClicksQuery, @@ -75,6 +67,40 @@ class CachedQueryResponse(QueryResponse): ] +def get_query_runner( + query: Dict[str, Any] | RunnableQueryNode, team: Team, timings: Optional[HogQLTimings] = None +) -> "QueryRunner": + kind = None + if isinstance(query, dict): + kind = query.get("kind", None) + elif hasattr(query, "kind"): + kind = query.kind + + if kind == "LifecycleQuery": + from .insights.lifecycle_query_runner import LifecycleQueryRunner + + return LifecycleQueryRunner(query=cast(LifecycleQuery | Dict[str, Any], query), team=team, timings=timings) + if kind == "TrendsQuery": + from .insights.trends_query_runner import TrendsQueryRunner + + return TrendsQueryRunner(query=cast(TrendsQuery | Dict[str, Any], query), team=team, timings=timings) + + if kind == "WebTopSourcesQuery": + from .web_analytics.top_sources import WebTopSourcesQueryRunner + + return WebTopSourcesQueryRunner(query=query, team=team, timings=timings) + if kind == "WebTopClicksQuery": + from .web_analytics.top_clicks import WebTopClicksQueryRunner + + return WebTopClicksQueryRunner(query=query, team=team, timings=timings) + if kind == "WebTopPagesQuery": + from .web_analytics.top_pages import WebTopPagesQueryRunner + + return WebTopPagesQueryRunner(query=query, team=team, timings=timings) + + raise ValueError(f"Can't get a runner for an unknown query kind: {kind}") + + class QueryRunner(ABC): query: RunnableQueryNode query_type: Type[RunnableQueryNode] @@ -124,7 +150,7 @@ def run(self, refresh_requested: bool) -> CachedQueryResponse: def to_query(self) -> ast.SelectQuery: raise NotImplementedError() - def to_persons_query(self) -> str: + def to_persons_query(self) -> ast.SelectQuery: # TODO: add support for selecting and filtering by breakdowns raise NotImplementedError() From d0310b77cc96346c1b06301e0333338d4865e6a8 Mon Sep 17 00:00:00 2001 From: Marius Andra Date: Tue, 3 Oct 2023 16:40:38 +0200 Subject: [PATCH 04/11] feat(hogql): support constant values in HogQLQuery (#17733) --- frontend/src/queries/schema.json | 4 ++++ frontend/src/queries/schema.ts | 2 ++ posthog/api/query.py | 7 +++++++ posthog/api/test/test_query.py | 19 +++++++++++++++++++ posthog/schema.py | 3 +++ 5 files changed, 35 insertions(+) diff --git a/frontend/src/queries/schema.json b/frontend/src/queries/schema.json index 0dd784cffced8..cb13caa4be23e 100644 --- a/frontend/src/queries/schema.json +++ b/frontend/src/queries/schema.json @@ -1201,6 +1201,10 @@ "response": { "$ref": "#/definitions/HogQLQueryResponse", "description": "Cached query response" + }, + "values": { + "description": "Constant values that can be referenced with the {placeholder} syntax in the query", + "type": "object" } }, "required": ["kind", "query"], diff --git a/frontend/src/queries/schema.ts b/frontend/src/queries/schema.ts index f1f803c41e886..3ce97fb670b76 100644 --- a/frontend/src/queries/schema.ts +++ b/frontend/src/queries/schema.ts @@ -144,6 +144,8 @@ export interface HogQLQuery extends DataNode { kind: NodeKind.HogQLQuery query: string filters?: HogQLFilters + /** Constant values that can be referenced with the {placeholder} syntax in the query */ + values?: Record response?: HogQLQueryResponse } diff --git a/posthog/api/query.py b/posthog/api/query.py index 20812b8313201..cb3ea78fad090 100644 --- a/posthog/api/query.py +++ b/posthog/api/query.py @@ -20,6 +20,7 @@ from posthog.api.routing import StructuredViewSetMixin from posthog.clickhouse.query_tagging import tag_queries from posthog.errors import ExposedCHQueryError +from posthog.hogql import ast from posthog.hogql.ai import PromptUnclear, write_sql_from_prompt from posthog.hogql.database.database import create_hogql_database, serialize_database from posthog.hogql.errors import HogQLException @@ -222,11 +223,17 @@ def process_query( return _unwrap_pydantic_dict(events_response) elif query_kind == "HogQLQuery": hogql_query = HogQLQuery.model_validate(query_json) + values = ( + {key: ast.Constant(value=value) for key, value in hogql_query.values.items()} + if hogql_query.values + else None + ) hogql_response = execute_hogql_query( query_type="HogQLQuery", query=hogql_query.query, team=team, filters=hogql_query.filters, + placeholders=values, default_limit=default_limit, ) return _unwrap_pydantic_dict(hogql_response) diff --git a/posthog/api/test/test_query.py b/posthog/api/test/test_query.py index cde8de9c22196..a98cc0816d902 100644 --- a/posthog/api/test/test_query.py +++ b/posthog/api/test/test_query.py @@ -522,3 +522,22 @@ def test_full_hogql_query_view(self): ["sign out", "4", "test_val3"], ], ) + + def test_full_hogql_query_values(self): + random_uuid = str(UUIDT()) + with freeze_time("2020-01-10 12:00:00"): + for _ in range(20): + _create_event(team=self.team, event="sign up", distinct_id=random_uuid, properties={"key": "test_val1"}) + flush_persons_and_events() + + with freeze_time("2020-01-10 12:14:00"): + response = process_query( + team=self.team, + query_json={ + "kind": "HogQLQuery", + "query": "select count() from events where distinct_id = {random_uuid}", + "values": {"random_uuid": random_uuid}, + }, + ) + + self.assertEqual(response.get("results", [])[0][0], 20) diff --git a/posthog/schema.py b/posthog/schema.py index 094f194ac0fc1..d1a0244579bcf 100644 --- a/posthog/schema.py +++ b/posthog/schema.py @@ -882,6 +882,9 @@ class HogQLQuery(BaseModel): kind: Literal["HogQLQuery"] = "HogQLQuery" query: str response: Optional[HogQLQueryResponse] = Field(default=None, description="Cached query response") + values: Optional[Dict[str, Any]] = Field( + default=None, description="Constant values that can be referenced with the {placeholder} syntax in the query" + ) class PersonsNode(BaseModel): From 265072ae23783ae0072a5c96f329c9b7c274d588 Mon Sep 17 00:00:00 2001 From: Marius Andra Date: Tue, 3 Oct 2023 16:43:33 +0200 Subject: [PATCH 05/11] feat(persons): rename urls.person(id) to urls.personDistinctId(id) (#17734) --- .../CommandPalette/commandPaletteLogic.tsx | 2 +- .../UniversalSearchPopover.tsx | 2 +- .../queries/nodes/DataTable/renderColumn.tsx | 2 +- frontend/src/scenes/appScenes.ts | 2 +- .../IngestionWarningsView.tsx | 21 ++++++++++++------- .../notebooks/Nodes/NotebookNodeBacklink.tsx | 2 +- .../notebooks/Nodes/NotebookNodePerson.tsx | 4 ++-- frontend/src/scenes/persons/PersonPreview.tsx | 8 +++++-- .../persons/{Person.tsx => PersonScene.tsx} | 6 +++--- .../scenes/persons/activityDescriptions.tsx | 2 +- .../src/scenes/persons/person-utils.test.ts | 6 +++--- frontend/src/scenes/persons/person-utils.ts | 4 ++-- .../project-homepage/NewlySeenPersons.tsx | 2 +- .../src/scenes/retention/RetentionModal.tsx | 4 +++- frontend/src/scenes/scenes.ts | 2 +- frontend/src/scenes/urls.ts | 2 +- 16 files changed, 41 insertions(+), 30 deletions(-) rename frontend/src/scenes/persons/{Person.tsx => PersonScene.tsx} (98%) diff --git a/frontend/src/lib/components/CommandPalette/commandPaletteLogic.tsx b/frontend/src/lib/components/CommandPalette/commandPaletteLogic.tsx index b6be6e7961e8b..285d1baa5c51d 100644 --- a/frontend/src/lib/components/CommandPalette/commandPaletteLogic.tsx +++ b/frontend/src/lib/components/CommandPalette/commandPaletteLogic.tsx @@ -246,7 +246,7 @@ export const commandPaletteLogic = kea({ display: `View person ${input}`, executor: () => { const { push } = router.actions - push(urls.person(person.distinct_ids[0])) + push(urls.personByDistinctId(person.distinct_ids[0])) }, }, ], diff --git a/frontend/src/lib/components/UniversalSearch/UniversalSearchPopover.tsx b/frontend/src/lib/components/UniversalSearch/UniversalSearchPopover.tsx index f30336b7bb5a2..cbacb2ef845b3 100644 --- a/frontend/src/lib/components/UniversalSearch/UniversalSearchPopover.tsx +++ b/frontend/src/lib/components/UniversalSearch/UniversalSearchPopover.tsx @@ -91,7 +91,7 @@ function redirectOnSelectItems( } else if (groupType === TaxonomicFilterGroupType.Cohorts) { router.actions.push(urls.cohort(value)) } else if (groupType === TaxonomicFilterGroupType.Persons) { - router.actions.push(urls.person(String(value))) + router.actions.push(urls.personByDistinctId(String(value))) } else if (groupType.startsWith(TaxonomicFilterGroupType.GroupNamesPrefix)) { router.actions.push(urls.group((item as Group).group_type_index, String(value))) } else if (groupType === TaxonomicFilterGroupType.Insights) { diff --git a/frontend/src/queries/nodes/DataTable/renderColumn.tsx b/frontend/src/queries/nodes/DataTable/renderColumn.tsx index 62530d88d8ee7..88b749007301e 100644 --- a/frontend/src/queries/nodes/DataTable/renderColumn.tsx +++ b/frontend/src/queries/nodes/DataTable/renderColumn.tsx @@ -205,7 +205,7 @@ export function renderColumn( } else if (key === 'person' && isPersonsNode(query.source)) { const personRecord = record as PersonType return ( - + ) diff --git a/frontend/src/scenes/appScenes.ts b/frontend/src/scenes/appScenes.ts index 6a9a72da9994a..08e3d86ff793a 100644 --- a/frontend/src/scenes/appScenes.ts +++ b/frontend/src/scenes/appScenes.ts @@ -26,7 +26,7 @@ export const appScenes: Record any> = { [Scene.Replay]: () => import('./session-recordings/SessionRecordings'), [Scene.ReplaySingle]: () => import('./session-recordings/detail/SessionRecordingDetail'), [Scene.ReplayPlaylist]: () => import('./session-recordings/playlist/SessionRecordingsPlaylistScene'), - [Scene.Person]: () => import('./persons/Person'), + [Scene.Person]: () => import('./persons/PersonScene'), [Scene.Persons]: () => import('./persons/PersonsScene'), [Scene.Groups]: () => import('./groups/Groups'), [Scene.Group]: () => import('./groups/Group'), diff --git a/frontend/src/scenes/data-management/ingestion-warnings/IngestionWarningsView.tsx b/frontend/src/scenes/data-management/ingestion-warnings/IngestionWarningsView.tsx index ff79be8e258f8..b7c4abb20d8c2 100644 --- a/frontend/src/scenes/data-management/ingestion-warnings/IngestionWarningsView.tsx +++ b/frontend/src/scenes/data-management/ingestion-warnings/IngestionWarningsView.tsx @@ -36,9 +36,14 @@ const WARNING_TYPE_RENDERER = { return ( <> Refused to merge already identified person{' '} - {details.sourcePersonDistinctId} into{' '} - {details.targetPersonDistinctId} via an - $identify or $create_alias call (event uuid: {details.eventUuid}). + + {details.sourcePersonDistinctId} + {' '} + into{' '} + + {details.targetPersonDistinctId} + {' '} + via an $identify or $create_alias call (event uuid: {details.eventUuid}). ) }, @@ -51,9 +56,9 @@ const WARNING_TYPE_RENDERER = { return ( <> Refused to merge an illegal distinct_id{' '} - {details.illegalDistinctId} with{' '} - {details.otherDistinctId} via an $identify or - $create_alias call (event uuid: {details.eventUuid}). + {details.illegalDistinctId} with{' '} + {details.otherDistinctId} via an + $identify or $create_alias call (event uuid: {details.eventUuid}). ) }, @@ -116,8 +121,8 @@ const WARNING_TYPE_RENDERER = { return ( <> Event ingestion has overflowed capacity for distinct_id{' '} - {details.overflowDistinctId}. Events will - still be processed, but are likely to be delayed longer than usual. + {details.overflowDistinctId}. + Events will still be processed, but are likely to be delayed longer than usual. ) }, diff --git a/frontend/src/scenes/notebooks/Nodes/NotebookNodeBacklink.tsx b/frontend/src/scenes/notebooks/Nodes/NotebookNodeBacklink.tsx index 154600a7e1d3f..fa8a0b818484c 100644 --- a/frontend/src/scenes/notebooks/Nodes/NotebookNodeBacklink.tsx +++ b/frontend/src/scenes/notebooks/Nodes/NotebookNodeBacklink.tsx @@ -68,7 +68,7 @@ function backlinkHref(id: string, type: TaxonomicFilterGroupType): string { } else if (type === TaxonomicFilterGroupType.Cohorts) { return urls.cohort(id) } else if (type === TaxonomicFilterGroupType.Persons) { - return urls.person(id) + return urls.personByDistinctId(id) } else if (type === TaxonomicFilterGroupType.Insights) { return urls.insightView(id as InsightModel['short_id']) } else if (type === TaxonomicFilterGroupType.FeatureFlags) { diff --git a/frontend/src/scenes/notebooks/Nodes/NotebookNodePerson.tsx b/frontend/src/scenes/notebooks/Nodes/NotebookNodePerson.tsx index a1f22aa53a15a..ba9270a42d3f6 100644 --- a/frontend/src/scenes/notebooks/Nodes/NotebookNodePerson.tsx +++ b/frontend/src/scenes/notebooks/Nodes/NotebookNodePerson.tsx @@ -94,13 +94,13 @@ export const NotebookNodePerson = createPostHogWidgetNode urls.person(attrs.id), + href: (attrs) => urls.personByDistinctId(attrs.id), resizeable: true, attributes: { id: {}, }, pasteOptions: { - find: urls.person('(.+)', false), + find: urls.personByDistinctId('(.+)', false), getAttributes: async (match) => { return { id: match[1] } }, diff --git a/frontend/src/scenes/persons/PersonPreview.tsx b/frontend/src/scenes/persons/PersonPreview.tsx index db68be06e921f..7b9e61fe377aa 100644 --- a/frontend/src/scenes/persons/PersonPreview.tsx +++ b/frontend/src/scenes/persons/PersonPreview.tsx @@ -32,7 +32,7 @@ export function PersonPreview(props: PersonPreviewProps): JSX.Element | null { } const display = asDisplay(person) - const url = urls.person(person?.distinct_ids[0]) + const url = urls.personByDistinctId(person?.distinct_ids[0]) return (
@@ -51,7 +51,11 @@ export function PersonPreview(props: PersonPreviewProps): JSX.Element | null { onNotebookOpened={() => props.onClose?.()} size="small" /> - } to={urls.person(person?.distinct_ids[0])} /> + } + to={urls.personByDistinctId(person?.distinct_ids[0])} + />
diff --git a/frontend/src/scenes/persons/Person.tsx b/frontend/src/scenes/persons/PersonScene.tsx similarity index 98% rename from frontend/src/scenes/persons/Person.tsx rename to frontend/src/scenes/persons/PersonScene.tsx index 73c14145d77a0..e6c7a1036bc05 100644 --- a/frontend/src/scenes/persons/Person.tsx +++ b/frontend/src/scenes/persons/PersonScene.tsx @@ -36,7 +36,7 @@ import { PersonDashboard } from './PersonDashboard' import { NotebookSelectButton } from 'scenes/notebooks/NotebookSelectButton/NotebookSelectButton' export const scene: SceneExport = { - component: Person, + component: PersonScene, logic: personsLogic, paramsToProps: ({ params: { _: rawUrlId } }): (typeof personsLogic)['props'] => ({ syncWithUrl: true, @@ -106,7 +106,7 @@ function PersonCaption({ person }: { person: PersonType }): JSX.Element { ) } -export function Person(): JSX.Element | null { +export function PersonScene(): JSX.Element | null { const { showCustomerSuccessDashboards, person, @@ -127,7 +127,7 @@ export function Person(): JSX.Element | null { return personLoading ? : } - const url = urls.person(urlId || person.distinct_ids[0] || String(person.id)) + const url = urls.personByDistinctId(urlId || person.distinct_ids[0] || String(person.id)) return ( <> diff --git a/frontend/src/scenes/persons/activityDescriptions.tsx b/frontend/src/scenes/persons/activityDescriptions.tsx index f6e13f0d0d921..f11568827c9dd 100644 --- a/frontend/src/scenes/persons/activityDescriptions.tsx +++ b/frontend/src/scenes/persons/activityDescriptions.tsx @@ -68,7 +68,7 @@ export function personActivityDescriber(logItem: ActivityLogItem): HumanizedChan } listParts={distinctIds.map((di) => ( - {di} + {di} ))} /> diff --git a/frontend/src/scenes/persons/person-utils.test.ts b/frontend/src/scenes/persons/person-utils.test.ts index c4cb7777b9572..2baca39945f4b 100644 --- a/frontend/src/scenes/persons/person-utils.test.ts +++ b/frontend/src/scenes/persons/person-utils.test.ts @@ -6,10 +6,10 @@ import { asLink, asDisplay } from './person-utils' describe('the person header', () => { describe('linking to a person', () => { const personLinksTestCases = [ - { distinctIds: ['a uuid'], expectedLink: urls.person('a uuid'), name: 'with one id' }, + { distinctIds: ['a uuid'], expectedLink: urls.personByDistinctId('a uuid'), name: 'with one id' }, { distinctIds: ['the first uuid', 'a uuid'], - expectedLink: urls.person('the first uuid'), + expectedLink: urls.personByDistinctId('the first uuid'), name: 'with more than one id', }, { @@ -19,7 +19,7 @@ describe('the person header', () => { }, { distinctIds: ['a+dicey/@!'], - expectedLink: urls.person('a+dicey/@!'), + expectedLink: urls.personByDistinctId('a+dicey/@!'), name: 'with no ids', }, ] diff --git a/frontend/src/scenes/persons/person-utils.ts b/frontend/src/scenes/persons/person-utils.ts index c1f9dc63b11d9..35928473b08be 100644 --- a/frontend/src/scenes/persons/person-utils.ts +++ b/frontend/src/scenes/persons/person-utils.ts @@ -60,7 +60,7 @@ export function asDisplay(person: PersonPropType | null | undefined, maxLength?: export const asLink = (person?: PersonPropType | null): string | undefined => person?.distinct_id - ? urls.person(person.distinct_id) + ? urls.personByDistinctId(person.distinct_id) : person?.distinct_ids?.length - ? urls.person(person.distinct_ids[0]) + ? urls.personByDistinctId(person.distinct_ids[0]) : undefined diff --git a/frontend/src/scenes/project-homepage/NewlySeenPersons.tsx b/frontend/src/scenes/project-homepage/NewlySeenPersons.tsx index 7b68fc572dc75..0aea88331c5e3 100644 --- a/frontend/src/scenes/project-homepage/NewlySeenPersons.tsx +++ b/frontend/src/scenes/project-homepage/NewlySeenPersons.tsx @@ -17,7 +17,7 @@ function PersonRow({ person }: { person: PersonType }): JSX.Element { return ( } diff --git a/frontend/src/scenes/retention/RetentionModal.tsx b/frontend/src/scenes/retention/RetentionModal.tsx index c53514f1444e3..b47409b554953 100644 --- a/frontend/src/scenes/retention/RetentionModal.tsx +++ b/frontend/src/scenes/retention/RetentionModal.tsx @@ -110,7 +110,9 @@ export function RetentionModal(): JSX.Element | null { ) : ( {asDisplay(personAppearances.person)} diff --git a/frontend/src/scenes/scenes.ts b/frontend/src/scenes/scenes.ts index fc68124512e44..de3cf70b00df7 100644 --- a/frontend/src/scenes/scenes.ts +++ b/frontend/src/scenes/scenes.ts @@ -415,7 +415,7 @@ export const routes: Record = { }, {} as Record), [urls.replaySingle(':id')]: Scene.ReplaySingle, [urls.replayPlaylist(':id')]: Scene.ReplayPlaylist, - [urls.person('*', false)]: Scene.Person, + [urls.personByDistinctId('*', false)]: Scene.Person, [urls.persons()]: Scene.Persons, [urls.groups(':groupTypeIndex')]: Scene.Groups, [urls.group(':groupTypeIndex', ':groupKey', false)]: Scene.Group, diff --git a/frontend/src/scenes/urls.ts b/frontend/src/scenes/urls.ts index 789e0d4340978..1625a1cebc715 100644 --- a/frontend/src/scenes/urls.ts +++ b/frontend/src/scenes/urls.ts @@ -88,7 +88,7 @@ export const urls = { combineUrl(`/replay/playlists/${id}`, filters ? { filters } : {}).url, replaySingle: (id: string, filters?: Partial): string => combineUrl(`/replay/${id}`, filters ? { filters } : {}).url, - person: (id: string, encode: boolean = true): string => + personByDistinctId: (id: string, encode: boolean = true): string => encode ? `/person/${encodeURIComponent(id)}` : `/person/${id}`, persons: (): string => '/persons', groups: (groupTypeIndex: string | number): string => `/groups/${groupTypeIndex}`, From 76ab556f61c6e981cc702a6b246ddec149133dee Mon Sep 17 00:00:00 2001 From: Tom Owers Date: Tue, 3 Oct 2023 15:57:23 +0100 Subject: [PATCH 06/11] feat: Added simple testing for trends formula ast (#17737) Added simple testing for trends formula ast --- .../utils/test/test_formula_ast.py | 53 +++++++++++++++++++ 1 file changed, 53 insertions(+) create mode 100644 posthog/hogql_queries/utils/test/test_formula_ast.py diff --git a/posthog/hogql_queries/utils/test/test_formula_ast.py b/posthog/hogql_queries/utils/test/test_formula_ast.py new file mode 100644 index 0000000000000..a10a54f71ca29 --- /dev/null +++ b/posthog/hogql_queries/utils/test/test_formula_ast.py @@ -0,0 +1,53 @@ +from posthog.hogql_queries.utils.formula_ast import FormulaAST +from posthog.test.base import APIBaseTest + + +class TestFormulaAST(APIBaseTest): + def _get_formula_ast(self) -> FormulaAST: + formula = FormulaAST(data=[[1, 2, 3, 4], [1, 2, 3, 4]]) + return formula + + def test_addition(self): + formula = self._get_formula_ast() + response = formula.call("A+1") + self.assertListEqual([2, 3, 4, 5], response) + + def test_subtraction(self): + formula = self._get_formula_ast() + response = formula.call("A-1") + self.assertListEqual([0, 1, 2, 3], response) + + def test_multiplication(self): + formula = self._get_formula_ast() + response = formula.call("A*2") + self.assertListEqual([2, 4, 6, 8], response) + + def test_division(self): + formula = self._get_formula_ast() + response = formula.call("A/2") + self.assertListEqual([0.5, 1, 1.5, 2], response) + + def test_modulo(self): + formula = self._get_formula_ast() + response = formula.call("A%2") + self.assertListEqual([1, 0, 1, 0], response) + + def test_power(self): + formula = self._get_formula_ast() + response = formula.call("A**2") + self.assertListEqual([1, 4, 9, 16], response) + + def test_constants(self): + formula = self._get_formula_ast() + response = formula.call("1") + self.assertListEqual([1, 1, 1, 1], response) + + def test_named_values(self): + formula = self._get_formula_ast() + response = formula.call("A+B") + self.assertListEqual([2, 4, 6, 8], response) + + def test_named_values_lower_case(self): + formula = self._get_formula_ast() + response = formula.call("a+b") + self.assertListEqual([2, 4, 6, 8], response) From 88e8abbe56a4812b991e198c2cfa82b7756f7347 Mon Sep 17 00:00:00 2001 From: Li Yi Yu Date: Tue, 3 Oct 2023 11:18:32 -0400 Subject: [PATCH 07/11] feat(surveys): Multiple questions support (#17707) * add and remove multiple questions * feature flag multiple questions and remove multiple choice flag * wip results page w multiple questions * add currentQuestion reducer and update data table query for it * update results page to handle multiple questions queries * Update UI snapshots for `chromium` (2) * remove commented out code * Update UI snapshots for `chromium` (2) --------- Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com> --- .../scenes-app-surveys--new-survey.png | Bin 119832 -> 125504 bytes frontend/src/lib/constants.tsx | 2 +- frontend/src/scenes/surveys/Survey.tsx | 369 ++++++++++-------- frontend/src/scenes/surveys/SurveyView.tsx | 72 +++- frontend/src/scenes/surveys/surveyLogic.tsx | 70 ++-- 5 files changed, 315 insertions(+), 198 deletions(-) diff --git a/frontend/__snapshots__/scenes-app-surveys--new-survey.png b/frontend/__snapshots__/scenes-app-surveys--new-survey.png index 7919d71d4d68e9763734f2ebc06e6ab416f7746f..26d01e6affb6bf41f00b9daf09c6074ddb74ade2 100644 GIT binary patch literal 125504 zcmce8Wmr`0_wLvU7N|5z2@*<5Vk{r;)^6Oyx(XHh5=30mrr5(;(vGzxWc z^z=!1#p2x+JNR=HXW=&G)4L{+y$Kqa0|R5DK^H!k)q z3&JFpj44fICBN5*GP4dd;tY#YRqabO9uFT^nh00rOw(YCcDF8BEe%bkV0&}!=*s@f z7qR*$BVT`~7~3hyD)|$;5<5A-^MpBmN91FJC4bBb`12^#G9R77sl)G3B7w(`9DYZC z|L+S@7yo_@rvLl(=6_y)^ycr+|NiIw7tb6$e1ZP*@x!kYjBuau@6~_z3#67;98j3h z%?+kFam=UNlOdtemaQ*6j|h+}FMarawz%XIRpK$^Hx1XCaL2R=+5}HZ{2@fFZiIW= zC(q;7WP%ux|3y`wp{09aJ1_MhtBYns%Ok6c@% zN+h1XUT!|J?eND}yTd;6|GCl0Ao?IOTG}kl0`uwF-aOL4s_mJKvllMl#~MNgy#||S znx{75TXI_3`EK>{?{i<1m#vbE&!+^qjCdwBm+2KBlty($wJ$kW-3id)vT19L+eo0w z!dEo6v?aNUPsb$KrOxjT6SJ#SCtKrGQsrqLKYl#jYm(4)u)iU$;0rtQO4h~k&GXIr z5lS(;V%02NBWKInW(wp7X4%-`a0@0D7K`3oBc~lMol@*V)xi)4UZOjTS>_zRXQ9gB z@wV~aT3}s_M^*dgf-{u}m2ciMuEHVIG;%euGe6$sPXjSUAt9?h=}Cs9KP9EGQ)ax^ zw%OcJg_fw>>hH8?sUkGAuqfQaU1#3#Y8CA#j*S^Mtw-^gIBeGI7wMU_Cq8!CQO(j$ z`}y-xkseXf_QnV%o^m&yly<-7>sqUxS(Qz%g3=GBB3)($!DU~E#p2cK3Y<+HmT<7@ z@Tj$+X@h%~pOro#6EibU7;h8Xk);uG_$|X#ft_fHA&&Ucb#E?>l3&06rKd-|NE_Mt z`3RQF$KSty-U-eO%PsjePLN+*`7=e^fue31C~BiW@(Ba5-H7`k(P1<&Gy z96PgggndOxRI_!zlF|r$ahmHhA1p1n%C0{AE$g3ujyo<4>3r2H>YnaM)d?U(sZX@V zWf-?ar&$k{x~+Ao@j1?PQj@6Mx=i*-OXgj1fxaSZrzvV-x5epTH%#g6OhB7PsjhjS z+FAGd%>|`X3aM57&mAbLGQK)2jN+~l1ha@g9;eM+OlnT^)(M1PZ|ueJcs2A#ABD~w zAtq++={p+%sS~?cMFr`7uiCjO8`m?XWQD6} zl7u^dEC!xz_obiu0Re|km5I|0Y80j43$cFmRC2@GDAVD9r*@KN4?E{B_Hw4rMEqsI z(#qEHx`mDPZrrIAtjQ3DEk9yrJxELjKYdGhqnoOD$5~KNP{Vt7$ye#wGmahe&M%+I zZ>xT>>Mz7lU-&Ft#U&!5y->N6<+e7H9L;AjlN2bXK(>Uu2`6Nky zvdfnf-<`XrxlSYOB->wPqqeg?H`jQuIT}bQN-gxNq#bayPjrg_5p-ptdbakp-Gq1Lg;OOB|9`CV?{`KpZ+4kx*n?^2nyr(Ne z&2j0^;}|@AqZ42Rw@4{q9eeZU&DB~en_GN*D)tl24NH^j%O6EMzuYhGr@SghL@Yy)a;4St9U$fkfK~rzPi7nlx$bKenBfMOruO?hDSBswrq9eoKj6R z?%RcA@)%2^Py)TEi1r6zF3&9=<(U+VIylVlBP{jQLaf@HnZth(v5IsQBx4uiBa~Wj ze#si%oCK?&`7;sH@1!=Aokg0THy&-kt8G93LZ%@{Db`RNpJ6octIK_BUu3#KAvt`_ zf3q|_;#)u8v+=4Ko03^|sy20L7BvBOj9EN&e_>)kR%vbb-r)N$JEr{Q$RuiB-{ zzp!nRRO0wArn}VFgO=R4U4oUlAGw))Bh%ERy!*J%{^z~$LHC%b5brv(u2LORJ@<9G zHjVM=;uYtu&%U%umX?{N4%3Nnyokf!-}Yu%%ny{LtA33h^4hT~Fzb+H4r!PWc4&#_ zV^jb32^N?g-S|~%rm@(Mz zZ%+|ngDLO6_~#@ECAK9-z+$#1r`PKO#E|Q|gw$j8AH0uvtE8)=wY+*0#TDW^8^jNO zhc!izD{?(Jcdh@znR-rfaq*^*l+O=++34vdK3?TevbFs-U$!7tw%n1bpa$us){lZg zPfzdhlPAO?f>+1tbVt`W{fB5=zFCLz=LaV$wkBe@qhw3rh>($yVOJ*Gv}WE12I8+M zh?euAnJ$II$RbtqN zZd3?AT3!o|ek{G?EkOBWV^6@#1E;1mZYP=4VThT}<~l(h-l`#bQ6z!h(H*@_^vmBB zo$ijY%I2At84aT_c@dSPoNkw@D9Qc8%=O-A!!F|}>qa~SF0!)LY2~!prlG-smFj_Z zV>qVvLb>X~eiCjq8TYU~D=f!J?0)Hsu)yufOo#0%Z|)o4F$p%cFCkqS^hvcBBuA6` z&y`v8#P8eetE4~c?ZMwvqHOOMtM!{7+*$E+7oVqSU`*5Jn9lb0i=_3Ig5z48Vz?_X zH|h6CIYd&-dRIFmvHhGujeMHs*6d(^W@shTBci|@zA)~IRb(u> zGZow7ML8UKEqk8czkeTt9jyz@P{~kr8-9I?5xq9k_3ZnbEyMCNC{#VZyzeoyB^dB16pjO1HB?tz{J<2L;?YZV5;AY*l|G?^8Pex7hj|HU%v z5b20-Rq~T5xHm&$w=%iqze5R-o=$!$hC*h_fE zjl!Z$K4`{4Ko@hDm%+-Nut1RzQ5)v2k@+uK!t?VCE-(B#4MKAWLib;$zFjvr-k6W@ z#O)uTRfMF&4%|IgLL7D%G7X%uN>c?1O}qGZmZjV!!t8*SiGvkhqQD}w$Px*MZL#hL zN8Zg=MGP>dRyB!jU}rXrQ>|Oizh@>YqP< z99E|kX++&RQv#mQc`5?}DR5hz`n)mZuJH2ZOQ!}c0B}^n_zn6Xtd>p5W5^x8g;xE{ z=yY!dPx3|Q-#_X<|Ni|HiK%nfIF$iSIZiZFh_3#A$l0aO-@mVKC3+GcTwN{UINPI` zXWW7-btIC}Snb@}=+?3+aQ`zg%c$3#gH1`%ynNbhcXz;kN6*usu-mF9Iqk~H@h=+^ z(ZWqqYw6M}YEr*GURTKcO10A6Y~1ftwdO@kXo(`6JaIzmLJ@E6RCXUbpNzoVqiKw! zY`53Yv>SVx@lNV|Wt7Ofh^!WY-^&y`dkWf3e5_1^?y_<@fpt;b-6uua9c_$ucc*S8 zQSApk@td2$#mvO`vfgEF&&dn#c*D~Y8I?E^RyXi))l`TU4?y`0npB-UHmP% zD2#E9h*v<;Y}sF{s&n)RGg8f2@zVx@NPN>iK>R&QN8Ee%f@Q$}i}J(=d6Ja@{^ z<)o;G)xl4}T6dwfg@UE^{*C_lGRLaBW8b5Bj53oC2I8iD65{hV?Aj^Qh1xIC+(sWbREJn`Z_5a5189y0ohI$C#GUs4*}7saI2nhWBl zWA(wvnQsZn8LDtU1QPs~kw~MUrtA8c$D~y`=fy9}ndOz04ye-(^8D45`Jmc|17|Hf9dK z-qwkC(SKyUiY@)YyT50?r-5$rAWCNaH+|lFiA0% zZPdDTs0qh}EvS1!8-m!N_rV^2o!iFz*SY>8;?`sW{(|`K zCul6qt6v@A&!EP3<>=R(god-<*yVMDA@1Kx47@Ij&%dhYJV25u9CC{gTR5D>imr}t zhS%`A_~H9+nJE0HMz|`mb?)LLi^XMRY|2t_@-bCaRhmVuE}pqlQ>GPb-CBKR&e=Ys zH0gUg8vyo)aw%^9{-VfGvA5nY1mzI<9|SD^{P$9LZ{gQ>@7|>;B#3RV_uH&NTojWb zYd=4r(I&Fu$8Xh#MZh5|D>_ct*=bs6n*7Y!`mnKAhO)E~{Hmf!XI2@LgtvUTq{=Q( zkTi<=`dbmLC*+6}c|&yf*w(z8B9-UYyp&d?cDC8xNgpdi%XsC}jV6$ryqF%6cH38+ zPNk8I!e%H1s#4&$=1v;mDpnN+Gr|PcwYZ#nlEUul9`v5UO^DXITlUwliD}dn$2ZYKZS+5OdWnnys46auY8DMoZjfcC#UO zdFf)tH5zxT%aUp(ZZ;L~%e*5_oxlFcYj4{OHrH+B-8Ejv8D*7hT^$Jg{M8^zK|Abx z<&Jd)B-m&%&(f0@XlGZyr83J!f01~7lub1=@+O0ocW_ct(i$uqajHED>AaBc898M& zJ|uY=HHO^1U5a0x-tb&)e{%NpY1o0J)mGt!FREWPDaE}!NX5wkr!Sar3kxsuL{Mu) zuOu&VKij{*A)vdGUR-?d-9P`R7uNYvBte)7il!bJ7$vOWb>HM ziuir#4ZB}Cr<}KA7MSO-s{=gc0C{D4e`f&?5hX%H3h7;~p2z+oy$RBc0;bcud-ra- zc1bQm96%S@=h*gme%m2ub%K35jZ~8B)!RC(>+R%Il*XQ%}xn?n?yJ$G)!K?+twchraW#qg+!Qi-a3<}ZXB zL`jHEE}_q!8&tl7pIPUM7UuCfWWj8cmR#O^Qs4Tdogs{UVcY!wKKUjqQ@Svbi5EM*IOssr-T^%DXv4MesyL)@&Km~mIM4#HK zQSmr>HyLOqvV_Q{BR{O(97{f1B%|OQ9^Jj-z>7gxPEi_!lYF&14S;`pGQryc^4o0y z5tWsd@uUr-uqUCBkze2de0lW#GMf@sDrH>F5)*&jKJLxKtS!TTI{(nN)mC3TTz^{o z^;wNDb`7QP-@h}S+8-qnGk~!`UNC8kZ^_*q%g%cEwBB*ZmJWSLC@w}~v5Y59o^%sB zpRHVMs}DC~q%ptvo_O)RU7WzclfT;`!VG8tdg2a!7bZG7y3`57V%sI5<8QSmNj8H2 z8%7qhD?%d?4P;AG8#E@G#kQZVOUA>`H)U(&NxnTvlG|J4zA>-;5owMAnMSFt(@RN7 zA&1fsSs8?xMxnOes4)W$;^$X|Ms~yD`r(UX=X7HL#h$ssJoWSam3Y#_`+r3huf}p3 zq8)pQK@u=bSI1}iV`*t=K%1qf*8Kfk5MEX(G8iz<6jX_4va+&;#A3Vg56D?UN=HwQ zfsp5R{?VgH$tWq)zkIpn2ub(GjT`)vnVJRCzzAj<3E#V?F21)KBFh|NM40Ky;4`eh z7_(Bjx2_e&q1B!1xx4uiScKY?<`3kz9U#*Sk?-Uf)a5__e$=Wr_c4n?yz+wwZ;l>2 zMh<_#eW5~4r_@0as`_keUi_*ehFL!L3uLsOS$pHeCr{RtziO%gb6Cl5*@J|d=vwEq z($N56==AQCZQE3C8JG2JuMtxdytW&1b;_KqS|ab(2Ioaago@f8kf?I3|=m=Y!zzL`Gisgn0k(@nhbs%|LMu zoE@u1>%RPk`CYgIb7(&KccKMsthWTqHf{?E_04a`2-p;sc>%=r+8U2IpACWYs+@sI zWqZmZ?Ij&+W?bjundue{+`EtQ0nOb&M>Ivmb^@%D(bIY>n@e@~; zOQAm1MNDP}0Ob@Gf_-}~xzK;$N`$~--|^Sk+1cZha5zZl#Ize48aTUNZZ7I0yev?J zPg2H_5Q7SA4rMCb^YO>4D$s{nH3GZaWGpOv<_++NsV@$Iu~{8*Uton()nNw*P~~8M z&vAJSojTK!22H~>uz&gedT{LcOn+A!6Kegb<{Iaq#f#w7$+e7;W#+T$Q&wu7S9|{a z)8HBn(=DKhjhy!YtsA+C!almBR*qtwjb%9IgT-8QXF8R)ceT=XPESi?Qj=D!J%y!h zRwD}MB2HFXG2Ss(!Cb9k2rF&qXm_n@;F4wzS#5TiX31b4UK*D?dNX^u@A!RLSw9bt ztan9#l03JkQ{@v9Vq-I}>3OuL+*OB*L~fp|YBzU#eJ(>OS-LlNrSW$56eO+iIbdOX zsf(;fKp#C48378t}6gK)a^vR+KXCuq;71=4+*Md*VL9`D9Z}{6}kEZJQ`8eGyAg z%TVR;t)Yj77#M&*>;moSzz&rV72H>L&DHVSV!QvC9lsYe1_rkA2x_14j z>bssVZWckeV%nXlLAr2XQ{Vv0$e`m6Nq&w{r3d|APAEEoUdp1gY}5<5zzje^;pi&| z+e9uJaW8G??#q$`R?i&uLHO%2IlZiK=-n7kW_G1nGM;~P%zrLa*=+l=*?JL9??B2( z2EA7%MYA6hPXtsa=Aheep{d?+ajcnVW;X4jz^k{IjZjYC1R^ACT?G z7hg@c^^on^gPFac&Loxj%7a+8VU|I!k4t1Cb5TQudrEt{_{PmmsX$TF@(6(cS5mPT zszR@31-li6>3S)B@KV~|t0Jv66TNuSFXC!8&pKZqZ~T`CE{46WKwhhy)h%a=y0Bh8 zCWZ;MZK<`In@XK!;)tBa=OePM>y!C6|Wq)p01SiMmhC^@`7Sg z`@*e&V^5M7#P77ar(`Ud57bTN%@Cxg3RuN(z}M#y&fl~KQ&%WL6zHPxE)e?~_OoELOsh&<)6f%G!)&b4}-` z*!x$#mn>IBxu#QjQ?#$IQd^eF41eFC zr}5oSztLN?>}%JJV)I4?MkhlKqz+>92nj9?`$9vl$W9^LBV@`{$iV89eMskwMTg89 z;}y8}LUt6y_mrV-6yA1TO0-IEaO3{@>JgG zeFX*F{KNM4_Fh_DdWw*J4(;OKxuV|t9##Xzig4J~fZ0?oFjpCLos4s8ct4;DKg$LR z*bHfduvB1a)AQ|qp!j|*^SgaEG83fD^To2y~*W0ZKr2f;E+YvA5^bkyaeJGM&;`!T|Q?ud@R zkguods*-xu;MD8(iZEWQ_oKzRrN&cVaTvPnwOc*kZm(=H! z5rEvx(_UW$>B4CTm;GS4zQlggvXJ5CO-p8mfeQB`oj3G1Z$5y!kSp>_fjFNKa{T+J z`)~8zH>_#IJbH2$0QE(Sdsj}hC2%#kBn}n7GytAk#(Bs!wZn1p(f2nectqp9BEQ2f zBlx+xy868DHL3YBy=h;HU8pkBXmoIPHrL_4Skpg#i(Qd-AaJTa`XFw|yB`o=-pw=o zK_%6Ym^x`BO?e=`K>c2Etp!0r#YQ!pX-1xCBq@VA}b-gJi3>?Mbo&PZAhQj z%U$%AC%>k-VD)BZtIi!C^YYcm_B+|@dP$|j-XDEAG*~K@{GdZtW|u0>^IK9Dm#a94 z=a|=f?mm|h)hwFO#V4-APBP1^QvC44p31iV$KZSQQoo*>4V~@x6ejIqIURtF@fFRu zXRWL&`jcJ`YPMY9>&{N)mRLca4ttzJz+~oX%{83BjPqPyvO!%yFZLk)&yDd>XPagW5M+nXu?xm$A&0NFxz>|RhP+@R2e06X)BqXH3 zsOc)YQ1o=>-}M6+pRRY%Cy@`Gr@9aM&)V8P?Sv7aL{P43UCTKB9l;vlL+X=>{s~WH zgWUr8OZ}hV!&Ayl^~CbzON{djzQnpguVF=g4(mAA{8|02G&}UV;gvZi6iP31&J=^>G`gKog=ROYIuF9 z5nX(QE$z|+icz5vecX>FyqmY-Pl3U`wY!3xlhV`zY}pI<=_zDrEBCjFkaj~j_4t)s zyLEoiu!67(47+hJEs(gt!G<(Y1R#{diE~#wp>JoTs5qMGP8Q0crE1g|s`&ZAJNBI{ z-HLQaV)ry;?{H6mfX{%>lfiQ;e+hc=;sx22D@mK1E>H>-ptb2*pX)CGMybgp2+&l7 zo|gs*CGXScpGLh@1Hxq-j5&R0rNo<`gAjxWMXj-d2E8VtxGNo zJx15u#HUAg{9T!;1zlv*ReGKD{67RV2~j;!jYUhiWQerCmB7pwkCMXe*H14`mkj_) z$?h$+etq)a@1u04$3bcAekGjtu~baXbZOw7z| z(0m042hR+a6+xGTg(d2lhy}ODTyI`oZk*SxYM|+ioZ}Am7QE%_#y;fhpETpQ9{55+ z#orT(CR7k~kPO`&B2x=-OTuLe5=S8ssFPQdqCHbp$s`2s(gN?Q_DG{j{O#I*oCfCw z8pAmCMXYr5yG<9@ygQtVB~;_*Et|E)pO**wUEi+cU9&LA6>5mQ__9eijSwSw9@4WL zJG*X-YehW&r2BN2SnXL-4yx-bOde}K4%?aeyH&2$3i}LvSq!3NR*VmsE1s{O{Z?og zN2XHa5}nX(!O$|s^BIqowv4f;twodWe3}r(1+mvzt?MbK6 zC7CcbBjq=D_}az+l_@*d;I??COC0VUE-h*=FwXB@=u{2+R@<{ab3Q1;EoA9~L7 z^b}Y`sAd+2Q#v|$A^=qMnGd>6)Ld3%1A32)uG;f!302JG?9W5D9I$sK_qX2HDmlHS z3qD(XM_i)At=5s0n$L~hvd2uMz?#;K+UDvFIj{D}@ydgk+A${u$536*#=Ql6+|ahH z+m1bh;NthE1`oblox%n@^p8J+$q}j%H%VT4>z7PJ*n3bKon^4xsBR$ty4YoUlBTdu z)#h&LLZ~DhO~6&`UH`0@a-X+gUnS*zYjY$?Cbc zhUb5H9pERTD5(3~^`qpI{&=lF>nrqaBU7fYpKa_mt_u{C7{7OzCmJ3j*wASN9-Mg)O-V{`N?({Xk z{GBXwjYA{%r}1)?=gvB`oEFDkB_<}WuC$2@(?s0HWg9nJoJ`%{+v(@nQ3s4ja{Uf{%}O-CRXS)p z#ncgbxC=Z|AsQQA&VyVH#n&Kdaq7?^m#~~Cf`3cjayz>`5eo72K#6@+c!p*{`c*F7 zOt^q)=s!DvFml*lH6y?ERDwx5^eK48R)^nSNC$Bzs{0BQbRM3nvEmUr_zq7p1jjY= z*Uz7~piKq&={Fp6hd)2h=u~=WJpMqYIE_no1Y^+`h!8fd!pxc#C`(_<=1XM|0oSH# zF9qPkJ0G8PSjw5-pWk+W)r$C992@4vcMP4bk(V;Kd%AnTv5GM%Rbrd=GPFL%Ylmh^ z+iHsmdep!i;4r6$7j@mHnH=Z(x*lEvhbFz~1bscV{lzh^`1rT<3Z!>Yu{nkfmt(Ae zJv{71Q4%MYXD=SB4hE*%9GnXuz?%XqY#G33JrH?_B~U>}E*~%c%nr%QI!$uA&oBU4 zIaJ;C7q6&lflw+iX`?OM1CG>ft^luG>EU|e5duL_uE#`A+t%Cz1}|MXEfD|^+`UZc zbV`gem>B^eetd6(yp8@GBfRbOxpN({g7zXb2&b(*JUW^LOR=^2yF^gbL_Ff=J0RDy zA4=4#JU;6#bkygNcU+|R_V(5(mm+ot1IOM-Ac!~FIS)F~yt$vX;=>{y_Na#~iLB zE;(gQgofn5e6D{l7KQqMW{myclI0k1INftu{FM3-xgk{bD4X(^;dWvSh|s-BmkwV; z1seSO|Jld;zrEc5&Iru7$R!B2f`Mj#ey*+1-MTVS`l?fUUrdL_+b+G5$R0+SEg!w@Q#dhlL z1+j0TghHzr#Kk!`Q1T3R!&+7EGTRRbnAp45#04f@geM87$dN>1R5Ji5%hXx?fXHJ^TKYcUo^qp z1tmHi7^FjWzxvpPsp-^&LRK}f@gOv_F~Ns~ij0~%^D>jPI_5k?S?NlvZ~;(l%cw3PiXHU_hA*N1R!8O7j7v zn&vHlhwmkk55jf%WBINxw@6!Cn*uVrdv2wI?HNMR6rRn@_MKc_xi{wu#=vR7rw(B8{M^EPysfNX>K?|5JS`6=53 zx_3HAfZMw(ZEJ9~rT`Z}1AnHjt{ygqa0^+!G3|#)rnR+o`ag4Tjul5UAD}W%@Nfr5;hAU#XvKAd` zMErX#*G<_EVMP#=0)H*~II7-?!n4gKF=xI(|J2|ANFxqPu-rgZYhe$>O5^>V6jqu4 zjx_mZnLLccf}~l!T{h#!JCyBgbM#Pz|7I^rIm>tgHD-k8(Xg#>yK-oQc;!D}SsX%! zvSlcxZFoZrW?XFO>H}yMlscw*Y{-&7gc=pZH8!!KW9=P?J4BcmyU7a*Hu7g(>@88+ zqa00SnoVD~j@jk0965xJ#T7ZTX|)3WUi98}JiPCq3$6xs)nTQk1IKKAge!03C9;tD=U3^v+Le zL_BGFx907iV5(uv3V^^ADBJBV0)$LZ@8Gbz2{A(Sh%kWD83uR|)gM4AGdX<8>*Kx+l|FAz506-(wy2+P)^dnj6;n&czk^W_$#|(eLl6YTwRpT5f(5`Ss;#XZ ze&$W={^uyFNxf`wFSHnHt8PuV@hK)*puEA*&Sh_Q{hn>I^L=^uOZOuF)ISEKfA;+O z)k9Z6009}8fXbGR1B zau~Tg1HIL4^RDy%zCMn6HGmOoh^|yji2HnGUS0^BEuLp+=7hO?7_HW}@$#f&SW?(q z5vIM1uU83AG~~ElM45-3oiVQt{T~BtsSQWMD^3nu;VPTBHFfAcABqULlVT$@Fx4u5 zf5~%v*@lFZ@6logRtcM9D8aCX*^_lbMZnBxmJBq*Kbw5OJgNReO{9^fnabbCBbRKSYjj!Dym zq1c;^-F;s`?o(*8W<6tCMgLrSiIg6km;CH#%1;EFSsw|P8m>v+sOy9{6VorHRyX-Kv*)?K@xyW=RuKf%W@_Y-(a^-r zG2T}tghc(4K3oy`mqzc7sI8}_q!>q^mfGnB>;X{#rws%gn}7rQQz)Atuh!R7Q&X~P z0`+o->#>|O%fFpBb7r{NF?WV9Xk8De2Xc1xJNVM|qpwo$MF-u<>mrH$PJJBqZSe!= zdKM!!j^z|}%SGK!5=XXnb~?0B)g&x=U1#m08S7<@YtA3u(b%(+cK7Pul{hr%=GGSC z4wwIR8s*vm995on<8LAKMH-r~V4zQ(X+`Ho9v%(5=C02t0t!18SOihSl8yitETH-V zIiZv?j;ICT5r_dBPwCIY5JFMd8Id0`!G5(45@UU?V*}|9j6xKus9_&+GO|!3J9_`T zacr#jlbx|COSp8G6KV&y940+Zw64?EvmqU1SadWSOa?JC9)G1B+J12C@VcvSm|#w~ zGE?F($0*`V;tc5pQKC*{(rqjAGp%F_{NXDF+{KF^w_m3K7oxfqb zt`7I0#iDQ=RqTT-h=dqs@ck(sp|-B$5|UtU%k?{ldVbq;;dLyt2E{Pay%xQ6)ICak znYRj)o|E@>bck$jh*@n+Ki*Wi%)sToq>OqvMPawI zk}&RU$zs`(IjLgY^xfD|gojoEQOm$b#;2A?50@YyWV7Yo81_C7mu)VA0V5T3Z7({C z+pHf#Cf@hHbVv=kw0Gzumn+y!GV_-rBD`%kWcR%APjk2;BN~OmN33mR)wy5%4@ndb zHgib(<3u8HItV_v>=znJ1`YTO2&9PP1u1u9`fw>^tV)jnB5p7c^Cvk9I02XyCuQ<&0s+haTq4pEPDxnnZXJE6k5Zs!`U`K z=IhFlf_5+}gV?*EZC!D=h0+d+xpK+ahZe~Q^&up?u}HrEQBz}uIfg-+<#ZcDCF0Ly z-^omHl80$7*o&&Y^_cNZ=!XrtqgH=i(^FpuTKW;V@0H;KRMM1~5SMXO?da5d^KDOP zLds}ehK~STVP#}|G+64`0ZsngOdojYl3y-?9M)vWJq^qT=dTIbs6er8DL}i=BqUzZ zx{h6n(Y^a<@xwX=M2uV%yeS=a270I< z7+qO~TrRwQ8bq{g_xX}1`uh4puFKdOZVWGY9RQrmfh2)UK!PY>V?O|wv4+>fBeo_$ zN@1+eB%#x2{U&BYY@XSVmSrZP5mE-v1l!Y3wma|TAa)L)3-AhXy^%8w^fe&DKY^kE z_Ufll^9Cy#zQkv~2+gfbZ7sjRI_mBO3*S`LqNe8wu2MAgNO=bm!D$2At;~mMC2(oX z{3MKvJp;a{#sKMYfc~JNCE}7l0_MwiS$fe_`Rn7g+b|jljba!h;?0LWe1>kRij}x9w8X!3Cy?qTrVLBWEl(R zDOC?R$*4-CZLfqNGp_`@tRO3ELu_cM;ZUAQAo9J(cq4fX9{MWwY{+Vwx`3D`Kz3b$ zIBN#3Zvup@6$s}R*iN1VP-}LFYTQN0yd&t@RQ`4b>*m3n%?zX@=fHW(A&qn5g6 zj8S@CTSiSzAc40)vl~7K6E%^-jx&b60Uthat7YpBQiJrHmH}Pr1Q1ll*A=!c?)6EEM;?C5jt>84nl<`%~tD0f_k;a~;zRFXgcUok(K;=+Qq$ zJCIi=V0^!69Tu_$(+qzXs6bP`S)hGt{=;*WC^U{BP@y8FBuWe?LF&A|Bb z(usSC)U+|oRSbG=3{Jqa2Y^H3*Q;>r(gtB|1;!FAu53KKAZpkv<}@3rfpOj4ToO#@ z$=JEwFaW}d?5OhukE3!R&s`yRg*-PpjX@q0VnZOOUZv%huH4R$+zze$LF0`3VA#PE ztUl>c*q*UNLQp5BEmklI*r1-!yC%OgJ|nzfM{3~y{*Dbyhfjkc(QVXUfW6Ke+-YcJ zR=CCW#96X>#b(g!x-GIRQozj!42h(9M~eRpK6^olru8SJ7yw*foEL`p>lhdq3atA1 zV?2@JrhZ_nf5RGa^qXzygB4Q<_`*UP0w)@2-5JebsC}k4FSW(RlGvt+8S*~xL@Pn4 zv5PWs=K{wEGE_ZuLzpp;#^3;z>617UJd4IB`)#UpFri@iO%jSj%+BmhhHFtm>Hmq# zmlN^dh421E%Fu{Tx4e9DCG10!<43;^8$#~gw+lO@ib`Ao%{_fz%UvFK_1So z0krs4R&WHs2IW$3K>r21$g!4O0e;C*2af=;R6u6PVF9CV7%~$Fv;zqR_s?meIRBR3 z&1XtVmW9urJ)6slsFVePMy@8u`(PiDW)U+2kdp*!L3Cd4>^EHtXz$$SOC}Fz_yDgp z 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

2LxT*X!Wd54+2A zT8oaD_unm2`A>NoCJJ2o5Fd-Mym`Vff5Y(7lJfFF+wH465m&L<$qfe6)*i_w@#|_n zIiavaEI7|9c*Y-%$0CI!BG-Gk9P6rmTJ=g^cIl0R_iR3Tweigc1_r`#a-ysVomg<2 z>STNG>P2+TM2{Ag!kAo#6Iy?2#4FGDVD5#>ZuxdeXEJSF^*nH`vRg+`By}y|+)dczc@rF31rPyKvA%y{_u0 zj;rbqjEFSfIL{~RSg9i_C1Wa;&Tkgqmip>3dS7Y9R>je}4eUuzR$x`wWK-B3b>ok= zY=zW_(0&X3QASdc;utfW5x-*2&D8R+LsLwXrf&9!>=w5O!8L10Op-KXB>rCWX#u{H z4X(=5)Gt@u=*cwh;Va2sT*G^VZ`NfhcD+{U+Irl{A#mHkuU=O_)J)bYYW62=(?2z7 z>h7gzIjNJG<&kXR-g#PNo<+1^&Pd$Ar`sW(&vSUD*YbXuM%I3lX1?7!ygMs?X0uPJ z_+2mT$8s<|3I{G1=GxWXOJgdXJsxSVT{5kZQokbJ>ftx-n27NOp z4>=i`z8g++5wyE^QpqOW!8dtB?F5Ho@!h0KPD5eZTgM?m#o()*>t|nZ@%ZgoZ$aU< zKY}e4T_%gp_k9W}Ol$wiqI~K?qhXJmQ78kdh8=jSGKO0iDzHl zwM=}g^`&h#VabE@jK^28cSo`~$_hRE!WQoKJ7?p;=5_4t6Vk~&EubX8?oDMe*{p;r z)^oLRUOh!|FA3(nq3xQF1jI)5_-l2&F!?)*9i%|w59Wn zrHc18%d_q>0!@vFO{%KTH-C_9ojJtGFFZSgkr{nuTdQSZYwDqJ&-`$i+2Kon3LoKw zdGEa0=H}(K`Sb&oS?oH|(D9XhEBY$$@{PRME<7n*p1$;1i&KV6N>hhlJ8L+PXFaEK zzSKpg@`_@QKLkRR2HaWe$HFeld2|-#Nin$`QZ^l2dBN`a`CO}e8;k=(%1*L`k z*Jj+5zUQczs2-*~tY~KvSAC9Rjrsp}g*m2OQ@9$G%<;Vwt78@amvU!~54q@@rz97w)EL)|3^i^%LYpWVc+r+iVduzQFZ2&5?)I`VU{7$TM7?-*%7pRM4HYFB4&z+V?*> z_pfJl&r$I(QK?ZVw7slxbfomd%Qs(wvvWTt+Qc<@mDX>$ZNXgklkeR(8(r+wM;)?n zZGRGB?80vHnwMw)w({?=EC$*`=l!@e zSxUpn`kJqG#ra(8h;8??J{=mqzq;_x@71H8jM;+Aumm#kE;?8o!stt(~}sd`xEHeQjR;kw&6JN)XW*r7th zLhZpjub)-T3R*t)c-#9~#_zS+zgMv0TnewXvXh~Jcq%XMx0!`AdCW7{=srANu_Hlbx+#;kk2+jN0R@6u5d9^DXR^6FOw$>_Hm$tHMMsuV8Zi!GKxzc3yu)0U`E%$CU>so5h zTf6p+Ja>K4_zdB5Q3DM=g@dzuvlOFLn;ggPXgFwHlogqX%&~r&&-X--VY zXQ?dzA(yi4p8_}4rOUMFFI3np&S?Ms<`zXG9-Fp^a-ZgAzC+6eW~E!XT(aQ3*?wUx z*ji!?p+K#0`T9pp>t`8njaxSiw@w*rzv;bpku^^_-PNVZxI%$l!xJfI)cXC+#k1wd za{Wdpns}D;Eq5@IFZJy>>>u($BxlIe*Cy6VrZIO*oUpgG?&$cQcfZ=jD22-85bothqexw}HX( zyvGmu4QreH8Sx5!C5rRzNsQ`fwCX2tuM(Y3V5APCrbp569tnwmz)+-7YpRP-;9<*8 z-Jh5L_a+*vVbvN91X9`k9b&spJBKsw8+-1`%Ae=|oBRll7@%Y*KVqS5S;E8fAz3@L z(c+)-Bft^_p%51Vu*^|L9(mU*5xeyS|+|Nj@@;`(o21Mh*UTmC0!q_r3CqV2#qaQL^l IeJ9=iKNt{PZU6uP literal 119832 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 N>{t1j_0uuWe*t#o{yG2v diff --git a/frontend/src/lib/constants.tsx b/frontend/src/lib/constants.tsx index 660530a291cf9..758ddcf6e38e0 100644 --- a/frontend/src/lib/constants.tsx +++ b/frontend/src/lib/constants.tsx @@ -157,7 +157,6 @@ export const FEATURE_FLAGS = { FF_DASHBOARD_TEMPLATES: 'ff-dashboard-templates', // owner: @EDsCODE SHOW_PRODUCT_INTRO_EXISTING_PRODUCTS: 'show-product-intro-existing-products', // owner: @raquelmsmith ARTIFICIAL_HOG: 'artificial-hog', // owner: @Twixes - SURVEYS_MULTIPLE_CHOICE: 'surveys-multiple-choice', // owner: @liyiy CS_DASHBOARDS: 'cs-dashboards', // owner: @pauldambra PRODUCT_SPECIFIC_ONBOARDING: 'product-specific-onboarding', // owner: @raquelmsmith REDIRECT_SIGNUPS_TO_INSTANCE: 'redirect-signups-to-instance', // owner: @raquelmsmith @@ -169,6 +168,7 @@ export const FEATURE_FLAGS = { HOGQL_INSIGHTS: 'hogql-insights', // owner: @mariusandra WEBHOOKS_DENYLIST: 'webhooks-denylist', // owner: #team-pipeline SURVEYS_SITE_APP_DEPRECATION: 'surveys-site-app-deprecation', // owner: @neilkakkar + SURVEYS_MULTIPLE_QUESTIONS: 'surveys-multiple-questions', // owner: @liyiy } as const export type FeatureFlagKey = (typeof FEATURE_FLAGS)[keyof typeof FEATURE_FLAGS] diff --git a/frontend/src/scenes/surveys/Survey.tsx b/frontend/src/scenes/surveys/Survey.tsx index 65f9af689976d..0e33003094545 100644 --- a/frontend/src/scenes/surveys/Survey.tsx +++ b/frontend/src/scenes/surveys/Survey.tsx @@ -7,6 +7,7 @@ import { LemonSkeleton } from 'lib/lemon-ui/LemonSkeleton' import { LemonButton, LemonCheckbox, + LemonCollapse, LemonDivider, LemonInput, LemonSelect, @@ -25,13 +26,13 @@ import { RatingSurveyQuestion, } from '~/types' import { FlagSelector } from 'scenes/early-access-features/EarlyAccessFeature' -import { IconCancel, IconDelete, IconPlusMini } from 'lib/lemon-ui/icons' +import { IconCancel, IconDelete, IconPlus, IconPlusMini } from 'lib/lemon-ui/icons' import { SurveyView } from './SurveyView' import { SurveyAppearance } from './SurveyAppearance' import { SurveyAPIEditor } from './SurveyAPIEditor' import { featureFlagLogic as enabledFeaturesLogic } from 'lib/logic/featureFlagLogic' import { featureFlagLogic } from 'scenes/feature-flags/featureFlagLogic' -import { defaultSurveyFieldValues, defaultSurveyAppearance, SurveyQuestionLabel, NewSurvey } from './constants' +import { defaultSurveyFieldValues, defaultSurveyAppearance, NewSurvey } from './constants' import { FEATURE_FLAGS } from 'lib/constants' import { FeatureFlagReleaseConditions } from 'scenes/feature-flags/FeatureFlagReleaseConditions' @@ -115,168 +116,226 @@ export function SurveyForm({ id }: { id: string }): JSX.Element { /> +

Questions
{survey.questions.map( (question: LinkSurveyQuestion | SurveyQuestion | RatingSurveyQuestion, index: number) => ( - - { - const questionObj = survey.questions[0] - const isEditingQuestion = - defaultSurveyFieldValues[questionObj.type].questions[0].question !== - questionObj.question - const isEditingDescription = - defaultSurveyFieldValues[questionObj.type].questions[0].description !== - questionObj.description - const isEditingThankYouMessage = - defaultSurveyFieldValues[questionObj.type].appearance - .thankYouMessageHeader !== survey.appearance.thankYouMessageHeader - - setDefaultForQuestionType( - newType, - isEditingQuestion, - isEditingDescription, - isEditingThankYouMessage - ) - }} - options={[ - { - label: SurveyQuestionLabel[SurveyQuestionType.Open], - value: SurveyQuestionType.Open, - }, - { - label: SurveyQuestionLabel[SurveyQuestionType.Link], - value: SurveyQuestionType.Link, - }, - { - label: SurveyQuestionLabel[SurveyQuestionType.Rating], - value: SurveyQuestionType.Rating, - }, - ...(featureFlags[FEATURE_FLAGS.SURVEYS_MULTIPLE_CHOICE] - ? [ - { - label: SurveyQuestionLabel[SurveyQuestionType.SingleChoice], - value: SurveyQuestionType.SingleChoice, - }, - { - label: SurveyQuestionLabel[SurveyQuestionType.MultipleChoice], - value: SurveyQuestionType.MultipleChoice, - }, - ] - : []), - ]} - /> - - - - - {question.type === SurveyQuestionType.Link && ( - - - - )} - - - - {question.type === SurveyQuestionType.Rating && ( -
-
- - - - - - -
-
- - - - - - -
-
- )} - {(question.type === SurveyQuestionType.SingleChoice || - question.type === SurveyQuestionType.MultipleChoice) && ( -
- - {({ value, onChange }) => ( -
- {(value || []).map((choice: string, index: number) => ( -
+ + {question.question} + {survey.questions.length > 1 && ( + } + status="primary-alt" + data-attr={`delete-survey-question-${index}`} + onClick={() => { + setSurveyValue( + 'questions', + survey.questions.filter((_, i) => i !== index) + ) + }} + tooltipPlacement="topRight" + /> + )} +
+ ), + content: ( + <> + + { + const isEditingQuestion = + defaultSurveyFieldValues[question.type].questions[0] + .question !== question.question + const isEditingDescription = + defaultSurveyFieldValues[question.type].questions[0] + .description !== question.description + const isEditingThankYouMessage = + defaultSurveyFieldValues[question.type].appearance + .thankYouMessageHeader !== + survey.appearance.thankYouMessageHeader + setDefaultForQuestionType( + index, + newType, + isEditingQuestion, + isEditingDescription, + isEditingThankYouMessage + ) + }} + options={[ + { label: 'Open text', value: SurveyQuestionType.Open }, + { label: 'Link', value: SurveyQuestionType.Link }, + { label: 'Rating', value: SurveyQuestionType.Rating }, + ...[ + { + label: 'Single choice select', + value: SurveyQuestionType.SingleChoice, + }, + { + label: 'Multiple choice select', + value: SurveyQuestionType.MultipleChoice, + }, + ], + ]} + /> + + + + + {question.type === SurveyQuestionType.Link && ( + { - const newChoices = [...value] - newChoices[index] = val - onChange(newChoices) - }} - /> - } - size="small" - status="muted" - noPadding - onClick={() => { - const newChoices = [...value] - newChoices.splice(index, 1) - onChange(newChoices) - }} + value={question.link || ''} + placeholder="https://posthog.com" /> + + )} + + + + {question.type === SurveyQuestionType.Rating && ( +
+
+ + + + + + +
+
+ + + + + + +
- ))} -
- {(value || []).length < 6 && ( - } - type="secondary" - fullWidth={false} - onClick={() => { - if (!value) { - onChange(['']) - } else { - onChange([...value, '']) - } - }} - > - Add choice - - )} -
-
- )} -
-
- )} + )} + {(question.type === SurveyQuestionType.SingleChoice || + question.type === SurveyQuestionType.MultipleChoice) && ( +
+ + {({ value, onChange }) => ( +
+ {(value || []).map( + (choice: string, index: number) => ( +
+ { + const newChoices = [ + ...value, + ] + newChoices[index] = val + onChange(newChoices) + }} + /> + } + size="small" + status="muted" + noPadding + onClick={() => { + const newChoices = [ + ...value, + ] + newChoices.splice(index, 1) + onChange(newChoices) + }} + /> +
+ ) + )} +
+ {(value || []).length < 6 && ( + } + type="secondary" + fullWidth={false} + onClick={() => { + if (!value) { + onChange(['']) + } else { + onChange([...value, '']) + } + }} + > + Add choice + + )} +
+
+ )} +
+
+ )} + + ), + }, + ]} + />
) )} + {featureFlags[FEATURE_FLAGS.SURVEYS_MULTIPLE_QUESTIONS] && ( + // TODO: Add pay gate mini here once billing is resolved for it + } + onClick={() => { + setSurveyValue('questions', [...survey.questions, { ...defaultSurveyFieldValues.open }]) + }} + > + Add question + + )} {({ value, onChange }) => ( diff --git a/frontend/src/scenes/surveys/SurveyView.tsx b/frontend/src/scenes/surveys/SurveyView.tsx index 7f4fb0e241eab..a88f5381ebcb5 100644 --- a/frontend/src/scenes/surveys/SurveyView.tsx +++ b/frontend/src/scenes/surveys/SurveyView.tsx @@ -1,12 +1,12 @@ import { TZLabel } from '@posthog/apps-common' -import { LemonButton, LemonDivider } from '@posthog/lemon-ui' +import { LemonButton, LemonDivider, LemonSelect } from '@posthog/lemon-ui' import { useValues, useActions } from 'kea' import { CodeSnippet, Language } from 'lib/components/CodeSnippet' import { EditableField } from 'lib/components/EditableField/EditableField' import { More } from 'lib/lemon-ui/LemonButton/More' import { LemonSkeleton } from 'lib/lemon-ui/LemonSkeleton' import { LemonTabs } from 'lib/lemon-ui/LemonTabs' -import { capitalizeFirstLetter } from 'lib/utils' +import { capitalizeFirstLetter, pluralize } from 'lib/utils' import { useState, useEffect } from 'react' import { pluginsLogic } from 'scenes/plugins/pluginsLogic' import { Query } from '~/queries/Query/Query' @@ -15,7 +15,15 @@ import { surveysLogic } from './surveysLogic' import { PageHeader } from 'lib/components/PageHeader' import { SurveyReleaseSummary } from './Survey' import { SurveyAppearance } from './SurveyAppearance' -import { PropertyFilterType, PropertyOperator, Survey, SurveyQuestionType, SurveyType } from '~/types' +import { + PropertyFilterType, + PropertyOperator, + RatingSurveyQuestion, + Survey, + SurveyQuestion, + SurveyQuestionType, + SurveyType, +} from '~/types' import { SurveyAPIEditor } from './SurveyAPIEditor' import { LemonBanner } from 'lib/lemon-ui/LemonBanner' import { IconOpenInNew } from 'lib/lemon-ui/icons' @@ -151,10 +159,21 @@ export function SurveyView({ id }: { id: string }): JSX.Element { {survey.questions[0].question && ( <> Type - {capitalizeFirstLetter(survey.questions[0].type)} - Question + + {survey.questions.length > 1 + ? 'Multiple questions' + : capitalizeFirstLetter(survey.questions[0].type)} + + + {pluralize( + survey.questions.length, + 'Question', + 'Questions', + false + )} + {survey.questions.map((q, idx) => ( - {q.question} +
  • {q.question}
  • ))} )} @@ -269,7 +288,9 @@ export function SurveyResult({ disableEventsTable }: { disableEventsTable?: bool surveyMetricsQueries, surveyRatingQuery, surveyMultipleChoiceQuery, + currentQuestionIndexAndType, } = useValues(surveyLogic) + const { setCurrentQuestionIndexAndType } = useActions(surveyLogic) const { featureFlags } = useValues(featureFlagLogic) return ( @@ -284,20 +305,39 @@ export function SurveyResult({ disableEventsTable }: { disableEventsTable?: bool
    )} - {survey.questions[0].type === SurveyQuestionType.Rating && ( + {survey.questions.length > 1 && ( +
    + { + setCurrentQuestionIndexAndType(idx, survey.questions[idx].type) + }} + options={[ + ...survey.questions.map((q: SurveyQuestion, idx: number) => ({ + label: q.question, + value: idx, + })), + ]} + value={currentQuestionIndexAndType.idx} + /> +
    + )} + {currentQuestionIndexAndType.type === SurveyQuestionType.Rating && (
    - {featureFlags[FEATURE_FLAGS.SURVEY_NPS_RESULTS] && survey.questions[0].scale === 10 && ( - <> - -

    NPS Score

    - - - )} + {featureFlags[FEATURE_FLAGS.SURVEY_NPS_RESULTS] && + (survey.questions[currentQuestionIndexAndType.idx] as RatingSurveyQuestion).scale === 10 && ( + <> + +

    NPS Score

    + + + )}
    )} - {(survey.questions[0].type === SurveyQuestionType.SingleChoice || - survey.questions[0].type === SurveyQuestionType.MultipleChoice) && ( + {(currentQuestionIndexAndType.type === SurveyQuestionType.SingleChoice || + currentQuestionIndexAndType.type === SurveyQuestionType.MultipleChoice) && (
    diff --git a/frontend/src/scenes/surveys/surveyLogic.tsx b/frontend/src/scenes/surveys/surveyLogic.tsx index 65e93c8c31956..c8993d9aacd85 100644 --- a/frontend/src/scenes/surveys/surveyLogic.tsx +++ b/frontend/src/scenes/surveys/surveyLogic.tsx @@ -71,11 +71,13 @@ export const surveyLogic = kea([ actions({ editingSurvey: (editing: boolean) => ({ editing }), setDefaultForQuestionType: ( + idx: number, type: SurveyQuestionType, isEditingQuestion: boolean, isEditingDescription: boolean, isEditingThankYouMessage: boolean ) => ({ + idx, type, isEditingQuestion, isEditingDescription, @@ -85,6 +87,7 @@ export const surveyLogic = kea([ stopSurvey: true, archiveSurvey: true, resumeSurvey: true, + setCurrentQuestionIndexAndType: (idx: number, type: SurveyQuestionType) => ({ idx, type }), }), loaders(({ props, actions }) => ({ survey: { @@ -143,6 +146,9 @@ export const surveyLogic = kea([ archiveSurvey: async () => { actions.updateSurvey({ archived: true }) }, + loadSurveySuccess: ({ survey }) => { + actions.setCurrentQuestionIndexAndType(0, survey.questions[0].type) + }, })), reducers({ isEditingSurvey: [ @@ -156,28 +162,27 @@ export const surveyLogic = kea([ { setDefaultForQuestionType: ( state, - { type, isEditingQuestion, isEditingDescription, isEditingThankYouMessage } + { idx, type, isEditingQuestion, isEditingDescription, isEditingThankYouMessage } ) => { const question = isEditingQuestion - ? state.questions[0].question - : defaultSurveyFieldValues[type].questions[0].question + ? state.questions[idx].question + : defaultSurveyFieldValues[type].questions[idx].question const description = isEditingDescription - ? state.questions[0].description - : defaultSurveyFieldValues[type].questions[0].description + ? state.questions[idx].description + : defaultSurveyFieldValues[type].questions[idx].description const thankYouMessageHeader = isEditingThankYouMessage ? state.appearance.thankYouMessageHeader : defaultSurveyFieldValues[type].appearance.thankYouMessageHeader - + const newQuestions = [...state.questions] + newQuestions[idx] = { + ...state.questions[idx], + ...(defaultSurveyFieldValues[type].questions[idx] as SurveyQuestionBase), + question, + description, + } return { ...state, - questions: [ - { - ...state.questions[0], - ...(defaultSurveyFieldValues[type].questions[0] as SurveyQuestionBase), - question, - description, - }, - ], + questions: newQuestions, appearance: { ...state.appearance, ...defaultSurveyFieldValues[type].appearance, @@ -187,6 +192,12 @@ export const surveyLogic = kea([ }, }, ], + currentQuestionIndexAndType: [ + { idx: 0, type: SurveyQuestionType.Open } as { idx: number; type: SurveyQuestionType }, + { + setCurrentQuestionIndexAndType: (_, { idx, type }) => ({ idx, type }), + }, + ], }), selectors({ isSurveyRunning: [ @@ -225,19 +236,26 @@ export const surveyLogic = kea([ ) }, ], + surveyResponseProperty: [ + (s) => [s.currentQuestionIndexAndType], + (currentQuestionIndexAndType): string => { + return currentQuestionIndexAndType.idx === 0 + ? SURVEY_RESPONSE_PROPERTY + : `${SURVEY_RESPONSE_PROPERTY}_${currentQuestionIndexAndType.idx}` + }, + ], dataTableQuery: [ - (s) => [s.survey], - (survey): DataTableNode | null => { + (s) => [s.survey, s.surveyResponseProperty], + (survey, surveyResponseProperty): DataTableNode | null => { if (survey.id === 'new') { return null } const createdAt = (survey as Survey).created_at - return { kind: NodeKind.DataTableNode, source: { kind: NodeKind.EventsQuery, - select: ['*', `properties.${SURVEY_RESPONSE_PROPERTY}`, 'timestamp', 'person'], + select: ['*', `properties.${surveyResponseProperty}`, 'timestamp', 'person'], orderBy: ['timestamp DESC'], where: [`event == 'survey sent'`], after: createdAt, @@ -294,8 +312,8 @@ export const surveyLogic = kea([ }, ], surveyRatingQuery: [ - (s) => [s.survey], - (survey): InsightVizNode | null => { + (s) => [s.survey, s.surveyResponseProperty], + (survey, surveyResponseProperty): InsightVizNode | null => { if (survey.id === 'new') { return null } @@ -322,15 +340,15 @@ export const surveyLogic = kea([ ], series: [{ event: SURVEY_EVENT_NAME, kind: NodeKind.EventsNode }], trendsFilter: { display: ChartDisplayType.ActionsBarValue }, - breakdown: { breakdown: '$survey_response', breakdown_type: 'event' }, + breakdown: { breakdown: surveyResponseProperty, breakdown_type: 'event' }, }, showTable: true, } }, ], surveyMultipleChoiceQuery: [ - (s) => [s.survey], - (survey): DataTableNode | null => { + (s) => [s.survey, s.surveyResponseProperty, s.currentQuestionIndexAndType], + (survey, surveyResponseProperty, currentQuestionIndexAndType): DataTableNode | null => { if (survey.id === 'new') { return null } @@ -340,14 +358,14 @@ export const surveyLogic = kea([ ? dayjs(survey.end_date).add(1, 'day').format('YYYY-MM-DD') : dayjs().add(1, 'day').format('YYYY-MM-DD') - const singleChoiceQuery = `select count(), properties.$survey_response as choice from events where event == 'survey sent' and properties.$survey_id == '${survey.id}' and timestamp >= '${startDate}' and timestamp <= '${endDate}' group by choice order by count() desc` - const multipleChoiceQuery = `select count(), arrayJoin(JSONExtractArrayRaw(properties, '$survey_response')) as choice from events where event == 'survey sent' and properties.$survey_id == '${survey.id}' and timestamp >= '${startDate}' and timestamp <= '${endDate}' group by choice order by count() desc` + const singleChoiceQuery = `select count(), properties.${surveyResponseProperty} as choice from events where event == 'survey sent' and properties.$survey_id == '${survey.id}' and timestamp >= '${startDate}' and timestamp <= '${endDate}' group by choice order by count() desc` + const multipleChoiceQuery = `select count(), arrayJoin(JSONExtractArrayRaw(properties, ${surveyResponseProperty})) as choice from events where event == 'survey sent' and properties.$survey_id == '${survey.id}' and timestamp >= '${startDate}' and timestamp <= '${endDate}' group by choice order by count() desc` return { kind: NodeKind.DataTableNode, source: { kind: NodeKind.HogQLQuery, query: - survey.questions[0].type === SurveyQuestionType.SingleChoice + currentQuestionIndexAndType.type === SurveyQuestionType.SingleChoice ? singleChoiceQuery : multipleChoiceQuery, }, From b6bb8f20c6bffcf98fe9e96949b3f03153a0dcd9 Mon Sep 17 00:00:00 2001 From: Li Yi Yu Date: Tue, 3 Oct 2023 12:47:41 -0400 Subject: [PATCH 08/11] fix(surveys): lost default appearance fix (#17740) --- .../scenes-app-surveys--new-survey.png | Bin 125504 -> 127507 bytes frontend/src/scenes/surveys/constants.ts | 14 +++++++------- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/frontend/__snapshots__/scenes-app-surveys--new-survey.png b/frontend/__snapshots__/scenes-app-surveys--new-survey.png index 26d01e6affb6bf41f00b9daf09c6074ddb74ade2..5671de85e8c52a78b98f1588efdc18166f318e14 100644 GIT binary patch literal 127507 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 literal 125504 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 z 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

    2LxT*X!Wd54+2A zT8oaD_unm2`A>NoCJJ2o5Fd-Mym`Vff5Y(7lJfFF+wH465m&L<$qfe6)*i_w@#|_n zIiavaEI7|9c*Y-%$0CI!BG-Gk9P6rmTJ=g^cIl0R_iR3Tweigc1_r`#a-ysVomg<2 z>STNG>P2+TM2{Ag!kAo#6Iy?2#4FGDVD5#>ZuxdeXEJSF^*nH`vRg+`By}y|+)dczc@rF31rPyKvA%y{_u0 zj;rbqjEFSfIL{~RSg9i_C1Wa;&Tkgqmip>3dS7Y9R>je}4eUuzR$x`wWK-B3b>ok= zY=zW_(0&X3QASdc;utfW5x-*2&D8R+LsLwXrf&9!>=w5O!8L10Op-KXB>rCWX#u{H z4X(=5)Gt@u=*cwh;Va2sT*G^VZ`NfhcD+{U+Irl{A#mHkuU=O_)J)bYYW62=(?2z7 z>h7gzIjNJG<&kXR-g#PNo<+1^&Pd$Ar`sW(&vSUD*YbXuM%I3lX1?7!ygMs?X0uPJ z_+2mT$8s<|3I{G1=GxWXOJgdXJsxSVT{5kZQokbJ>ftx-n27NOp z4>=i`z8g++5wyE^QpqOW!8dtB?F5Ho@!h0KPD5eZTgM?m#o()*>t|nZ@%ZgoZ$aU< zKY}e4T_%gp_k9W}Ol$wiqI~K?qhXJmQ78kdh8=jSGKO0iDzHl zwM=}g^`&h#VabE@jK^28cSo`~$_hRE!WQoKJ7?p;=5_4t6Vk~&EubX8?oDMe*{p;r z)^oLRUOh!|FA3(nq3xQF1jI)5_-l2&F!?)*9i%|w59Wn zrHc18%d_q>0!@vFO{%KTH-C_9ojJtGFFZSgkr{nuTdQSZYwDqJ&-`$i+2Kon3LoKw zdGEa0=H}(K`Sb&oS?oH|(D9XhEBY$$@{PRME<7n*p1$;1i&KV6N>hhlJ8L+PXFaEK zzSKpg@`_@QKLkRR2HaWe$HFeld2|-#Nin$`QZ^l2dBN`a`CO}e8;k=(%1*L`k z*Jj+5zUQczs2-*~tY~KvSAC9Rjrsp}g*m2OQ@9$G%<;Vwt78@amvU!~54q@@rz97w)EL)|3^i^%LYpWVc+r+iVduzQFZ2&5?)I`VU{7$TM7?-*%7pRM4HYFB4&z+V?*> z_pfJl&r$I(QK?ZVw7slxbfomd%Qs(wvvWTt+Qc<@mDX>$ZNXgklkeR(8(r+wM;)?n zZGRGB?80vHnwMw)w({?=EC$*`=l!@e zSxUpn`kJqG#ra(8h;8??J{=mqzq;_x@71H8jM;+Aumm#kE;?8o!stt(~}sd`xEHeQjR;kw&6JN)XW*r7th zLhZpjub)-T3R*t)c-#9~#_zS+zgMv0TnewXvXh~Jcq%XMx0!`AdCW7{=srANu_Hlbx+#;kk2+jN0R@6u5d9^DXR^6FOw$>_Hm$tHMMsuV8Zi!GKxzc3yu)0U`E%$CU>so5h zTf6p+Ja>K4_zdB5Q3DM=g@dzuvlOFLn;ggPXgFwHlogqX%&~r&&-X--VY zXQ?dzA(yi4p8_}4rOUMFFI3np&S?Ms<`zXG9-Fp^a-ZgAzC+6eW~E!XT(aQ3*?wUx z*ji!?p+K#0`T9pp>t`8njaxSiw@w*rzv;bpku^^_-PNVZxI%$l!xJfI)cXC+#k1wd za{Wdpns}D;Eq5@IFZJy>>>u($BxlIe*Cy6VrZIO*oUpgG?&$cQcfZ=jD22-85bothqexw}HX( zyvGmu4QreH8Sx5!C5rRzNsQ`fwCX2tuM(Y3V5APCrbp569tnwmz)+-7YpRP-;9<*8 z-Jh5L_a+*vVbvN91X9`k9b&spJBKsw8+-1`%Ae=|oBRll7@%Y*KVqS5S;E8fAz3@L z(c+)-Bft^_p%51Vu*^|L9(mU*5xeyS|+|Nj@@;`(o21Mh*UTmC0!q_r3CqV2#qaQL^l IeJ9=iKNt{PZU6uP diff --git a/frontend/src/scenes/surveys/constants.ts b/frontend/src/scenes/surveys/constants.ts index fa14c9310288c..47acdf8d679cf 100644 --- a/frontend/src/scenes/surveys/constants.ts +++ b/frontend/src/scenes/surveys/constants.ts @@ -12,17 +12,17 @@ export const SurveyQuestionLabel = { } export const defaultSurveyAppearance = { - backgroundColor: 'white', - textColor: 'black', + backgroundColor: '#eeeded', submitButtonText: 'Submit', - submitButtonColor: '#2c2c2c', - ratingButtonColor: '#e0e2e8', - descriptionTextColor: '#4b4b52', + submitButtonColor: 'black', + ratingButtonColor: 'white', + ratingButtonActiveColor: 'black', + borderColor: '#c9c6c6', + placeholder: '', whiteLabel: false, displayThankYouMessage: true, - placeholder: '', - position: 'right', thankYouMessageHeader: 'Thank you for your feedback!', + position: 'right', } export const defaultSurveyFieldValues = { From 3b4aaf093a83d2b7f260c4800b69a4b08512eecc Mon Sep 17 00:00:00 2001 From: Robbie Date: Tue, 3 Oct 2023 18:14:03 +0100 Subject: [PATCH 09/11] feat(web-analytics): Add overview stats (#17722) * Move web analytics CTEs to their own file * Add overview stats query * Add very basic structure of web dashboard * Add missing entry in SavedInsights * Move session_cte into from * Replace dashboard css with "tailwind" * Make top pages query not a f-string --- .../queries/nodes/DataTable/queryFeatures.ts | 8 +- frontend/src/queries/schema.json | 60 ++++++++ frontend/src/queries/schema.ts | 14 ++ frontend/src/queries/utils.ts | 5 +- .../scenes/saved-insights/SavedInsights.tsx | 6 + .../web-analytics/WebAnalyticsScene.tsx | 44 +----- .../src/scenes/web-analytics/WebDashboard.tsx | 21 +++ .../scenes/web-analytics/webAnalyticsLogic.ts | 56 ++++++- frontend/src/styles/utilities.scss | 105 ++++++++++++++ posthog/api/query.py | 1 + posthog/hogql_queries/query_runner.py | 5 + posthog/hogql_queries/web_analytics/ctes.py | 78 ++++++++++ .../web_analytics/overview_stats.py | 59 ++++++++ .../hogql_queries/web_analytics/top_pages.py | 137 ++++-------------- .../web_analytics/top_sources.py | 80 +--------- posthog/schema.py | 25 ++++ tailwind.config.js | 14 +- 17 files changed, 482 insertions(+), 236 deletions(-) create mode 100644 frontend/src/scenes/web-analytics/WebDashboard.tsx create mode 100644 posthog/hogql_queries/web_analytics/ctes.py create mode 100644 posthog/hogql_queries/web_analytics/overview_stats.py diff --git a/frontend/src/queries/nodes/DataTable/queryFeatures.ts b/frontend/src/queries/nodes/DataTable/queryFeatures.ts index eacd6ed5e31d1..7416b323d0418 100644 --- a/frontend/src/queries/nodes/DataTable/queryFeatures.ts +++ b/frontend/src/queries/nodes/DataTable/queryFeatures.ts @@ -2,6 +2,7 @@ import { isEventsQuery, isHogQLQuery, isPersonsNode, + isWebOverviewStatsQuery, isWebTopClicksQuery, isWebTopPagesQuery, isWebTopSourcesQuery, @@ -47,7 +48,12 @@ export function getQueryFeatures(query: Node): Set { features.add(QueryFeature.personsSearch) } - if (isWebTopSourcesQuery(query) || isWebTopPagesQuery(query) || isWebTopClicksQuery(query)) { + if ( + isWebOverviewStatsQuery(query) || + isWebTopSourcesQuery(query) || + isWebTopPagesQuery(query) || + isWebTopClicksQuery(query) + ) { features.add(QueryFeature.columnsInResponse) features.add(QueryFeature.resultIsArrayOfArrays) } diff --git a/frontend/src/queries/schema.json b/frontend/src/queries/schema.json index cb13caa4be23e..6517179ed4c38 100644 --- a/frontend/src/queries/schema.json +++ b/frontend/src/queries/schema.json @@ -96,6 +96,9 @@ { "$ref": "#/definitions/TimeToSeeDataSessionsQuery" }, + { + "$ref": "#/definitions/WebOverviewStatsQuery" + }, { "$ref": "#/definitions/WebTopSourcesQuery" }, @@ -399,6 +402,9 @@ { "$ref": "#/definitions/TimeToSeeDataSessionsQuery" }, + { + "$ref": "#/definitions/WebOverviewStatsQuery" + }, { "$ref": "#/definitions/WebTopSourcesQuery" }, @@ -2293,6 +2299,60 @@ "type": "object" }, "WebAnalyticsFilters": {}, + "WebOverviewStatsQuery": { + "additionalProperties": false, + "properties": { + "dateRange": { + "$ref": "#/definitions/DateRange" + }, + "filters": { + "$ref": "#/definitions/WebAnalyticsFilters" + }, + "kind": { + "const": "WebOverviewStatsQuery", + "type": "string" + }, + "response": { + "$ref": "#/definitions/WebOverviewStatsQueryResponse" + } + }, + "required": ["kind", "filters"], + "type": "object" + }, + "WebOverviewStatsQueryResponse": { + "additionalProperties": false, + "properties": { + "columns": { + "items": {}, + "type": "array" + }, + "is_cached": { + "type": "boolean" + }, + "last_refresh": { + "type": "string" + }, + "next_allowed_client_refresh": { + "type": "string" + }, + "result": { + "items": {}, + "type": "array" + }, + "timings": { + "items": { + "$ref": "#/definitions/QueryTiming" + }, + "type": "array" + }, + "types": { + "items": {}, + "type": "array" + } + }, + "required": ["result"], + "type": "object" + }, "WebTopClicksQuery": { "additionalProperties": false, "properties": { diff --git a/frontend/src/queries/schema.ts b/frontend/src/queries/schema.ts index 3ce97fb670b76..4d3d06b98321c 100644 --- a/frontend/src/queries/schema.ts +++ b/frontend/src/queries/schema.ts @@ -58,6 +58,7 @@ export enum NodeKind { LifecycleQuery = 'LifecycleQuery', // Web analytics queries + WebOverviewStatsQuery = 'WebOverviewStatsQuery', WebTopSourcesQuery = 'WebTopSourcesQuery', WebTopPagesQuery = 'WebTopPagesQuery', WebTopClicksQuery = 'WebTopClicksQuery', @@ -80,6 +81,7 @@ export type AnyDataNode = | HogQLQuery | HogQLMetadata | TimeToSeeDataSessionsQuery + | WebOverviewStatsQuery | WebTopSourcesQuery | WebTopClicksQuery | WebTopPagesQuery @@ -293,6 +295,7 @@ export interface DataTableNode extends Node, DataTableNodeViewProps { | PersonsNode | HogQLQuery | TimeToSeeDataSessionsQuery + | WebOverviewStatsQuery | WebTopSourcesQuery | WebTopClicksQuery | WebTopPagesQuery @@ -507,6 +510,17 @@ export interface WebAnalyticsQueryBase { dateRange?: DateRange } +export interface WebOverviewStatsQuery extends WebAnalyticsQueryBase { + kind: NodeKind.WebOverviewStatsQuery + filters: WebAnalyticsFilters + response?: WebOverviewStatsQueryResponse +} + +export interface WebOverviewStatsQueryResponse extends QueryResponse { + result: unknown[] + types?: unknown[] + columns?: unknown[] +} export interface WebTopSourcesQuery extends WebAnalyticsQueryBase { kind: NodeKind.WebTopSourcesQuery filters: WebAnalyticsFilters diff --git a/frontend/src/queries/utils.ts b/frontend/src/queries/utils.ts index cdbfcedfafb90..463f0f727dfd4 100644 --- a/frontend/src/queries/utils.ts +++ b/frontend/src/queries/utils.ts @@ -29,6 +29,7 @@ import { WebTopSourcesQuery, WebTopClicksQuery, WebTopPagesQuery, + WebOverviewStatsQuery, } from '~/queries/schema' import { TaxonomicFilterGroupType, TaxonomicFilterValue } from 'lib/components/TaxonomicFilter/types' import { dayjs } from 'lib/dayjs' @@ -92,7 +93,9 @@ export function isInsightVizNode(node?: Node | null): node is InsightVizNode { export function isHogQLQuery(node?: Node | null): node is HogQLQuery { return node?.kind === NodeKind.HogQLQuery } - +export function isWebOverviewStatsQuery(node?: Node | null): node is WebOverviewStatsQuery { + return node?.kind === NodeKind.WebOverviewStatsQuery +} export function isWebTopSourcesQuery(node?: Node | null): node is WebTopSourcesQuery { return node?.kind === NodeKind.WebTopSourcesQuery } diff --git a/frontend/src/scenes/saved-insights/SavedInsights.tsx b/frontend/src/scenes/saved-insights/SavedInsights.tsx index cf2265f308ae9..b38b2df5c0790 100644 --- a/frontend/src/scenes/saved-insights/SavedInsights.tsx +++ b/frontend/src/scenes/saved-insights/SavedInsights.tsx @@ -242,6 +242,12 @@ export const QUERY_TYPES_METADATA: Record = { icon: InsightSQLIcon, inMenu: true, }, + [NodeKind.WebOverviewStatsQuery]: { + name: 'Overview Stats', + description: 'View overview stats for a website', + icon: InsightsTrendsIcon, + inMenu: true, + }, [NodeKind.WebTopSourcesQuery]: { name: 'Top Sources', description: 'View top sources for a website', diff --git a/frontend/src/scenes/web-analytics/WebAnalyticsScene.tsx b/frontend/src/scenes/web-analytics/WebAnalyticsScene.tsx index 4fb41fe7261cc..a154bb7006ebe 100644 --- a/frontend/src/scenes/web-analytics/WebAnalyticsScene.tsx +++ b/frontend/src/scenes/web-analytics/WebAnalyticsScene.tsx @@ -1,49 +1,9 @@ import { SceneExport } from 'scenes/sceneTypes' import { webAnalyticsLogic } from 'scenes/web-analytics/webAnalyticsLogic' -import { Query } from '~/queries/Query/Query' -import { NodeKind } from '~/queries/schema' +import { WebAnalyticsDashboard } from 'scenes/web-analytics/WebDashboard' export function WebAnalyticsScene(): JSX.Element { - return ( -

    - Top sources - - Top clicks - - Top pages - -
    - ) + return } export const scene: SceneExport = { diff --git a/frontend/src/scenes/web-analytics/WebDashboard.tsx b/frontend/src/scenes/web-analytics/WebDashboard.tsx new file mode 100644 index 0000000000000..35485ad82b70e --- /dev/null +++ b/frontend/src/scenes/web-analytics/WebDashboard.tsx @@ -0,0 +1,21 @@ +import { Query } from '~/queries/Query/Query' +import { useValues } from 'kea' +import { webAnalyticsLogic } from 'scenes/web-analytics/webAnalyticsLogic' + +export const WebAnalyticsDashboard = (): JSX.Element => { + const { tiles } = useValues(webAnalyticsLogic) + return ( +
    + {tiles.map(({ query, layout }, i) => ( +
    + +
    + ))} +
    + ) +} diff --git a/frontend/src/scenes/web-analytics/webAnalyticsLogic.ts b/frontend/src/scenes/web-analytics/webAnalyticsLogic.ts index ccb9f70f8857e..42ec60f4642d5 100644 --- a/frontend/src/scenes/web-analytics/webAnalyticsLogic.ts +++ b/frontend/src/scenes/web-analytics/webAnalyticsLogic.ts @@ -1,13 +1,67 @@ import { actions, connect, kea, listeners, path, reducers, selectors, sharedListeners } from 'kea' import type { webAnalyticsLogicType } from './webAnalyticsLogicType' +import { NodeKind, QuerySchema } from '~/queries/schema' +interface Layout { + colSpan?: number + rowSpan?: number +} +export interface WebDashboardTile { + query: QuerySchema + layout: Layout +} export const webAnalyticsLogic = kea([ path(['scenes', 'webAnalytics', 'webAnalyticsSceneLogic']), connect({}), actions({}), reducers({}), - selectors(() => ({})), + selectors({ + tiles: [ + () => [], + (): WebDashboardTile[] => [ + { + layout: { + colSpan: 12, + }, + query: { + full: true, + kind: NodeKind.DataTableNode, + source: { + kind: NodeKind.WebOverviewStatsQuery, + filters: {}, + }, + }, + }, + { + layout: { + colSpan: 6, + }, + query: { + full: true, + kind: NodeKind.DataTableNode, + source: { + kind: NodeKind.WebTopPagesQuery, + filters: {}, + }, + }, + }, + { + layout: { + colSpan: 6, + }, + query: { + full: true, + kind: NodeKind.DataTableNode, + source: { + kind: NodeKind.WebTopSourcesQuery, + filters: {}, + }, + }, + }, + ], + ], + }), sharedListeners(() => ({})), listeners(() => ({})), ]) diff --git a/frontend/src/styles/utilities.scss b/frontend/src/styles/utilities.scss index 745375f1c3f57..24664fb521a6b 100644 --- a/frontend/src/styles/utilities.scss +++ b/frontend/src/styles/utilities.scss @@ -506,6 +506,14 @@ $decorations: underline, overline, line-through, no-underline; display: inline; } +.grid { + display: grid; +} + +.inline-grid { + display: inline-grid; +} + .hidden { display: none; } @@ -619,6 +627,103 @@ $decorations: underline, overline, line-through, no-underline; align-self: baseline; } +// Grid Template Columns +@for $i from 1 through 12 { + .grid-cols-#{$i} { + grid-template-columns: repeat(#{$i}, minmax(0, 1fr)); + } +} +.grid-cols-none { + grid-template-columns: none; +} + +// Grid Column Start/End +.col-auto { + grid-column: auto; +} + +@for $i from 1 through 12 { + .col-span-#{$i} { + grid-column: span #{$i} / span #{$i}; + } +} +.col-span-full { + grid-column: 1 / -1; +} + +@for $i from 1 through 13 { + .col-start-#{$i} { + grid-column-start: #{$i}; + } +} +.col-start-auto { + grid-column-start: auto; +} + +@for $i from 1 through 13 { + .col-end-#{$i} { + grid-column-end: #{$i}; + } +} +.col-end-auto { + grid-column-end: auto; +} + +// Grid Row Start/End +.row-auto { + grid-row: auto; +} + +@for $i from 1 through 6 { + .row-span-#{$i} { + grid-row: span #{$i} / span #{$i}; + } +} +.row-span-full { + grid-row: 1 / -1; +} + +@for $i from 1 through 7 { + .row-start-#{$i} { + grid-row-start: #{$i}; + } +} +.row-start-auto { + grid-row-start: auto; +} + +@for $i from 1 through 7 { + .row-end-#{$i} { + grid-row-end: #{$i}; + } +} +.row-end-auto { + grid-row-end: auto; +} + +// Gap +@each $space in $all_spaces { + .gap-#{escape-number($space)} { + gap: #{$space * 0.25}rem; + } + .gap-x-#{escape-number($space)} { + column-gap: #{$space * 0.25}rem; + } + .gap-y-#{escape-number($space)} { + row-gap: #{$space * 0.25}rem; + } +} +.gap-px { + gap: 1px; +} +.gap-x-px { + column-gap: 1px; +} +.gap-y-px { + row-gap: 1px; +} + +// Typography .font-thin { font-weight: 100; } diff --git a/posthog/api/query.py b/posthog/api/query.py index cb3ea78fad090..078bf8cd3eaee 100644 --- a/posthog/api/query.py +++ b/posthog/api/query.py @@ -41,6 +41,7 @@ QUERY_WITH_RUNNER = [ "LifecycleQuery", "TrendsQuery", + "WebOverviewStatsQuery", "WebTopSourcesQuery", "WebTopClicksQuery", "WebTopPagesQuery", diff --git a/posthog/hogql_queries/query_runner.py b/posthog/hogql_queries/query_runner.py index d8b51dd959343..915fd79de9ee3 100644 --- a/posthog/hogql_queries/query_runner.py +++ b/posthog/hogql_queries/query_runner.py @@ -21,6 +21,7 @@ WebTopSourcesQuery, WebTopClicksQuery, WebTopPagesQuery, + WebOverviewStatsQuery, ) from posthog.utils import generate_cache_key, get_safe_cache @@ -61,6 +62,7 @@ class CachedQueryResponse(QueryResponse): RunnableQueryNode = Union[ TrendsQuery, LifecycleQuery, + WebOverviewStatsQuery, WebTopSourcesQuery, WebTopClicksQuery, WebTopPagesQuery, @@ -84,7 +86,10 @@ def get_query_runner( from .insights.trends_query_runner import TrendsQueryRunner return TrendsQueryRunner(query=cast(TrendsQuery | Dict[str, Any], query), team=team, timings=timings) + if kind == "WebOverviewStatsQuery": + from .web_analytics.overview_stats import WebOverviewStatsQueryRunner + return WebOverviewStatsQueryRunner(query=query, team=team, timings=timings) if kind == "WebTopSourcesQuery": from .web_analytics.top_sources import WebTopSourcesQueryRunner diff --git a/posthog/hogql_queries/web_analytics/ctes.py b/posthog/hogql_queries/web_analytics/ctes.py new file mode 100644 index 0000000000000..8fcd85b960a4f --- /dev/null +++ b/posthog/hogql_queries/web_analytics/ctes.py @@ -0,0 +1,78 @@ +# The intention is for these CTEs to become materialized views for performance reasons, but +# while these queries are under development they are left as CTEs so that they can be iterated +# on without needing database migrations + +SESSION_CTE = """ +SELECT + events.properties.`$session_id` AS session_id, + min(events.timestamp) AS min_timestamp, + max(events.timestamp) AS max_timestamp, + dateDiff('second', min_timestamp, max_timestamp) AS duration_s, + + argMin(events.properties.`$referrer`, events.timestamp) AS earliest_referrer, + argMin(events.properties.`$pathname`, events.timestamp) AS earliest_pathname, + argMax(events.properties.`$pathname`, events.timestamp ) AS latest_pathname, + argMax(events.properties.utm_source, events.timestamp) AS earliest_utm_source, + + if(domain(earliest_referrer) = '', earliest_referrer, domain(earliest_referrer)) AS referrer_domain, + multiIf( + earliest_utm_source IS NOT NULL, earliest_utm_source, + -- This will need to be an approach that scales better + referrer_domain == 'app.posthog.com', 'posthog', + referrer_domain == 'eu.posthog.com', 'posthog', + referrer_domain == 'posthog.com', 'posthog', + referrer_domain == 'www.google.com', 'google', + referrer_domain == 'www.google.co.uk', 'google', + referrer_domain == 'www.google.com.hk', 'google', + referrer_domain == 'www.google.de', 'google', + referrer_domain == 't.co', 'twitter', + referrer_domain == 'github.com', 'github', + referrer_domain == 'duckduckgo.com', 'duckduckgo', + referrer_domain == 'www.bing.com', 'bing', + referrer_domain == 'bing.com', 'bing', + referrer_domain == 'yandex.ru', 'yandex', + referrer_domain == 'quora.com', 'quora', + referrer_domain == 'www.quora.com', 'quora', + referrer_domain == 'linkedin.com', 'linkedin', + referrer_domain == 'www.linkedin.com', 'linkedin', + startsWith(referrer_domain, 'http://localhost:'), 'localhost', + referrer_domain + ) AS blended_source, + + countIf(events.event == '$pageview') AS num_pageviews, + countIf(events.event == '$autocapture') AS num_autocaptures, + -- in v1 we'd also want to count whether there were any conversion events + + any(events.person_id) as person_id, + -- definition of a GA4 bounce from here https://support.google.com/analytics/answer/12195621?hl=en + (num_autocaptures == 0 AND num_pageviews <= 1 AND duration_s < 10) AS is_bounce +FROM + events +WHERE + session_id IS NOT NULL +AND + events.timestamp >= now() - INTERVAL 8 DAY +GROUP BY + events.properties.`$session_id` +HAVING + min_timestamp >= now() - INTERVAL 7 DAY + """ + +PATHNAME_CTE = """ +SELECT + events.properties.`$prev_pageview_pathname` AS pathname, + countIf(events.event == '$pageview') as total_pageviews, + COUNT(DISTINCT events.properties.distinct_id) as unique_visitors, -- might want to use person id? have seen a small number of pages where unique > total + avg(CASE + WHEN toFloat(JSONExtractRaw(events.properties, '$prev_pageview_max_content_percentage')) IS NULL THEN NULL + WHEN toFloat(JSONExtractRaw(events.properties, '$prev_pageview_max_content_percentage')) > 0.8 THEN 100 + ELSE 0 + END) AS scroll_gt80_percentage, + avg(toFloat(JSONExtractRaw(events.properties, '$prev_pageview_max_scroll_percentage'))) as average_scroll_percentage +FROM + events +WHERE + (event = '$pageview' OR event = '$pageleave') AND events.properties.`$prev_pageview_pathname` IS NOT NULL + AND events.timestamp >= now() - INTERVAL 7 DAY +GROUP BY pathname +""" diff --git a/posthog/hogql_queries/web_analytics/overview_stats.py b/posthog/hogql_queries/web_analytics/overview_stats.py new file mode 100644 index 0000000000000..810cab5111ffe --- /dev/null +++ b/posthog/hogql_queries/web_analytics/overview_stats.py @@ -0,0 +1,59 @@ +from django.utils.timezone import datetime + +from posthog.hogql import ast +from posthog.hogql.parser import parse_select, parse_expr +from posthog.hogql.query import execute_hogql_query +from posthog.hogql_queries.utils.query_date_range import QueryDateRange +from posthog.hogql_queries.web_analytics.web_analytics_query_runner import WebAnalyticsQueryRunner +from posthog.models.filters.mixins.utils import cached_property +from posthog.schema import WebOverviewStatsQueryResponse, WebOverviewStatsQuery + + +class WebOverviewStatsQueryRunner(WebAnalyticsQueryRunner): + query: WebOverviewStatsQuery + query_type = WebOverviewStatsQuery + + def to_query(self) -> ast.SelectQuery | ast.SelectUnionQuery: + with self.timings.measure("date_expr"): + start = parse_expr("today() - 14") + mid = parse_expr("today() - 7") + end = parse_expr("today()") + with self.timings.measure("overview_stats_query"): + overview_stats_query = parse_select( + """ +SELECT + uniq(if(timestamp >= {mid} AND timestamp < {end}, events.distinct_id, NULL)) AS current_week_unique_users, + uniq(if(timestamp >= {start} AND timestamp < {mid}, events.distinct_id, NULL)) AS previous_week_unique_users, + + uniq(if(timestamp >= {mid} AND timestamp < {end}, events.properties.$session_id, NULL)) AS current_week_unique_sessions, + uniq(if(timestamp >= {start} AND timestamp < {mid}, events.properties.$session_id, NULL)) AS previous_week_unique_sessions, + + countIf(timestamp >= {mid} AND timestamp < {end}) AS current_week_pageviews, + countIf(timestamp >= {start} AND timestamp < {mid}) AS previous_week_pageviews +FROM + events +WHERE + event = '$pageview' AND + timestamp >= {start} AND + timestamp < {end} + """, + timings=self.timings, + placeholders={"start": start, "mid": mid, "end": end}, + ) + return overview_stats_query + + def calculate(self): + response = execute_hogql_query( + query_type="overview_stats_query", + query=self.to_query(), + team=self.team, + timings=self.timings, + ) + + return WebOverviewStatsQueryResponse( + columns=response.columns, result=response.results, timings=response.timings, types=response.types + ) + + @cached_property + def query_date_range(self): + return QueryDateRange(date_range=self.query.dateRange, team=self.team, interval=None, now=datetime.now()) diff --git a/posthog/hogql_queries/web_analytics/top_pages.py b/posthog/hogql_queries/web_analytics/top_pages.py index 7ded183b80d1b..3c2db51de8504 100644 --- a/posthog/hogql_queries/web_analytics/top_pages.py +++ b/posthog/hogql_queries/web_analytics/top_pages.py @@ -3,6 +3,7 @@ from posthog.hogql import ast from posthog.hogql.parser import parse_select from posthog.hogql.query import execute_hogql_query +from posthog.hogql_queries.web_analytics.ctes import SESSION_CTE, PATHNAME_CTE from posthog.hogql_queries.web_analytics.web_analytics_query_runner import WebAnalyticsQueryRunner from posthog.hogql_queries.utils.query_date_range import QueryDateRange from posthog.models.filters.mixins.utils import cached_property @@ -14,123 +15,39 @@ class WebTopPagesQueryRunner(WebAnalyticsQueryRunner): query_type = WebTopPagesQuery def to_query(self) -> ast.SelectQuery | ast.SelectUnionQuery: + with self.timings.measure("session_query"): + session_query = parse_select(SESSION_CTE, timings=self.timings) + with self.timings.measure("pathname_query"): + pathname_query = parse_select(PATHNAME_CTE, timings=self.timings) with self.timings.measure("top_pages_query"): top_sources_query = parse_select( """ -WITH - -scroll_depth_cte AS ( -SELECT - events.properties.`$prev_pageview_pathname` AS pathname, - countIf(events.event == '$pageview') as total_pageviews, - COUNT(DISTINCT events.properties.distinct_id) as unique_visitors, -- might want to use person id? have seen a small number of pages where unique > total - avg(CASE - WHEN events.properties.`$prev_pageview_max_content_percentage` IS NULL THEN NULL - WHEN events.properties.`$prev_pageview_max_content_percentage` > 0.8 THEN 100 - ELSE 0 - END) AS scroll_gt80_percentage, - avg(events.properties.$prev_pageview_max_scroll_percentage) * 100 as average_scroll_percentage -FROM - events -WHERE - (event = '$pageview' OR event = '$pageleave') AND events.properties.`$prev_pageview_pathname` IS NOT NULL - AND events.timestamp >= now() - INTERVAL 7 DAY -GROUP BY pathname -) - -, - -session_cte AS ( SELECT - events.properties.`$session_id` AS session_id, - min(events.timestamp) AS min_timestamp, - max(events.timestamp) AS max_timestamp, - dateDiff('second', min_timestamp, max_timestamp) AS duration_s, - - -- create a tuple so that these are grouped in the same order, see https://github.com/ClickHouse/ClickHouse/discussions/42338 - groupArray((events.timestamp, events.properties.`$referrer`, events.properties.`$pathname`, events.properties.utm_source)) AS tuple_array, - arrayFirstIndex(x -> tupleElement(x, 1) == min_timestamp, tuple_array) as index_of_earliest, - arrayFirstIndex(x -> tupleElement(x, 1) == max_timestamp, tuple_array) as index_of_latest, - tupleElement(arrayElement( - tuple_array, - index_of_earliest - ), 2) AS earliest_referrer, - tupleElement(arrayElement( - tuple_array, - index_of_earliest - ), 3) AS earliest_pathname, - tupleElement(arrayElement( - tuple_array, - index_of_earliest - ), 4) AS earliest_utm_source, - - if(domain(earliest_referrer) = '', earliest_referrer, domain(earliest_referrer)) AS referrer_domain, - multiIf( - earliest_utm_source IS NOT NULL, earliest_utm_source, - -- This will need to be an approach that scales better - referrer_domain == 'app.posthog.com', 'posthog', - referrer_domain == 'eu.posthog.com', 'posthog', - referrer_domain == 'posthog.com', 'posthog', - referrer_domain == 'www.google.com', 'google', - referrer_domain == 'www.google.co.uk', 'google', - referrer_domain == 'www.google.com.hk', 'google', - referrer_domain == 'www.google.de', 'google', - referrer_domain == 't.co', 'twitter', - referrer_domain == 'github.com', 'github', - referrer_domain == 'duckduckgo.com', 'duckduckgo', - referrer_domain == 'www.bing.com', 'bing', - referrer_domain == 'bing.com', 'bing', - referrer_domain == 'yandex.ru', 'yandex', - referrer_domain == 'quora.com', 'quora', - referrer_domain == 'www.quora.com', 'quora', - referrer_domain == 'linkedin.com', 'linkedin', - referrer_domain == 'www.linkedin.com', 'linkedin', - startsWith(referrer_domain, 'http://localhost:'), 'localhost', - referrer_domain - ) AS blended_source, - - countIf(events.event == '$pageview') AS num_pageviews, - countIf(events.event == '$autocapture') AS num_autocaptures, - -- in v1 we'd also want to count whether there were any conversion events - - any(events.person_id) as person_id, - -- definition of a GA4 bounce from here https://support.google.com/analytics/answer/12195621?hl=en - (num_autocaptures == 0 AND num_pageviews <= 1 AND duration_s < 10) AS is_bounce -FROM - events -WHERE - session_id IS NOT NULL -AND - events.timestamp >= now() - INTERVAL 8 DAY -GROUP BY - events.properties.`$session_id` -HAVING - min_timestamp >= now() - INTERVAL 7 DAY -) - -, - -bounce_rate_cte AS ( -SELECT session_cte.earliest_pathname, - avg(session_cte.is_bounce) as bounce_rate -FROM session_cte -GROUP BY earliest_pathname -) - - - -SELECT scroll_depth_cte.pathname as pathname, -scroll_depth_cte.total_pageviews as total_pageviews, -scroll_depth_cte.unique_visitors as unique_visitors, -scroll_depth_cte.scroll_gt80_percentage as scroll_gt80_percentage, -scroll_depth_cte.average_scroll_percentage as average_scroll_percentage, -bounce_rate_cte.bounce_rate as bounce_rate + pathname.pathname as pathname, + pathname.total_pageviews as total_pageviews, + pathname.unique_visitors as unique_visitors, + pathname.scroll_gt80_percentage as scroll_gt80_percentage, + pathname.average_scroll_percentage as average_scroll_percentage, + bounce_rate.bounce_rate as bounce_rate FROM - scroll_depth_cte LEFT OUTER JOIN bounce_rate_cte -ON scroll_depth_cte.pathname = bounce_rate_cte.earliest_pathname -ORDER BY total_pageviews DESC + {pathname_query} AS pathname +LEFT OUTER JOIN + ( + SELECT + session.earliest_pathname, + avg(session.is_bounce) as bounce_rate + FROM + {session_query} AS session + GROUP BY + session.earliest_pathname + ) AS bounce_rate +ON + pathname.pathname = bounce_rate.earliest_pathname +ORDER BY + total_pageviews DESC """, timings=self.timings, + placeholders={"pathname_query": pathname_query, "session_query": session_query}, ) return top_sources_query diff --git a/posthog/hogql_queries/web_analytics/top_sources.py b/posthog/hogql_queries/web_analytics/top_sources.py index 2762627c6002d..2071eae4d5472 100644 --- a/posthog/hogql_queries/web_analytics/top_sources.py +++ b/posthog/hogql_queries/web_analytics/top_sources.py @@ -3,8 +3,9 @@ from posthog.hogql import ast from posthog.hogql.parser import parse_select from posthog.hogql.query import execute_hogql_query -from posthog.hogql_queries.web_analytics.web_analytics_query_runner import WebAnalyticsQueryRunner from posthog.hogql_queries.utils.query_date_range import QueryDateRange +from posthog.hogql_queries.web_analytics.ctes import SESSION_CTE +from posthog.hogql_queries.web_analytics.web_analytics_query_runner import WebAnalyticsQueryRunner from posthog.models.filters.mixins.utils import cached_property from posthog.schema import WebTopSourcesQuery, WebTopSourcesQueryResponse @@ -14,88 +15,18 @@ class WebTopSourcesQueryRunner(WebAnalyticsQueryRunner): query_type = WebTopSourcesQuery def to_query(self) -> ast.SelectQuery | ast.SelectUnionQuery: + with self.timings.measure("session_query"): + session_query = parse_select(SESSION_CTE, timings=self.timings) with self.timings.measure("top_sources_query"): top_sources_query = parse_select( """ -WITH - -session_cte AS ( -SELECT - events.properties.`$session_id` AS session_id, - min(events.timestamp) AS min_timestamp, - max(events.timestamp) AS max_timestamp, - dateDiff('second', min_timestamp, max_timestamp) AS duration_s, - - -- create a tuple so that these are grouped in the same order, see https://github.com/ClickHouse/ClickHouse/discussions/42338 - groupArray((events.timestamp, events.properties.`$referrer`, events.properties.`$pathname`, events.properties.utm_source)) AS tuple_array, - arrayFirstIndex(x -> tupleElement(x, 1) == min_timestamp, tuple_array) as index_of_earliest, - arrayFirstIndex(x -> tupleElement(x, 1) == max_timestamp, tuple_array) as index_of_latest, - tupleElement(arrayElement( - tuple_array, - index_of_earliest - ), 2) AS earliest_referrer, - tupleElement(arrayElement( - tuple_array, - index_of_earliest - ), 3) AS earliest_pathname, - tupleElement(arrayElement( - tuple_array, - index_of_earliest - ), 4) AS earliest_utm_source, - - if(domain(earliest_referrer) = '', earliest_referrer, domain(earliest_referrer)) AS referrer_domain, - multiIf( - earliest_utm_source IS NOT NULL, earliest_utm_source, - -- This will need to be an approach that scales better - referrer_domain == 'app.posthog.com', 'posthog', - referrer_domain == 'eu.posthog.com', 'posthog', - referrer_domain == 'posthog.com', 'posthog', - referrer_domain == 'www.google.com', 'google', - referrer_domain == 'www.google.co.uk', 'google', - referrer_domain == 'www.google.com.hk', 'google', - referrer_domain == 'www.google.de', 'google', - referrer_domain == 't.co', 'twitter', - referrer_domain == 'github.com', 'github', - referrer_domain == 'duckduckgo.com', 'duckduckgo', - referrer_domain == 'www.bing.com', 'bing', - referrer_domain == 'bing.com', 'bing', - referrer_domain == 'yandex.ru', 'yandex', - referrer_domain == 'quora.com', 'quora', - referrer_domain == 'www.quora.com', 'quora', - referrer_domain == 'linkedin.com', 'linkedin', - referrer_domain == 'www.linkedin.com', 'linkedin', - startsWith(referrer_domain, 'http://localhost:'), 'localhost', - referrer_domain - ) AS blended_source, - - countIf(events.event == '$pageview') AS num_pageviews, - countIf(events.event == '$autocapture') AS num_autocaptures, - -- in v1 we'd also want to count whether there were any conversion events - - any(events.person_id) as person_id, - -- definition of a GA4 bounce from here https://support.google.com/analytics/answer/12195621?hl=en - (num_autocaptures == 0 AND num_pageviews <= 1 AND duration_s < 10) AS is_bounce -FROM - events -WHERE - session_id IS NOT NULL -AND - events.timestamp >= now() - INTERVAL 8 DAY -GROUP BY - events.properties.`$session_id` -HAVING - min_timestamp >= now() - INTERVAL 7 DAY -) - - - SELECT blended_source, count(num_pageviews) as total_pageviews, count(DISTINCT person_id) as unique_visitors, avg(is_bounce) AS bounce_rate FROM - session_cte + {session_query} WHERE blended_source IS NOT NULL GROUP BY blended_source @@ -104,6 +35,7 @@ def to_query(self) -> ast.SelectQuery | ast.SelectUnionQuery: LIMIT 100 """, timings=self.timings, + placeholders={"session_query": session_query}, ) return top_sources_query diff --git a/posthog/schema.py b/posthog/schema.py index d1a0244579bcf..0bde69bffeceb 100644 --- a/posthog/schema.py +++ b/posthog/schema.py @@ -468,6 +468,19 @@ class TrendsQueryResponse(BaseModel): timings: Optional[List[QueryTiming]] = None +class WebOverviewStatsQueryResponse(BaseModel): + model_config = ConfigDict( + extra="forbid", + ) + columns: Optional[List] = None + is_cached: Optional[bool] = None + last_refresh: Optional[str] = None + next_allowed_client_refresh: Optional[str] = None + result: List + timings: Optional[List[QueryTiming]] = None + types: Optional[List] = None + + class WebTopClicksQueryResponse(BaseModel): model_config = ConfigDict( extra="forbid", @@ -693,6 +706,16 @@ class TimeToSeeDataSessionsQuery(BaseModel): teamId: Optional[float] = Field(default=None, description="Project to filter on. Defaults to current project") +class WebOverviewStatsQuery(BaseModel): + model_config = ConfigDict( + extra="forbid", + ) + dateRange: Optional[DateRange] = None + filters: Any + kind: Literal["WebOverviewStatsQuery"] = "WebOverviewStatsQuery" + response: Optional[WebOverviewStatsQueryResponse] = None + + class WebTopClicksQuery(BaseModel): model_config = ConfigDict( extra="forbid", @@ -1060,6 +1083,7 @@ class DataTableNode(BaseModel): PersonsNode, HogQLQuery, TimeToSeeDataSessionsQuery, + WebOverviewStatsQuery, WebTopSourcesQuery, WebTopClicksQuery, WebTopPagesQuery, @@ -1340,6 +1364,7 @@ class Model(RootModel): HogQLQuery, HogQLMetadata, TimeToSeeDataSessionsQuery, + WebOverviewStatsQuery, WebTopSourcesQuery, WebTopClicksQuery, WebTopPagesQuery, diff --git a/tailwind.config.js b/tailwind.config.js index 0d535f72c8a60..661c4211f7756 100644 --- a/tailwind.config.js +++ b/tailwind.config.js @@ -139,13 +139,13 @@ module.exports = { // 'gridAutoColumns', // The grid-auto-columns utilities like auto-cols-min // 'gridAutoFlow', // The grid-auto-flow utilities like grid-flow-dense // 'gridAutoRows', // The grid-auto-rows utilities like auto-rows-min - // 'gridColumn', // The grid-column utilities like col-span-6 - // 'gridColumnEnd', // The grid-column-end utilities like col-end-7 - // 'gridColumnStart', // The grid-column-start utilities like col-start-7 - // 'gridRow', // The grid-row utilities like row-span-3 - // 'gridRowEnd', // The grid-row-end utilities like row-end-4 - // 'gridRowStart', // The grid-row-start utilities like row-start-4 - // 'gridTemplateColumns', // The grid-template-columns utilities like grid-cols-7 + 'gridColumn', // The grid-column utilities like col-span-6 + 'gridColumnEnd', // The grid-column-end utilities like col-end-7 + 'gridColumnStart', // The grid-column-start utilities like col-start-7 + 'gridRow', // The grid-row utilities like row-span-3 + 'gridRowEnd', // The grid-row-end utilities like row-end-4 + 'gridRowStart', // The grid-row-start utilities like row-start-4 + 'gridTemplateColumns', // The grid-template-columns utilities like grid-cols-7 // 'gridTemplateRows', // The grid-template-rows utilities like grid-rows-4 'height', // The height utilities like h-72 // 'hueRotate', // The hue-rotate utilities like hue-rotate-30 From 29d21cdc01dc62291038664f671d96fd6418ffac Mon Sep 17 00:00:00 2001 From: Paul D'Ambra Date: Tue, 3 Oct 2023 19:50:49 +0100 Subject: [PATCH 10/11] fix: don't run exports in parallel for subscriptions (#17743) * fix: don't run exports in parallel for subscriptions * fix --- ee/tasks/subscriptions/subscription_utils.py | 7 ++++--- ee/tasks/test/subscriptions/test_subscriptions_utils.py | 8 ++++---- 2 files changed, 8 insertions(+), 7 deletions(-) diff --git a/ee/tasks/subscriptions/subscription_utils.py b/ee/tasks/subscriptions/subscription_utils.py index b75e26ca37856..ccd517b356cd9 100644 --- a/ee/tasks/subscriptions/subscription_utils.py +++ b/ee/tasks/subscriptions/subscription_utils.py @@ -2,7 +2,7 @@ from typing import List, Tuple, Union from django.conf import settings import structlog -from celery import group +from celery import chain from prometheus_client import Histogram from posthog.models.dashboard_tile import get_tiles_ordered_by_position @@ -45,8 +45,9 @@ def generate_assets( ExportedAsset.objects.bulk_create(assets) # Wait for all assets to be exported - tasks = [exporter.export_asset.s(asset.id) for asset in assets] - parallel_job = group(tasks).apply_async() + tasks = [exporter.export_asset.si(asset.id) for asset in assets] + # run them one after the other so we don't exhaust celery workers + parallel_job = chain(*tasks).apply_async() wait_for_parallel_celery_group( parallel_job, max_timeout=timedelta(minutes=settings.ASSET_GENERATION_MAX_TIMEOUT_MINUTES) diff --git a/ee/tasks/test/subscriptions/test_subscriptions_utils.py b/ee/tasks/test/subscriptions/test_subscriptions_utils.py index 440dcc97904f4..decdc8269e1e7 100644 --- a/ee/tasks/test/subscriptions/test_subscriptions_utils.py +++ b/ee/tasks/test/subscriptions/test_subscriptions_utils.py @@ -12,7 +12,7 @@ from posthog.test.base import APIBaseTest -@patch("ee.tasks.subscriptions.subscription_utils.group") +@patch("ee.tasks.subscriptions.subscription_utils.chain") @patch("ee.tasks.subscriptions.subscription_utils.exporter.export_asset") class TestSubscriptionsTasksUtils(APIBaseTest): dashboard: Dashboard @@ -36,7 +36,7 @@ def test_generate_assets_for_insight(self, mock_export_task: MagicMock, _mock_gr assert insights == [self.insight] assert len(assets) == 1 - assert mock_export_task.s.call_count == 1 + assert mock_export_task.si.call_count == 1 def test_generate_assets_for_dashboard(self, mock_export_task: MagicMock, _mock_group: MagicMock) -> None: subscription = create_subscription(team=self.team, dashboard=self.dashboard, created_by=self.user) @@ -46,7 +46,7 @@ def test_generate_assets_for_dashboard(self, mock_export_task: MagicMock, _mock_ assert len(insights) == len(self.tiles) assert len(assets) == DEFAULT_MAX_ASSET_COUNT - assert mock_export_task.s.call_count == DEFAULT_MAX_ASSET_COUNT + assert mock_export_task.si.call_count == DEFAULT_MAX_ASSET_COUNT def test_raises_if_missing_resource(self, _mock_export_task: MagicMock, _mock_group: MagicMock) -> None: subscription = create_subscription(team=self.team, created_by=self.user) @@ -70,7 +70,7 @@ def test_excludes_deleted_insights_for_dashboard(self, mock_export_task: MagicMo assert len(insights) == 1 assert len(assets) == 1 - assert mock_export_task.s.call_count == 1 + assert mock_export_task.si.call_count == 1 def test_cancels_children_if_timed_out(self, _mock_export_task: MagicMock, mock_group: MagicMock) -> None: # mock the group so that its children are never ready, From b82890e5945a7081208d0bc226f61d679339ad65 Mon Sep 17 00:00:00 2001 From: Neil Kakkar Date: Tue, 3 Oct 2023 21:04:49 +0100 Subject: [PATCH 11/11] fix(exp): De-flake tests (#17745) --- ee/clickhouse/views/test/test_clickhouse_experiments.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ee/clickhouse/views/test/test_clickhouse_experiments.py b/ee/clickhouse/views/test/test_clickhouse_experiments.py index 9afecbfc846bd..23cde87e344e1 100644 --- a/ee/clickhouse/views/test/test_clickhouse_experiments.py +++ b/ee/clickhouse/views/test/test_clickhouse_experiments.py @@ -1505,7 +1505,7 @@ def test_experiment_flow_with_event_results_for_three_test_variants(self): self.assertAlmostEqual(response_data["expected_loss"], 1, places=2) -# @flaky(max_runs=10, min_passes=1) +@flaky(max_runs=10, min_passes=1) class ClickhouseTestTrendExperimentResults(ClickhouseTestMixin, APILicensedTest): @snapshot_clickhouse_queries def test_experiment_flow_with_event_results(self):