0
0
mirror of https://github.com/PostHog/posthog.git synced 2024-11-29 19:16:37 +01:00
Commit Graph

125 Commits

Author SHA1 Message Date
Tim Glaser
2297b0f1cf
Grab all events and properties even if job hasn't run yet (#3200)
* Grab all events and properties even if job hasn't run yet

* Use next on generator instead of list comprehension

* Replace IndexError with StopIteration

* Don't raise StopIteration at all

* try delay

Co-authored-by: Michael Matloka <dev@twixes.com>
2021-02-08 18:34:27 +01:00
Karl-Aksel Puulmann
4c98e78c0f
Fix LinkButton component (#3194)
Caused by Link component updates

Fixes https://github.com/PostHog/posthog/issues/3193
2021-02-04 13:26:38 +02:00
Paolo D'Amico
167a79fa2f
Release navigation-1775 (#3167)
Co-authored-by: yakkomajuri <yakko.majuri@gmail.com>
2021-02-04 10:53:00 +01:00
Eric Duong
f1bb651b70
removee proj seetting test (#3179) 2021-02-03 19:15:16 +02:00
Karl-Aksel Puulmann
15d04d9e56
Improve demo data (#3111)
* Unify clickhouse and pg demo data creation

* Adapt yakkos demo data generation to normal demo

* Split demo.py into subfolder

* Add original, web data import

Note that elements are not added because they can't be added
automagically :(.

* Improve wording

* dont generate dashboards

* try get tests passing

* fix types

* Get cypress tests green
2021-01-28 13:50:01 +02:00
Karl-Aksel Puulmann
da92f0bbac
Allow rolling feature flags out to multiple groups (#3030)
* Support multiple groups in feature flags model

This will be part of #3007

I did not do a migration since it would cause errors for decide endpoint
once migrations have run but new schema not up.

* Update analytics_metadata method

* Allow defining multiple groups in frontend

* Allow sorting

* Update tests, allow submit without filters.

* Update cypress

* Avoid N+1 queries

* Indicate filters better in table
2021-01-26 01:18:05 +02:00
Eric Duong
4b7b0d5abe
just match on localhost (#3002) 2021-01-19 21:37:30 +01:00
Tim Glaser
1a6207d791
Upload static cohort csv (#2932)
* 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

* Use JSON instead of protobuf

* unused import

* produce instead of produce_proto

* Insert directly into clickhouse, no need for kafka

* a few quick fixes

* insert in batch to clickhouse

* test SQLi since we can't really trust what we are inserting

* Extra check for duplicates

Co-authored-by: James Greenhill <fuziontech@gmail.com>
2021-01-15 11:19:31 +01:00
Eric Duong
70a6ecb407
Separate math aggregates (#2885)
* separate math aggregates

* add data attr back

* adjust cypress

* make sure tooltip is viewable

* Show total by default

Co-authored-by: Tim Glaser <tim@glsr.nl>
2021-01-11 14:28:29 +01:00
Tim Glaser
e7cf836d59
Merge person modal (#2644)
* WIP merge person

* Warning message

* Fix test

* fix

* Fix small issues
2020-12-10 15:37:30 +01:00
Michael Matloka
1c80aca907
Cleaned up system status page (#2682)
* Polish system status page

* Show system health badge to is_staff users on Cloud

* Update Cypress test

* Correct inconsistent scene name

* Use RDBMS enum instead of constants

* Add "Analytics database in use" to System Status

* Fix typing
2020-12-09 13:57:12 +01:00
Paolo D'Amico
f654a37077
Fix cypress projectSettings (#2674)
* fix projectSettings

* allow /insights or /demo

* fix

* real fix
2020-12-07 11:53:14 +01:00
Tim Glaser
a426b427a4
Cohort table improvements (#2576)
* WIP cohort table improvements

* More fixes

* More fun

* Fix updating cohorts

* Add search box

* thing

* stuf

* Fix multiple exports

* Fix tests

* fix

* fix test

* fix

* fix
2020-12-04 19:50:43 +01:00
Paolo D'Amico
d6f3079bc0
Release actions-ux-201012 (#2615)
* remove legacy code & feature flag references

* ActionStepV2 refactor

* ActionEditV2 refactor

* fix backend tests

* fix more tests

* more fixes

* last fix

* address feedback
2020-12-03 10:59:11 +01:00
Tim Glaser
1dd7f7342b
Use select for numerical properties (#2628)
* Use select for numerical properties

* fix test

* fix isssues
2020-12-02 15:18:50 +01:00
Tim Glaser
7d7dca8f47
Remove signup process from cypress (#2264)
* Remove signup process from cypress

* adds cypress preflight tests

* run migrations before setting up test data

* fix preflight tests

* Update preflight.js

Co-authored-by: Paolo D'Amico <paolodamico@users.noreply.github.com>
2020-12-02 14:12:43 +01:00
Eric Duong
29c952a1ce
remove flake filter by event test (#2580) 2020-11-30 17:36:24 -06:00
GalDayan
000f76a5bd
2094 too many distinct (#2480)
* BUGFIX: re adding feature flag after deleting

* Suppport max array length and show more when need

* refactor

* added 3 distint id to user

* 2 users

* Revert "BUGFIX: re adding feature flag after deleting"

This reverts commit bf9b019b9e.

* added more distinct

* added data-cy and person tests

* fixed tab

* added search for person if not first
2020-11-25 11:12:22 +01:00
Tim Glaser
f47e8b97ae
Combine events and actions into select box (#2394)
* WIP combine events and actions

* Alignment

* Keyboard navigation select box

* Fix enter and other small issues

* add icons

* fix renderinfo

* Hide scrollbar

* Refactor

* Fix cypress test

* fix cypress test
2020-11-24 18:28:44 +01:00
Tim Glaser
e4842f7fed
Feature flag table improvements (#2448)
* Feature flag table improvements

* sorter created by

* fix cypress test
2020-11-23 19:43:03 +01:00
Yakko Majuri
671d1febee
Fix Feature Flags typo (#2463) 2020-11-23 12:07:43 +01:00
GalDayan
f39575d388
Add feature flag filters and roll out precentage to main table (#2387)
* added rollout precentage and filters to main table

* added enable editing

* Seperate to component

* Remove row design

* renamed

* delete unused code

* added typing

* Removed not necessary commits

* prettier ts file

* Formatting

* fix yarn linter

* changed rollout precentage

* changed

* rollbacked the changes

* If there is not roll out percent

* add test on rollout precentage

* refactor

* added filter selectio ntest

* delete unused data-attr

* update attribute

* added filters check
2020-11-20 11:03:14 +01:00
Paolo D'Amico
9ad483064b
Refactor people & users to persons (#2413) 2020-11-17 08:40:48 -06:00
Michael Matloka
33823e8648
Refactor sceneLogic to TypeScript and add dynamic page title (#2361)
* Refactor sceneLogic to TypeScript and add dynamic page title

* Add Cypress checks

* Run prettier

* Fix Cypress checks

* Improve camelCaseToTitle JSDoc

* Move "PostHog" to end of page title

* Use bullet

* Remove actions

* Rerun tests

* Fix new Events page after merge conflict
2020-11-13 17:50:23 +01:00
Tim Glaser
25a053cda4
Manage events view (#2319)
* Finish the local dev w/ proto setup

* WIP manage events view

* Add task, add interface etc

* Move everything to 'manage events' view

* Move all settings into single dropdown (can be reverted)

* Urls for tabs

* Fix migration

* Clickhouse and humanize volume

* Fix cypress test

* Fix sidebar cypress

* Fix cypress again

* Fix some small issues

* Address comments

* Corect naming

* Fix test'

Co-authored-by: James Greenhill <fuziontech@gmail.com>
2020-11-13 14:59:08 +01:00
Tim Glaser
0649615ad7
Closes #2347 Fix shared dashboards (#2351)
* Closes #2347 Fix shared dashboards

* Fix cypress test
2020-11-12 15:31:10 +01:00
Tim Glaser
4dffff5543
1999 improve feature flag ux (#2243)
* #1999 improve feature flag ux

* Fix

* Fix cypress test
2020-11-11 12:22:15 +01:00
Yakko Majuri
b5809139b3
Remove Live Actions Altogether (#2303)
* Remove Live Actions Altogether

* remove backend code

* remove accidental file
2020-11-10 16:35:33 +01:00
Paolo D'Amico
cd251df713
[WIP] New UI (#2114)
Co-authored-by: Michael Matloka <dev@twixes.com>
2020-11-05 12:55:33 +00:00
Marius Andra
fce86ef46d
Plugin v8 (#1946)
* plugin progress

* blah

* add posthog config for plugins

* test gitignore

* new functionality for plugins

* support local plugin paths

* also ignore symlinks

* add positional argument

* fixes

* small fixes

* config polish

* config passed to posthog plugin

* ooooooops

* symlink fix

* cleanse dir before loading

* add cache to plugins

* pickle the goods

* unlink symlink

* pass full config

* unlink even if link points to nothing

* fix fix

* return none if value is empty

* plugin model

* plugins scene

* add config schema to plugins

* install plugins

* save descriptions

* show descriptions

* edit plugin

* save plugin config

* plugin modal

* uninstall plugins

* UX cleanup

* add "required" to plugin config

* open plugin modal after install

* split to subcomponents

* install custom plugins

* rework backend for model plugins

* Plugins on models

* simple reload pubsub

* fix apps not installed

* fix master/main issue

* fix reload command

* use the github api to get the default branch

* init plugins only if not running migrate/makemigrations

* store plugins zip archives in postgres

* tag plugins to specific versions

* save plugins in pluginConfig

* update pluginConfigs instead of adding new rows, remove from redux on uninstall

* remove debug

* run plugins from db by team

* reload when deleting

* remove debug

* smarter handling of dynamic plugins, support local plugins again

* improve typings, add some nicer warnings

* yarn lock file after merge

* squash migrations and add "locked" field to plugins

* error if folder not found in zip

* unregister plugins

* skip plugin init in test mode

* basic plugin test

* avoid mutating the same prop hash

* add pip tools to requirements.txt

* fix mypy, fix manage.py script error

* avoid plugins with mypy

* mypy fix

* abstract redis into plugin and add team_id to reload

* refactor and start work on syncing with posthog.json

* start testing plugin loading from json

* test plugin deletion

* test for syncing plugins from config

* complete and then test local json plugin sync

* test converting back and forward between an local and http path

* remove global plugin config from plugins array in posthog.json

* rename configSchema --> config_schema

* fix migration after merge

* rename from_cli to from_json

* mypy

* import pip after plugin loaded

* show error details

* raise exceptions visible to the frontend

* sync plugins on load

* access control to updating plugins from the web

* access control

* remove posthog.json from git

* test config schema from json

* if you can install via the web, you can also configure

* remove separate view access

* title as "Plugins" instead of "Installed Plugins" if we can't install ourselves and don't see the repository

* add self.team to plugin base class

* add instance_init method

* refactor into files

* sync global plugin config from json

* make global plugins work, add test

* global plugins in interface, make them take precedence over local plugins

* add comments to plugin base class

* reload/reset plugins before each test

* add error field to plugins

* add many plugin zips

* add many plugin zips, fix imports

* store errors on plugin object and test them

* fix types

* add null to error

* can be with any team ID in the test

* save problems running plugins in the plugin_config model

* try to create redis connection pool only once

* throw if no redis

* mypy

* get instance inside heartbeat and not top level

* try caching pubsub

* try pip install with -q

* install pip externally

* remove uuid and typing, now in stdlib

* more verbosity

* add pip back

* catch exceptions

* quiet and no input for pip

* check plugin reload every 10sec on new task

* fix type errors

* fix requirements error message

* use repository.json

* only load and reload plugins on workers

* rename task

* support local js plugins via py-mini-racer

* load js plugins from zip files

* extract jsplugin class and convert to syntax that uses global functions instead of initializing a class

* process events via grpc

* process events with the "posthog-plugins" queue to enable plugins

* remove old native python & mini racer plugin code

* default to false

* change env vars

* fix test

* remove grpc tools

* skip plugins in migrate.py scripts

* fix migration

* change output of settings debug banner to STDERR

* start posthog plugin server with worker

* try to fix python 3.7 test

* add fallback for the optional argument

* annoying CI test debug

* try to finally fix python 3.7 test

* here we go again

* move plugins under instance

* move plugins npm start into its own folder

* more console.log debugginf

* and again

* move plugins to separate script

* more prints

* fix test error

* docker config

* small fixes

* dckerfile fix

* reload plugins via pubsub, upgrade version

* plugins that support team setup code

* sync if made changes from config

* move plugins in menu

* require node 14 in heroku for better plugin support (namely ?. support)

* bump node version in dockerfiles

* update node versions for github actions

* update the concurrency for heroku workers

* update the concurrency for heroku workers (add link)

* Fix migrations after merge

* add ignore_result to process_event tasks

* fix: docker-preview run in parallel bug

* change order of commands

* remove separate plugins server conf script

* clarify intent

* revert castaway change

* add context to plugins/sync.py

* change everything to ValidationError

* delegate destroy to super

* no request to repository url if can't install

* make the if cleaner

* add clarifying line

* add clarifying line

* fix url field type

* rename get_redis_instance to get_client, move to posthog.redis

* remove duplicate validation

* flip if around

* simplify api logic

* simplify plugin_config api, fix global_plugin error

* remove unnecessary field rename

* mypy

* Plugins UI (#2090)

* base UI

* more UI

* load plugin image if available

* toggle enabled plugin

* plugin cards for available

* custom plugins

* change plugin configuration to drawer

* asks for confirmation when enabling or disabling a plugin

* loading state

* separation of concerns, leave new styles for separate PR

* general improvements

* remove button when installation is not available

* preemptively avoid merge conflict with #2114

* move papercups widget & hide bottom bar when drawer is open

* allow clicking the entire plugin card

* address all feedback

* move plugins under "project" menu

* Hide "configure" from globally enabled plugins

Co-authored-by: Marius Andra <marius.andra@gmail.com>

* add plugins opt in toggle to project/plugins

* choose pipeline based on team setting

* add "beta"

* plugin opt-in opt-out pages

* adjust install button

* remove tasks that are never called, remove PLUGINS_ENABLED global key

* fix responsive card display

* fix typo and drawer width

* skeleton fixes

* typo

* use "posthog-plugin-server" npm package

* "posthog-plugin-server" doc

* require the plugin server to be online before enabling plugins

* remove a few needeless "?." cases

* add hint for config_schema

* add hint for errors

* show plugin errors

* stop clicks if clicking on error

* show plugin errors

* loading indicators

* reload plugins when opting in/out

* nicer beta tag

* add frontend type

* fix mypy error

* fix test

* disable plugins if MULTI_TENANCY

* upgrade plugin-server version

* save event with plugin error

* upgrade plugin server

* squashed & optimized migrations

* remove unused import

* updates opt-in copy & hides tech details for cloud version

* fix cypress tests

* compare with None

* change plugins url and add redirect

* remove ellipsis

* use code snippet in plugin errors

* change github regex

* fix loading flickering on installing plugins

* add comment to plugin archive

* fix python style

* remove pip-tools (relic from the python plugin era)

* hard pin plugin server version

* remove copying of posthog.json from dev dockerfile (breaks if file doesn't exist, copied later anyway)

* update lockfile

Co-authored-by: James Greenhill <fuziontech@gmail.com>
Co-authored-by: Paolo D'Amico <paolodamico@users.noreply.github.com>
2020-11-02 15:08:30 +01:00
Karl-Aksel Puulmann
934d887915
Fix cypress tests (#2070)
* Fix cypress tests

* Use latest cypress gh action
2020-10-28 16:13:07 +02:00
Paolo D'Amico
06d7671e3c
Dashboard templates & first default dashboard (#1942)
Co-authored-by: Ahti Kitsik <ak@ahtik.com>
2020-10-28 11:41:24 +00:00
Marius Andra
e4895ba80a
Cohorts Test (#2003)
* test creating and listing cohorts

* try to fix flakyness by clicking the dropdown item even if it's not visible
2020-10-23 15:52:59 +02:00
Karl-Aksel Puulmann
2812aa25ff
Fix cypress tests (#1986)
people.js was done by the refactoring/renaming being done in
533c7df105
2020-10-22 15:42:38 +02:00
Michael Matloka
533c7df105
Organization<>Team<>User structure (closes #1540) (#1562)
* Backend changes to implement #1461

* Added the missing migration files

* Fixes Typecheck errors

* Refactor request.user.team_set.get() to use request.user.team

* Updated user patch method to change current_team on team id instead of name

* Merged migration file

* Changes team property to return first item in queryset

* Fixes failing tests

* Changed User api to return the ids of the teams they are currently part of

* Frontend for changing teams

* Update and simplify migrations

* Improve team and user buttons

* Make team changing backend more logical

* Improve current_team mechanics

* Update test_team.py

* Fix Team.objects.create_with_data

* Update migration

* Update tests

* Make setup_review more convenient

* Add Organization and OrganizationMembership

* Replace is_admin with level

* Extend API

* Update team.py

* Improve modeling

* Improve handling of new mechanics

* Add proper migration

* Remove _ensure_organization_and_team

* Update 0084_org_team_user.py

* Improve user, org and team creation

* Make MembershipLevel more flexible for the future

* Add member deletion

* Fix naive datetime warnings

* Update setup_review.py

* Update API route

* Make PersonalAPIKey changes

* Update models and migrations, fix typing

* Fix typing

* Use MAC-less UUID v1 instead of v4 for better performance

* Add abstract UUIDModel

* Update utils.py

* Update utils.py

* Fix multi/unicast bit

* Update APIs, frontend and tests

* Update pull_request_template.md

* Fix comment

* Fix migration error

* Compress migrations

* Updates with minimal renaming

* More updates

* Make further updates

* Update test_team_user.py

* Fix issues

* Add migration

* Satisfy mypy

* Remove Signup redirect on logged in

* Use uuid1_macless in Person

* Fix typing

* Update tests

* Update /api/team/signup to /api/organization/signup

* Fix mypy issues and update tests

The remaining failures are actually missing functionality (TDD applied), so filling these in.

* Update 0086_org_live

* Make small improvements

* Implement permissions

* Remove now unneccesary membership check

* Update setup_dev.py

* Make small frontend improvements

* Add drf-nested-routers as requirement

* Remove unused import

* Implemented nested routes

* Remove cruft

* Add relevant org/proj/user name to headings

* Fix imports

* Update migration

* Replace unreliable drf-nested-routers with drf-extensions

* Improve unset team handling

* Make org and team creation proper

* Update migration

* Fix migration

* Update TopContent

* Update command palette for new sidebar structure

* Remove deprecated demo data deletion

* Assume that each org has a project and fix typing

* Require paid plan for multiple orgs and projects

* Make HogFlix demo a separate team

* Update migration

* Slightly improve style

* Adjust page layout bottom padding

* Make user dropdown nicer

* Fix base app tests

* Satisfy mypy

* Fix test_leave_organization

* Improve wording

* Possibly fix import

* Remove misplaced None check

* Enhance org and teams APIs and add tests

* Fix /api/projects for particular Team

* Improve invites and demo data

* Address feedback

* Put everything related to billing on Organization

* Fix minor issues

* Simplify invitation creation

* Update team model

* Make orgs and projects premium only on self-hosted

* Improve testing

* Update migration

* Remove extra License import

* Fix minor issues

* Fix Django tests

* Fix Cypress

* Fix yarn build

* Fix TeamSignupViewset

* Fix posthog-production incompatibility

* Remove extraneous insight endpoint registration

* Adjust tests for posthog-production

* Simplify invitations and fix email validation

* Address all feedback

* Satisfy mypy

* Update migration

* Fix constraint removal in migration

* Update tests

* Fix test creation edge case

* Run posthog-production CI tests against this branch and teams-live

* Ensure that js_posthog_api_key is always passed

* Fix preflight check pre-login

* Update cypress tests

* Update instanceStatus.js

* Bring ee tets up to par

* Bring actions-ux-201012 back

* Cypress retry in cypress.json

* Revert "Run posthog-production CI tests against this branch and teams-live"

This reverts commit d79cb844d8.

Co-authored-by: anna <ms.annaphilips@gmail.com>
Co-authored-by: Anna Philips <aphilips@matmacorp.com>
2020-10-22 10:58:32 +02:00
Ahti Kitsik
3e1f06fe58
System Status page and API (#1812). (#1875)
* System Status page and API (#1812).

* More resilient to Redis outage. Ensure the table gets loaded.

* Bugfix and reworded.

* Using kea-typegen now and removed a " ".
2020-10-15 12:34:32 +02:00
Karl-Aksel Puulmann
c24c58828f
Upgrade cypress, fix and stabilize tests (#1872)
* Upgrade cypress

- https://docs.cypress.io/guides/references/migration-guide.html#Migrating-to-Cypress-5-0
- https://docs.cypress.io/guides/references/changelog.html#5-0-0

* Run tests multiple times if flaky

* Fix broken command palette cypress test

* Remove default retries options
2020-10-14 15:36:25 +03:00
Yakko Majuri
38135ba73a
fix feature flags test (#1858) 2020-10-14 10:01:17 +03:00
Michael Matloka
f71e011a86
Command palette (#1819)
* add hotkey base

* add platform check

* Rename CommandBox to CommandPalette

* Add styled-components

* Restructure CommandPalette and add Esc handling

* Update utils.js

* add search box

* Add logic types

* Implement base logic

* Fix scroll prevention

* Update logic and add goto command base with Fuse fuzzy serach

* ux hotkey

* Implement command (de)registration

* minor fix

* base UI

* error message & hints

* command groups UI

* Add commands search

* Make commands work

* Prepare palette for fuzzy search and add basic labeling

* ui adjustments

* ui

* Improve colors

* switch to global command

* Optimize resolution

* global go to commands

* abstract item selection logic to command palette

* Update casing and types

* Add conditional useCommands

* Improve results

* keyboard nav

* keyboard nav fix

* removed double fuse (synonyms broken)

* Update style

* Fix highlighting

* Remove extra style

* conditional go to commands

* add mouse hover handling and rename functions

* remove mac check

* add more commands

* added insights stub pages

* Add command components

* refactor logic

* Update styling

* Remove extraneous `input`

* load custom dashboards to command palette

* Add input styling

* Add write icon

* Refactor results

* minor adjustments

* add person search

* remove papercups fully

* fix input indexing

* fix result executing empty

* Add command grouping and improve navigation

* add urls

* make logic explicit

* fix error with hadnler

* Remove redundant border-top

* add trend functions

* personal api key stub

* Add command palette toggle button

* Fix things

* fix personal api keys

* copy api key to clipboard

* Add toggle text

* Improve palette UX and perform refactoring

* Improve UX and add palette usage reporting

* tests refactor

* filter person list

* refactor api person tests

* add squeak

* deprecate by_distinct_id & by_email person endpoints

* Optimize squeak

* fix typegen error

* use new filters in frontend

* Optimize squeak

* key identifier refactor

* fix mypy

* removed unused code

* Make custom command UI more coherent

* Add calculator to palette

* Use equal sign

* Make palette button nicer

* Add lodash back officially and show palette suggestions

lodash is still used in a few places, but it was not in package.json. The reason this was working was that lodash is a dependency of some other depedencies, but this was fragile. It's still not ideal to use this, but at least this is now not a hack the way it was.

* Remove isHint

* Optimize graph time range command

* Move command results grouping to Kea logic

* Fix result focus autoshift

* Improve palette result focusing

* Adjust for window.posthog being optional

* add test for third-party person filters

* Remove styled-components in favor of .scss files

* Remove redundant container class

* Use insect (sic!) squeak instead of pig squeak

* Show only unique palette results

* Fix palette overlay

* Add powerful command building protocol CommandFlow

* Fix minor issues

* Always show scope when flow active

* Use custom label icon

* Add feedback sharing command

* block command input from being captured in screen recording

at least until we can figure out how to capture this info in a privacy-preserving way

* Hide palette button on narrow screens

* Improve responsiveness

* Fix palette feedback sending

* Fix Esc handling

* Add Message Sent info

* Fix Message Sent info

* Fix dashboard creation and null name handling

* Rename Cy tests to JS convention

* Add basic Cypress test

* Address feedback

Co-authored-by: Eric <eeoneric@gmail.com>
Co-authored-by: Paolo D'Amico <paolodamico@users.noreply.github.com>
2020-10-13 15:44:56 +02:00
Yakko Majuri
f117b66ebe
Add option to delete feature flags (#1761)
* frontend-only changes for deleting flag

* added flag deletion logic

* updated cypress tests

* capitalize feature flag col titles

* fixed issue

* added undo button

* Remove deletion confirm modal and improved undo experience

Co-authored-by: Michael Matloka <dev@twixes.com>
2020-10-13 12:47:46 +02:00
Yakko Majuri
bb1d44531f
Session Recording tests (#1827)
* added backend tests for sessions endpoint

* added cypress tests for person

* rerun tests

* updated backend tests

* Fix tests

Co-authored-by: Karl-Aksel Puulmann <oxymaccy@gmail.com>
2020-10-08 18:25:52 +03:00
Yakko Majuri
4cb64d0c74
Fix Cypress tests (#1635)
* added timeouts and waits to ensure flow of cypress tests

* removed unused test

* fixed trends elements tests

* testing a longer wait time - temp

* fix trends sessions and retetion filtering tests

* fix events filtering test

* removed wait

* trends sessions fix

* minor update

* fix live actions & sessions

* improve timeouts

* more timouts

* removed some waits

* added timeouts to trends tests

* modify config

* remove test on bug

* removed timeout from events table

* remove dashboards timeout

* change selector for sessions tab

* use data-attr
2020-09-18 09:26:12 -04:00
Paolo D'Amico
cf2ec2894c
Signup improvements (#1535)
Co-authored-by: Yakko Majuri <yakko.majuri@gmail.com>
Co-authored-by: Michael Matloka <dev@twixes.com>
2020-09-07 09:23:13 -05:00
Eric Duong
c20df2905f
Consolidate insight api (#1498)
* add insight history

* add table

* edit format

* links working

* add modal

* add tab switch

* saving insights

* remove insights model

* no model for insight history

* initial working

* remove wrong typegen

* made the history per user

* missing param

* added funnel support

* add details

* add delete saved insight functionality

* add line break logic and funnel name

* fix reload logic

* fix rendering error

* add pagination component

* fix bugs

* add backend tests

* add insight-history-panel check

* add drawer and replace table

* add loading next

* add date

* add callback

* update test

* use table

* fix spacing

* fix rows

* adjust spacing

* fix spacing and styling

* fix spacing and styling

* main funnel-insight page working

* consolidated funnels

* refactor funnel dashboard item

* dashboard modals working

* update demo creation

* updated migration

* fix frontend for funnels

* remove funnel code and fix bugs

* fix test and remove caching temp

* remove old tests

* fix types

* added panel for past funnels

* implement polling for funnel refactor

* .

* fix dashbaord item bug

* add params

* fix params

* clean up caching functionality

* fix types

* caching working properly

* fix dashboard update bug

* fix migrations

* .

* fix check

* add missing package

* update caching to work properly

* Fix default

* fix api and styling for insight history

* more spacing

* initial refactor paths to queries and consolidate into /insight

* missing param for paths

* move path tests

* change frontend endpoints

* add comments about specific parameters

* minor tune up

* fix name

* typed filter and paths

* typed retention

* more typing and standardization

* fix tests

* cleanup

* update funnel automatically

* update tests

* fix clear condition

* merge insight history

* return save functionality

* remove file

* fix path params and tests

* add tests

* fix type
2020-09-01 15:19:15 +02:00
Yakko Majuri
ba4a752646
Close #1292: Added tabs for distinguishing between different users (#1382)
* #1292: Added tabs for switching between user types in People

* updated fetchPeople implementation

* refactored and fixed pagination

* fixed search query across tabs issue

* updated api query param for person

* added tests

* added tests & fixed queries

* added cypress tests

* Improve code style

* Improve regex and add compatilibity with demo data

* Improve variable naming

* Switched user identifying mechanism

* made it demo friendly

* Improved method for identifying users, added tests

* fixing minor mistakes

* made cypress test more robust

* cypress test update

* fixed migrations conflict

* updated cypress tests

* Optimize process_event conditions

* Update comment

* Make _set_is_identified more versatile

* Update demo.py

* Rename queryset_anonymous_pass

* Improve rudimental identification detection

* User kea-router for All Users category tab

* Optimize People

* Make category play well with cohort in People

* Simplify way of filtering by identification

* Remove need for deep copy

* Check location in People tabs E2E test

* Update test_process_event.py

* Black test_process_event.py

* Fix test_set_is_identified

* Try E2E test with cy.wait(200)

* Try E2E with more waiting

* Don't check location in E2E test

* Add test_category_param

* Update migration

Co-authored-by: Twixes <dev@twixes.com>
2020-08-25 01:58:12 +02:00
Eric Duong
b172eee920
Insight history (#1379)
* add insight history

* add table

* edit format

* links working

* add modal

* add tab switch

* saving insights

* remove insights model

* no model for insight history

* initial working

* remove wrong typegen

* made the history per user

* missing param

* added funnel support

* add details

* add delete saved insight functionality

* add line break logic and funnel name

* fix reload logic

* fix rendering error

* add pagination component

* fix bugs

* add backend tests

* add insight-history-panel check

* add drawer and replace table

* add loading next

* add date

* add callback

* update test

* use table

* fix spacing

* fix rows

* adjust spacing

* fix spacing and styling

* fix spacing and styling

* .

* add missing package

* Funnel refactor (#1381)

* main funnel-insight page working

* consolidated funnels

* refactor funnel dashboard item

* dashboard modals working

* update demo creation

* updated migration

* fix frontend for funnels

* remove funnel code and fix bugs

* fix test and remove caching temp

* remove old tests

* fix types

* added panel for past funnels

* implement polling for funnel refactor

* .

* fix dashbaord item bug

* add params

* fix params

* clean up caching functionality

* fix types

* caching working properly

* fix dashboard update bug

* fix migrations

* fix check

* update caching to work properly

* Fix default

* fix api and styling for insight history

* more spacing

* update funnel automatically

* update tests

* fix clear condition

* merge insight history

* return save functionality

* remove file

* added extra save functionality
2020-08-24 17:02:13 -04:00
Yakko Majuri
acaf1a59d0
Fixed broken Cypress tests (+ made it all much faster!) (#1486)
* Fixed and improved Cypress tests

* Try with even less cy.wait

* Fix selector

* Add back some cy.wait

Co-authored-by: Twixes <dev@twixes.com>
2020-08-22 18:03:12 +02:00
Tim Glaser
23f5918477
Add enterprise edition and licensing (#1390)
* Add enterprise edition and licensing

* Cypress test

* License wording change

* Fix typos
2020-08-14 11:23:55 +02:00
Eric Duong
249ec347c3
Revert "Insight history (#1303)" (#1363)
This reverts commit 4166e96364.
2020-08-05 17:00:56 +02:00
Eric Duong
4166e96364
Insight history (#1303)
* add insight history

* add table

* edit format

* links working

* add modal

* add tab switch

* saving insights

* remove insights model

* no model for insight history

* initial working

* remove wrong typegen

* made the history per user

* missing param

* added funnel support

* add details

* add delete saved insight functionality

* add line break logic and funnel name

* fix reload logic

* fix rendering error

* add pagination component

* fix bugs

* add backend tests

* add insight-history-panel check

* add drawer and replace table

* add loading next

* add date

* add callback

* update test

* use table

* fix spacing

* fix rows

* adjust spacing

* fix spacing and styling

* fix spacing and styling
2020-08-05 10:13:57 -04:00
Marius Andra
863e75bf9f
Toolbar Default On + Load Test (#1326)
* set user.toolbar_mode default to "toolbar", turning it on for new users

* test that the toolbar loads when you open /demo
2020-08-04 14:46:08 +02:00
Eric Duong
7dc4e2e45f
Consolidate features (#1265)
* bring retention table and paths to trends page, refactor tabs

* fix filters

* remove add dashboard item

* add funnel to insights

* add funnel to insights

* add url handling

* add people table to funnel insight

* chart filters

* funnels date filter working

* add comments

* prop and date filters working

* fix default states

* add types for dashboard visualizations

* save funnel

* dashboard items working

* reformat tabs

* fix links

* fix tests

* fix tests

* add missing labels

* change trends to insights

* fix funnel filtering

* add test

* add clear funnel ability
2020-07-29 17:51:49 +02:00
Eric Duong
d0419fdd81
fix team test (#1287) 2020-07-28 15:53:35 +02:00
Tim Glaser
31f3185776
Closes #1020 WIP shared dashboards (#1071)
* add test for caching funnels and refreshing

* Closes #1020 WIP shared dashboards

* Make webpack work

* Progress?

* Hash the entire filter and add share tokens

* Make webpack work properly

* Fix sentry error

* Tighten up the caching logic

* Correctly refresh items and show in frontend'

* Add some padding

* fix caching, update layout

* Add cypress tests

* Fix merge conflict mistake

* Convert share_token to boolean

* Hide text when small

* Redo tooltip for lock

* Remove move cursor when in shared mode

* Improve spacing

* Fix state being incorrect

* Use selectors instead of value

* Use const instead of let

* Fix type errors et al

* Increase cache size

* Fix dashboard tests

* Fix team tests

* Add wait time

* Fix tests

* Fix refreshing

* Fix dashboard tests

* Fix test

* Excluded deleted dashboard items and don't show refreshing

* Fix renaming issue

* Fix migrations and fix display of status change

* Use grid for responsive header

* Don't load annotations

* Eslint

* Fix variable naming

Co-authored-by: Eric <eeoneric@gmail.com>
2020-07-23 10:41:59 +02:00
Eric Duong
d7fe71f083
1247 annotations crud (#1258)
* working table

* add modal

* continue adding to modal

* added function to create global annotation

* format

* test commit

* add precommit

* add update function

* crud working

* add type

* fix tests

* add next

* add prompt

* tests
2020-07-22 12:25:54 +02:00
Michael Matloka
4fe9b3c0ad
Aggregate functions on Trends (closes #1193) (#1217)
* Update entityFilterLogic for filter.math_property

* Add new math types and math_property to ActionFilterRow

* Add backend support for new math types

* Update data-attrs

* Add dropdown Cy test

* Add API tests

* Improve process_math style

* Add resiliency to non-number property value occurences

* Annotate for clarity

* Update UI text

* Update UI text a bit more

* Reword tooltip

* Update UI slightly

* Update capitalization

* Improve internal style

* Improve code style

* Filter out property `token`

* Utilize formatted string

* Don't show empty dropdown contents

* Add event_properties_numerical for the future

* Fix dropdown button title
2020-07-21 16:18:11 +02:00
Eric Duong
9ffa069f7e
Add comprehensive Cypress tests for dashboards (#1171)
* integration tests

* pop last_refresh

* add tests
2020-07-10 13:21:30 -04:00
Kaushik Asp
777d9a871f
Allow filtering retention table (#1165)
* Closes #1108 Allows filtering of retention table

* Adds logic to parse properties(filters) from the URL and including the filters while making api request for data

* Adds PropertyFilters component to the rentention table scene

* Adds props that are passed on to the RetentionTable component so that the properties prop is populated

* Fixes failing tests since the person_id wasn't added to the event objects

* Fixes type error for json loads

* Adds frontend and backend test

* Removes print statement
2020-07-09 15:26:47 +02:00
Eric Duong
fb10127633
add requirement for password (#1162)
* add regex requirement for input and prompt

* update test with new password restrictions

* fix more tests
2020-07-08 09:44:29 +02:00
Michał Matłoka
93aebb9e7b
Update prettier to 2.0.x (#1143)
* Update prettier devDependency to 2.0.x

* Format with prettier 2.0.5

* Update yarn.lock
2020-07-03 14:37:07 +02:00
James Greenhill
1b689054bf
Fix cypress inconsistent tests with longer wait and purecomponents (#1078)
* Test lengthening the wait time for the toasts to see if they are less flakey

* use purecomponent hook to prevent unnecessary rerender

* test again

* test again x2

* change pagekey

* test x2

* test

* run on chrome

* remove chrome

Co-authored-by: Eric <eeoneric@gmail.com>
2020-06-25 13:53:13 -04:00
Karl-Aksel Puulmann
f6df41afaa
Retention page (#1073)
* Retention query v0

* First iteration of endpoint

* Return dates labels as well

* Fix the order of result building

* Improve query for retention.

Instead of trying to figure out the "first date", it instead:
1. Figures out what dates every user does events on (WITH query)
2. Then for every date/'first' date combo counts users.

I doubt this is the efficient way to do things but seems to return the
right results.

We now also include time range filter with the query.

* Add empty views for retention

* Add logic for loading data for retention table

* Get a table rendering for retention

* 11 days over 10

This results in a more pretty table

* Remove raw column

* Use correct relative timeframe

* Add spec for retention feature

Note it's currently failing because of missing functionality

* Use query combining for retention queries

* Color cells in retention table

Background color baseline was picked based on already used colors in
css.

Text color switches when crossing a handpicked threshold for legibility.

* Open submenu when navigating to retention

* Add e2e test for retention route

* Add subheader for retention

* Try make mypy happy
2020-06-24 21:13:56 +02:00
Tim Glaser
f61e9c111b
517 feature flags (#1017)
* WIP #517 feature flags

* Fix default filters

* Move decide to its own file

* Bump posthog-js 1.2.2

* Fix decide endpoint

* Add logic, update posthog-js

* yarn lock

* update snippet

* Add cypress tests

* Add example code

* Fix example code

* Add tests for query size

* Add errors when trying to create feature flag with same key

* Add explanation comment

* Fix cypress tests

* Do caching of teams in Team model

* Use <= instead of <

* Instrumentation and fix

* Fix ci test

* Add patch for team

* Debug test

* It passed
2020-06-22 10:57:09 +02:00
Tim Glaser
720a6f2bc5
Fix moving from sessions to trends (#1039)
* Fix moving from sessions to trends

* Clear results as a response to an action

Co-authored-by: Marius Andra <marius.andra@gmail.com>
2020-06-19 19:08:53 +02:00
Tim Glaser
9c393c4381
470 filter by event name (#1024)
* Bump posthog-js 1.2.2

* Closes #470 allow filter by event name

* Add cypress tests

* Fix test

* Fix inconsistencies
2020-06-17 11:46:22 +02:00
Eric Duong
65fedb23e4
Sessions view (#926)
* initial foundation for sessions

* initial ui

* updated icon

* temporary repeated code

* aggregated properly

* working onclick row

* reorganize sessions logic

* paginate

* update test

* fix typing

* remove materialize script

* .

* add api test

* add e2e test

* update label

* fix test

* initial working materialize sessions

* add ellipsis

* working with double migration

* remove materialized and paginate properly

* undo migrations manifest

* remove unneeded diffs

* fix test errors

* fix test

* remove button when unnecessary

* fix logic

* linting error

* styling fix

* more styling

* .

* fix test

* Add cursor pointer

Co-authored-by: Tim Glaser <tim.glaser@hiberly.com>
2020-06-16 13:49:31 +02:00
Eric Duong
43d3b632b0
Capitalize actions and cohorts buttons (#1019)
* capitalized

* one more title
2020-06-15 20:43:14 +02:00
Eric Duong
5cb8e9c409
Fix Initial Overlay (#904)
* fix overlay so that components aren't rendering over one another and use hooks

* fix linting err

* change cypress test
2020-06-03 17:13:42 +01:00
Tim Glaser
c49a608722
Events table antd (#895)
* Add property key descriptions to breakdown filter

* Change name in eventstable header

* Move events tables to antd

* Fix test

* Move live actions table over

* Fix tests

* Fix tests

* Fix test

* add pointer to row

* person spacing

Co-authored-by: Eric <eeoneric@gmail.com>
2020-06-01 17:37:36 +01:00
Tim Glaser
72fe7e1c73
Fix selecting filters (#844)
* Fix selecting filters

* Test

* Handle case in urlToAction
2020-06-01 16:08:05 +02:00
Tim Glaser
ce4da7a1f3
Improve app urls (#863)
* Improve app urls

* Remove saved message

* Add cypress tests

* Only show toast when saving URL

* Fix tests
2020-05-27 11:50:46 +01:00
Tim Glaser
4b31532025
Add property filters to actions + lots of improvements (#841)
* Add property filters to actions

* Show calculating of acitons and other improvements

* Fix delete, add toast back in and change toast colour

* Fix cypress tests

* Fix e2e

* Fix cy tests

* Remove double events

* Fix tests and event not saving

* change name

* Fix tes

* Empty result set error
2020-05-27 11:26:36 +01:00
Eric Duong
720c06f9e6
E2e important paths (#802)
* initial test

* add yaml

* add logs

* without tail

* run again for consistency

* wait longer

* manuall configure cypress

* use latest ubuntu

* try installing all

* yarn install

* yarn install with cypress

* full flow

* run again for consistency

* initial tests for trends

* handle exception

* separate e2e docker-compose

* run on pr

* trends-testing foundation

* run test

* don't pass everything

* handle uncaught exceptions

* fix dashboard tests

* change email domain

* change dataattr to data-attr and boilerplate cleanup

* base url config

* add script for test runner

* change default postgres

* test all pages

* basic actions per page and create funnel

* trend breakdown filter

* test create action

* add DAU and entity-specific filter

* uncomment

* run test

* .

* add clicks to tables

* add auth

* add changelog

* add dashbaord click

* uncomment test for single funnel

* add test for pinned dashboard

* fix copy paste button and add invite team link tests

* use data-attr for all filtesr

* fix overall filter

* remove filter

* disasble virtual scroll

* uncomment

* remove unnecessary

* run again

* increase timeout

* remove flimsy test

* run again

* add cypress checklist item

* force click cohorts button

* add opt out capture for tests

* remove some tests

* run twice

* .

* run twice
2020-05-22 12:34:48 -04:00
Tim Glaser
f74874b972
772 add is true and is false (#777)
* Closes #737 filter by person properties

* Remove unused selectStyle

* Only get what we need

* show value

* Hide event properties if filtering by person

* Speed up event filtering

* Fix type error

* Remove unused properties_to_Q function

* Fix test

* Closes #772 filter is true/false and is set

* Closes #737 filter by person properties

* Remove unused selectStyle

* Only get what we need

* show value

* Hide event properties if filtering by person

* Speed up event filtering

* Fix type error

* Remove unused properties_to_Q function

* Fix test

* Fix endpoint laoding

* Fix objects filtering

* Fix changing operator

* Fix setting correct value when selecting is_set

* Filter out empty properties

* Fix cohort people properties

* Fix funnel

* Fix cypress test

* update cypress tests

* .

* .

Co-authored-by: Eric <eeoneric@gmail.com>
2020-05-20 12:03:19 -04:00
Eric Duong
a012aa6723
Cypress tests (#789)
* initial test

* add yaml

* add logs

* without tail

* run again for consistency

* wait longer

* manuall configure cypress

* use latest ubuntu

* try installing all

* yarn install

* yarn install with cypress

* full flow

* run again for consistency

* initial tests for trends

* handle exception

* separate e2e docker-compose

* run on pr

* trends-testing foundation

* run test

* don't pass everything

* handle uncaught exceptions

* fix dashboard tests

* change email domain

* change dataattr to data-attr and boilerplate cleanup

* base url config

* add script for test runner

* change default postgres
2020-05-19 14:48:10 -04:00