* #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>
* - set a custom cookie to tell the toolbar we're logged in
- make other cookies secure
* skip adding new toolbar cookie on API requests
* fix demo page local https
* enable/disable secure cookies as needed
* show django toolbar only for API requests
* update posthog-js and kea versions
* satisfy mypy
* add SECURE_COOKIES=0 to cypress tests, since they run over HTTP
* revert kea version
* add test for toolbar cookie middleware
* try something for cypress
* add debug
* add cypress-terminal-report for better logging
* fix demo api_url
* revert previous change that triggered cypress
* 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>
* 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
* 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
* 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
* added checks on input for setup_admin and signup_to_team (#1128)
* added comment about is_input_valid
* minor formatting changes to tests for improved readability
* uncommented cypress/plugins/index.js
* reverting cypress example plugin file to original state
* fixed invalid input tests
* 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>
* 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
* intiial working
* remove animation and added snippets
* full flow working
* reorganize
* more cleanup
* fix linting
* add test for the onboarding flow
* add elixir and send event script
* try without cache
* restore cache and move directory
* udpate case
* add lazy loading to onboarding flow
* move field to team
* .
* update styling
* add default
* migration with default working
* add missing model field
* conditional test based on DOM
* add promise return
* try wait
* test again x2
* 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
* Cache yarn builds to speed up end to end testing
* refine configs a bit
* map port to localhost for redis and postgres
* background posthog so we can proceed to next step
* test debug=1
* debug back to false
* block on posthog boot for debug
* back to single boot posthog step
* check response from login url
* see if this is ssl redirect
* more debugging around wait
* print out redirect to see where it is going
* print redirect location from header
* this is so tedius
* hit setup_admin url
* ok, so we know it's 500-ing let's see what response is
* reflect production docker file more closely for dep building
* posthog is up, let's see what it is returning that is causing failures
* Save screenshots as artifacts
* rename artifact and use zip
* demo is missing?
* only upload artifacts if cypress fails
* use the path for screenshots for artifacts
* clean up wait script and call it done for this PR
* correctly hash requirements for pip cache
* cache build and dep separately for yarn
* change to test the cache
* use cypress suggested runner for actions
* use parallel execution for cypress
* skip python caching for now
* not going to use parallel now because premium feature of cypress
* do not attempt to archive video artifacts
* re-enable pip cache 🤞
* bust the python cache and see if we can't get manage working
* test python cache
* it's just caching the pip cache...
* test turning DEBUG false
* reenable debug mode for now
* collectstatic after yarn build
* run collectstatic with noinput
* Work towards more reliable run of cypress
* health endpoint
* don't use requests lib
* update copy a bit since we are not waiting for frontend to build
* 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>
* 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
* 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
* 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>
* 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