* wip
* wip
* wip
* can filter events by reserved words - distinct_id, created_at, and timestamp - in the backend
* add reserved properties when showing property definitions
* capitalise name of property
* properties not reserved words
* get cypress working and make search work with reserved properties
* update event/values endpoint to use property_string_expr and so work with reserved properties
* remove created at from reserved words
* test fix
* fix test
* loosen cypress assertion
* exclude specific properties from the taxonomic property filter
* remove FE property definition fangling
* exclude $time and $timestamp property definitions from the backend
* add reserved properties in the API not the FE using a CTE
* use SQL comments in SQL strings
* remove mypy error
* fix enterprise property definitions
* fix tests and improve comment
* exclude materialised column rows with no values when getting event property definitions
* fix cypress test setup
* clean up dead code
* un-remove some not actually dead code
* correct cypress assertion
* try and fix a cypress test
* add a pinned time filter to events table without changing any behaviour
* resolve tsc errors
* add commented out test that appears to fail because of vs timestamp
* more clarity from tests around API interactions and simplify event logic API after param
* add comment explaining why we assert on the API mock expectations
* move the last test that asserts on API into the commented describe block
* makes property pills grey
* skip test instead of commenting
* rename away from tunnel vision about one year ago
* Add a tooltip to the pinned filter on events table
* remove pinned filters in favour of page-level description
* remove more pinned filter code
* avoid the page header wrap around
* allow trends to do maths with page performance
* try forcing a click in cypress test
* copy passing test from another branch
* copy passing test from another branch
* copy passing test from another branch
* Fix EditableField textarea width
* Make it clearer when a LemonButtonWithPopup is open
* Improve resizing dashboard items in mobile layout
* Add enter/exit animation to `Popup`
* Tune `ShareButton`
* Rotate `Popup` a bit less
* Improve style edge cases
* Use period instead of exclamation mark
* Update InsightsTable.tsx
* Align shadows with design
* Align modal shadow with design
* Update shadow opacity
* Use `perspective-origin: top`
* Rename `held` to `active`
* Update events.js
* Reimplement `EditableField` to be seamless
* Implement base of `LemonDashboardHeader`
* Get rid of `controlledMode`
* Make in-progress dashboard updates tentatively apply in local state
* Add `sharedDashboard` to `urls`
* Complete new `DashboardHeader`
* Iterate on `EditableField`
* Use simpler terms for editing layout
* Update dashboardPremium.js
* Fix saving tags
* Improve EditableField sizing
* Reposition Popup on size change
* Remove LemonButton-in-Popup magic
* Remove `updateDashboard` pre-saving
* Use muted color only for the placeholder
* Add payment gate to descriptions
* Update LemonDashboardHeader.tsx
* Update dashboard.js
* Revert "Update dashboard.js"
This reverts commit 50cf72d549.
* Implement new person page layout
* Simplify default 404 page similar to person 404
* Set page headings to weight 600 instead of 700 to align with design
* Fix style of person loading state and page title
* Don't use deprecated `substr`
* Rework `LemonRow` compact mode
* Rework group page too
* Update group 404 message
* Fix `personsLogic`
* Add comment
* Fix type name conflict
* Update Person.cy-spec.js
* Update person.js
* Update Person.cy-spec.js
* Fix display of extra person IDs
* Update Person.cy-spec.js
* Improve property key/value sizing
* Update person.js
* Optimize personsLogic's urlToAction
* Put property deletion button in its own rightmost column
* Add `SessionRecordingsTable` empty state
* Use `IconDeleteForever` instead of `IconClose` for deletion
* Update person.js
* Fix sync of person and cohorts
* Fix "Should merge person"
* refactor entire invite logic
* use lemon table for invites
* update no email warnings
* additional redirection
* Simplify `.info-message`
* Use muted styling for all LemonTable empty states
* Use common `EmailUnavailableMessage`
* Refactor for a global <InviteModal/>
* Update invite deletion button for new style
* Bring columns in line with other LemonTables and add invitee name
* Hide invite modal when location changes
* Align details to existing Cypress test
* Update invitesMembers.js
* Add data-attrs
* Fix invite deletion Cypress
* Update wording
Co-authored-by: Michael Matloka <dev@twixes.com>
* wip
* display known unix timestamps as date strings in property filter select box
* show selected unix timestamp property as a datetime string in the property filter
* remove console.log
* update test to construct property definition correctly
* correct another test
* dates have different operators
* format property filter values for display in Select boxes and the PropertyValue component
* fix typescript error
* it _is_ a type, I don't need to say it is
* don't have before and after for unmatched types of operators
* separate the current applicable operators and the operator to display mapping, and add cypress tests for before and after operator visibility
* correct cypress test
* remove unused method
* remove dangling comment
* why does test fail in CI but not locally
* why does test fail in CI but not locally
* why does test fail in CI but not locally
* log values of operator options, why does this fail in CI but not locally
* why does test fail in CI but not locally
* intercept more decide calls to try and set feature flags from cypress test
* why does test fail in CI but not locally
* Remove cypress install
* add a readme for how to test feature flags so it isn't lost if there are no tests currently testing feature flags
* Remove "Self-Hosted" from logo
* Add new env var-based setting `DEMO`
* Enable recordings in demo project by default
* Merge login and signup into "demo signin" when `DEMO` on
* Show `DEMO` announcement
* Update realm with option `demo`
* Update test_preflight.py
* Improve `realm` typing
* Update E2E test
* Address feedback
* Satisfy mypy
* replace old insight table with lemon table
* fix count
* Improve table UI further
* Fix sorting interfering with summary type dropdown
* Use a more appropriate loading state
* Update Cypress test
Co-authored-by: Michael Matloka <dev@twixes.com>
* do not save insight if filters empty
* fix another test
* add second update guard
* fix errors
* fix test
* fix timezone-dependent test
* fix test
* fix save to dashboard test
* fix the fix
* Always allow editing insight name
* Update dashboardLogic.tsx
* Add E2E test
* Run prettier
* Remove unused vars
* Fix infinite `loadDashboardItems` loop
* Fix insight<>dashboard state sync (#7635)
* Update dashboardLogic.tsx
* Add Cypress test
* Run prettier
* Rename "Add graph" to more accurate "New insight"
* Fix `AnnotationScope`
* github action artifact cypress videos
* artifact logs
* Fix cypress video export
* Redirect all output
* wait for initial retention load
* specify retry in ci
* use bin/start instead of bin/docker-*
* capture django app output in gunicorn log
* use docker-worker and docker-server again
* Remove gunicorn capture output settings
* fixes for new short insight urls
* add a test and a longer timeout to try and deflake a test
* Update frontend/src/lib/components/IntervalFilter/intervalFilterLogic.ts
Co-authored-by: Michael Matloka <dev@twixes.com>
* Update frontend/src/scenes/insights/InsightDateFilter/insightDateFilterLogic.ts
Co-authored-by: Michael Matloka <dev@twixes.com>
* use urls helper to generate test urls
Co-authored-by: Michael Matloka <dev@twixes.com>
* insight route refactor, part 1
* add fromItem to get redirects
* fix some tests
* adjust many more paths
* fix test
* move new insight creation into insight logic
* fix a noisy test
* simplify one test
* open the url with the right filters
* null fix
* fix some more noisy tests
* move saved insights to `/insights`, fix logic tests
* fix cypress urls
* fix some tests
* fix even more insight urls
* wait a bit longer
* add old saved_insights redirect
* this might not be there yet
* rename newInsight -> insightNew
* rename Scene.Insights -> Scene.Insight
* also redirect old searches without fromItem
* fix link
* fix TS merge bugs
* fix import
* fix imports
* fix tests
* fix test
* Run prettier
* fix changes after merge
* switch to a simpler scene
* fix another test
* fix "save as" reset
* rerun tests
* Insight Short URLs (#7259)
* convert a bunch of things to user short_id instead of id
* fix more TS errors
* fix test
* fix jest tests
* various fixes
* add wise words
* type InsightShortId-s to make life easier
* reduce a bit of test noise
* use the InsightShortId in the URL
* fix type
* fix test
* fix insight url preloading
* pass dive dashboards as having insight short ids
* fix short url redirect
* mock scenelogic api
* better types and tests
* type fixes
* fix bug of linking to ourselves
* add back "id"
* get rid of some "getInsightId" calls
* two more
* few more
* refactor last usage of getInsightId
* move files around and improve errors
* make it simpler
* small fixes
* redirect to new url from old hashParam=42
* fix regression
* alert the user if we could not find an insight with the old ID format
* switch to a simpler scene
* fix another test
* Fix annotation creation
* Make short ID friendlier
* remove comments
* simplify insight links from dashboards and saved insights
* remove insight router
* fix TS
* Revert "remove insight router"
This reverts commit e52f474949.
Co-authored-by: Michael Matloka <dev@twixes.com>
Co-authored-by: Michael Matloka <dev@twixes.com>
* Update breadcrumb text
According to https://www.figma.com/file/gQBj9YnNgD8YW4nBwCVLZf/PostHog-App?node-id=5346%3A28614
* Extract code snippets to their own files
* Start refactoring/rewording feature flags pages
* Play with spacing
* Tags, add new and margins
* Delete match group button + margin on save button
* Update UTM_TAGS import
* Add duplicate option
* Update spacing
* update some actions naming
* Show group type(s) selection when groups enabled
* Remove the slider
* Add a new color
* Add grey badges to feature flags page
* Grey badges on FF page
* Toggle taxonomic groups based on dropdown selection
* Reset filters when group type changes
* Update wording
* Handle key change
* More consistent update when Match By changes
* Add save as button
* Dont use lemon button
* Commit file
* Fix eslint
* Fix issues
* fix
* fix typing
* fix tests
* Remove save and continue editing
* fix test
* Revert "Remove save and continue editing"
This reverts commit 5296f75b49.
* Revert "fix test"
This reverts commit 69b8cd9ae8.
* Copy changes
* Push instead of replace
* remove save new
* Add `LemonTable` base to Feature flags page
* Fix basic styling
* Rework more of the table
* Fix column `align`
* Update eventsListLogic.ts
* Align FF table columns with design
* Add pagination
* Add table loader
* Add `LemonTable` to Storybook
* Add sorting
* Increase feature flags page size to 50
* Add scroll indication
* Fix minor issues
* Fix typing
* Update E2E test
* Sort one column at a time
* Add default sorting
* Improve current page handling
* Use search params for current page state
* Don't mute disabled feature flags
* Add overlay for loading state
* Add profile picture to Created by and improve comments
* Fix `createdByColumn`
* Refactor the More button for reusability
* Fix content sizing (pagination/loader filling full width when scrolled)
* Remove need for `@ts-expect-error`
* d3-sankey alters the object passed into it. we must copy the object we pass to it
* save a path in a test
* don't rely on being able to query the toast when testing if paths saved
* only load events table from the URL on allow list of URLs
* add return type to function
* pass scene URL into events table
* use urlpattern to check if scene is loaded in events table
* don't need to check if still on the same page as when loaded because urltoaction is now specific
* which means we don't need url pattern matching at all
* add scene url to events scene export's logic props
* use a different action name for each run or retries can never complete as the action cannot be saved
* do not poll results if moved away from sceneUrl
* remove tabs from person/action event tables
* so cypress can run locally
* break the dependency of running one test first so the other can pass
* move check into logic and add an e2e test
Co-authored-by: Marius Andra <marius.andra@gmail.com>
* preload chunks when loading esbuild scenes
* fix TS error
* fix license title
* fix scene identifiers in menu
* lowercase data-attr
* make the events menu have the old data-attr
* change var name to clarify its usage
* 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
* adds a search box to the toolbar featureflag list
* test flakes because react is re-rendering between the get and the click. add an assertion to try and slow cypress down to avoid this
* move filtering toolbar feature flags to a Set and out of CSS
* support initKeaTestLogic() with no args
* fix query-selector-all-deep jest bug
* add simple test case for feature flags logic
* combine selectors
* with more understanding of Fuse
* add simple test for flag filtering
Co-authored-by: Marius Andra <marius.andra@gmail.com>