* wip
* trends tab to use property groups too
* add util methods for backwards compatibility
* add property groups to retention and paths
* leave events table alone
* fix typescript errors
* fix e2e tests
* fix type
* flatten property groups in places
* typing
* clean up ui
* recurse property groups, handle empty groups, and clean up
* prettier
* fix typing
* data attr
* make space on insights layout for new filters
* remove clone library and unmutate states
* remove redundant isPropertyGroup checks
* feature flag it again and style cleanup
* fix global filters title
* filter duplication and test account filters styling
* e2e tests and style clean up
* prettier
* funnel layout fix with filters
* fix logical operator dropdown default value bug
* Upgrade `react-toastify` to latest version (from 5.5.0 to 8.2.0)
* Use team ID in `switched_team` instead of just a bool
* Update base toast style
* Adjust toast width
* Reduce toast `autoClose` to 6 seconds
* Update ALL the toasts
* Fix typing, improve wording
* Update `[data-attr=success-toast]` selectors
* Address feedback and update Cypress tests
* Remove useless snapshot test
* Fix leftover ` expect(toast)`
* "Fix" the problem with tests
* Update featureFlags.js
* Fix comment
* Update featureFlags.js
* Update featureFlags.js
* Remove `helpButtonLogic` import
* option to expand taxonomic filter infinite lists
* make the button blue, update copy
* remove duplicate
* test for is_event_property filter
* fix test
* refactor fetching
* test expandable infinite list
* fix clicking on "$time" in event prop cypress
* remove debug
* fix data-attr
* clean up shared attrs
* test with flag
* use "scoped endpoint" instead of "extended"
* don't click on skeleton
* describe scoped endpoint
* Revert "describe scoped endpoint"
This reverts commit 8450b66ef5.
* describe scoped endpoint
* remove comment
* type div props
* pluralize list
* cleaner variable names
* make sure there's something there
* pluralize some more
* don't tab if we can select something in the list
* Add some error states to `InsightCard`
* Clean up the empty states
* Fix `isDashboard` leftover props
* Improve wording
* Reword and center single step state
* Address feedback
* Remove flag `dashboard-redesign` and purge old code
* Update dashboard.js Cypress suite partially
* Reflect #8493 in moved DashboardHeader
* Make diff saner by not renaming `LemonDashboardHeader.tsx` yet
* Make editing dashboard grid react faster
* Remove redundant CSS
* Update dashboard.js Cypress suite completely
* Update insights.js
* Update EditableField.scss
* Use `Insight.last_modified_at` instead of `updated_at`
* Deprecate `Insight.updated_at`
* Revert "Revert "Adds reserved properties for filtering property definitions (#8291)" (#8340)"
This reverts commit cb6839fe21.
* limit reserved properties to events table, include this in unit tests
* add api level tests for datetime and reserved word filtering of trends
* remove unused constant
* make the cypress test even looser
* delete file that is no longer in master
* extract a query object
* implement reserved attribute querying for date filters
* update datetime cypress test
* separate and clarify tests and ensure date queries only use reserved attributes on event filters
* delete file that isn't in master
* add description to action
* update tests
* no limit to description and use pageheader
* add ee_action
* add description as global relationship:
* fix tests
* revert to using descriptions
* revert to using descriptions
* allow description to be null
* fix tests
* persist mode
* fix e2e
* Address review points, clean up some margins
* Clean up the way editing state is determined
* Restore default description value and improve typing
* Fix typing better
* Update sql.ts
Co-authored-by: Michael Matloka <dev@twixes.com>
* allow datepicker in date only mode
* allow exact date matching in property filters
* marks is_date_after as a date operator
* the date picker needs to work with null/undefined as well as string
* remove unused relative date parsing and fix date only is_date_exact property filters
* default to dates without times matching exactly
* make datetime filters by second work on date values that include milliseconds
* fix TS error
* correct insight url cypress test
* replace useMemo with useEffect
* be more specific in regex date match
* spacing under the quick choices
* when checking after a date for a date only filter check against that day at 23:59:59
* remove redundant text
* add test case and fix is_date_after query
* 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`