Conversation
|
The latest updates on your projects. Learn more about Vercel for GitHub.
1 Skipped Deployment
|
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review infoConfiguration used: Repository UI Review profile: CHILL Plan: Pro 📒 Files selected for processing (1)
🚧 Files skipped from review as they are similar to previous changes (1)
📝 WalkthroughWalkthroughThis pull request updates the deployment network visualization with a locked canvas state, refactors node styling and health indicator layouts, renames the network generation model from regions to sentinels, modifies settings forms to remove empty-state labels, and adds Safari-specific CSS fixes for foreignObject rendering. Changes
Estimated code review effort🎯 3 (Moderate) | ⏱️ ~25 minutes 🚥 Pre-merge checks | ✅ 1 | ❌ 2❌ Failed checks (1 warning, 1 inconclusive)
✅ Passed checks (1 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches
🧪 Generate unit tests (beta)
Tip Issue Planner is now in beta. Read the docs and try it out! Share your feedback on Discord. Comment |
There was a problem hiding this comment.
Actionable comments posted: 3
Caution
Some comments are outside the diff and can’t be posted inline due to platform limitations.
⚠️ Outside diff range comments (1)
web/apps/dashboard/app/(app)/[workspaceSlug]/projects/[projectId]/(overview)/deployments/[deploymentId]/network/unkey-flow/components/simulate/tree-generate.tsx (1)
224-258:⚠️ Potential issue | 🟡 MinorSet
min="1"for instance sliders to prevent empty sentinel groups.The slider currently allows
0instances per sentinel, which would create sentinels with no children in the visualization. While this doesn't cause a divide-by-zero error (the generator usesArray.from({ length: instanceCount }, ...)which handles 0 gracefully), it produces semantically invalid network topologies. All preset configurations enforcemin >= 1, so the slider should do the same.Fix
- min="0" + min="1" ... - min="0" + min="1"🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@web/apps/dashboard/app/`(app)/[workspaceSlug]/projects/[projectId]/(overview)/deployments/[deploymentId]/network/unkey-flow/components/simulate/tree-generate.tsx around lines 224 - 258, The instance-per-sentinel range inputs allow 0 currently; change both input elements that read/write customConfig.instancesPerSentinel (the two <input type="range"> controls whose onChange call setCustomConfig) to use min="1" instead of min="0" so sliders cannot select zero, and ensure the onChange handlers clamp/adjust the paired value if necessary to keep min <= max (update setCustomConfig logic in those handlers to enforce the constraint while preserving generateMutation.isLoading disabling).
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.
Inline comments:
In
`@web/apps/dashboard/app/`(app)/[workspaceSlug]/projects/[projectId]/(overview)/deployments/[deploymentId]/network/unkey-flow/components/nodes/node-wrapper/health-banner.tsx:
- Line 20: Replace the Tailwind template literal width class which the JIT can't
detect by moving the dynamic width into an inline style: keep the static
Tailwind classes (e.g., "mx-auto" and "-m-[20px]") on the div in the
HealthBanner component and add a style prop that sets width using
DEFAULT_NODE_WIDTH (e.g., style={{ width: `${DEFAULT_NODE_WIDTH}px` }} or
equivalent), removing the `w-[${DEFAULT_NODE_WIDTH}px]` from the className.
In
`@web/apps/dashboard/app/`(app)/[workspaceSlug]/projects/[projectId]/(overview)/deployments/[deploymentId]/network/unkey-flow/components/tree/tree-element-node.tsx:
- Around line 1-35: The TreeElementNode component signature now requires a size
prop but canvas-boundary.tsx's error boundary fallback (the <TreeElementNode> at
line 11) is missing it; update that TreeElementNode usage to include a size
object (e.g., width: 400, height: 250) along with the existing id and position
so it matches how tree-layout.tsx passes size (NODE_SIZES[...] ) and preserves
the doubling logic in TreeElementNode.
In `@web/apps/dashboard/lib/trpc/routers/deploy/network/generate.ts`:
- Around line 14-19: The schema allows instancesPerSentinel.min >
instancesPerSentinel.max which can produce a negative range for getRandomInt;
update generatorConfigSchema to add a cross-field validation (using z.refine or
superRefine) on the instancesPerSentinel object to ensure min <= max and return
a clear validation error message; reference the instancesPerSentinel object and
its min/max fields in the refinement so the constraint is enforced before any
code (e.g., where getRandomInt is used) runs.
---
Outside diff comments:
In
`@web/apps/dashboard/app/`(app)/[workspaceSlug]/projects/[projectId]/(overview)/deployments/[deploymentId]/network/unkey-flow/components/simulate/tree-generate.tsx:
- Around line 224-258: The instance-per-sentinel range inputs allow 0 currently;
change both input elements that read/write customConfig.instancesPerSentinel
(the two <input type="range"> controls whose onChange call setCustomConfig) to
use min="1" instead of min="0" so sliders cannot select zero, and ensure the
onChange handlers clamp/adjust the paired value if necessary to keep min <= max
(update setCustomConfig logic in those handlers to enforce the constraint while
preserving generateMutation.isLoading disabling).
...eployments/[deploymentId]/network/unkey-flow/components/nodes/node-wrapper/health-banner.tsx
Show resolved
Hide resolved
...verview)/deployments/[deploymentId]/network/unkey-flow/components/tree/tree-element-node.tsx
Show resolved
Hide resolved
* fix: fetch correct deployment+sentinel * fix: add missing team switcher hover indicator * refactor: use the same empty text * fix: lock network view and fix generate dummy network * fix: safari rendering issue of network * chore: fmt * fix: build * [autofix.ci] apply automated fixes --------- Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com> Co-authored-by: Flo <53355483+Flo4604@users.noreply.github.com> Co-authored-by: James P <james@unkey.com>
* test keys table * re org and exports * error fix * Apos * chore: remove deployment breadcrumbs (#5019) * fix: cleanup project side nav * feat: simplify deployment overview page only show build logs until it's built, then show domains and network * chore: clean up nav * fix(clickhouse): improve latest keys used queries for high volume (150M +) (#4959) * fix(clickhouse): improve clickhouse query for key logs and add new table and mv for latest keys used * fix valid/error count = 0 scenario * remove identity_id from order by * wrap identity_id with aggregating function since its removed from the order key --------- Co-authored-by: Flo <53355483+Flo4604@users.noreply.github.com> * fix: domain refetch and promotion disable rule (#5013) * fix: domain refetch and promotion disable rule * fix: regression --------- Co-authored-by: Andreas Thomas <dev@chronark.com> * refactor: move custom domains to tanstack db (#5017) * refactor: move custom domains to tanstack db * fix: comment * fix: delete mutation * remove: unnecessary query * remove agent (#5021) * remove agent * remove agent * chore: vault in dashboard (#5023) * remove agent * remove agent * use vault in dashboard * remove * project domain (#5022) * fix: cleanup project side nav * feat: simplify deployment overview page only show build logs until it's built, then show domains and network * chore: clean up nav * feat: add per-project sticky domain and only display that * chore: use vault in api (#5024) * chore: use vault in api * chore: use vault in api * fix harness * use memory test * vault container go start * [autofix.ci] apply automated fixes --------- Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com> * fix: Make GH callback dynamic (#5029) * dunno * nextjs should allow a setting that says dynamic * [autofix.ci] apply automated fixes --------- Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com> * allow longer timeouts (#5032) * docs: add ratelimit.unkey.com benchmark links to ratelimiting docs Add references to real-time performance benchmarks in: - introduction.mdx: new 'Performance at scale' accordion - modes.mdx: link after latency claim Presents benchmarks as capability demonstration rather than comparison. * docs: add description to cache store interface page (#5037) Add missing SEO description to frontmatter Generated-By: mintlify-agent Co-authored-by: mintlify[bot] <109931778+mintlify[bot]@users.noreply.github.com> Co-authored-by: Andreas Thomas <dev@chronark.com> * docs: remove orphaned SDK documentation (#5033) Remove Spring Boot Java, Rust, and Elixir SDK docs that are not linked in navigation and appear to be outdated/unmaintained. Generated-By: mintlify-agent Co-authored-by: mintlify[bot] <109931778+mintlify[bot]@users.noreply.github.com> Co-authored-by: Andreas Thomas <dev@chronark.com> * No data * add bg * rework release (#5044) * rework release * rework release * feat: generate rpc wrappers (#5028) * feat: generate rpc wrappers * bazel happyier * more changes * more changes * move path * delete old files (#5043) * fix: rabbit comments --------- Co-authored-by: Oz <21091016+ogzhanolguncu@users.noreply.github.com> * feat/gossip (#5015) * add a gossip implementation * add gossip to sentinel/frontline * add message muxing * sentinel fun * cleansings * cleansings * cleansings * cleansings * use oneof * fix bazel happiness * do some changies * exportoneof * more cool fancy thingx * change gateway choosing * add label * adjjust some more * adjjust some more * fixa test * goodbye kafka * fix: bazel * rename gateway -> ambassador * add docs * fix: rabbit comments * [autofix.ci] apply automated fixes * idfk * more changes * more changes * fix ordering * fix missing files * fix test --------- Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com> * fix: retry hubble ui (#5056) * fix: wait for cillium policy until CRDs are ready (#5059) * fix: retry cillium policy until CRDs are ready * fix: blocks until all system pods are ready * deployment build screen v1 (#5042) * fix: cleanup project side nav * feat: simplify deployment overview page only show build logs until it's built, then show domains and network * feat: new build screen for ongoing deployments * fix: table column typo * fix: update copy to remove mention of analytics deletion (#5067) * fix typo (#5039) * rfc: sentinel middlewares (#5041) * fix: cleanup project side nav * feat: simplify deployment overview page only show build logs until it's built, then show domains and network * feat: middleware rfc * Update svc/sentinel/proto/buf.gen.ts.yaml Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> --------- Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> Co-authored-by: Flo <53355483+Flo4604@users.noreply.github.com> * feat: config files (#5045) * fix: cleanup project side nav * feat: simplify deployment overview page only show build logs until it's built, then show domains and network * feat: add pkg/config for struct-tag-driven TOML/YAML/JSON configuration Introduces a new configuration package that replaces environment variable based configuration with file-based config. Features: - Load and validate config from TOML, YAML, or JSON files - Struct tag driven: required, default, min/max, oneof, nonempty - Environment variable expansion (${VAR} and ${VAR:-default}) - JSON Schema generation for editor autocompletion - Collects all validation errors instead of failing on first - Custom Validator interface for cross-field checks Also adds cmd/generate-config-docs for generating MDX documentation from Go struct tags, and a Makefile target 'config-docs'. Amp-Thread-ID: https://ampcode.com/threads/T-019c672a-0e8e-7138-b0ab-27cdbeaca7ba Co-authored-by: Amp <amp@ampcode.com> * remove gen * clean up * feat(api): migrate API service to file-based TOML config (#5046) * feat(api): migrate API service to file-based config Migrate the API service from environment variables to TOML file-based configuration using pkg/config. Replaces all UNKEY_* env vars with a structured api.toml config file. Changes: - Rewrite svc/api/config.go with tagged Config struct - Update svc/api/run.go to use new config fields - Update cmd/api/main.go to accept --config flag - Add dev/config/api.toml for docker-compose - Update dev/k8s/manifests/api.yaml with ConfigMap - Regenerate config docs from struct tags Amp-Thread-ID: https://ampcode.com/threads/T-019c672a-0e8e-7138-b0ab-27cdbeaca7ba Co-authored-by: Amp <amp@ampcode.com> * feat(vault): migrate Vault service to file-based TOML config (#5047) * feat(vault): migrate Vault service to file-based config Migrate the Vault service from environment variables to TOML file-based configuration using pkg/config. Changes: - Rewrite svc/vault/config.go with tagged Config struct - Update svc/vault/run.go to use new config fields - Update cmd/vault/main.go to accept --config flag - Add dev/config/vault.toml for docker-compose - Update dev/k8s/manifests/vault.yaml with ConfigMap - Remove UNKEY_* env vars from docker-compose and k8s Amp-Thread-ID: https://ampcode.com/threads/T-019c672a-0e8e-7138-b0ab-27cdbeaca7ba Co-authored-by: Amp <amp@ampcode.com> * feat(ctrl): migrate Ctrl API and Worker to file-based TOML config (#5048) * feat(ctrl): migrate Ctrl API and Worker services to file-based config Migrate both ctrl-api and ctrl-worker from environment variables to TOML file-based configuration using pkg/config. Changes: - Rewrite svc/ctrl/api/config.go and svc/ctrl/worker/config.go - Update run.go files to use new config fields - Update cmd/ctrl/api.go and worker.go to accept --config flag - Add dev/config/ctrl-api.toml and ctrl-worker.toml - Update dev/k8s/manifests/ctrl-api.yaml and ctrl-worker.yaml with ConfigMaps - Remove UNKEY_* env vars from docker-compose and k8s manifests * feat(krane): migrate Krane service to file-based TOML config (#5049) * feat(krane): migrate Krane service to file-based config Migrate the Krane container orchestrator from environment variables to TOML file-based configuration using pkg/config. Changes: - Rewrite svc/krane/config.go with tagged Config struct - Update svc/krane/run.go to use new config fields - Update cmd/krane/main.go to accept --config flag - Add dev/config/krane.toml for docker-compose - Update dev/k8s/manifests/krane.yaml with ConfigMap - Remove UNKEY_* env vars from docker-compose and k8s Amp-Thread-ID: https://ampcode.com/threads/T-019c672a-0e8e-7138-b0ab-27cdbeaca7ba Co-authored-by: Amp <amp@ampcode.com> * feat(frontline): migrate Frontline service to file-based TOML config (#5050) * feat(frontline): migrate Frontline service to file-based config Migrate the Frontline reverse proxy from environment variables to TOML file-based configuration using pkg/config. Changes: - Rewrite svc/frontline/config.go with tagged Config struct - Update svc/frontline/run.go to use new config fields - Update cmd/frontline/main.go to accept --config flag - Update dev/k8s/manifests/frontline.yaml with ConfigMap - Remove UNKEY_* env vars from k8s manifest Amp-Thread-ID: https://ampcode.com/threads/T-019c672a-0e8e-7138-b0ab-27cdbeaca7ba Co-authored-by: Amp <amp@ampcode.com> * feat(preflight): migrate Preflight service to file-based TOML config (#5051) * feat(preflight): migrate Preflight service to file-based config Migrate the Preflight webhook admission controller from environment variables to TOML file-based configuration using pkg/config. Changes: - Rewrite svc/preflight/config.go with tagged Config struct - Update svc/preflight/run.go to use new config fields - Update cmd/preflight/main.go to accept --config flag - Update dev/k8s/manifests/preflight.yaml with ConfigMap - Remove UNKEY_* env vars from k8s manifest Amp-Thread-ID: https://ampcode.com/threads/T-019c672a-0e8e-7138-b0ab-27cdbeaca7ba Co-authored-by: Amp <amp@ampcode.com> * feat(sentinel): migrate Sentinel service to file-based config (#5052) Migrate the Sentinel sidecar from environment variables to TOML file-based configuration using pkg/config. This is the final service migration in the config stack. Changes: - Rewrite svc/sentinel/config.go with tagged Config struct - Update svc/sentinel/run.go to use new config fields - Update cmd/sentinel/main.go to accept --config flag - Update dev/docker-compose.yaml: replace env vars with TOML volume mounts for all migrated services (api, vault, krane, ctrl-api, ctrl-worker) - Minor formatting fix in pkg/db generated code --------- Co-authored-by: Amp <amp@ampcode.com> --------- Co-authored-by: Amp <amp@ampcode.com> --------- Co-authored-by: Amp <amp@ampcode.com> --------- Co-authored-by: Amp <amp@ampcode.com> --------- Co-authored-by: Amp <amp@ampcode.com> --------- Co-authored-by: Amp <amp@ampcode.com> * fix: bad config * remove unnecessary tls config for ctrl api * fix: error * fix: do not log config content * ix: remove kafka * fix: replica * fix: return err * fix: only overwrite frontline id if missing * fix: observability * fix: otel * fix: redundant config * fix: reuse tls * fix: consolidate * fix: use shared configs * fix: config * fix: something * Update pkg/config/common.go Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * fix: vault startup * fix: instanceid * fix: vault config * fix: make configs required * fix: everything works again --------- Co-authored-by: Amp <amp@ampcode.com> Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * clean deployment url label (#4976) * clean deployment url * fix conversion error and maintain single source of truth --------- Co-authored-by: Andreas Thomas <dev@chronark.com> Co-authored-by: Flo <53355483+Flo4604@users.noreply.github.com> * feat: New deploy settings (#5073) * feat: add github section * feat: Add icons * feat: add new sections * feat: add settingsgroup * feat: add region selection * feat: add instances * feat: add memory and cpu section * feat: add sections * feat: add health check * feat: add scaling * fix: get rid of redundant prop * refactor: Add toasts to mutations * refactor: rename component * feat: add port section * feat: fix overlapping borders * refactor: fix healthcheck tRPC * feat: add command section * feat: add env section * fix: finalize env-vars * refactor: finalize * feat: Add custom domains * fix: overflwo * feat: make tRPC route for each mutation * fix: displayValue styles * refactor: tidy * fix: revert accidental changes * feat: add cname table * fix: github styling issues * refactor: tidy * refactor: rename * fix: linter * fix: dynamic form issue * feat: allow env selection * chore: tidy * fix: use same chevron * fix: use certmanager if availiable otherwise certfile (#5076) * fix: use certmanager if availiable otherwise certfile * feat: make tls enabled by default now you need to explicitely pass tls.disabled=true if not, we fail during startup. also renamed some port vars to make it obvious what they are used for * chore: log candidates for easier debugging * fix: use static certs first --------- Co-authored-by: chronark <dev@chronark.com> * feat: sentinel key verification middleware (#5079) * feat: key-sentinel-middleware * fix error pages (#5083) * fix error pages * remove test * move some files * Update svc/frontline/internal/errorpage/error.go.tmpl Co-authored-by: Andreas Thomas <dev@chronark.com> * [autofix.ci] apply automated fixes --------- Co-authored-by: Andreas Thomas <dev@chronark.com> Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com> * add rl headers. * feat: new ui and fixed a bunch of stuff * Update svc/sentinel/engine/match.go Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * fix: coderabbit --------- Co-authored-by: Andreas Thomas <dev@chronark.com> Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com> Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * clean up after sentinel middleware (#5088) * feat: key-sentinel-middleware * fix error pages (#5083) * fix error pages * remove test * move some files * Update svc/frontline/internal/errorpage/error.go.tmpl Co-authored-by: Andreas Thomas <dev@chronark.com> * [autofix.ci] apply automated fixes --------- Co-authored-by: Andreas Thomas <dev@chronark.com> Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com> * add rl headers. * feat: new ui and fixed a bunch of stuff * Update svc/sentinel/engine/match.go Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * fix: coderabbit * chore: clean up old columns * fix: db --------- Co-authored-by: Flo <flo@unkey.com> Co-authored-by: Flo <53355483+Flo4604@users.noreply.github.com> Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com> Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * fix proto type (#5093) * fix: cleanup project side nav * feat: simplify deployment overview page only show build logs until it's built, then show domains and network * fix: runtime exception due to gaslighting type * fix: Modals with combo box work again (#5002) * chore: remove chproxy routes (#5101) * chore: remove chproxy routes * refactor: move prometheus metrics to scoped packages (#5102) * remove the hand holding (#5108) * feat: gossip metrics (#5107) * fix: Make identity slugs copyable (#5100) * fix: make me copy * Update web/apps/dashboard/app/(app)/[workspaceSlug]/authorization/permissions/components/table/components/assigned-items-cell.tsx Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> --------- Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * refactor: useDeployment hook usage (#5086) * refactor: useDeployment hook usage * fix: remove redundant check * feat: i need more metrics (#5115) * docs: Python and Go examples (#5058) * Add Python and Go SDK documentation - Add Go quickstart guide with stdlib, Gin, and Echo examples - Add Python quickstart guide with FastAPI, Flask, Django - Add Go cookbook: stdlib, Gin, Echo middleware recipes - Add Python cookbook: FastAPI rate limiting recipe All content uses Unkey v2 API only. * Add final Python cookbook recipe and 5-minutes guide * Update docs.json sidebar navigation - Add Go and Python quickstart guides to Framework Guides - Add Go and Python cookbook recipes to Recipes section - Remove duplicate 5-minutes quickstart file * Add Go examples to quickstart and reorganize cookbook by language - Add Go code examples to /quickstart/quickstart.mdx for key creation and verification - Reorganize cookbook recipes into subsections: TypeScript, Go, Python, General - Keep existing TypeScript and Python examples in quickstart * Update cookbook index with new Go and Python recipes * Fix code issues in Go and Python documentation - Fix int to string conversion in go-gin-middleware (use strconv) - Fix middleware composition in go-stdlib-middleware - Fix wait calculation in python-fastapi-ratelimit (use total_seconds) - Fix headers attachment in python-fastapi-ratelimit (use JSONResponse) - Fix nil pointer dereference in quickstart/go - Fix unsafe type assertion in quickstart/go * Fix async/sync issue and nil pointer in quickstart docs - Use verify_key_async in Python async route - Add nil check for result.Code in Go quickstart * Fix more code issues in documentation - Fix GetUnkeyResult type assertion in go-gin-middleware - Fix imports in python-fastapi-ratelimit (add JSONResponse, remove unused timedelta) - Update basic rate limit example to use async API with context manager - Add missing os import in Django settings snippet * Fix missing os import in python-flask-auth.mdx * Fix unsafe type assertions in Go middleware docs - Fix RequirePermission in go-echo-middleware with safe type assertion - Fix GetUnkeyResult in go-echo-middleware with safe type assertion - Fix RequirePermission in go-gin-middleware with safe type assertion * Fix error handling in Python docs - replace ApiError with UnkeyError * Update legacy analytics documentation - Replace outdated /apis/features/analytics.mdx with minimal reference page - Remove analytics from API Keys sidebar in docs.json - Add redirect from /apis/features/analytics to /analytics/overview * fix * Update to mint * Fix critical type assertion issues in go-gin-middleware - Store pointer to struct in context (not value) for type assertion compatibility - Add checked type assertion in RequireRole with proper error handling * Add it back * fix the comma * revert * Update go examples * cookbook update * update quickstart * remove analytics page that is redirected * Update web/apps/docs/cookbook/go-echo-middleware.mdx Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * Update web/apps/docs/cookbook/go-echo-middleware.mdx Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * fix --------- Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * fix: deploy quick fixes (#5085) * fix: fetch correct deployment+sentinel * fix: add missing team switcher hover indicator * refactor: use the same empty text * fix: lock network view and fix generate dummy network * fix: safari rendering issue of network * chore: fmt * fix: build * [autofix.ci] apply automated fixes --------- Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com> Co-authored-by: Flo <53355483+Flo4604@users.noreply.github.com> Co-authored-by: James P <james@unkey.com> * docs: remove duplicate onboarding page (#5035) Remove quickstart/onboarding/onboarding-api.mdx which duplicates content from the new quickstart. Redirects already exist in docs.json. Generated-By: mintlify-agent Co-authored-by: mintlify[bot] <109931778+mintlify[bot]@users.noreply.github.com> Co-authored-by: Andreas Thomas <dev@chronark.com> Co-authored-by: James P <james@unkey.com> * docs: remove deprecated Vercel integration page (#5034) The Vercel integration is currently not supported. Remove the page to avoid confusing users. Generated-By: mintlify-agent Co-authored-by: mintlify[bot] <109931778+mintlify[bot]@users.noreply.github.com> Co-authored-by: James P <james@unkey.com> * fix: schema cache (#5116) * fix: do background gossip connect (#5119) * fix: do background gossip connect * bazel happy * chore: debug wan failures (#5124) * chore: debug wan failures * add log writer * bazel .......... * bazel .......... * fix: a user cannot click outside of the org selection modal (#5031) * fix: a user cannot click outside of the org selection modal * use errorMessage instead of hard coding messages * restore x closing functionality * fix rabbit, fix flash of empty state * clear last used workspace when auto-selection fails * remove unused conditional --------- Co-authored-by: James P <james@unkey.com> * sentinel prewarm cache (#5071) * fix: cleanup project side nav * feat: simplify deployment overview page only show build logs until it's built, then show domains and network * feat: sentinels prewarm their cache it's not optmized, but pretty neat --------- Co-authored-by: Flo <53355483+Flo4604@users.noreply.github.com> * fix: ignore empty wan (#5122) Co-authored-by: Andreas Thomas <dev@chronark.com> Co-authored-by: James P <james@unkey.com> * docs: move docs (#5125) * refactor: deploy settings tanstack (#5104) * refactor: move them to tanstack * refactor: tidy up * feat: add env provider to decide what env we are on * refactor: tidy * feat: add scroll into view for settingcard * fix: bg * refactor: remove toasts from env-vars * chore: tidy * fix: build * feat: vault bulk en/decrypt (#5127) * feat: vault bulk en/decrypt * oops wrong file * cleanup proto * [autofix.ci] apply automated fixes * cleanup * cleanup --------- Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com> * feat: trace generated rpc clients (#5128) * feat: trace generated rpc clients * ignore not found * fix: docs generator paths (#5136) * fix: retry memberlist creation (#5134) * fix: retry memberlist creation * remove comments * move to const * fix: Restore filtering on logs (#5138) * Restore filtering on logs Restores filtering on the logs. * [autofix.ci] apply automated fixes * fmt --------- Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com> * fix: resolve dns to ip (#5139) * fix: resolve dns to ip * rabbit comments * Fix/issue 5132 billing section widths (#5140) * fix: Billing page has inconsistent section widths (#5132) Standardized all SettingCard components to use consistent width classes: - Updated Usage component: contentWidth changed from 'w-full lg:w-[320px]' to 'w-full' - Updated CancelAlert component: contentWidth changed from 'w-full lg:w-[320px]' to 'w-full' - Updated Billing Portal in client.tsx: contentWidth changed from 'w-full lg:w-[320px]' to 'w-full' - Updated CurrentPlanCard component: removed min-w-[200px] from className for consistency All billing sections now use contentWidth='w-full' for consistent layout. Fixes #5132 * Fix billing and setting cards * [autofix.ci] apply automated fixes --------- Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com> * pnpm i * No virtualization * pagination footer * sorting and pagination changes * refactor * exports * move data-table to ui * install * fmt * Footer style changes * sorting and pagination changes * sorting and footer loading fix * cleanup * prefetch pages * changes for review comments from rabbit and meg * Ref fix and removed not needed import * [autofix.ci] apply automated fixes * sorting fix and key navigation * review changes mess * minor rabbit changes * Update loading-indicator animation delay * style change on pageination footer * ref type change --------- Co-authored-by: Andreas Thomas <dev@chronark.com> Co-authored-by: Meg Stepp <mcstepp@users.noreply.github.com> Co-authored-by: Flo <53355483+Flo4604@users.noreply.github.com> Co-authored-by: Oz <21091016+ogzhanolguncu@users.noreply.github.com> Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com> Co-authored-by: James P <james@unkey.com> Co-authored-by: mintlify[bot] <109931778+mintlify[bot]@users.noreply.github.com> Co-authored-by: gui martins <guilhermev2huehue@gmail.com> Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> Co-authored-by: Amp <amp@ampcode.com> Co-authored-by: Vansh Malhotra <vansh.malhotra439@gmail.com> Co-authored-by: Flo <flo@unkey.com>
What does this PR do?
This PR fixes:
How should this be tested?
Checklist
Required
pnpm buildpnpm fmtmake fmton/godirectoryconsole.logsgit pull origin mainAppreciated