* wip
* iteration 1
* some small fixes
* update
* Update UI snapshots for `chromium` (1)
* fix up product intro page test
* Update UI snapshots for `webkit` (2)
* Update UI snapshots for `webkit` (2)
* rebase on main, fix a type issue
* Update UI snapshots for `chromium` (2)
* Update UI snapshots for `chromium` (2)
* remove console log
* remove extraneous file
* fix tests again...
* Update UI snapshots for `chromium` (2)
* more test tweaks
* Update UI snapshots for `chromium` (2)
* yet another set of fixeds
* Update UI snapshots for `chromium` (2)
* Update UI snapshots for `webkit` (2)
* Update UI snapshots for `chromium` (2)
* Update UI snapshots for `webkit` (2)
* one more test tweak
* fix(admin): follow up for org page performance improvements (#20912)
* feat: Add clickhouse migration to create a dictionary (#20665)
* feat: Add clickhouse migration to create a dictionary
* refactor: Use dictionary created in migration for squashing
* fix: Test file drop references to dictionary
* fix: Update comment
* chore: Master merge
* fix: Typo in dictionary
Co-authored-by: James Greenhill <fuziontech@gmail.com>
---------
Co-authored-by: James Greenhill <fuziontech@gmail.com>
* fix: picking embedding input samples (#20913)
* fix: Split healthcheck to separate nginx unit app (#20917)
Split healthcheck to separate nginx unit app
When posthog is under load the healthcheck can stop responding.
Split it off into a separate app so it has a dedicated thread to handle it
* chore: BillingProduct cleanup (#20910)
* fix: show names on frontend (#20918)
* fix(experiment): revert default goal back to Trends (#20921)
* Add missing healthcheck routes to app (#20923)
* Add missing healthcheck routes to app
* Switch healthz to _health
* chore: Add context to deployment messages (#20911)
Add context to deployment messages
Co-authored-by: xneyder <xneyder@gmail.com>
* chore(environments): Add migration to backfill projects (#20887)
* chore(environments): Add migration to backfill projects
* Fix `noop`
* Add `project_id` to plugin server test setup
* Fix `project_id`
* Also add `posthog_project` to plugin server tests
* Update `createTeam`
* Fix func tests
* refactor(style): do not use star imports for locals (#20915)
* feat(sentry): enable sampling via http header (#20916)
* fix: Add missing underscore to healthcheck routes (#20926)
Add missing underscore to healthcheck routes
* chore(deps): Update posthog-js to 1.115.0 (#20924)
* fix(toolbar): Keep flags in sync (#20927)
* fix(toolbar): Keep flags in sync
* add test
* fix: some typos in summary settings (#20925)
* fix: some typos in summary settings
* Update UI snapshots for `chromium` (2)
* don't compare instance equality you fool
* feels wrong for reset to change opt in status...
* Fix
---------
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
* fix: custom player inspector events should respect mini filters (#20929)
* fix: custom player inspector events should respect mini filters
* all the alls
* fix: don't show billing step on self-hosted (#20931)
don't show billing step on self-hosted
* chore: improve onboarding spacing consistency (#20838)
* Make the space between sections consistent
* add more space above team section
* Improve the topbar spacing and positioning
* Move the breadcrumbs above and center the title
* Make spacing consistent across all SDKs
* Add chain op to plans for when they aren't available
* Make sdk margin top consistent with other steps
* Update the invite onboarding step title
* Move the breadcrumbs to be left aligned
* Set top bar title to onboarding in onboarding
* Fix cypress tests
* Update cypress tests
* Remove stale snapshots
* remove billing changes
---------
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
* fix: flappy snapshot (#20930)
* attempt fix for flappy snapshot
* Update UI snapshots for `chromium` (2)
* fix another one
* Update UI snapshots for `chromium` (2)
---------
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
* fix storybook
* Update UI snapshots for `webkit` (2)
* Update UI snapshots for `chromium` (1)
* Update UI snapshots for `chromium` (2)
* fix some tests
* another round of fixes
---------
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Thomas Obermüller <thomas.obermueller@gmail.com>
Co-authored-by: Tomás Farías Santana <tomas@tomasfarias.dev>
Co-authored-by: James Greenhill <fuziontech@gmail.com>
Co-authored-by: David Newell <d.newell1@outlook.com>
Co-authored-by: Frank Hamand <frankhamand@gmail.com>
Co-authored-by: Juraj Majerik <juro.majerik@gmail.com>
Co-authored-by: danielxnj <115043334+danielxnj@users.noreply.github.com>
Co-authored-by: xneyder <xneyder@gmail.com>
Co-authored-by: Michael Matloka <dev@twixes.com>
Co-authored-by: PostHog Bot <69588470+posthog-bot@users.noreply.github.com>
Co-authored-by: Neil Kakkar <neilkakkar@gmail.com>
Co-authored-by: Paul D'Ambra <paul@posthog.com>
Co-authored-by: Raquel Smith <raquelmsmith@users.noreply.github.com>
Co-authored-by: Zach Waterfield <zlwaterfield@gmail.com>
* Make the space between sections consistent
* add more space above team section
* Improve the topbar spacing and positioning
* Move the breadcrumbs above and center the title
* Make spacing consistent across all SDKs
* Add chain op to plans for when they aren't available
* Make sdk margin top consistent with other steps
* Update the invite onboarding step title
* Move the breadcrumbs to be left aligned
* Set top bar title to onboarding in onboarding
* Fix cypress tests
* Update cypress tests
* Remove stale snapshots
* remove billing changes
---------
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
* Rename `SitePopover` to `AccountPopover`
* Condense "Instance" section of account popover and use new icons
* Use small radius for `Lettermark`
* Convert status descriptions casing in general
* Link to async migrations again
* Update UI snapshots for `chromium` (2)
---------
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
* Rework breadcrumb keys with IDs to include scene
* Use the breadcrumb key in data-attr
* Remove `globalKey`
* Fix selectors
* Use joined breadcrumb key for fragment and `data-attr`
* Fix missing `sceneBreadcrumbs` keys
* fix: year in hog fangling
* fangling
* fix
* remove skip
* style improvements
* tooltip the explanation
* achievements unlocked needs to have 2 badges to not be a bit rubbish
* test that 'survey sent' event was triggered
* remove unneeded config changes
* update env vars, update test to check event payload
* make capture url slightly stricter
---------
Co-authored-by: Bianca Yang <bianca@posthog.com>
* refactor and clean up old flags
* Update UI snapshots for `chromium` (2)
* Update UI snapshots for `chromium` (2)
---------
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
* Remove dark mode `KeyboardShortcut` color hack
* Ensure that top bar is always compact at bottom of scene
* Remove top bar renaming from Notebooks
* Refactor the experiment scene to use `PageHeader` properly
* Improve `EditableField` sizing
* Add top bar renaming to actions and playlists
* Sort KeyboardShortcut.scss
* Fix missing warehouse mocks and strictly prevent toasts
* Fix CompactList divider width
* Fix missing early return
* Fix random typos
* Fix casing of buttons
* Reorder definition view top bar buttons
* Update Cypress test
* Fix typo
Co-authored-by: David Newell <d.newell1@outlook.com>
* Update casing in E2E test too
* Update UI snapshots for `chromium` (1)
* Update UI snapshots for `chromium` (1)
---------
Co-authored-by: David Newell <d.newell1@outlook.com>
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
* feat(surveys) Add open-ended choices for multiple and single choice surveys
* Validate question choices in backend
* Update open choice behavior and appearance to reflect posthog-js
* Change multiple and single choice questions to have has_open_choice field
* Fix survey logic test
* Remove key warning
* Change has_open_choice to hasOpenChoice
* Hide Add Open-Ended Choice button behind feature flag
* Remove border from text input
* Pass frontend CI tests
* fix unsubscribe survey typo
* try to test surveys with event capture
* undo attempt at intercepting posthog.capture in cypress
---------
Co-authored-by: Bianca Yang <bianca@posthog.com>
* fix: survey doesn't get dismissed when response textarea is empty
* address pr feedback
* fix logic nit
* fix up the logic...
---------
Co-authored-by: Bianca Yang <bianca@posthog.com>
* Add unsubscription survey
* Ask users why they're unsubscribing before they submit their unsubscription request.
* update to use kea for state management, clean up some logic around finding matching surveys
* resolve typo
* pr feedback
* CTA for contacting support in survey modal
* remove getActiveMatchingSurveys call since we can directly use the surveyID.
* add storybook for billing unsubscribe survey
* add basic cypress tests for the unsubscribe survey
* adding in product type as a response to our multi-question survey
* update survey to show more information about how users might control their costs
* another round of tweaks to survey
* beef up tests
---------
Co-authored-by: Bianca Yang <bianca@posthog.com>
* opt in surveys when creating survey and opt out when no active surveys
* update survey banner warning
* add auto opt ins for surveys list launch and stop surveys
* remove from onboarding step
* Update UI snapshots for `chromium` (2)
* update opt in from backend instead
* add filter for api surveys and post delete to receiver
* Update query snapshots
* fix popup flicker
* ambr snapshots
* disabled popup banner rename
* exclude api surveys in query instead
---------
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
So obvious in retrospect
If you listen to the Cypress fail event without re-throwing then you swallow all test failures
"fun"
When reviewing #17919 I knew the Cypress tests would have to be failing which is what prompted me to check
Introduced in bbb7ed9 (July 10th!)
* chore: snapshot notebook template
* Update UI snapshots for `chromium` (2)
* Update UI snapshots for `chromium` (1)
* Update UI snapshots for `chromium` (1)
* no need to change user facing template
* need to all fit within snapshot bounds
* and another example
* Update UI snapshots for `chromium` (2)
* Update UI snapshots for `chromium` (2)
* Update UI snapshots for `chromium` (2)
* Update UI snapshots for `chromium` (1)
* Update UI snapshots for `chromium` (2)
* wat
* Update UI snapshots for `chromium` (2)
* cypress, and styling, and preview, oh my
* Update UI snapshots for `chromium` (2)
---------
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
* add filtering by recording
* document for API docs, only show API docs for Notebooks when in debug
* Update query snapshots
* add not working button
* wat
* Update UI snapshots for `chromium` (2)
* Update UI snapshots for `chromium` (2)
* Update query snapshots
* Update query snapshots
* Update UI snapshots for `chromium` (2)
* Update UI snapshots for `chromium` (2)
* Update UI snapshots for `webkit` (2)
* Update UI snapshots for `chromium` (2)
* Update UI snapshots for `webkit` (2)
* Update UI snapshots for `chromium` (2)
* Update query snapshots
* Update UI snapshots for `chromium` (2)
* Update query snapshots
* wat
* Update UI snapshots for `chromium` (2)
* Update UI snapshots for `chromium` (2)
* Update UI snapshots for `chromium` (2)
* Update query snapshots
* move logic interactions closer to thome
* Update query snapshots
* Update query snapshots
* wait for the editor before acting on it
* add a method for getting an arbitrary node position
* fix
* Update query snapshots
* Update UI snapshots for `chromium` (2)
* why an array, yesterday me?
* fix
* contains style API filtering
* without no-op clicks
* fix
* Update UI snapshots for `chromium` (2)
* refresh notebook comment button on notebook created
* inline variable
* removes speculative change
* move knowledge around
* add timestamps to existing book in timestamp order
* Fi
* add a cypress test
* Update UI snapshots for `chromium` (2)
* somet stuff
* Update query snapshots
* slightly neater waiting for the editor
* Update UI snapshots for `chromium` (2)
* Update UI snapshots for `chromium` (2)
* do we know editor is going to be present?
* Update UI snapshots for `chromium` (2)
* Update UI snapshots for `chromium` (2)
* witha finally?
* add todo
* handle commenting when already in a notebook
* allow in-notebook commenting to insert in timestamp order
* Update UI snapshots for `chromium` (1)
* Update UI snapshots for `chromium` (1)
* feat: add examples and extend notebook backend filtering to be more generic (#17032)
* feat: add examples and allow relatively generic notebook filtering
* depluralise and absence is truthy
---------
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
Marius nerd-sniped us to try this out. Recording of Cypress runs.
Co-authored-by: Paul D'Ambra <paul@posthog.com>
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
* rename to ProductIntroduction
* start using has_seen_product_intro_for
* do up annotations
* do up experiments
* do activity log and ingestion warnings
* do feature flags
* apply to persons, but don't ever show the intro state
it's unnecessary
* migrations
* Update UI snapshots for `chromium` (2)
* Update query snapshots
* Update query snapshots
* Update query snapshots
* update stories
* Update UI snapshots for `chromium` (2)
* fix tests
* Update query snapshots
* Update UI snapshots for `chromium` (2)
* Update query snapshots
* Update query snapshots
* Update UI snapshots for `chromium` (2)
* Update query snapshots
* Update query snapshots
* update surveys implementation
* dont show intro to existing users on expts & cohorts
* don't show on FFs for existing users
* don't show intro on actions for existing users
* do for annotations
* clean up
* add basic e2e test
* cypress test for cohorts
* Update UI snapshots for `chromium` (2)
---------
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
* Add ProductEmptyState component
* Add component to actions table
* Add to cohorts
* add to activity log and ingestion warnings
* add to feature flags page
* add annotations empty state
* Add to experiments scene
* add hog first go
* better layout with hog
* clean up a bit
* change language so it doesn't have to pluralize
* add stories
* add stories
* fix show table if experiments are searched or status filtered and 0 results
* Update UI snapshots for `chromium` (2)
* fix cypress tests
* fix
* add empty state to persons
* include utm info
* set up experiment on experiments
* set up experiment on feature flags
* Apply suggestions from code review
Co-authored-by: Michael Matloka <dev@twixes.com>
* remove customhog since we don't have any yet
* fix
* Update UI snapshots for `chromium` (2)
* use standard border color
---------
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Michael Matloka <dev@twixes.com>
If you only change the plugin server you spend a long time waiting for e2e CI to run.
It doesn't use the plugin server (I don't think)
So, don't run it...
* Renaming nodes
* Tweaks
* Tweaks
* tweaks
* Player styles
* Style changes everywhere
* More refactoring
* Style changes everywhere
* More styles
* Fixed styles for hover inspector
* Fixed up timer logic
* Fixed notebook button sizes and added pretty preview for hidden inspector
* Fix width calculation
* Meta working
* Meta links
* Fix
* feat: Change to infinite scrollers for the recording list
* Added shared counter component
* Fix
* Ensure we don't load too much
* Fix
* Fixed up tests
* Fixed tests
* Dashboard filtering
* Fixed dashboard users
* Update UI snapshots for `chromium` (1)
* Added notebooks behind flag
* Fix up types
* Update UI snapshots for `chromium` (1)
* Fix
* Close fullscreen when navigating
* Added manual load button
* Remove optimisation
* More work to make playlists look good
* Fix showin bug
* Added todo
* Fixed persisting values from notebok nodes
* Fix up new playlist style
* Fixes
* Fix
* Added draggable component
* Added support for lots more things
* Fixes
* Fixed up IDs
* Added recording field for sharing configuration
* Updated sharing modal to support recordings
* Updated styles
* Added support for the sharing view of recording
* Update UI snapshots for `chromium` (2)
* Update query snapshots
* Fixed up share modal to include new properties
* Update UI snapshots for `chromium` (2)
* Update query snapshots
* Fix full screen to use browser native api
* Fix closing of full screen
* Moved sharing token to api code via logic
* Fixed up stories
* Update query snapshots
* Update UI snapshots for `chromium` (2)
* Tidying
* Removed comments
* Removed sharing access token in favour of mounted context
* Started auth
* Fixed up sharing config
* Fixed lint
* Fixed up tests
* Fixed tests
* Fix import
* Update UI snapshots for `chromium` (2)
* Update UI snapshots for `chromium` (2)
* Fixed up styling for shared mode
* Update query snapshots
* Update UI snapshots for `chromium` (1)
* Improved tab state logic
* Fix types
* Fix comments
Added test to check for different team access
* Fix
* Update query snapshots
* Update query snapshots
---------
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
* fix: use cached insight if the scene has it
* add a cypress test
* better empty checking
* Update UI snapshots for `chromium` (2)
* Update UI snapshots for `chromium` (2)
* slightly less bad
---------
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
* feat: a little more e2e cypress data exploration tests
* Update UI snapshots for `chromium` (2)
* Update UI snapshots for `chromium` (2)
* tests were passing by accident
---------
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
* feat: allow new insight type choice from sidebar
* update e2e test
* add more e2e test fixes
* Update frontend/src/layout/navigation/SideBar/SideBar.tsx
Co-authored-by: Michael Matloka <dev@twixes.com>
* a plus and a width
* allow passing in max width to popover
* Revert "allow passing in max width to popover"
This reverts commit 415a751f71.
* third-ish times the charm
* Use a more concise tooltip
The tooltip basically functions as a on-hover label here, so using the same text as on the saved insights page, where it says "New insight".
* Update UI snapshots for `webkit` (2)
* Update UI snapshots for `webkit` (2)
---------
Co-authored-by: Michael Matloka <dev@twixes.com>
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
Problem
We're two major versions of Cypress behind. They claim the newer versions are faster
Changes
dependency updates
a few fixed tests for new syntax
* chore(deps): Update posthog-js to 1.42.2
* revert test
Co-authored-by: posthog-bot <posthog-bot@users.noreply.github.com>
Co-authored-by: eric <eeoneric@gmail.com>
* Get rid of control version
* Don't show option to license on billing page
* Remove ff constant
* Include plans in billing response
* Update types for the plans
* Hook up the top of the table
* Fill out the rest of the table
* Hook up the rest of the table
* Add tooltip with feature descriptions
* Fix type errors
* Fix more type issues
* Remove old plan data
* clean up
* exclude features we don't want to show in table
* Tolerate missing plan keys
* fix mypy
* Update cypresss test
* Fix mypy again
* Just get whatever default plans
* fix tests
* Update snapshots
* Update snapshots
* moar test fixes
* use is_free to know if free plan
* Say the free allotment is incl'd if base has $ price
* Update snapshots
* Don't change anything having to do with licenses
* Fix type error
* Update snapshots
* Update snapshots
* Use product name from stripe
* only lowercase
* don't hardcode plan names
Co-authored-by: Emanuele Capparelli <k@emkpp.com>
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
Problem
@annikaschmid accidentally deleted an insight from a dashboard and then couldn't put it back.
The insight API response was returning the deleted dashboard in the insight's dashboards field. That meant the UI didn't offer the ability to add it to that dashboard because it thought it was already added
Even though there was a test that protected against this which passes and I couldn't figure out why the application behaves well in the test and not when running 🤷
Changes
The dashboard_tiles relation is correct. And we should eventually remove the use of the dashboards relation.
So, let's expose it. This begins the deprecation of the dashboards field on the Insight API.
And overwrites the content of the dashboards field with the correct values when returning a representation of the model.
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Michael Matloka <dev@twixes.com>
## Problem
In this thread https://posthog.slack.com/archives/C0368RPHLQH/p1672383272168819 @macobo spotted that we are loading the list of insights more frequently than we need to due to a code path that keeps the turbo mode cache up-to-date for `savedInsightsLogic`
## Changes
Since the `DashboardsModel` action being reacted to passes the `InsightModel` that was updated. We can update the state in-memory without an API call
## How did you test this code?
added developer tests and checked the site running locally
* Make the product benefits test the default
and put hog on login
* Refactor BridgePage to be just a container
And put extra stuff in the relevant components
* Only let someone set the hog message if hog exists
* Fix test
* Remove the flag constant
* Update SignupContainer.tsx
Co-authored-by: Emanuele Capparelli <kappa90@users.noreply.github.com>
* feat(toolbar): rename editor to toolbar, add toast on error
* add missing types
* be less noisy when expired token comes a previous page load
Co-authored-by: Michael Matloka <dev@twixes.com>