0
0
mirror of https://github.com/PostHog/posthog.git synced 2024-11-28 09:16:49 +01:00
Commit Graph

56 Commits

Author SHA1 Message Date
Karl-Aksel Puulmann
9758b216ee
Autoimport celery tasks (#2062)
* Autoimport tasks

* fix multi_tenancy tests

* prettier

Co-authored-by: Paolo D'Amico <paolodamico@users.noreply.github.com>
2020-10-28 10:38:01 +02:00
Michael Matloka
51c329248f
Make PostHog compatibile with Python 3.9 (#1987)
* Make PostHog compatibile with Python 3.9

* Update actions/setup-python and run Django tests in matrix

* Don't test pypy

* Better specify Py matrix
2020-10-26 11:11:02 +01: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
Tim Glaser
ba1d8414cc
Remove cypress from package.json (#1950) 2020-10-21 11:06:03 +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
James Greenhill
2db31e2cd7
Set heroku python runtime to python 3.8.6 (#1769)
* Set heroku python runtime to python 3.8.6

* Have tests run against python 3.8
2020-09-30 13:59:46 +01:00
James Greenhill
379518e285
"Clickhouse Features V2 (#1565)" (#1750)
* initial

* migration command

* migrations working

* add modelless views for clickhouse

* initial testing structure

* use test factory

* scaffold for all tests

* add insight and person api

* add basic readme

* add client

* change how migrations are run

* add base tables

* ingesting events

* restore delay

* remove print

* updated testing flow

* changed sessions tests

* update tests

* reorganized sql

* parametrize strings

* element list query

* change to seralizer

* add values endpoint

* retrieve with filter

* pruned code to prepare for staged merge

* working ingestion again

* tests for ee

* undo unneeded tests right now

* fix linting

* more typing errors

* fix tests

* add clickhouse image to workflow

* move to right job

* remove django_clickhouse

* return database url

* run super

* remove keepdb

* reordered calls

* fix type

* fractional seconds

* fix type error

* add checks

* remove retention sql

* fix tests

* add property storage and tests

* merge master

* fix tests

* fix tests

* .

* remove keepdb

* format python files

* update CI env vars

* Override defaults and insecure tests

* Update how ClickHouse database gets evaluated

* remove bootstrapping clickhouse database routine

* Don't initialize the clickhouse connection unless we say it's primary

* .

* fixed id generation

* remove dump

* black settings

* empty client

* add param

* move docker-compose for ch to ee dir

* Add _public_ key to repo for verifying self signed cert on server

* update ee compose file for ee dir

* fix a few issues with tls in migrations

* update migrations to be flexible about storage profile and engine

* black settings

* add elements prop tables

* add elements prop tables

* working filter

* refactored

* better url handling

* add mapping table

* add processing to worker task

* working cohort with actions

* add cohort property filtering

* add cohort property filtering

* reformat and add cohort processing

* prop clauses

* add util

* add more util

* add clickhouse modifier

* Clickhouse Sessions (#1623)

* sessions sql

* skeleton

* add endpoint

* better tests

* sessions list

* merge clickhouse-actions

* added session endpoint

* sessions sql working again

* add clickhouse modifier

* session avg with props working

* add dist

* tests working (no list)

* list working

* add formatting

* more formatting

* fix tests

* dummy commit

* fix types

* remove unnecessary improt

* ignore type when importing from ee in task

* fix test running

* Clickhouse Trends Base (#1609)

* initial working

* date param almost working

* fix date range and labels

* fixed monthly math

* handle compare

* change table

* using new event ingestion

* direct query actions working

* remove interface

* fix date range

* properties initial working

* handle operator

* handle operator

* move timestamp parse

* move more to util

* inital breaking down working

* working cohort breakdown

* some tests running

* fix sessions

* cohort tests

* action and interval test

* reorder cohort filtering

* rename retention test

* fix inits

* change multitenancy tests

* fix types

* fix optional types

* replace ch_client.execute with sync_execute

* replace ch_client.execute with sync_execute, part 2

* Clickhouse Stickiness + Process Event (#1654)

* generate clickhouse uuid script

* set CLICKHOUSE_SECURE=False by default if running in TEST or DEBUG

* convert person_id to UUID, make adding `person_id` optional, add distinct_ids already in the `create_person` function

* Fix test_process_event_ee.py, remove all calls to Person.objects.*

* add back util

* fix broken imports

* improve process_event test clickhouse queries

* Basic stickiness query

* Clickhouse Stickiness tests

* stickiness test [WIP, actions fail]

* generate clickhouse uuid script

* change default test runner if PRIMARY_DB=clickhouse

* fix stickiness test for actions

* fix merge bug

* remove _create_person stub; cohort person_id is UUID now

* fix typing

* Clickhouse trends process math (#1660)

* most of process math works

* all process math

* fix ordering issue

* unusued imports

* update property comparison for process_event_ee

* indentation wrong missing calls

* demo users and events (#1661)

* finish breakdown filtering tests and reformat label function

* add increment to demo_data

* update demo data populating

* Add people endpoint for ch (#1670)

* add people endpoint for ch

* stickiness people

* fix value padding

* add process math to breakdown and

* add limit

* fix tests

* condensed code

* converted test to factory

* add people tests

* add month handling

* add typing fix

* change people test handling

* fix tests

* Clickhouse funnels 2 (#1668)

* add elements to create_event

* WIP closes #1663 Add funnels to clickhouse

* Make funnels work

* Clean up

* Move filtering around

* Add mypy tests and fix

* Performance improvements

* fix person tests again

* add people for funnel endpoint

* fix prop numbering

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

* merge master

* add retention

* update types

* more typing errors

* fix types

* bug with kafka payload, elements insert, and demo data

* Clickhouse Paths (#1657)

* paths clickhouse test (fails)

* add elements to create_event

* make this fail for clickhouse

* hardcoded query that returns good results for $pageviews, no filters yet

* clean up queries

* bound by time, fix 30min new session boundary

* support screen and custom events

* add properties filter

* paths url

* filter by path start

* better path start test

* even better path start test

* start from the first "path start" in a group

* test for person_id in paths

* partition by person_id for POSTGRES paths

* partition by person_id for Clickhouse paths

* clean up order in paths test

* clean up order in paths test

* join elements

* force element order on element group creation

* remove "order" when creating elements in tests and demo

* get list of elements for paths

* add limit to paths query

* use materialized view

* rename "element_hash" to "elements_hash" (no change in db)

* cull rows that are definitely unused

* simplify query

* New highly optimized paths clickhouse query

* start_point for $autocapture paths

* extract event property values from clickhouse

* prevent crash

* select one element sql

* get elements for event

* remove lodash

* remove host from $pageview path elements if same domain as incoming path

* show metadata based on loaded paths filter, not in flight filter

* fix order (all soures and targets in order, not all sources first, then all targets after) - makes for a better looking graph

* add test that makes the Postgres paths query fail

* fix postgres paths --> no fuzzy matching, breaks "starts with" for urls and gives too many incorrect start points

* create automatic /demo urls that match the real urls (no ending /)

* fix elements queries

* path element joins

* create persons via postgres in paths test

* change serializers back to id

* fix tests with uuid

* fix demo

* more bugs

* fix type

* change now to timezone aware

* [clickhouse] retention filters (#1725)

* implemented target entity and prop filtering

* add insight view override

* fix endpoint and filters

* include tests

* fix tests

* add period filtering

* .

* fix pg param name

* add filtering params to both queries in retention sql

* fix param again

* change to todatetime

* change tz to timezone

* add back timezone in model/event

* [clickhouse] feature flag endpoint requests (#1731)

* add feature flags to endpoints

* add flags to endpoints that check on request

* remove magic strings and fill in missing flags

* fix types

* add missing flag

* change from iso

* fix more timestamps and comparator

* change _people to get_people in actions view

* remove action and cohort populating

* change inheritance

* "Clickhouse Features V2 (#1565)"

This reverts commit 0b371d43ec.

* fix types

* change to super

* change to super x2

Co-authored-by: Eric <eeoneric@gmail.com>
Co-authored-by: Marius Andra <marius.andra@gmail.com>
Co-authored-by: Tim Glaser <tim.glaser@hiberly.com>
2020-09-29 15:17:26 +01:00
James Greenhill
0b371d43ec
Revert "Clickhouse Features (#1565)" (#1748)
This reverts commit 24713b923d.
2020-09-29 12:11:28 +01:00
Eric Duong
24713b923d
Clickhouse Features (#1565)
* initial

* migration command

* migrations working

* add modelless views for clickhouse

* initial testing structure

* use test factory

* scaffold for all tests

* add insight and person api

* add basic readme

* add client

* change how migrations are run

* add base tables

* ingesting events

* restore delay

* remove print

* updated testing flow

* changed sessions tests

* update tests

* reorganized sql

* parametrize strings

* element list query

* change to seralizer

* add values endpoint

* retrieve with filter

* pruned code to prepare for staged merge

* working ingestion again

* tests for ee

* undo unneeded tests right now

* fix linting

* more typing errors

* fix tests

* add clickhouse image to workflow

* move to right job

* remove django_clickhouse

* return database url

* run super

* remove keepdb

* reordered calls

* fix type

* fractional seconds

* fix type error

* add checks

* remove retention sql

* fix tests

* add property storage and tests

* merge master

* fix tests

* fix tests

* .

* remove keepdb

* format python files

* update CI env vars

* Override defaults and insecure tests

* Update how ClickHouse database gets evaluated

* remove bootstrapping clickhouse database routine

* Don't initialize the clickhouse connection unless we say it's primary

* .

* fixed id generation

* remove dump

* black settings

* empty client

* add param

* move docker-compose for ch to ee dir

* Add _public_ key to repo for verifying self signed cert on server

* update ee compose file for ee dir

* fix a few issues with tls in migrations

* update migrations to be flexible about storage profile and engine

* black settings

* add elements prop tables

* add elements prop tables

* working filter

* refactored

* better url handling

* add mapping table

* add processing to worker task

* working cohort with actions

* add cohort property filtering

* add cohort property filtering

* reformat and add cohort processing

* prop clauses

* add util

* add more util

* add clickhouse modifier

* Clickhouse Sessions (#1623)

* sessions sql

* skeleton

* add endpoint

* better tests

* sessions list

* merge clickhouse-actions

* added session endpoint

* sessions sql working again

* add clickhouse modifier

* session avg with props working

* add dist

* tests working (no list)

* list working

* add formatting

* more formatting

* fix tests

* dummy commit

* fix types

* remove unnecessary improt

* ignore type when importing from ee in task

* fix test running

* Clickhouse Trends Base (#1609)

* initial working

* date param almost working

* fix date range and labels

* fixed monthly math

* handle compare

* change table

* using new event ingestion

* direct query actions working

* remove interface

* fix date range

* properties initial working

* handle operator

* handle operator

* move timestamp parse

* move more to util

* inital breaking down working

* working cohort breakdown

* some tests running

* fix sessions

* cohort tests

* action and interval test

* reorder cohort filtering

* rename retention test

* fix inits

* change multitenancy tests

* fix types

* fix optional types

* replace ch_client.execute with sync_execute

* replace ch_client.execute with sync_execute, part 2

* Clickhouse Stickiness + Process Event (#1654)

* generate clickhouse uuid script

* set CLICKHOUSE_SECURE=False by default if running in TEST or DEBUG

* convert person_id to UUID, make adding `person_id` optional, add distinct_ids already in the `create_person` function

* Fix test_process_event_ee.py, remove all calls to Person.objects.*

* add back util

* fix broken imports

* improve process_event test clickhouse queries

* Basic stickiness query

* Clickhouse Stickiness tests

* stickiness test [WIP, actions fail]

* generate clickhouse uuid script

* change default test runner if PRIMARY_DB=clickhouse

* fix stickiness test for actions

* fix merge bug

* remove _create_person stub; cohort person_id is UUID now

* fix typing

* Clickhouse trends process math (#1660)

* most of process math works

* all process math

* fix ordering issue

* unusued imports

* update property comparison for process_event_ee

* indentation wrong missing calls

* demo users and events (#1661)

* finish breakdown filtering tests and reformat label function

* add increment to demo_data

* update demo data populating

* Add people endpoint for ch (#1670)

* add people endpoint for ch

* stickiness people

* fix value padding

* add process math to breakdown and

* add limit

* fix tests

* condensed code

* converted test to factory

* add people tests

* add month handling

* add typing fix

* change people test handling

* fix tests

* Clickhouse funnels 2 (#1668)

* add elements to create_event

* WIP closes #1663 Add funnels to clickhouse

* Make funnels work

* Clean up

* Move filtering around

* Add mypy tests and fix

* Performance improvements

* fix person tests again

* add people for funnel endpoint

* fix prop numbering

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

* merge master

* add retention

* update types

* more typing errors

* fix types

* bug with kafka payload, elements insert, and demo data

* Clickhouse Paths (#1657)

* paths clickhouse test (fails)

* add elements to create_event

* make this fail for clickhouse

* hardcoded query that returns good results for $pageviews, no filters yet

* clean up queries

* bound by time, fix 30min new session boundary

* support screen and custom events

* add properties filter

* paths url

* filter by path start

* better path start test

* even better path start test

* start from the first "path start" in a group

* test for person_id in paths

* partition by person_id for POSTGRES paths

* partition by person_id for Clickhouse paths

* clean up order in paths test

* clean up order in paths test

* join elements

* force element order on element group creation

* remove "order" when creating elements in tests and demo

* get list of elements for paths

* add limit to paths query

* use materialized view

* rename "element_hash" to "elements_hash" (no change in db)

* cull rows that are definitely unused

* simplify query

* New highly optimized paths clickhouse query

* start_point for $autocapture paths

* extract event property values from clickhouse

* prevent crash

* select one element sql

* get elements for event

* remove lodash

* remove host from $pageview path elements if same domain as incoming path

* show metadata based on loaded paths filter, not in flight filter

* fix order (all soures and targets in order, not all sources first, then all targets after) - makes for a better looking graph

* add test that makes the Postgres paths query fail

* fix postgres paths --> no fuzzy matching, breaks "starts with" for urls and gives too many incorrect start points

* create automatic /demo urls that match the real urls (no ending /)

* fix elements queries

* path element joins

* create persons via postgres in paths test

* change serializers back to id

* fix tests with uuid

* fix demo

* more bugs

* fix type

* change now to timezone aware

* [clickhouse] retention filters (#1725)

* implemented target entity and prop filtering

* add insight view override

* fix endpoint and filters

* include tests

* fix tests

* add period filtering

* .

* fix pg param name

* add filtering params to both queries in retention sql

* fix param again

* change to todatetime

* change tz to timezone

* add back timezone in model/event

* [clickhouse] feature flag endpoint requests (#1731)

* add feature flags to endpoints

* add flags to endpoints that check on request

* remove magic strings and fill in missing flags

* fix types

* add missing flag

* change from iso

* fix more timestamps and comparator

* change _people to get_people in actions view

* remove action and cohort populating

Co-authored-by: James Greenhill <jams@uber.com>
Co-authored-by: Marius Andra <marius.andra@gmail.com>
Co-authored-by: Tim Glaser <tim.glaser@hiberly.com>
2020-09-29 06:36:50 -04:00
Marius Andra
e9ce195b99
Small insights type update (#1717)
* type update

* Update ci-backend.yml

* Update Django tests names

* Fix required check

Co-authored-by: Michael Matloka <dev@twixes.com>
2020-09-25 02:20:33 +02:00
Tim Glaser
2421793228
Add tests for FOSS (#1600)
* Add tests for FOSS

* Ignore ee specific tests

* Exclude more ee only tests

* conditional tests, nice

* Add ee_available to settings

* fix test

* Fix test

* Test commit

* Fix test again

* Remove EE_MISSING in favor of EE_AVAILABLE completely

* Rename bottom-notice.html to overlays.html, to better reflect purpose

* Add greeting

* Fix ee import

Co-authored-by: Michael Matloka <dev@twixes.com>
2020-09-10 18:20:29 +02:00
James Greenhill
eaff39388d
Refactor get_or_create_person function in process_event (#1626)
* Refactor get_or_create_person function in process_event

* optimize get_or_create person
2020-09-09 19:58:31 -07:00
James Greenhill
1de047b10d
Migrate process_event shared functions to be public (#1625)
* Migrate process_event shared functions to be public

* mypy and adjust

* exclude tests that are tagged 'skip_on_multitenancy'
2020-09-09 18:34:13 -07:00
James Greenhill
70868fc7db
Final ClickHouse module before wiring up to Posthog (#1617) 2020-09-08 21:00:37 -07:00
James Greenhill
dedf5582c1
first chunk of clickhouse framework (#1613)
* first chunk of clickhouse framework

* prod, not dev docker-compose.yml

* add clickhouse sql files
2020-09-08 16:12:27 -07:00
James Greenhill
c2e03a3a46
Revert this to bring back the working copy of ee / clickhouse (#1588) 2020-09-04 21:12:07 -07:00
James Greenhill
5506135c3c
Bring back clickhouse changes along with queue size metrics (#1579)
* Revert "Revert "Clickhouse setup (#1463)""

This reverts commit 7f2cab4b93.

* add queue backlog to _stats endpoint

* celery queue length into heartbeat -> statsd

* reformat

* type check fixes

* bump expected number of queries to 8

Co-authored-by: Eric <eeoneric@gmail.com>
2020-09-04 13:44:53 -07:00
James Greenhill
7f2cab4b93 Revert "Clickhouse setup (#1463)"
This reverts commit a0327587cb.
Time to process events shot way up and logs are missing.
2020-09-03 19:27:02 -07:00
Eric Duong
a0327587cb
Clickhouse setup (#1463)
* initial

* migration command

* migrations working

* add modelless views for clickhouse

* initial testing structure

* use test factory

* scaffold for all tests

* add insight and person api

* add basic readme

* add client

* change how migrations are run

* add base tables

* ingesting events

* restore delay

* remove print

* updated testing flow

* changed sessions tests

* update tests

* reorganized sql

* parametrize strings

* element list query

* change to seralizer

* add values endpoint

* retrieve with filter

* pruned code to prepare for staged merge

* working ingestion again

* tests for ee

* undo unneeded tests right now

* fix linting

* more typing errors

* fix tests

* add clickhouse image to workflow

* move to right job

* remove django_clickhouse

* return database url

* run super

* remove keepdb

* reordered calls

* fix type

* fractional seconds

* fix type error

* add checks

* remove retention sql

* fix tests

* add property storage and tests

* merge master

* fix tests

* fix tests

* .

* remove keepdb

* format python files

* update CI env vars

* Override defaults and insecure tests

* Update how ClickHouse database gets evaluated

* remove bootstrapping clickhouse database routine

* Don't initialize the clickhouse connection unless we say it's primary

* .

* fixed id generation

* remove dump

* black settings

* empty client

* add param

* move docker-compose for ch to ee dir

* Add _public_ key to repo for verifying self signed cert on server

* update ee compose file for ee dir

* fix a few issues with tls in migrations

* update migrations to be flexible about storage profile and engine

* black settings

* add elements prop tables

Co-authored-by: James Greenhill <jams@uber.com>
2020-09-03 10:27:45 -07:00
Tim Glaser
b3df75bde5
Add docker image test (#1515)
* Add docker image test

* Fix test?

* Fix test? bis

* Document build fix

Co-authored-by: Michael Matloka <dev@twixes.com>
2020-09-01 16:02:53 +02:00
Paolo D'Amico
b7d639fb53
Multitenancy tests (#1533)
* Create multi_tenancy.yml

* Update multi_tenancy.yml

* Update multi_tenancy.yml

* Update multi_tenancy.yml

* Move multitenancy check to backend CI

Co-authored-by: Michael Matloka <dev@twixes.com>
2020-09-01 12:07:48 +02:00
Michael Matloka
140b910926
Remove Release Drafter (#1476)
* Remove Release Drafter

* Purge Release Drafter
2020-08-22 14:24:22 -03:00
Michael Matloka
12eeaf999e Prettier posthog-foss.yml 2020-08-20 18:20:41 +02:00
Michael Matloka
e9e6e39c18
Update FOSS sync commit message properly 2020-08-20 15:59:52 +02:00
Michael Matloka
534c25686e
Update FOSS sync commit message 2020-08-20 15:57:58 +02:00
Max Ungless
6795635dd7
Better posthog-foss syncing (#1423)
* Create posthog-foss syncing

* Update naming and sync only on push to master

Co-authored-by: Michael Matloka <dev@twixes.com>
2020-08-20 15:30:27 +02:00
Tim Glaser
764e10696b
Fix version (#1462)
* Fix version

* Black two files

Co-authored-by: Twixes <dev@twixes.com>
2020-08-18 19:09:42 +02:00
Twixes
de04487ff4
Run prettier over version-update.yml 2020-08-18 12:11:42 +02:00
Michael Matloka
44f45b86c6
Auto update VERSION (#1452)
* Auto update VERSION

* Use SYNC_GITHUB_TOKEN

* Fix minor oversights

* Fix auto commit
2020-08-18 12:02:31 +02:00
Michael Matloka
49a15e9f53
Enhance and optimize PR GitHub workflows (#1365)
* Enhance and optimize GitHub workflows

* Prettier app.json

* Update YAML list

* Prettier workflows

* Include YAML in prettier runs

* Improve job naming

* Update E2E workflow name

* Prettier docker-compose YAML

* Update workflows

* Put freezegun into prod requirements

* Update workflow names

* Update workflow names again

* Update ci-backend.yml

* Update Lint with flake8

* Remove redundant eslint:ci script

* Revert "Put freezegun into prod requirements"

This reverts commit 460e3942d10194e9f46c8a2196ebd9ecc1f23c6f.

* Install freezegun in workflow and update dev.txt

* Prettier auto-image.yml

* Add "CI" to ci-* names

* Fix prettier:check

* Add missing SECRET_KEY

* Prettier 2 last files
2020-08-18 11:08:40 +02:00
Yakko Majuri
3bcfecbe9e
Added warning for unset SECRET_KEY (#1426)
* Added warning for unset SECRET_KEY

* added process exit

* Reword message

This should be just a bit clearer (also "Process exited with code …" is redundant, I think).

* added SECRET_KEY to github actions

* updated to add docker placeholder key

* minor update to default secret key

Co-authored-by: Michael Matloka <dev@twixes.com>
2020-08-14 22:18:21 +02:00
Marius Andra
52cdd7e572
New toolbar cookie + Secure session/csrf cookies (#1387)
* - 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
2020-08-11 10:52:43 +02:00
James Greenhill
eec2445dbc
Bugfix: Github actions can't use off the shelf docker images. Install packer manually (#1304) 2020-08-10 14:23:26 +02:00
Michael Matloka
531abebded
Check for missing migrations (#1312)
* Check for missing migrations

* Remove makemigrations from checklist

* Add DATABASE_URL to migrations check

* Add REDIS_URL to migrations check
2020-07-30 19:23:30 +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
Max Ungless
e901fdf890
Added Github Action to create and deploy DigitalOcean images (#1232) 2020-07-17 08:55:46 -07:00
James Greenhill
75627eb953
chore: clean the configs for release-drafter (#1088) 2020-06-24 13:20:08 -07:00
James Greenhill
27b1fa9241
chore: Automate the creation of the change log (#1080)
* Automate the creation of the change log

* fix: bugs with release-drafter configs
2020-06-24 13:08:32 -07:00
James Greenhill
341e02facb
Always yarn install because of caching bug (#1026) 2020-06-16 08:56:04 +02:00
Marius Andra
ca1ffe0cb0
Toolbar "button mode" (#925)
* longpress supports also clicks - presses that are just not long enough

* button mode for toolbar

* fix bug in zooming out, refactor and annotate some of the animation code

* toolbar button close/float tiny buttons

* fix inspect element in floating mode

* fix the fix :)

* remove console.log

* extract logo

* extract nestable circle component

* css animations for circles

* refactor toolbar to use circle code

* remove animation code

* style fixes

* annotate useLongPress

* clean styles

* show button always

* save drag position

* default to top-right

* add a bit of padding to have space for tooltips

* better padding for remembered width/height

* test recursive search for yarn.lock file

* fix merge

Co-authored-by: James Greenhill <fuziontech@gmail.com>
2020-06-11 00:05:01 +02:00
James Greenhill
a8bff8387e
Run cypress in parallel and record job to dashboard (#959)
* Run cypress in parallel and record job to dashboard

* arbitrary change to test cache and to see if 4 is faster than 3
2020-06-09 12:20:31 +01:00
Tim Glaser
9b8736d576
Fix cypress linting errors and speed up tests (#865)
* Speed up e2e builds

* Don't go to demo when logging in/cypress errors

* Execute cypress in docker container

* Pull from correct image

* add -T

* Try something else

* Add dockerfile

* Don't push tags

* Tag

* Try another tag

* image tag

* Try pulling

* Try

* Try caching

* no docker ifle

* Install node

* name

* name
2020-06-08 19:34:39 +01:00
James Greenhill
f37adf3548
Cache yarn builds to speed up end to end testing (#927)
* 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
2020-06-06 10:13:09 -07:00
James Greenhill
9bfb4f3802
Wait for PostHog to start serving requests before running cypress (#920)
* 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
2020-06-04 12:42:09 +01: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
Tim Glaser
20fab5d5a2
Add ES Lint (#719)
* Add ES Lint

* Update lint.yml

* move lint file

* Add eslint to package

* use yarn

* Run ci/test only once

* Fix eslint errors

* Fix rest siblings

* precommit hooks

* Lint typo

* ESLint per file

* Eslint
2020-05-13 13:17:00 +01:00
Eric Duong
b30fec0518
Event Partitioning (#733)
* initial working

* update day to midnight

* update CI postgres version

* reverse migration file

* handle default

* add version check

* add existence test and fixed bug

* extend initial range partitioned

* reverse order of checks

* change granularity to week

* Speed up loading of events with person_id

* adjusted time to trigger and stay 2 weeks ahead instead of 1

* use commands instead of migration

* update reverse script

* remove migration test

* adjust update function to handle all partitioned

* handle errors

* change the check that is performed

Co-authored-by: Tim Glaser <tim.glaser@hiberly.com>
2020-05-12 21:35:53 +01:00
Raul Gallegos
150b061483
Flake8 setup and improvements (#660)
* flake8 setup

* flake8 first improvement example on test_action test

* fix on github workflow for installing dev requirements
2020-04-27 18:13:59 +02:00
Tim Glaser
fa3aa8d69d
Fix running tests in forks (#580) 2020-04-14 15:34:04 +01:00
Marius Andra
7918a9d425 add REDIS_URL to mypy test 2020-04-07 14:02:09 +02:00