* Add test for bar charts
Since our charts are rendered on a canvas we can't really interact well
with it. Instead, we take a screenshot now (new dependency).
* Debug error in CI
* Make sure images are the same size on CI and locally
This only "affects" our team and local development. I got tired of
needing to reload after toggling a feature flag locally. This makes it
so that the newly edited flag is applied immediately.
* base table legend
* toggle visibility logic
* colors working
* display data in legend
* clean up types and conditions
* review-points
* missing constant from merge
* Make the table small
* disabled when only 1 is left and add label clickable
* add better label handling
* fix test
Co-authored-by: Tim Glaser <tim@glsr.nl>
* Fix links to people from Retention modal and Funnels.
More details under issue https://github.com/PostHog/posthog/issues/3480
* Fix funnel calculations on self-hosted
Broken by renames within https://github.com/PostHog/posthog/pull/3301
* Handle cached calculations in e2e test runner
When executing e2e tests, celery tasks are evaluated immediately. Previously
due to the caching the funnels never loaded as we overwrite the results immediately.
* Add test for navigating to persons from funnels
* Test for retention visualization and person navigation
* Extract const for a frequent if-statement
* Show bar graph
* Show bar chart breaking down by value
* Don't show interval filter when non-time based visualization
* Set axis color as expected
* Add percentage of total to bar graph
* Include action info in tooltip for value graph
* Support DashboardItem
* Mark prop as optional
* Convert new file to typescript
* Disable bar value for stickiness
* Don't colorize sql for output
* Handle setting array props as values
* Handle arrays exact/is_not property filters
Also updates tests to use parameterization
* Avoid autoclosing PropertyFilter popup
As key changes, old one got removed from DOM
* Improve filter UX
Don't allow filter to become multi-line and keep inputs the same size.
Previous flex={1} was doing flex: 1 1 auto which was messing things up
* Fix typescript issue
* Handle array lookups in postgres
* Update types
* Fix fixture to recreate tables
* Make replace spaces logic consistent with what was there before
* Handle list filtering better in postgres
* Update frontend tests
* Handle edge case: Switching between multi operator and single operators
* Clarify what anonymize_ips does
* Hide IP before event ingestion, not during (hides it also from the task queues and plugins)
* flip it around
* add IPs to tests that expected them to be there
* "Discard"
* test that everything works when ip is none
* Refactor bulk invites to use OrganizationInviteViewSet
* Refactor BulkInviteModal
* Flyby utils fix
* Make invitation button nicer
* Fix dropdown Invite button
* Fix invites/bulk response status
* Update test_organization_invites.py
* Fix Formula typing
* Fix test_invites_are_create_atomically
* Fix typing
* Update comment
* The to each
* Address feedback and introduce optimizations
* Fix tests
* Polish
* use single invite on user dropdown if email is not available
* Add unit tests for pluralize
Co-authored-by: Paolo D'Amico <paolodamico@users.noreply.github.com>
* Upload static cohort using CSV, closes #2868
* fix tests
* Fix tests
* Fix e2e test
* Avoid double inserts
* Speed up query
* Move to params
* fix tests
* initial cleanup
* initial scaffold for cohort static logic
* intiial frontend changes
* initial working
* fix error on iterable
* stickiness people func refactor
* Use JSON instead of protobuf
* stickiness working
* clickhouse route
* unused import
* move button
* make interface easier to user
* clickhouse support
* restore cache decorator
* endpoint adjustment
* adjust how clickhouse handles inserting for static cohorts
* split out processing into pg
* use worker for clickhouse querying too
* add pg test
* ee test
* add input for cohort naming
* add stickiness test
* condition for when to show save cohort
* fix types
* minor fix
* remove repeats
* remove hardcoded id
* add date handling to trends cohort func
* remove print
* add link on success creation
* cohort working
* fix backend test
* fix cohort typescript
* remove unnecessary kafka topic
* remove brackets
* shift default
* raise exceptions when debug or test is true
* remove test flag
* move trends insight related components to different folder
* change get_earliest_timestamp
* remove extraneous condition
* fix test call
* put behind ff
* fix test x2
* fix tests
* restore exceptions hog
* fix tests
* restore exceptions hog
* fix test x20
Co-authored-by: Tim Glaser <tim@glsr.nl>
* DashboardHeader to ts
* Convert files to typescript
* Use BindLogic instead of passing logics as arguments
* Improve typing for dashboards
* Fix DashboardHeader types
* Improve typing: DashboardItem
* Fix InsightHistoryPanel, SharedDashboard types
* Add WIP code for date ranges on dashboards
* DateFilter/dateFilterLogic to typescript
* Show 'Custom' daterange by default on a dashboard
* Border for dates in Dashboard
* Add dashboard.filters field
* Populate dashboard.filters, use it in code
* Fix some type errors in dashboardItemsModel
* Fetch dashboard items again on date change
* Make dashboard items refresh as dashboard gets updated
* Add refresh button to DashboardHeader
* Make saving dashboard items work again
* Update dashboard type
* Don't update URL in DateFilter
* Update selected time range on load
* Avoid flickering in DateFilter
* Only show 'Custom' in dashboards
* Show calendar icon next to date filter in dashboard
* Avoid double-loading results due to date change
* Kill some duplicated code
* Avoid cache when filters change
(datefilters on dashboard)
* Test individual update_cache method
* Add test for import_from and attributes being updated
* Fix typing errors
* Update api/dashboard tests
* Avoid redirects when changing date range for funnels or retention
Previously funnelLogic might be mounted in the background, causing a
reload
* Add a missing breakpoint
* Reformat with black
* Remove deprecated Team.opt_out_capture
* Remove obsolete and unused Team.users
* Make Team.organization, api_token and name stricter
* Add migration
* Add Team.api_token min length
* Adjust 0124_stricter_team for opt_out_capture removal
* Don't remove Team fields
* Update migration
* Update migration
* Set org ID of orgless teams to first org instead of deleting
* Update migration
* Fix
* Ensure that each project has a name before migration
* Rename prepare_teams
You can now drag the whole "row" not just by the handle
distance now needs to be set not to interact badly with dropdown menus -
by default it would eat all the clicks.
Fixes #3410
* Return no data if invalid regular expression
This currently returns a 500. Fixes 3191 together with frontend
validation.
* Add browser validation
* Typing errors
* Formulas
* Add frontend for formulas
* fix type issues
* fix tests
* fixxx
* fix typing
* Add better tests
* Add more tests and fix various options
* fix pie and ui updates
* fix types
* fix lifecycle and table issues
* Regression test for %B in urls
* Add spec for being able to reach session recording to sessions page
* Add basic Person page component test
* Fix viewing session recorings on person page
I broke this in a recent PR by narrowing the URLs down too much to fix
another bug (logics clashing).
* Persons tests pass again
* redirect to "repository" tab if no plugins installed
* fix lone "." for empty descriptions
* sort repository alphabetically
* add WIP test to make sure plugins are separated by organisation
* org id can be str
* try to reset membership
* Add permission_classes to PluginSerializer
* don't show tabs if only one tab can be used
* sort installed plugins alphabetically
* don't check for updates if can't actually update
* hide some more information if can't install
* remove 'global' from plugin config
* deprecate unused 'error' field
* fix plugin permission_classes mishap
* fix test, 400 -> 403
* simplify test
* Simplify isinstance check
Co-authored-by: Michael Matloka <dev@twixes.com>
* base API invite signup
* prevalidate invites
* allowed signed in users to claim an invite
* add more test cases
* remove legacy invite signup
* add trailing slash to endpoint
* post merge cleanup
* bring back signup_to_organization_view to be able to split the PR
* another cleanup
* bring back signup to organization template
* mask_email_address util
* fix typing
* fix tests
* fix analytics metadata
* OrganizationSocialSignupSerializer
* support social auth
* rename company_name to organization_name
* final tweaks
* add organization_name to prevalidate response