138 dockstatwidgets - #139
Conversation
…: Correct Websocket usage for new pub/sub pattern.
- React Flow data-pipe graph editor with node palette and property panel - Node template registry shared between backend and frontend - Advanced transformers: groupBy, pivot, flatten, topN, window, mapFields - WebSocket data source provider for live data in data-pipes - Default widget manifest (gauge, bar chart, heatmap, honeycomb) - Frontend hooks for dashboard and dataflow mutations/queries
- Reuse useLocalLogin hook in LocalRegistration to automatically log in after successful account creation - Clear stale auth data from localStorage on login failure - Bump @elysiajs/eden, turbo, and @changesets/cli - Comment out tsgo language server override in Zed config
- Avoid explicit `any` or generic `Elysia` return type annotations in WS/widget route handlers to prevent route map collapse. - Refine `MutationInput` helper type in `packages/utils`. - Update `docknode` exports and improve type safety in API routes. - Decouple `widgets` package from explicit `@dockstat/api` TS reference.
- Add CSS overrides for React Flow surfaces using @dockstat/ui tokens - Replace Card components with plain buttons in NodePalette - Update PropertyPanel and DataPipeNodes to use design token classes - Add serializeDataPipeGraph to convert React Flow graph to API format - Add prepareQuery and prepareMutateRoute to Eden Client - Add debugLog option to useTopicSubscription
- Migrate `EdenClientContext` to a central `EdenProvider` and use the `useEdenClient` hook for cleaner consumption. - Consolidate widget dashboard subscriptions to use the shared `/api/v2/ws` connection instead of a dedicated endpoint. - Update `WSTopicHandler` to accept arbitrary string topics for improved WebSocket subsystem reuse. - Optimize dashboard minimap and node handles with theme-aware styling.
- Add pure SVG renderers for all built-in widgets - Integrate react-grid-layout for dashboard drag and resize - Apply themed visual styles to dataflow editor nodes - Define process.env.NODE_ENV in Vite for browser support
|
There was a problem hiding this comment.
Sorry @Its4Nik, your pull request is larger than the review limit of 150000 diff characters
|
Important Review skippedAuto reviews are disabled on base/target branches other than the default branch. Please check the settings in the CodeRabbit UI or the ⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Pro Plus Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
…dling - Add imperative `call` method to Eden Client for one-off API requests - Implement automatic 401 redirect to logout across all queries/mutations - Add `skipAuthHandler` option for auth endpoints (login, allow-guest, providers) - Create AuthEdenBridge to connect AuthProvider logout with Eden Client - Refactor all API calls from manual getAuthHeaders() to Eden Client pattern - Add dashboard "Set as Default" functionality with improved UX - Add WebSocket listTopics internal command support - Remove getAuthHeaders() utility function
…-sessions table, /auth/revoke endpoint, cookie cleanup on logout, skipRedirect option, and automatic auth token sync with Eden client. dockstat/dataflow: Convert NODE_TEMPLATES to a function accepting getWsTopics for dynamic topic options; fix NodePalette layout (full height, scrolling, spacing); pass topics through to PropertyPanel. ui/Input: Add autoFocus prop. Want me to commit with this message? feat(auth): add session management with JWT revocation - Add auth-sessions table to track JWTs server-side - Add /auth/revoke endpoint to revoke sessions - Clear auth cookie and revoke session on logout - Support skipRedirect option in logout for soft logout - Sync auth token with Eden client automatically - Check session validity in middleware (HTTP + WS) feat(dockstat): dynamic WS topics in dataflow node templates - Convert NODE_TEMPLATES to a function accepting getWsTopics - Add "array" and function FieldType for dynamic select options - Pass getWsTopics through to PropertyPanel - Fix NodePalette layout: full height, min-h-0, consistent spacing feat(ui): add autoFocus prop to Input component
- DataflowPage: begin integrating useWsTopics hook for PropertyPanel - Add opencode agent skills (elysiajs, tanstack-query, react best practices) - Add skills-lock.json
…tering
Certificate Management:
- New CertificateService supporting SSH (Ed25519/RSA/ECDSA), Docker TLS,
WebUI TLS, CA, and generic secret generation via node:crypto + selfsigned
- AES-256-GCM encryption at rest with PBKDF2 key derivation from
DOCKSTAT_CERT_MASTER_KEY env var
- Full CRUD routes: list, get, generate, import, external ref, update,
delete, reveal (decrypt), and resolve (internal API for backend services)
- certificates_table in SQLite with UUID primary key
- Frontend: settings slide with generate/import/external tabs, cert list
with reveal/edit/delete, Eden treaty hooks for queries and mutations
WebSocket Topic Filtering:
- Add availableTopics() to DSWebSockerHandler that merges active WS topics
with internal subscribers, excluding dashboard sink topics
(widgets/dashboard/*) so only real data sources are listed
- Expose via authenticated GET /ws/topics HTTP route
- Wire useWsTopics hook through DataflowPage -> PropertyPanel -> Field,
rendering a dynamic dropdown for the websocket-source node's topic field
using the existing NODE_TEMPLATES({ getWsTopics }) function pattern
…oute naming - Convert all route imports to lazy() for code splitting with Suspense fallback - Add Vite manualChunks for grid-layout, motion, query-vendor, react-vendor, xyflow - Wrap provider values and layout props in useMemo/useCallback to reduce re-renders - Replace .find()/.includes() array lookups with Map/Set O(1) lookups - Replace Math.min/Math.max with single-pass for-loops in widget components - Remove console.log statements and unused imports - Add Elysia name properties to routes for Eden treaty compatibility - Parallelize independent API calls in stacks page - Add cancellation logic to useLocalAuthCheck effect
|
| GitGuardian id | GitGuardian status | Secret | Commit | Filename | |
|---|---|---|---|---|---|
| 35245168 | Triggered | SMTP credentials | 98ceb32 | .agents/skills/elysiajs/integrations/react-email.md | View secret |
🛠 Guidelines to remediate hardcoded secrets
- Understand the implications of revoking this secret by investigating where it is used in your code.
- Replace and store your secret safely. Learn here the best practices.
- Revoke and rotate this secret.
- If possible, rewrite git history. Rewriting git history is not a trivial act. You might completely break other contributing developers' workflow and you risk accidentally deleting legitimate data.
To avoid such incidents in the future consider
- following these best practices for managing and storing secrets including API keys and other credentials
- install secret detection on pre-commit to catch secret before it leaves your machine and ease remediation.
🦉 GitGuardian detects secrets in your source code to help developers and security teams secure the modern development process. You are seeing this because you or someone else with access to this repository has authorized GitGuardian to scan your pull request.
No description provided.