Commit Graph

3618 Commits

Author SHA1 Message Date
Developing-Gamer
86c0ae8026 Replace AI query chat hook with table filter chat hook.
Rename useAiQueryChat to useAiTableFilterChat, scope it to a table, and surface assistant notes when no query is committed.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-14 11:16:15 -07:00
Developing-Gamer
2d2edeedb5 Add analytics table search bar routing and validation logic.
Route natural-language input to AI and validate committed queries stay as SELECT * row filters over the current table.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-14 11:16:15 -07:00
Developing-Gamer
0a84ee1626 Add analytics table filter chat adapter.
Use the filter-analytics-table prompt and inject the viewed table as leading context for row-filter-only AI replies.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-14 11:16:15 -07:00
Developing-Gamer
75fc9556c8 Fix sticky header flicker while analytics tables scroll underneath.
Restore document-level Cmd+K glow tracking and remove the dark-mode header underlay that caused compositing seams.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-14 11:16:15 -07:00
Developing-Gamer
83f395ff1e Register analytics table filter prompts in AI query E2E tests.
Ensure build-analytics-query and filter-analytics-table are covered by the system prompt smoke suite.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-14 11:16:15 -07:00
Developing-Gamer
1c926c859b Add filter-analytics-table system prompt for row filters.
Constrain AI search to SELECT * FROM <table> WHERE ... so analytics table views keep the same columns.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-14 11:16:15 -07:00
Developing-Gamer
90017d8c86 Extract shared analytics tables schema documentation.
Deduplicate the ClickHouse schema block so analytics SQL prompts can share one source of truth.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-14 11:16:15 -07:00
Developing-Gamer
a199940c0b Add extraActions slot to DataGridToolbar.
Let callers place labeled actions before the built-in columns and export buttons, separated by a hairline divider.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-14 11:16:15 -07:00
Developing-Gamer
f0b32c28f9 Test DataGrid schema-pending loading skeleton.
Cover both the pre-schema shimmer and the per-column skeleton path once columns are discovered.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-14 11:16:15 -07:00
Developing-Gamer
6e67b6a2b1 Add schema-pending loading skeleton to DataGrid.
Show a full-width shimmer when columns are not yet known so query grids never look like an empty pane during the first fetch.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-14 11:16:15 -07:00
Developing-Gamer
6c672a3427 Improve analytics tables layout and data grid scrolling
- Make the analytics tables page fill the shell height and scroll internally so rows never paint under the sticky translucent header
- Add horizontalScrollbarPosition option to DataGrid (top puts the horizontal scrollbar under the column headers) with header/body scroll syncing and wheel forwarding, plus tests
- Add an opaque dark-mode underlay behind the floating header to fix the bright seam when content scrolls behind it
- Scope the CmdK trigger glow to the button itself instead of a document-level mousemove listener that recomposited the header on every cursor move
2026-07-14 11:16:15 -07:00
Developing-Gamer
c1e2884e61 Revert "Improve analytics tables layout and data grid scrolling"
This reverts commit ada90e2139.
2026-07-14 11:14:28 -07:00
Developing-Gamer
5b0584e355 Revert "Add schema-pending loading skeleton to DataGrid."
This reverts commit abca8ca664.
2026-07-14 11:14:28 -07:00
Developing-Gamer
08d4b04e28 Revert "Test DataGrid schema-pending loading skeleton."
This reverts commit 08e9527d04.
2026-07-14 11:14:28 -07:00
Developing-Gamer
3206e3cd3a Revert "Add extraActions slot to DataGridToolbar."
This reverts commit c634eedab8.
2026-07-14 11:14:28 -07:00
Developing-Gamer
8f4af1039b Revert "Extract shared analytics tables schema documentation."
This reverts commit a21139958c.
2026-07-14 11:14:28 -07:00
Developing-Gamer
4fc2350f4e Revert "Add filter-analytics-table system prompt for row filters."
This reverts commit fbfa37c63d.
2026-07-14 11:14:28 -07:00
Developing-Gamer
d220c5ebd9 Revert "Register analytics table filter prompts in AI query E2E tests."
This reverts commit d98ee52a94.
2026-07-14 11:14:28 -07:00
Developing-Gamer
180e561bc1 Revert "Fix sticky header flicker while analytics tables scroll underneath."
This reverts commit fd8f7b51e8.
2026-07-14 11:14:28 -07:00
Developing-Gamer
d39799aea9 Revert "Add analytics table filter chat adapter."
This reverts commit 42a2cddc06.
2026-07-14 11:14:28 -07:00
Developing-Gamer
5c7c202fb2 Revert "Add analytics table search bar routing and validation logic."
This reverts commit 78af13b5dc.
2026-07-14 11:14:28 -07:00
Developing-Gamer
32f0cfad56 Revert "Replace AI query chat hook with table filter chat hook."
This reverts commit b62fcf8297.
2026-07-14 11:14:27 -07:00
Developing-Gamer
d2f47ce03e Revert "Add unified filter-first analytics table search bar."
This reverts commit 745f122b5b.
2026-07-14 11:14:27 -07:00
Developing-Gamer
e133a6000f Revert "Wire analytics tables to filter-first search and remove AI query builder."
This reverts commit 8fd8479915.
2026-07-14 11:14:27 -07:00
Developing-Gamer
8fd8479915 Wire analytics tables to filter-first search and remove AI query builder.
Replace the AI query bar and dialog with TableSearchBar, keep columns during reloads, and move refresh into the toolbar actions slot.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-14 11:11:25 -07:00
Developing-Gamer
745f122b5b Add unified filter-first analytics table search bar.
Debounce substring search, route natural-language and zero-result queries to AI, and show active filters as removable chips.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-14 11:11:25 -07:00
Developing-Gamer
b62fcf8297 Replace AI query chat hook with table filter chat hook.
Rename useAiQueryChat to useAiTableFilterChat, scope it to a table, and surface assistant notes when no query is committed.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-14 11:11:25 -07:00
Developing-Gamer
78af13b5dc Add analytics table search bar routing and validation logic.
Route natural-language input to AI and validate committed queries stay as SELECT * row filters over the current table.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-14 11:11:25 -07:00
Developing-Gamer
42a2cddc06 Add analytics table filter chat adapter.
Use the filter-analytics-table prompt and inject the viewed table as leading context for row-filter-only AI replies.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-14 11:11:25 -07:00
Developing-Gamer
fd8f7b51e8 Fix sticky header flicker while analytics tables scroll underneath.
Restore document-level Cmd+K glow tracking and remove the dark-mode header underlay that caused compositing seams.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-14 11:11:25 -07:00
Developing-Gamer
d98ee52a94 Register analytics table filter prompts in AI query E2E tests.
Ensure build-analytics-query and filter-analytics-table are covered by the system prompt smoke suite.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-14 11:11:25 -07:00
Developing-Gamer
fbfa37c63d Add filter-analytics-table system prompt for row filters.
Constrain AI search to SELECT * FROM <table> WHERE ... so analytics table views keep the same columns.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-14 11:11:25 -07:00
Developing-Gamer
a21139958c Extract shared analytics tables schema documentation.
Deduplicate the ClickHouse schema block so analytics SQL prompts can share one source of truth.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-14 11:11:25 -07:00
Developing-Gamer
c634eedab8 Add extraActions slot to DataGridToolbar.
Let callers place labeled actions before the built-in columns and export buttons, separated by a hairline divider.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-14 11:11:25 -07:00
Developing-Gamer
08e9527d04 Test DataGrid schema-pending loading skeleton.
Cover both the pre-schema shimmer and the per-column skeleton path once columns are discovered.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-14 11:11:25 -07:00
Developing-Gamer
abca8ca664 Add schema-pending loading skeleton to DataGrid.
Show a full-width shimmer when columns are not yet known so query grids never look like an empty pane during the first fetch.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-14 11:11:24 -07:00
Developing-Gamer
ada90e2139 Improve analytics tables layout and data grid scrolling
- Make the analytics tables page fill the shell height and scroll internally so rows never paint under the sticky translucent header
- Add horizontalScrollbarPosition option to DataGrid (top puts the horizontal scrollbar under the column headers) with header/body scroll syncing and wheel forwarding, plus tests
- Add an opaque dark-mode underlay behind the floating header to fix the bright seam when content scrolls behind it
- Scope the CmdK trigger glow to the button itself instead of a document-level mousemove listener that recomposited the header on every cursor move
2026-07-14 11:11:24 -07:00
Aman Ganapathy
32daff06f5
[Fix]: OOM Risk with Data Table (#1766)
### Context
We were seeing the txn table and the customers tab under product page
OOM.

It turns out this was because the team icon when loaded would fetch all
of the teams.

<!-- This is an auto-generated description by cubic. -->
---
## Summary by cubic
Fixes OOM and renderer crashes in the transactions and product customers
tables by stopping per-row refetch storms and avoiding list‑all‑teams
calls. Infinite scroll is now robust, and shared avatar skeletons keep
table rendering smooth.

- **Bug Fixes**
- Data grid (`@hexclave/dashboard-ui-components` `use-data-source`):
queue `loadMore` while a fetch is in flight and replay only after a
successful settle; discard queued requests when pagination mode leaves
infinite; commit the cursor only after a result is delivered; skip
redundant refetches when inputs match a completed fetch; abort in‑flight
requests on unmount.
- Transactions table and product customers tab: wrap `User*`/`Team*`
avatar cells in `Suspense` with a shared `AvatarCellSkeleton` to prevent
per‑row fetch storms and suspend thrash.
- `serverApp.getTeam`/`useTeam` (in `@hexclave/shared` consumers): fetch
a single team by id via a cache; return null for invalid ids; keep
user‑scoped variants membership‑scoped; stabilize hook order. This
removes the “fetch all teams per row” behavior that triggered OOMs.
- Prefetching: cap `/projects/*/teams` to `useTeams({ limit: 1 })` and
remove the heavy owner‑team users prefetch.

- **Refactors**
- Add unit tests for infinite pagination in `use-data-source` (deferred
`loadMore`, aborted resets, error handling, and cursor continuity).

<sup>Written for commit 970abc0f03.
Summary will update on new commits.</sup>

<a
href="https://cubic.dev/pr/hexclave/hexclave/pull/1766?utm_source=github"
target="_blank" rel="noopener noreferrer"
data-no-image-dialog="true"><picture><source
media="(prefers-color-scheme: dark)"
srcset="https://www.cubic.dev/buttons/review-in-cubic-dark.svg"><source
media="(prefers-color-scheme: light)"
srcset="https://www.cubic.dev/buttons/review-in-cubic-light.svg"><img
alt="Review in cubic"
src="https://www.cubic.dev/buttons/review-in-cubic-dark.svg"></picture></a>

<!-- End of auto-generated description by cubic. -->

<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit

* **Bug Fixes**
* Added loading placeholders for customer avatar/name rendering across
payment and transaction customer tables to prevent jarring updates while
data loads.
* Improved infinite data loading to correctly queue and replay “load
more” after in-flight requests, handle abort/reset races, and avoid
stale cursor behavior; deferred requests are discarded when leaving
infinite mode.
* Improved user-scoped team lookups by validating team identifiers and
reliably returning `null` for missing/invalid teams.
* **Documentation**
* Clarified that user-level team lookups only return teams the user is a
member of.
* **Tests**
* Added/expanded coverage for infinite pagination cursor correctness,
race conditions, error handling, and mode transitions.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->

---------

Co-authored-by: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
Co-authored-by: aman <aman@stack-auth.com>
2026-07-14 11:06:41 -07:00
Konsti Wohlwend
ce956a0fd2
Add 6/26/26–7/10/26 changelog entries (#1753)
Some checks failed
all-good: Did all the other checks pass? / all-good (push) Has been cancelled
Ensure Prisma migrations are in sync with the schema / check_prisma_migrations (22.x) (push) Has been cancelled
DB migration compat / Check if migrations changed (push) Has been cancelled
Docker Server Build and Push / Docker Build and Push Server (push) Has been cancelled
Docker Server Build and Run / docker (push) Has been cancelled
Runs E2E API Tests / wait-for-fast-fail (push) Has been cancelled
Runs E2E API Tests with custom port prefix / wait-for-fast-fail (push) Has been cancelled
Runs E2E Fallback Tests / wait-for-fast-fail (push) Has been cancelled
Fast-fail tests / select-tests (push) Has been cancelled
Lint & build / lint_and_build (24) (push) Has been cancelled
TOC Generator / TOC Generator (push) Has been cancelled
DB migration compat / Back-compat — Current branch migrations with ${{ needs.check-migrations-changed.outputs.base_branch }} branch code (push) Has been cancelled
DB migration compat / Forward-compat — Current branch code with ${{ needs.check-migrations-changed.outputs.base_branch }} branch migrations (push) Has been cancelled
DB migration compat / No migration changes (skipped) (push) Has been cancelled
Runs E2E API Tests / E2E Tests (Node ${{ matrix.node-version }}, Freestyle ${{ matrix.freestyle-mode }}) (mock, 22.x) (push) Has been cancelled
Runs E2E API Tests / E2E Tests (Node ${{ matrix.node-version }}, Freestyle ${{ matrix.freestyle-mode }}) (prod, 22.x) (push) Has been cancelled
Runs E2E API Tests with custom port prefix / build (22.x) (push) Has been cancelled
Runs E2E Fallback Tests / E2E Fallback Tests (Node ${{ matrix.node-version }}) (22.x) (push) Has been cancelled
Fast-fail tests / fast-fail-tests (push) Has been cancelled
2026-07-13 18:32:53 -07:00
Konsti Wohlwend
21a04ac7fd
Coalesce Overview globe hover hit-testing to one per frame (#1758) 2026-07-13 18:29:14 -07:00
Konstantin Wohlwend
160d41b8f7 Fix all good script to use pagination 2026-07-13 15:39:10 -07:00
Konstantin Wohlwend
72c708a833 Update reminders 2026-07-13 15:34:36 -07:00
Konsti Wohlwend
42b088f09c
Add AI-selected fast-fail test workflow gating the full test suites (#1756) 2026-07-13 14:17:32 -07:00
Konstantin Wohlwend
770f01a057 Various improvements 2026-07-13 13:40:56 -07:00
Konstantin Wohlwend
a66a8d972d Revert "Migrate backend transport from Next.js to ElysiaJS (WIP) (#1630)"
This reverts commit 5209ec83ae.
2026-07-13 12:38:53 -07:00
Konstantin Wohlwend
7525526730 Revert "refactor(backend): remove Next.js compat shims, use standard Web APIs (#1652)"
This reverts commit ae09be9c66.
2026-07-13 12:36:36 -07:00
Konstantin Wohlwend
0dacb04a19 Revert "Enhance request logging in development mode"
This reverts commit 67e3350693.
2026-07-13 12:35:14 -07:00
Konstantin Wohlwend
f6bf39cf36 Support trailing slashes 2026-07-13 12:24:02 -07:00
Konsti Wohlwend
f33cb4cbc5
Fix flaky payment e2e tests: await async Stripe webhook processing + deterministic fixtures (#1746)
Some checks failed
all-good: Did all the other checks pass? / all-good (push) Has been cancelled
Ensure Prisma migrations are in sync with the schema / check_prisma_migrations (22.x) (push) Has been cancelled
DB migration compat / Check if migrations changed (push) Has been cancelled
Docker Server Build and Push / Docker Build and Push Server (push) Has been cancelled
Docker Server Build and Run / docker (push) Has been cancelled
Runs E2E API Tests / E2E Tests (Node ${{ matrix.node-version }}, Freestyle ${{ matrix.freestyle-mode }}) (mock, 22.x) (push) Has been cancelled
Runs E2E API Tests / E2E Tests (Node ${{ matrix.node-version }}, Freestyle ${{ matrix.freestyle-mode }}) (prod, 22.x) (push) Has been cancelled
Runs E2E API Tests with custom port prefix / build (22.x) (push) Has been cancelled
Runs E2E Fallback Tests / E2E Fallback Tests (Node ${{ matrix.node-version }}) (22.x) (push) Has been cancelled
Lint & build / lint_and_build (24) (push) Has been cancelled
TOC Generator / TOC Generator (push) Has been cancelled
DB migration compat / Back-compat — Current branch migrations with ${{ needs.check-migrations-changed.outputs.base_branch }} branch code (push) Has been cancelled
DB migration compat / Forward-compat — Current branch code with ${{ needs.check-migrations-changed.outputs.base_branch }} branch migrations (push) Has been cancelled
DB migration compat / No migration changes (skipped) (push) Has been cancelled
2026-07-10 20:22:47 -07:00
Mantra
4144ad039b
docs(agents): add comment-style guidance and symlink CLAUDE.md to AGENTS.md (#1725)
## Summary
- Add an `AGENTS.md` guideline: write comments as if the reader is new
to the codebase but already familiar with the project's goal — explain
the local "why" and non-obvious decisions, not what the project is
trying to achieve.
- Replace `CLAUDE.md` (previously a 5-line stub) with a symlink to
`AGENTS.md` so both entrypoints share a single source of truth.

Link to Devin session:
https://app.devin.ai/sessions/899d319b4b5648d1bb930c2ada976e3f
Requested by: @mantrakp04

<!-- This is an auto-generated description by cubic. -->
---
## Summary by cubic
Add comment-writing guidance in AGENTS.md to explain local “why” and
non-obvious decisions for newcomers. Replace the previous `CLAUDE.md`
stub with a symlink to `AGENTS.md` to keep a single source of truth.

<sup>Written for commit 9bd9570c66.
Summary will update on new commits.</sup>

<a
href="https://cubic.dev/pr/hexclave/hexclave/pull/1725?utm_source=github"
target="_blank" rel="noopener noreferrer"
data-no-image-dialog="true"><picture><source
media="(prefers-color-scheme: dark)"
srcset="https://www.cubic.dev/buttons/review-in-cubic-dark.svg"><source
media="(prefers-color-scheme: light)"
srcset="https://www.cubic.dev/buttons/review-in-cubic-light.svg"><img
alt="Review in cubic"
src="https://www.cubic.dev/buttons/review-in-cubic-dark.svg"></picture></a>

<!-- End of auto-generated description by cubic. -->



<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->

## Summary by CodeRabbit

* **Documentation**
* Updated guidance on writing comments to focus on local context and
non-obvious decisions for readers new to the codebase.
* Removed a list of documented command examples from the project notes.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->

Co-authored-by: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
Co-authored-by: mantra <mantra@stack-auth.com>
2026-07-10 19:17:50 -07:00