0
0
mirror of https://github.com/PostHog/posthog.git synced 2024-12-01 04:12:23 +01:00
Commit Graph

15 Commits

Author SHA1 Message Date
Karl-Aksel Puulmann
d5d5fcd32b
WIP: Groups FE filtering (#6764)
* Add /api/projects/@current/groups/property_definitions

To load property definitions for groups

* Add routes for fetching group types

* FE: Group analytics feature flag

* FE: Group analytics base types for properties

* FE: Initial implementation of fetching logics

* add group tabs to filter

* make sure group properties populate and refactor things

* prettier

* disable unused vars

* allow indexing objects by number

* mount group properties logic

Co-authored-by: Li Yi Yu <li@posthog.com>
2021-11-05 10:21:28 -04:00
Yakko Majuri
e4fd5c5774
Plugin server tests CI (#6897)
* remove workflows from plugin server subdir

* wip plugin server ci tests

* prettier

* add ignore paths

* update paths
2021-11-04 15:03:28 -07:00
Marius Andra
b5a02e2ca7
Bundle our frontend via esbuild (#6758)
* 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>
2021-11-03 09:50:24 +01:00
Alex Gyujin Kim
8121a4d933
Fix and standardize multiple table UI inconsistencies (#4727)
* fix multiple table bugs and standardize table overflows

* support more es2019 functions like Object.fromEntries

* simplify getting active breakout value

* unset maxWidth for resizable cols by default

* fix feature flag key cutoff and empty description bug

* ellipsify feature flag table

* labels or dates or days

* fix bugs; refactor table scroll

* fix double key and increase the width just a bit

Co-authored-by: Marius Andra <marius.andra@gmail.com>
Co-authored-by: Sam Winslow <sammywinslow@gmail.com>
2021-06-24 17:09:41 +02:00
Michael Matloka
598aea06b9
Make Jest tests work better with TypeScript (#2558)
Co-authored-by: Paolo D'Amico <paolodamico@users.noreply.github.com>
2021-01-12 17:46:59 -06:00
Marius Andra
3fe093f80b
Fix typescript errors #1 (#2027)
* add TSC check, fix tsconfig.json error

* fix toolbar ts errors

* fix the first 100 errors

* fix key bug

* fix some more types

* fix even more types

* webhook setting logic

* fix more logic types

* fix more logic types

* use billingSubscription from action payload
2020-10-27 09:57:06 +01:00
Marius Andra
034ba7eee0
Fix click outside spam & public paths (#2022)
* improve "public" import paths

* fix `useOutsideClickHandler` firing an event on any click anywhere in the page

Co-authored-by: Michael Matloka <dev@twixes.com>
2020-10-26 12:49:50 +01:00
Karl-Aksel Puulmann
d92e533dd5
Session recording: persistent URLs, session_id, UI changes (#1953)
* Hide $session_id properties

* Exclude $snapshot events from event views

* Add end_time to sessions queries

This might be used by SessionRecording queries

* Add WIP way to return session recording

Note that this mutates existing responses - might not be the best way to
do this.

* Query for feature flags in a consistent way in frontend

* Improve documentation on featureFlagLogic

* Update frontend types

* Set up endpoint for querying event data for rrweb

* Sort snapshot data in BE before sending to FE

* Show sessions player in a drawer, load data from API

This makes for a smoother experience (IMO, will iterate). At the very
least, drawers enable us to have differing urls via kea

* Show loader while replay is loading

* Make player full-width

* Remove debug code

* Implement persistent URLs for sessions

This should make it possible to share recordings with team.

The URLs are currently quite long - perhaps we can get rid of
distinct_id long-term within it?

* Use only $session_id for filtering sessions

There's a small risk of collisions, but this cleans code up a lot

* WIP

* Add `array.flatMap` to tsconfig

* Add selectors for prev/next session recording

* Clean up whitespace

* Make next and previous buttons work

* Patch prev/next behavior when not visible in page

* Session recording query testing

* Fix typing errors

* Make Sessions queries work properly

It was previously overwriting things even in queries not returning a
list of sessions

* Blacklist browsers w/o flatMap (PR review)

* Close sessions player on back

* fix back button and small bugs

Co-authored-by: Marius Andra <marius.andra@gmail.com>
2020-10-23 16:53:59 +03:00
Marius Andra
e7a944ea96
Fix tsconfig.json lib property (#1818)
* fix tsconfig lib

* minor ts fix

Co-authored-by: Yakko Majuri <38760734+yakkomajuri@users.noreply.github.com>
2020-10-08 00:43:23 +02:00
Marius Andra
45f10a8eaf
Kea TypeGen 0.2 (#1427)
* kea-typegen 0.2

* remove old Type.ts files

* more setup for typegen-0.2, update yarn scripts, remove webpackbar

* import types from the right paths

* update ENV in build script
2020-08-14 17:02:57 +02:00
Marius Andra
cf98e8ba35
Toolbar Typings (#1306)
* update to kea-typegen that runs through prettier

* remove posthog-js yalc package regression

* add types to toolbar

* add react-dom and react-redux types

* add types to toolbar react components

* convert a lot of components to typescript

* convert more components to typescript

* fix error

* actions return void

* clean up other Type.ts files as well

* fix last untyped files

* upgrade kea, fix webpack config entrypoint

* add stricter typechecking

* add types for a few more files

* fix bug with nth_child selectors (introduced in this PR, now fixed)

* fix one more type
2020-07-30 19:16:59 +02:00
Tim Glaser
bfb258cbe9
Refactor analytics queries (#1280)
* Refactor analytics queries

* Fix timedelta issue

* Fix tests

* Improve test

* Fix stickiness action

* Add default shape

* Refactor tests

* Add types to filter func

* Add comments to functions

* Fix tests

* remove unused import

* remove more unused imports

* Fix retention issues
2020-07-29 21:07:02 +02:00
Marius Andra
3f47ad2d0c
Kea TypeGen (#1286)
* update typescript eslint config / fix tsconfig.json path bug

* add kea-typegen and UserType

* kea-typegen first run, add types to userLogic
2020-07-28 22:25:24 +02:00
Marius Andra
5623551b04
Launch toolbar (#1186)
Co-authored-by: Twixes <dev@twixes.com>
2020-07-17 19:57:42 +02:00
Marius Andra
a256373526
Add Typescript Support (#1157)
* explicitly ignore some linting errors

* add typescript support and fix postcss dev warnings

* convert a few files to ".ts"

* fix return values
2020-07-08 09:45:23 +02:00