* esbuild package
* almost get esbuild working
* fix react-virtualized imports
* add splitting
* fix funny import reorder bug
* fix squeakAudio referring to itself
* write index.html file
* fix some bad imports
* update antd paths
* remove raw-loader usage, it didn't work anyway
* refactor and copy public
* build app and toolbar
* get toolbar working, but without styles
* make toolbar and its styles work
* shared dashboards
* clean frontend build before rebuilding
* add watch mode
* reorder tasks
* revert js url
* incremental builds of app with debounced chokidar watching
* common build/watch script
* improve logs
* watch during firrst build
* fix toolbar url
* fix wrongly exported scene
* create sceneProxyLogic to untangle sceneLogic from all bundles
* disconnect sceneLogic and refactor setPageTitle
* live reloading server
* rename utils file
* only wait for /static
* fix encoding
* simplify
* add missing dayjs plugins
* fix pathless logics
* simplify options
* add jsx for webapck
* slight delay to catch changes
* a type is a type
* fix build
* esbuild in start
* funnelLogic path
* include all files with a "." (so .mjs, etc) in /frontend/ to docker
* rename to "utils.mjs", make "build.mjs" executable
* improve erroring
* revert some needless changes
* more reverts
* change some scripts
* remove setuff
* clarify function
* make "--host 0.0.0.0" work
* fix import order issue in webpack
* remove webpack css inlining for toolbar to simplify config
* make toolbar with external styles work in storybook
* move live server injection into django
* fix undefined bug
* simplify setup to work with injection directly in http://localhost:8000 (no proxying needed on :8234)
* add comments
* Fix `fse` usage
I was getting this otherwise:
$ node frontend/build.mjs
file:///Users/twixes/Developer/posthog/frontend/utils.mjs:46
fse.copySync(srcDir, destDir, { overwrite: true }, function (err) {
^
TypeError: fse.copySync is not a function
at copyPublicFolder (file:///Users/twixes/Developer/posthog/frontend/utils.mjs:46:9)
at file:///Users/twixes/Developer/posthog/frontend/build.mjs:5:1
at ModuleJob.run (internal/modules/esm/module_job.js:146:23)
at async Loader.import (internal/modules/esm/loader.js:165:24)
at async Object.loadESM (internal/process/esm_loader.js:68:5)
* Mock `process` for VFile used by ReactMarkdown
I was getting this otherwise:
core.js:55 Uncaught ReferenceError: process is not defined
at new VFile (core.js:55)
at VFile (core.js:49)
at Function.parse (index.js:273)
at ReactMarkdown2 (react-markdown.js:42)
at renderWithHooks (react-dom.development.js:14803)
at mountIndeterminateComponent (react-dom.development.js:17482)
at beginWork (react-dom.development.js:18596)
at HTMLUnknownElement.callCallback2 (react-dom.development.js:188)
at Object.invokeGuardedCallbackDev (react-dom.development.js:237)
at invokeGuardedCallback (react-dom.development.js:292)
* Mock `process.env` for VFile used by ReactMarkdown
I was getting this otherwise:
platform.ts:73 Uncaught TypeError: Cannot read properties of undefined (reading 'ENABLE_VSCODE_BROWSER_CODE_LOADING')
at platform.ts:73
at platform.ts:79
at Function.r._invokeFactory (loader.js:1118)
at r.complete (loader.js:1128)
at r._onModuleComplete (loader.js:1754)
at r._resolve (loader.js:1714)
at r.defineModule (loader.js:1357)
at _ (loader.js:1804)
at numbers.ts:10
at fake:1
* pass the heavy appScenes to sceneLogic through props via App.tsx
* remove sceneProxyLogic
* remove exported variables
* fix sceneLogic test
Co-authored-by: Michael Matloka <dev@twixes.com>
* Add top level danger `TopBar` indicator for potential system issues
* Update frontend/src/layout/lemonade/TopBar/SitePopover.tsx
Co-authored-by: Paolo D'Amico <paolodamico@users.noreply.github.com>
* Run prettier
Co-authored-by: Paolo D'Amico <paolodamico@users.noreply.github.com>
* feat(correlation): add team wide person property exclusion list
This change just adds the exclusion list to the `Team` model and checks
that it can be updated. Separately we can:
1. add interface for the Project page to display
2. pull and update this list from the funnels correlation page
NOTE: We don't perform any validation on the structure, :fingerscrossed:
this won't be an issue. Alternative would be to use ArrayField, but use
of JSONField is consistent with other fields.
* test(correlation): add test checking exclude properties pulled from team
* feat(correlation): load exclude properties from team settings
Previously we were loading exclude properties from local storage, so we
would not be sharing the exclusion list between users. This change
simply plugs the `excludePropertyNames` into the `teamLogic` for the
purpose of persisting and loading the values.
* use [teamLogic.actionTypes.loadCurrentTeamSuccess]
* get tests passing
* switch frontend to using `correlation_config`
* refactor: use Team.correlation_config for persistence
* add project settings for correlation
* fix lint
* ensure excluded properties are saved to project config
* Add default excluded properties
* format
* make propertyCorrelations not null
* ensure excluded property names config is unique
* rename excludeProperty to excludePropertyFromProject
* update var names
* change to targetProperties
* remove null special casing
* update to filter client side on exclude from project clicked
* update test name to reflect new functionality
* fix tests
* Unify SAML and non-saml tests workflows
* Include matrix name in cache key
* Prettify yaml
* Measure test duration time
* Install pytest-split
* Try out parallelism
* Update name
* Fixup yaml
* Upload artifacts
* Run FOSS tests separately
* Run mark.ee tests only once
* Set up needed files properly
* Run backend tests only on one python version
* Run only cloud tests for cloud repo
* Remove test_durations file for posthog/
* Skip setting up ch on foss tests
* Fixup cloud tests
* Cache .test_durations file
* Fix ternary expression
* Only upload artefacts if needed
* .test_durations change
* Default to 3.8.5 in tests
* Add a note
Without this, to run plugin-server tests you need to reset all
containers every time since otherwise both test- and non-test clickhouse
would attempt to read from the same topic.
* Keep top bar always visible
* Add `LemonPopover`
* Add empty account control sections
* Rename `AccountControl` to `SitePopover`
* Add basic Sign out button
* Add `LemonButton` and use it for sign out
* Scale down popover scaling
* Remove `LemonPopover` in favor of `Popup`
* Improve icons story
* Polish account info
* Add organizations to site popover
* Add `CreateOrganizationModal` to `TopBar`
* Polish things
* Add PostHog status items
* Update FunnelTab.tsx
* Rename `InitialBlob` to `Lettermark`
* Update utils.test.ts
* Address feedback
* Handle long emails
* Update Cypress test for sentence case title
This broke with the following error:
```
ESLint: 7.28.0
ESLint couldn't determine the plugin "@typescript-eslint" uniquely.
- /home/macobo/backups/2/projects/posthog/plugin-server/node_modules/@typescript-eslint/eslint-plugin/dist/index.js (loaded in "../../../.eslintrc.js")
- /home/macobo/backups/2/projects/posthog/node_modules/@typescript-eslint/eslint-plugin/dist/index.js (loaded in "../../../../.eslintrc.js")
Please remove the "plugins" setting from either config or remove either plugin installation.
If you still can't figure out the problem, please stop by https://eslint.org/chat/help to chat with the team.
```
Relate github issue: https://github.com/eslint/eslint/issues/13385
* insights buttons padding right fix
* add icon column
* fix all types
* fix select icons
* improve display and empty states
* searching for a number gives a direct result
* more debouncing time to throttle typing in the searchfield
* 2 columns > 960px, 3 columns > 1580px
* more height for card view
* split options column
* add person icon
* added profile picture
* fix column sort
* add min-width to funnels to make them readable on tiny dashboards
* add "trends" as default type
* stop screaming
* fix api call
* make person update func migrations reversible
* Update posthog/migrations/0176_update_person_props_function.py
Co-authored-by: Tiina Turban <tiina303@gmail.com>
* Update posthog/migrations/0176_update_person_props_function.py
Co-authored-by: Tiina Turban <tiina303@gmail.com>
Co-authored-by: Tiina Turban <tiina303@gmail.com>