* chore(correlation): funnel story with correlation events and properties
This commit:
1. adds msw so we can easily mock the API requests
2. starts msw on storybook page load
3. adds the `mockServiceWorker.js` to storybook public folder so it can
be loaded by the frontend
4. adds a Funnel story that defines the funnel and correlation
responses
Note that we also define types for requests and responses. These could
be shared with the actual application code, so we can explicitly couple
the application changes to updating storybooks, i.e. to help avoid
stories going stale.
The requests and responses are quite basic, but they are sufficient to
be able to easily see and make changes. It has a requirement that it
should be easy for anyone else who comes to the code to easily parse and
be able to make updates. We don't want these to be rotten stories but
*the place* that people go to first when making their changes.
Having simple handwritten request/responses also introduces the
stability needed to, for example, use regression tests. Changes are
deliberate.
* refactor(storybook): move funnel stories to their own file
This also does quite a bit of cleaning up of the storybook and funnel
story code. Trying to come down on an acceptable way to manage the
sample data.
* dev(storybook): specify public dir when building storybook
I'm hoping this means that chromatic will function properly 🙏
* chore: add back the withApi decorator
* setup msw first
* dev(storybook): Make posthogjs work in chromatic
* dont use as cast for response types
* make hot module reload work
* allow for horizontal scrolling on paths viz
* wip
* add axis lines
* move more paths util functions over
* do not shorten urls without parameters
* show hidden path cards on link hover
* convert file to typescript
* small fixes and prettier
* es lint fixes
* more typing fixes
* typing
* final fix
* kea test "toNotHaveDispatchedActions"
* fix dashboard logic test
* add props and key to insight logic (has no effect)
* inform about is_sample's uniqueness
* use common InsightLogicProps
* persist state via BindLogic and shared insightProps
* persist hashParams
* remove cached Urls
* upgrade new to saved logic
* upgrade typegen
* patch metadata logic
* always show title if saved insights active
* fix negative bug
* fix interval filter
* go to view mode after saving
* full reload when going from dashboard to insight
* use clean filter
* createInsight is no longer used
* fix tests
* fix setAllFilters
* clean retention table duplicate code, fix test
* scene has its own key
* unify insightLogicProps key logic
* consolidate logic fetching
* fix test
* fix reloads
* clears the scene funnel
* move setInsight to reducer
* stronger clicks on menu items
* remove wait
* clarify testcases
* mockup usable logic tests
* actually filter
* a little verbosity never hurt anyone
* await
* sync toDispatchActions and toMatchValues working
* get at least one test working
* should await this
* better action awaiting
* cleanup
* smarter logic test action matching
* cleanup
* delete snapshots
* fix titles
* remove .run(), add .then-magic
* cleanup
* more cleanup
* refactor into multiple files
* refactor into multiple files WIP
* finish refactor
* make nodejs compatible
* funnel logic test WIP
* delay and printActions
* fix label
* add more mocks
* only call action if it makes sense
* fix reload issue with funnels and actions
* explicitly connect to this logic
* listener and mount functions for kea-test-utils
* improve tests
* mock out scss files
* rename antd es/ to lib/ for compatibility in jest
* add breakdown test
* funnel test updates
* set pointer to now if running a block with expectLogic
* fix mock
* more mock
* ignore if breakpoint
* reset window history and posthog-js with logic tests
* one more breakpoint
* add test mode ecxeptions
* update kea
* improve funnel test
* merge, but break
* add safeguard
* safer props
* fix test bugs
* clarify window.crypto polyfill
* simplify api.mock
* simple throw if unmocked api
* use a global actionMap pointer, so we could query between logics
* use the global querying
* remove "Scene" hack
* fix type bug
* clarify some variables
* m1 clickhouse support
* add clickhouse arm64 compilation dockerfile
* use clang-12 and 2 parallel builds
* working clickhouse docker image
* this needs to be committed out for CH to work... a known issue. WIP
* move things around
* move things around again
* add arm64 build scripts
* comment out broken line in DEBUG mode, still make it break production builds
* update readme
* timeless text
* add issue in comment
* way way way too much white space
* zookeeper restarts sometimes needed
* Update posthog-js to 1.13.2
* update sentry to fix TS error
Co-authored-by: posthog-bot <posthog-bot@users.noreply.github.com>
Co-authored-by: Marius Andra <marius.andra@gmail.com>
* initial storybook setup
* fix storybook babel config
* add two stories
* don't load if loaded
* make sure preflightLogic is loaded
* more examples for propertyKeyInfo
* kea storybook provider
* expose getReduxState on dev instances to make stories fast
* history for kea story provider
* remove old kea provider
* stories for insights
* stories for events
* fix .mdx support
* fix preloadedState type
* Use official rrweb version again and update
* Bump rrweb to 1.0.2 (from 1.0.1)
* Use updated `@posthog/react-rrweb-player`
Co-authored-by: Michael Matloka <dev@twixes.com>
* add all steps option
* all steps working; add total and mean time to convert
* change display type checks to use enum
* kea types
* dangling console log
* Add average conversion time to time to convert results
* respond to feedabck
* responsive histogram sizes
* merged @Twixes backend changes; adjust data shape on frontend; add responsiveness to histogram
* add tooltip label
* adjust copy and tooltip
* minor tweaks
* respond to general feedback
* kea auto
* better empty state:
* error handling null time bins
* fix tests
Co-authored-by: Michael Matloka <dev@twixes.com>
Co-authored-by: Paolo D'Amico <paolodamico@users.noreply.github.com>
* init TaxonomicPropertyFilter based on Tabbed variant
* InfiniteSelectResults
* infinite loader state mgmt
* set local state on select
* set by name, not id
* list and filter static values
* value search & loading anim
* allow selecting operator and value
* add cohorts support - WIP
* Fix cohort select
* default by opening to the correct tab
* extract feature flag
* add pagekey to taxonomic filter logic
* remove use of local state in taxon filter
* create keyed infiniteSelectResultsLogic
* not working: loading logic; need breakpoints and return Promise
* address minor changes
* move files to own folder
* TaxonomicPropertyFilter now controls activeTabKey
* wip: Load next chunk of results when list renders
* change pageKeys
* load initial results on mount
* set breakpoint and overscan count
* add a nextOffset state value rather than breakpt
* preserve scroll pos
* allow loading at arbitrary scroll positions
* styling
* minor cleanup
* wip: limit and offset via list accessors
* do a silly little array slice
* separate endpoint for paginated results
* use Fuse for static lists
* wip: tab titles
* counts update on search for both local and async properties
* revert changes to person.py
* minor improvements
* refactor taxonomic property filter logic WIP
* fix bugs, add search queries
* fix key error
* also show local items
* show counts
* add operator value select
* local search with fuse
* get rid of tabKey, select active tab based on filter
* various cleanup
* add simple api cache
* hide property popover -> make the popup usable
* create filter dropdown
* "add filter"
* show the right cohort
* better handling for when the filter is already in a popup
* move up/down
* keyboard up/down navigation
* select on enter
* preselect selected item, fix focus jank
* autofocus on other dropdowns as well
* improve style and refactor util
* fix dumb bug
* show cohorts full screen
* fix filter alignment, type and placeholder
* filter position and responsiveness
* reduce dependence on antd, fix various layout bugs
* fix responsiveness
* tooltip position
* pass on onComplete
* hide tooltip if switching tab
* search property filters also in EE
* add type, fix typegen write loop
* Minor copy adjustment
You're actually searching all at once
* fix outside click handler
* popups with popper
* add ant-select as exception for popup outside clicks
* simplify deps
* always highlight the first item
* use new popup with taxonomic filter
* fix PropertyFilterButton ref
* clear search on select
* placeholder for value input box
* add empty state
* only open filter downwards
* move listTooltip postition into useState
* list tooltip position after opening and resize events
Co-authored-by: Sam Winslow <sammywinslow@gmail.com>
Co-authored-by: Paolo D'Amico <paolodamico@users.noreply.github.com>
* don't end query if failed if new one came in already
* adjust breakpoints and end the query in the end
* abort trends fetch queries
* smaller delay
* fix entityFilter blinking bug and improve types
* new typegen
* remove second source of truth, change value to 300
* improve type accuracy
* log aborted queries
* report aborts in trendsLogic
* consolidate ViewType into types.ts
* one more
* and one more
* add d3 histogram
* different layouts and fine tuning d3 histogram
* spacing math and comments
* row-align steps action dropdown and refactor
* cleanup
* hide time conversion behind ch flag and remove layout toggle
* remove animation and layout toggle
* revert fat finger
* erroneous type
* Latest browser’s versions and statistics
* Browserlists - Use "defaults" browser support
* Enable Babel polyfills based on usage
* Revert "Polyfill Object.fromEntries (for Safari <= 12) (#4999)"
This reverts commit ad63386a69.
* Different browser support for dev/prod for build performance
* Solve ospath issue
* try separate cypress cache
* Separate install
* ls
* try
* Try to put everything in same cache
* Remove cypress plugin snapshot
* fix cohorts and funnels