Clerk components were rendering dark text on dark background, making
sign-in, user button, and other auth UI invisible. Added @clerk/themes
dark base theme with matching color variables.
# Vercel Web Analytics Installation Report
## Summary
Successfully installed and configured Vercel Web Analytics for the data-peek webapp project following the latest official Vercel documentation.
## Changes Made
### 1. Package Installation
- Installed `@vercel/analytics` version 2.0.1 using pnpm
- Updated `apps/webapp/package.json` to include the new dependency
### 2. Code Integration
Modified `apps/webapp/src/app/layout.tsx`:
- Added import: `import { Analytics } from '@vercel/analytics/next'`
- Added `<Analytics />` component inside the `<body>` tag, after the main content providers
### 3. Framework-Specific Implementation
- Used Next.js App Router approach as documented in Vercel's quickstart guide
- Placed Analytics component in the root layout file (`app/layout.tsx`)
- Component placed within `<body>` tag to ensure proper tracking across all pages
## Implementation Details
The Analytics component was added to the root layout following Next.js App Router best practices:
- Import from `@vercel/analytics/next` for Next.js-specific integration
- Placed after the main application content to avoid interfering with the existing ClerkProvider, Providers, and NuqsAdapter wrapper hierarchy
- This ensures analytics tracking is initialized for all pages in the application
## Files Modified
1. `apps/webapp/package.json` - Added @vercel/analytics dependency
2. `apps/webapp/src/app/layout.tsx` - Added Analytics import and component
3. `pnpm-lock.yaml` - Updated lockfile with new dependencies
## Next Steps for Deployment
To enable analytics on Vercel:
1. Enable Web Analytics in the Vercel dashboard (Analytics section)
2. Deploy the application using `vercel deploy`
3. Verify tracking via browser Network tab (look for analytics requests)
## Notes
- The project had pre-existing build issues unrelated to this change (missing @radix-ui dependencies in the UI package)
- The Analytics implementation itself is correct and follows official Vercel documentation
- Analytics will automatically start collecting data once deployed to Vercel with the feature enabled in the dashboard
Co-authored-by: Vercel <vercel[bot]@users.noreply.github.com>
* feat(webapp): add MSSQL support, query editing, command palette, and SQL formatting
Co-authored-by: Rohith <gillarohith1@gmail.com>
* chore(webapp): remove MSSQL support and related code to drop database
Co-authored-by: Rohith <gillarohith1@gmail.com>
* fix(webapp): address review feedback for edit mode and query cancel
- Cache pg_backend_pid at connect time so cancelQuery works during in-flight queries
- Cache CONNECTION_ID at connect time for the same reason in MySQL adapter
- Use parameterized query for SET statement_timeout in Postgres adapter
- Parse SQL to extract table/schema context for edit mode instead of empty placeholders
- Add MSSQL bracket identifier quoting to escapeId in edit store
- Remove unused Trash2 and useQueryStore imports from edit-toolbar
---------
Co-authored-by: tembo[bot] <208362400+tembo[bot]@users.noreply.github.com>
Co-authored-by: Rohith <gillarohith1@gmail.com>
Co-authored-by: pullfrog[bot] <226033991+pullfrog[bot]@users.noreply.github.com>
* feat(webapp): add MSSQL support, query editing, command palette, and SQL formatting
Co-authored-by: Rohith <gillarohith1@gmail.com>
* chore(webapp): remove MSSQL support and related code to drop database
Co-authored-by: Rohith <gillarohith1@gmail.com>
* fix(webapp): address review feedback for edit mode and query cancel
- Cache pg_backend_pid at connect time so cancelQuery works during in-flight queries
- Cache CONNECTION_ID at connect time for the same reason in MySQL adapter
- Use parameterized query for SET statement_timeout in Postgres adapter
- Parse SQL to extract table/schema context for edit mode instead of empty placeholders
- Add MSSQL bracket identifier quoting to escapeId in edit store
- Remove unused Trash2 and useQueryStore imports from edit-toolbar
---------
Co-authored-by: tembo[bot] <208362400+tembo[bot]@users.noreply.github.com>
Co-authored-by: Rohith <gillarohith1@gmail.com>
Co-authored-by: pullfrog[bot] <226033991+pullfrog[bot]@users.noreply.github.com>
- Fix multi-tenant connection leak: key cache by userId:connectionId
- Fix SQL injection in pg_relation_size via quote_ident()
- Use per-query statement_timeout instead of hardcoded 30s
- Replace one-by-one delete loop with batch inArray delete
- Reorder cron cleanup: free-user rows first, then 90-day bulk delete
- Align SSL default logic between Postgres and MySQL adapters
- Increase db pool max from 1 to 5
- Reduce connection cache TTL from 60s to 15s
- Replace full-row queries with count() in usage router
- Fix empty-email unique constraint conflict via placeholder email
- Add key rotation TODO for encryption
- Add TODO for SSL rejectUnauthorized follow-up
Copy 9 remaining components (alert-dialog, chart, checkbox, collapsible,
command, context-menu, progress, sidebar, switch) to packages/ui and
update all 92 desktop files to import from @data-peek/ui instead of
local @/components/ui/* paths.