Skip to content

Commit 689f11e

Browse files
authored
Merge pull request #2072 from PostHog/master
[pull] master from PostHog:master
2 parents fb7d97a + ec3dbf2 commit 689f11e

File tree

7 files changed

+49
-31
lines changed

7 files changed

+49
-31
lines changed

bin/deploy-hobby

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -127,10 +127,15 @@ fi
127127

128128

129129
# Write .env file
130-
envsubst > .env <<EOF
130+
cat > .env <<EOF
131131
POSTHOG_SECRET=$POSTHOG_SECRET
132132
ENCRYPTION_SALT_KEYS=$ENCRYPTION_SALT_KEYS
133133
DOMAIN=$DOMAIN
134+
TLS_BLOCK=$TLS_BLOCK
135+
REGISTRY_URL=$REGISTRY_URL
136+
CADDY_TLS_BLOCK=$TLS_BLOCK
137+
CADDY_HOST=$DOMAIN, http://, https://
138+
POSTHOG_APP_TAG=$POSTHOG_APP_TAG
134139
EOF
135140

136141
# Download GeoLite2-City.mmdb if it doesn't exist
@@ -217,9 +222,7 @@ sudo usermod -aG docker "${USER}" || true
217222
echo "Configuring Docker Compose...."
218223
rm -f docker-compose.yml
219224
cp posthog/docker-compose.base.yml docker-compose.base.yml
220-
cp posthog/docker-compose.hobby.yml docker-compose.yml.tmpl
221-
envsubst < docker-compose.yml.tmpl > docker-compose.yml
222-
rm docker-compose.yml.tmpl
225+
cp posthog/docker-compose.hobby.yml docker-compose.yml
223226
echo "Starting the stack!"
224227
sudo -E docker-compose -f docker-compose.yml up -d --no-build --pull always
225228

docker-compose.hobby.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -153,8 +153,8 @@ services:
153153
- caddy-data:/data
154154
- caddy-config:/config
155155
environment:
156-
CADDY_TLS_BLOCK: ${TLS_BLOCK}
157-
CADDY_HOST: '${DOMAIN}, http://, https://'
156+
CADDY_TLS_BLOCK: $TLS_BLOCK
157+
CADDY_HOST: '$DOMAIN, http://, https://'
158158
depends_on:
159159
- web
160160
objectstorage:

frontend/src/lib/components/PathCleanFilters/PathCleanFilters.tsx

Lines changed: 0 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,12 @@
11
import { useState, useEffect } from 'react'
2-
import { useValues } from 'kea'
32
import { PathCleaningFilter } from '~/types'
43

54
import { PathCleanFilterAddItemButton } from './PathCleanFilterAddItemButton'
65
import { ensureFilterOrder, updateFilterOrder } from './pathCleaningUtils'
7-
import { PathCleanFiltersTable } from './PathCleanFiltersTable'
86
import { PathCleanFilterItem } from './PathCleanFilterItem'
97
import { closestCenter, DndContext, PointerSensor, useSensor, useSensors } from '@dnd-kit/core'
108
import { restrictToParentElement } from '@dnd-kit/modifiers'
119
import { rectSortingStrategy, SortableContext } from '@dnd-kit/sortable'
12-
import { featureFlagLogic } from 'lib/logic/featureFlagLogic'
13-
import { FEATURE_FLAGS } from 'lib/constants'
1410

