* feat: enable/disable dashboard features
* use the set directly
* move enabled features to common
* remove sneaky any
---------
Co-authored-by: Joshen Lim <joshenlimek@gmail.com>
* use logsdatepicker in audit logs, fix error hiding filters
* use logsdatepicker in acc audit logs
* move filters out of err
* add hideWarnings to logs date picker. make "today" button scroll to current month. change icon and add tooltip in timerange reset button so its not confused with a close button
* fix filters below loading state
* Update the docs for google domains.
* Apply suggestion from @ChrisChinchilla
Co-authored-by: Chris Chinchilla <chris@chrischinchilla.com>
* Apply suggestion from @ChrisChinchilla
Co-authored-by: Chris Chinchilla <chris@chrischinchilla.com>
---------
Co-authored-by: Chris Chinchilla <chris@chrischinchilla.com>
* refactor sign-in forms, remove `yup-password`
* add missing disabled state to email field
* Fix zod validations for min length
* minor fix loading state sign up form, and use motion div for success state
* Remove unnecessary useState for isSubmitting
* Nit
* Nit
---------
Co-authored-by: Joshen Lim <joshenlimek@gmail.com>
Some read-only errors from running SQL in the AI Assistant aren't being
properly detected, so the action item to review and confirm running the
SQL isn't showing up. Add test against another variant of read-only
error message that can show up.
* Refactor `StorageMenu` modals to replace deprecated patterns
* add test for `DeleteBucketModal` and update test setup
Note: Because this component uses `useParams`, it's necessary to have the dynamic route segment passed to `next-router-mock`'s `createDynamicRouteParser`. In order not to have to manually list all of these as the application grows, I added a glob utility that uses the `pages/` directory to automatically generate an array of dynamic route paths in this case.
* add test for `EmptyBucketModal`
* add test for `EditBucketModal` and add `isNonNullable` utility function
* add test for `CreateBucketModal`
* implement requested changes
* implement visual fixes
* Bump temp API key expiry to an hour just for realtime inspector
* Refresh temp api token whenever starting a refresh listen session in realtime inspector if current token in realtime config is a temp key
* Set up Sentry for www
* Add Sentry captureEExceptions to API routes in www
* Prettier
* Fix TS
* Address feedback
* Clean
* Remove SENTRY_AUTH_TOKEN from turbo.json
* fix: search sync + sentry errors issues
Fixes two issues:
1. Search sync: The embedded content now includes denormalized examples,
so the examples codegen needs to be run before embeddings are
created. Otherwise, the GitHub Action will fail because it cannot
find the examples to use for content inclusion.
2. Sentry errors on pages that fail to load: Sentry errors were being
sent for genuine 404s because the check for FileNotFoundErrors was
wrong. The error that is caught is wrapped in a new Error by
Result.unwrap(), so it's the child of this error, error.cause, that
is potentially a FileNotFoundError, not the error itself.
* fix: remove double processing of mdx
* fix: resolve 50% session tracking discrepancy on root route
- Fixes race condition causing ~50% discrepancy in session tracking between client and server on root route
- Implements event queuing to capture telemetry events before PostHog initializes
- Adds session ID correlation to enable unified tracking analysis between client and server events
- Uses sendBeacon API for both pageview and pageleave events to ensure reliable capture even during navigation
- Adds production safeguards with try/catch blocks and memory caps to prevent API errors from breaking tracking
* refactor(posthog-client): reduce max pending events and improve event handling
- Decreased the maximum number of queued events from 200 to 20
- Added the use of the sendBeacon API for pending events to survive page unload
- Added comments to clarify the handling of pending properties and events during posthog initialization
* refactor: reading markdown docs files
Refactor how Markdown docs files are read:
- Reuses the same logic across search index generation & page generation
- Improves the indexed content for search:
- Stops removing MDX components, which often contain useful
information like Admonitions
- Denormalizes Partials and CodeSamples for more complete content
This is a prerequisite step for implementing the "Copy docs as Markdown"
functionality.
Only touches regular guides for now, not federated ones.
* fix: tailwind build error (#37728)
We changed to default to ESM imports a while ago, which means local
builds are now breaking because the Tailwind uses a require. Changed to
CJS for Tailwind config file. (I have no idea how this has been working
on Vercel all this time.)
* style: prettier
* feat: drop file to import data
In the Table Editor for an empty table, make the entire grid area a
dropzone so that files can be dropped onto the grid area for importing.
Dropping a file opens the SpreadsheetImport side panel with the dropped
file already loaded.
* refactor: drag and drop file import
Refactor logic into hooks and utility functions
* refactor: file drop import
Small changes caught in code review
* Opt to pass file through valtio store instead of event listener
* refactor: telemetry properties + cleaning up hook deps
---------
Co-authored-by: Joshen Lim <joshenlimek@gmail.com>
* rm effect
* diff approach, rm effect for unified logs
* simplify, only redirect to explorer, keep unifiedlog check
* clean up
* dynamic url in the sidebar based on unified logs feature preview
* fix deep link missing ref
Seems like at some point surrounding the security definer function private.has_good_role() with a select (like all functions should have for RLS) was changed. I can't find the PR doing it though.