1511
export interface PathCleanFiltersProps {
1612
filters?: PathCleaningFilter[]
@@ -23,8 +19,6 @@ export const keyFromFilter = (filter: PathCleaningFilter): string => {
2319

2420
export function PathCleanFilters({ filters = [], setFilters }: PathCleanFiltersProps): JSX.Element {
2521
const [localFilters, setLocalFilters] = useState(filters)
26-
const { featureFlags } = useValues(featureFlagLogic)
27-
const useTableUI = featureFlags[FEATURE_FLAGS.PATH_CLEANING_FILTER_TABLE_UI]
2822

2923
useEffect(() => {
3024
setLocalFilters(ensureFilterOrder(filters))
@@ -64,18 +58,6 @@ export function PathCleanFilters({ filters = [], setFilters }: PathCleanFiltersP
6458

6559
const sensors = useSensors(useSensor(PointerSensor, { activationConstraint: { distance: 1 } }))
6660

67-
if (useTableUI) {
68-
return (
69-
<div className="flex flex-col gap-4">
70-
<PathCleanFiltersTable filters={localFilters} setFilters={updateFilters} />
71-
<div>
72-
<PathCleanFilterAddItemButton onAdd={onAddFilter} />
73-
</div>
74-
</div>
75-
)
76-
}
77-
78-
// Original pills UI
7961
return (
8062
<div className="flex flex-col gap-2">
8163
<div className="flex items-center gap-2 flex-wrap">

frontend/src/queries/nodes/DataTable/renderColumn.tsx

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ import { LemonTag } from 'lib/lemon-ui/LemonTag/LemonTag'
99
import { Link } from 'lib/lemon-ui/Link'
1010
import { Spinner } from 'lib/lemon-ui/Spinner/Spinner'
1111
import { Tooltip } from 'lib/lemon-ui/Tooltip'
12-
import { autoCaptureEventToDescription } from 'lib/utils'
12+
import { autoCaptureEventToDescription, humanFriendlyNumber } from 'lib/utils'
1313
import { GroupActorDisplay } from 'scenes/persons/GroupActorDisplay'
1414
import { PersonDisplay, PersonDisplayProps } from 'scenes/persons/PersonDisplay'
1515
import { urls } from 'scenes/urls'
@@ -352,5 +352,11 @@ export function renderColumn(
352352
// do nothing
353353
}
354354
}
355+
356+
// Add number formatting for numeric values
357+
if (context?.formatNumbers && typeof value === 'number') {
358+
return humanFriendlyNumber(value)
359+
}
360+
355361
return String(value)
356362
}

frontend/src/queries/types.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,8 @@ export interface QueryContext<Q extends QuerySchema = QuerySchema> {
3737
extraDataTableQueryFeatures?: QueryFeature[]
3838
/** Allow customization of file name when exporting */
3939
fileNameForExport?: string
40+
/** Whether to format numbers in human friendly format. */
41+
formatNumbers?: boolean
4042
}
4143

4244
export type QueryContextColumnTitleComponent = ComponentType<{

frontend/src/scenes/settings/environment/PathCleaningFiltersConfig.tsx

Lines changed: 30 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,8 @@ import { LemonInput, Link } from '@posthog/lemon-ui'
22
import { useActions, useValues } from 'kea'
33
import { parseAliasToReadable } from 'lib/components/PathCleanFilters/PathCleanFilterItem'
44
import { PathCleanFilters } from 'lib/components/PathCleanFilters/PathCleanFilters'
5+
import { PathCleanFiltersTable } from 'lib/components/PathCleanFilters/PathCleanFiltersTable'
6+
import { PathCleanFilterAddItemButton } from 'lib/components/PathCleanFilters/PathCleanFilterAddItemButton'
57
import { PathCleaningRulesDebugger } from 'lib/components/PathCleanFilters/PathCleaningRulesDebugger'
68
import { FEATURE_FLAGS } from 'lib/constants'
79
import { featureFlagLogic } from 'lib/logic/featureFlagLogic'
@@ -52,7 +54,19 @@ export function PathCleaningFiltersConfig(): JSX.Element | null {
5254
const cleanedTestPath = cleanPathWithRegexes(testValue, currentTeam.path_cleaning_filters ?? [])
5355
const readableTestPath = parseAliasToReadable(cleanedTestPath)
5456

55-
const useDebuggerPanel = featureFlags[FEATURE_FLAGS.PATH_CLEANING_FILTER_TABLE_UI]
57+
const useTableUI = featureFlags[FEATURE_FLAGS.PATH_CLEANING_FILTER_TABLE_UI]
58+
59+
const updateFilters = (filters: PathCleaningFilter[]): void => {
60+
updateCurrentTeam({ path_cleaning_filters: filters })
61+
}
62+
63+
const onAddFilter = (filter: PathCleaningFilter): void => {
64+
const filterWithOrder = {
65+
...filter,
66+
order: (currentTeam.path_cleaning_filters || []).length,
67+
}
68+
updateFilters([...(currentTeam.path_cleaning_filters || []), filterWithOrder])
69+
}
5670

5771
return (
5872
<>
@@ -87,10 +101,20 @@ export function PathCleaningFiltersConfig(): JSX.Element | null {
87101
cleaning is switched on in Product and Web Analytics.
88102
</b>
89103
</p>
90-
<PathCleanFilters
91-
filters={currentTeam.path_cleaning_filters}
92-
setFilters={(filters) => updateCurrentTeam({ path_cleaning_filters: filters })}
93-
/>
104+
105+
{useTableUI ? (
106+
<div className="flex flex-col gap-4">
107+
<PathCleanFiltersTable
108+
filters={currentTeam.path_cleaning_filters || []}
109+
setFilters={updateFilters}
110+
/>
111+
<div>
112+
<PathCleanFilterAddItemButton onAdd={onAddFilter} />
113+
</div>
114+
</div>
115+
) : (
116+
<PathCleanFilters filters={currentTeam.path_cleaning_filters} setFilters={updateFilters} />
117+
)}
94118

95119
<p className="mt-4">Wanna test what your cleaned path will look like? Try them out here.</p>
96120
<div className="flex flex-col sm:flex-row gap-2 items-center justify-center">
@@ -107,7 +131,7 @@ export function PathCleaningFiltersConfig(): JSX.Element | null {
107131
</span>
108132
</div>
109133

110-
{useDebuggerPanel && (
134+
{useTableUI && (
111135
<PathCleaningRulesDebugger
112136
testPath={testValue}
113137
filters={currentTeam.path_cleaning_filters ?? []}

frontend/src/scenes/web-analytics/tabs/marketing-analytics/frontend/components/MarketingAnalyticsTable/MarketingAnalyticsTable.tsx

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -203,6 +203,7 @@ export const MarketingAnalyticsTable = ({ query, insightProps }: MarketingAnalyt
203203
}, {} as Record<string, QueryContextColumn>),
204204
...conversionGoalColumns,
205205
},
206+
formatNumbers: true,
206207
}
207208

208209
return (

0 commit comments

Comments
 (0)