mirror of
https://github.com/hyperdxio/hyperdx
synced 2026-04-21 13:37:15 +00:00
1348 commits
| Author | SHA1 | Message | Date | |
|---|---|---|---|---|
|
|
5f105bb1b5
|
Release HyperDX (#1832)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> |
||
|
|
db7606bd9f
|
chore: update clade code review to post and use a single comment (#1879) | ||
|
|
3bc5abbfb1
|
fix: reject wrapped toStartOf expressions in parseToStartOfFunction (#1876)
## Summary - Fixes a bug where `parseToStartOfFunction` incorrectly parsed `toStartOf` expressions nested inside wrapper functions (e.g. `-toInt64(toStartOfInterval(timestamp, toIntervalMinute(15)))`), causing invalid SQL with missing arguments in the time filter WHERE clause. - Adds a prefix guard that returns `undefined` when `toStartOf` is not the outermost function, preventing the broken optimization from being applied. Fixes [HDX-3662](https://linear.app/clickhouse/issue/HDX-3662/invalid-sql-generated-for-tables-with-wrapped-tostartof-in-order-by) ## Test plan - [x] Added `parseToStartOfFunction` unit tests for wrapped expressions (`-toInt64(...)`, `negate(...)`) - [x] Added `optimizeTimestampValueExpression` unit test for primary key with wrapped `toStartOf` - [x] Added `timeFilterExpr` unit test verifying no broken compound filter is generated - [x] Added `renderChartConfig` snapshot test against the full input schema from the bug report - [x] All 637 unit tests pass Made with [Cursor](https://cursor.com) |
||
|
|
1e6fcf1c02
|
feat: Add raw sql line charts (#1866)
## Summary This PR adds support for raw-sql-based line charts. ### Screenshots or video https://github.com/user-attachments/assets/2c5cbdb6-491b-45fb-8864-0f45f34215b3 ### How to test locally or on Vercel This can be tested in the preview environment ### References - Linear Issue: HDX-3581 - Related PRs: |
||
|
|
2efb8fdc52
|
feat: filter/exclude/copy actions on attribute values (#1850)
## Summary Closes #1829 Adds interactive filter/exclude/copy actions to the Event Deltas attribute comparison charts: - **Click popover on chart bars**: Clicking a bar in any PropertyComparisonChart opens a popover with the attribute name, value, and Selection/Background percentages, plus action buttons. - **Filter/Exclude buttons**: Use the existing search sidebar filter system (`setFilterValue`) to include or exclude an attribute value from results. After applying a filter, the heatmap selection is automatically cleared. - **Copy button**: Copies the raw attribute value to the clipboard. - **Key conversion utilities**: New `flattenedKeyToSqlExpression` and `flattenedKeyToFilterKey` functions convert dot-notation property keys (produced by `flattenData()`) into ClickHouse bracket notation for Map columns (e.g., `ResourceAttributes.service.name` -> `ResourceAttributes['service.name']`), enabling correct filter integration. ## Changes - `deltaChartUtils.ts` -- Added `escapeRegExp`, `flattenedKeyToSqlExpression`, `flattenedKeyToFilterKey`, and `AddFilterFn` type - `PropertyComparisonChart.tsx` -- Added click handler, popover with Filter/Exclude/Copy actions using `createPortal` - `DBDeltaChart.tsx` -- Added `onAddFilter` prop, `handleAddFilter` callback wrapping key conversion, re-exported `AddFilterFn` - `DBSearchHeatmapChart.tsx` -- Added `onAddFilter` prop, `handleAddFilterAndClearSelection` callback - `DBSearchPage.tsx` -- Passed `searchFilters.setFilterValue` as `onAddFilter` to `DBSearchHeatmapChart` - New test file `deltaChartFilterKeys.test.ts` with 16 tests for key conversion functions ## Test plan - [x] 16 unit tests for `flattenedKeyToSqlExpression` and `flattenedKeyToFilterKey` (Map columns, Array(Map) columns, simple columns, LowCardinality wrappers, SQL injection escaping) - [x] All 57 existing delta chart tests still pass - [x] ESLint passes with no errors - [x] Manual: click a bar in the delta chart -> popover appears with correct value and percentages - [x] Manual: click Filter button -> sidebar filter is applied, heatmap selection clears - [x] Manual: click Exclude button -> exclusion filter is applied - [x] Manual: click Copy button -> value copied to clipboard, button shows checkmark 🤖 Generated with [Claude Code](https://claude.com/claude-code) |
||
|
|
ced90ae10e
|
feat: highlight logs green in trace waterfall (#1819)
Closes HDX-3526 ## Changes - Colors logs events in the trace waterfall view green. - Adds a new `greenHighlight` color that applies the same lightening transformation as the other highlight colors. - Makes use of the `barColor` util DBTraceWaterfallChart again that was being overwritten. ## Screenshots <img width="1323" height="701" alt="Screenshot 2026-02-27 at 13 43 26" src="https://github.com/user-attachments/assets/f0a55693-27b5-4020-9e06-8d0ddbd9cb21" /> <img width="1323" height="701" alt="Screenshot 2026-02-27 at 13 42 45" src="https://github.com/user-attachments/assets/c3bac503-027c-4724-aad9-f28404e5199f" /> |
||
|
|
f280256d79
|
chore: update claude code review job (#1874) | ||
|
|
050c1e28c6
|
chore: update claude pr review job (#1873) | ||
|
|
d88ed1364d
|
chore: pin claude code version (#1872) | ||
|
|
094e4c40ca
|
chore:enable claude code review again (#1870) | ||
|
|
1bae972e95
|
fix: allow any numeric value for alert thresholds (#1869)
## Summary - Removes restrictive numeric constraints from alert threshold Zod schemas across all packages (common-utils, api, app), allowing any number (negative, zero, float) as a valid threshold - Removes `min` constraints from threshold `NumberInput` components in the saved search alert form and dashboard tile alert form - Updates the enhanced errors test to reflect that negative thresholds are no longer a validation error Closes HDX-3186 ## Test plan - [x] `yarn ci:unit` passes in `packages/app` (1031 tests passing) - [x] `yarn ci:unit` passes in `packages/common-utils` (624 passing, 8 pre-existing failures in queryParser unrelated to this change) - [ ] Verify saved search alerts accept threshold values of 0, negative numbers, and floats - [ ] Verify dashboard tile alerts accept threshold values of 0, negative numbers, and floats - [ ] Verify external API v2 alerts accept threshold values of 0, negative numbers, and floats Made with [Cursor](https://cursor.com) |
||
|
|
84b0315f73
|
docs: update integration test instructions to use make dev-int (#1868)
## Summary - Simplified `CLAUDE.md` integration test instructions to use `make dev-int-build` and `make dev-int FILE=<TEST_FILE_NAME>` instead of manual docker compose steps - Added `npx nx run-many -t ci:build` to `dev-int-build` Makefile target to ensure common-utils is built before running tests You can now prompt ``` run int tests for renderChartConfig ``` |
||
|
|
dda0f9a472
|
feat: add custom ORDER BY expression for Log and Trace sources (#1856)
Allow users to configure a custom ORDER BY clause per source that overrides the default auto-computed ordering on the search page. This supports deployments where the default sort order doesn't align with the table's ordering keys (e.g. disabled read-in-order optimization). Made-with: Cursor ## Summary ### Screenshots or video | Before | After | | :----- | :---- | | | | ### How to test locally or on Vercel 1. 2. 3. ### References - Linear Issue: - Related PRs: |
||
|
|
4641ab0eea
|
chore: Remove SQL charts toggle (#1867) | ||
|
|
f39d8c7291
|
fix: revert previous fixes and disable claude code review (#1862) | ||
|
|
fd9f290e2a
|
feat: Add query params, sorting, and placeholders to Raw-SQL tables (#1857)
Closes HDX-3580 Closes HDX-3034 ## Summary This PR enhances the support for SQL-driven tables 1. The selected date range can now be referenced in the query with query params. The available query params are outlined in a new section above the SQL input. 2. The table no longer OOMs on large result sets (it is now truncated to the first 10k results), or crashes when selecting columns that are Map or JSON type 3. The table can now be sorted client-side for sql-driven tables 4. There is now placeholder / example SQL in the input ### Screenshots or video https://github.com/user-attachments/assets/4f39fd0a-d33e-4f8c-9e91-84143d23e293 ### How to test locally or on Vercel This feature can be tested locally or on the preview environment without any special toggles. ### References - Linear Issue: HDX-3580 - Related PRs: |
||
|
|
6e4660f834
|
fix: remove mcp for claude/claude code review (#1861) | ||
|
|
1a36ba5d35
|
chore: pin claude code pr review version (#1860) | ||
|
|
2491c2a603
|
fix: Prevent metric name validation on markdown chart (#1859)
## Summary This PR fixes an issue that prevented markdown dashboard tiles from being saved when a metric source was selected on a separate tab (without a metricName being selected first). The issue occurred because the metric name validation was running even for markdown tiles, which do not need to have a source, nor metric names. ### Screenshots or video Before: 1. Select a metric source in the dashboard chart editor 2. Switch to the markdown tab 3. Attempt to save 4. **Nothing happens** After: 1. Select a metric source in the dashboard chart editor 2. Switch to the markdown tab 3. Attempt to save 4. The tile saves ### How to test locally or on Vercel This can be tested in the preview environment following the steps above to reproduce ### References - Linear Issue: Closes HDX-3615 - Related PRs: |
||
|
|
a13b60d0ef
|
feat: Support import/export for dashboards with raw sql tables (#1858)
Closes HDX-3580 ## Summary This PR updates the dashboard import and export experience to support Raw SQL-driven chart tiles, which have a connection to map rather than a source. ### Screenshots or video https://github.com/user-attachments/assets/354098fa-d1bf-454f-a29f-41444b28ef46 ### How to test locally or on Vercel Checkout locally, create a dashboard with a raw SQL table tile, export it, import it. ### References - Linear Issue: Closes HDX-3583 - Related PRs: |
||
|
|
902b8ebdd3
|
feat(alerts): add scheduleStartAt + scheduleOffsetMinutes (#1745)
Closes #1715 ## Summary - Add scheduleStartAt and scheduleOffsetMinutes to alert schemas and API validation. - Update alert evaluation scheduling to anchor windows by scheduleStartAt when set. - Skip evaluations before scheduleStartAt. - Keep current behavior unchanged when scheduling fields are unset. - Add UI fields and API/OpenAPI/external API support for the new schedule options. - Add alert scheduler tests for anchored windows and pre-start skip behavior. ## Notes - This enables Splunk-style scheduled monitor migration where checks must run on isolated, periodic windows anchored to specific times. - scheduleStartAt is the primary anchor; scheduleOffsetMinutes remains optional for backward-compatible alignment. Co-authored-by: melsalcedo <128840984+melsalcedo@users.noreply.github.com> Co-authored-by: Tom Alexander <3245235+teeohhem@users.noreply.github.com> |
||
|
|
32f1189a7d
|
feat: Add RawSqlChartConfig types for SQL-based Table (#1846)
## Summary This PR is the first step towards raw SQL-driven charts. - It introduces updated ChartConfig types, which are now unions of `BuilderChartConfig` (which is unchanged from the current `ChartConfig` types` and `RawSqlChartConfig` types which represent sql-driven charts. - It adds _very basic_ support for SQL-driven tables in the Chart Explorer and Dashboard pages. This is currently behind a feature toggle and enabled only in preview environments and for local development. The changes in most of the files in this PR are either type updates or the addition of type guards to handle the new ChartConfig union type. The DBEditTimeChartForm has been updated significantly to (a) add the Raw SQL option to the table chart editor and (b) handle conversion from internal form state (which can now include properties from either branch of the ChartConfig union) to valid SavedChartConfigs (which may only include properties from one branch). Significant changes are in: - packages/app/src/components/ChartEditor/types.ts - packages/app/src/components/ChartEditor/RawSqlChartEditor.tsx - packages/app/src/components/ChartEditor/utils.ts - packages/app/src/components/DBEditTimeChartForm.tsx - packages/app/src/components/DBTableChart.tsx - packages/app/src/components/SQLEditor.tsx - packages/app/src/hooks/useOffsetPaginatedQuery.tsx Future PRs will add templating to the Raw SQL driven charts for date range and granularity injection; support for other chart types driven by SQL; improved placeholder, validation, and error states; and improved support in the external API and import/export. ### Screenshots or video https://github.com/user-attachments/assets/008579cc-ef3c-496e-9899-88bbb21eaa5e ### How to test locally or on Vercel The SQL-driven table can be tested in the preview environment or locally. ### References - Linear Issue: HDX-3580 - Related PRs: |
||
|
|
32d45f738a
|
fix: Add alias WITH clause support to alert WHERE queries (#1851)
## Summary - When a saved search's SELECT contains aliases (e.g. `toString(Body) AS body`), the WHERE clause in alert queries may reference those aliases. Without WITH clauses defining them, the query fails. - Added `computeAliasWithClauses` to discover aliases from the saved search's SELECT and inject them as WITH clauses into both the alert check query and the sample logs query. - Moved the shared `aliasMapToWithClauses` utility from `packages/app` to `packages/common-utils/src/core/utils.ts` so it can be reused across frontend and backend, eliminating duplication with the existing logic in `useRowWhere.tsx`. - Derived `WithClause` type from `ChartConfig['with']` instead of maintaining a separate type definition. ## Test plan - [x] Verify alerts with saved searches that use aliased columns (e.g. `toString(Body) AS body`) in both SELECT and WHERE fire correctly - [x] Verify alert sample logs in notifications render correctly for aliased columns - [x] Verify existing alerts without aliases continue to work unchanged - [x] Verify frontend row-click navigation still works (re-exported `aliasMapToWithClauses`) Ref: HDX-3601 |
||
|
|
b4f0558776
|
feat: localStorage for dashboards/saved searches in LOCAL mode (#1822)
Fixes: HDX-3506 What Introduces support for storing dashboards/saved searches in local storage for LOCAL ONLY (UI only) mode. Why This adds additional features for the public demo + helps the user experience when using hyperdx inside of clickhouse. |
||
|
|
68ef3d6f97
|
feat: deterministic sampling with adaptive sample size (#1849)
## Summary Closes #1827 Replaces non-deterministic `ORDER BY rand()` with deterministic `cityHash64(SpanId)` sampling and introduces sampling configuration constants. ### What this PR does - **Deterministic sampling**: `ORDER BY cityHash64(SpanId)` instead of `rand()` — same data always produces the same sample, so results are stable across re-renders - **Named constants**: `SAMPLE_SIZE`, `STABLE_SAMPLE_EXPR` replace hardcoded `1000` and `'rand()'` in query configs - **Adaptive sizing foundation**: `computeEffectiveSampleSize()` function with `MIN_SAMPLE_SIZE`/`MAX_SAMPLE_SIZE`/`SAMPLE_RATIO` constants, exported and tested (6 unit tests) ### What this PR does NOT do (follow-up) - **Count query for adaptive sizing**: Wiring `computeEffectiveSampleSize` into the actual queries requires adding a lightweight `count()` query. This is deferred to keep this PR focused on the deterministic sampling change. - **Dynamic column detection**: `STABLE_SAMPLE_EXPR` uses `SpanId` which is trace-specific. Event Deltas currently only renders on the traces search page where `SpanId` is always present. If the feature expands to logs/metrics, this should be parameterized per source (documented in code comment). ## Test plan - [ ] Same data + same hover always highlights the same heatmap cells (deterministic) - [ ] Run `npx jest src/components/__tests__/deltaChartSampling.test.ts` — 6 tests pass 🤖 Generated with [Claude Code](https://claude.com/claude-code) |
||
|
|
46daa63055
|
chore: add playwright agents for cursor and claude (#1847)
- Adds playwright agents for test creation with playwright mcp. - Enhances our playwright skill to make use of these - Updates contribution guide/readmes |
||
|
|
d032e54777
|
chore(deps): bump immutable from 4.2.4 to 4.3.8 (#1852)
Bumps [immutable](https://github.com/immutable-js/immutable-js) from 4.2.4 to 4.3.8. Sourced from <a/immutable-js/immutable-js/releases">immutable's releases</a>.</em></p> <blockquote> <h2>v4.3.8</h2> <p>Fix Improperly Controlled Modification of Object Prototype Attributes ('Prototype Pollution') in immutable</p> <h2>v4.3.7</h2> <h2>What's Changed</h2> <ul> <li>Fix issue with slice negative of filtered sequence by <a href="https://github.com/jdeniau"><code>@jdeniau</code></a> in <a href="https://redirect.github.com/immutable-js/immutable-js/pull/2006">immutable-js/immutable-js#2006</a></li> </ul> <p><strong>Full Changelog</strong>: <a href="https://github.com/immutable-js/immutable-js/compare/v4.3.6...v4.3.7">https://github.com/immutable-js/immutable-js/compare/v4.3.6...v4.3.7</a></p> <h2>v4.3.6</h2> <h2>What's Changed</h2> <ul> <li>Fix Repeat(<!-- raw HTML omitted -->).equals(undefined) incorrectly returning true by <a href="https://github.com/butchler"><code>@butchler</code></a> in <a href="https://redirect.github.com/immutable-js/immutable-js/pull/1994">immutable-js/immutable-js#1994</a></li> </ul> <h3>Internals</h3> <ul> <li>change youtube image by <a href="https://github.com/jdeniau"><code>@jdeniau</code></a> in <a href="https://redirect.github.com/immutable-js/immutable-js/pull/1973">immutable-js/immutable-js#1973</a></li> <li>Upgrade eslint and ignore no-constructor-return rule for actual constructors by <a href="https://github.com/jdeniau"><code>@jdeniau</code></a> in <a href="https://redirect.github.com/immutable-js/immutable-js/pull/1974">immutable-js/immutable-js#1974</a></li> <li>upgrate documentation website to next 14 by <a href="https://github.com/jdeniau"><code>@jdeniau</code></a> in <a href="https://redirect.github.com/immutable-js/immutable-js/pull/1975">immutable-js/immutable-js#1975</a></li> <li>start migrating to nextjs app router by <a href="https://github.com/jdeniau"><code>@jdeniau</code></a> in <a href="https://redirect.github.com/immutable-js/immutable-js/pull/1976">immutable-js/immutable-js#1976</a></li> <li>upgrade next sitemap by <a href="https://github.com/jdeniau"><code>@jdeniau</code></a> in <a href="https://redirect.github.com/immutable-js/immutable-js/pull/1978">immutable-js/immutable-js#1978</a></li> </ul> <h2>New Contributors</h2> <ul> <li><a href="https://github.com/butchler"><code>@butchler</code></a> made their first contribution in <a href="https://redirect.github.com/immutable-js/immutable-js/pull/1994">immutable-js/immutable-js#1994</a></li> </ul> <p><strong>Full Changelog</strong>: <a href="https://github.com/immutable-js/immutable-js/compare/v4.3.5...v4.3.6">https://github.com/immutable-js/immutable-js/compare/v4.3.5...v4.3.6</a></p> <h2>v4.3.5</h2> <h2>What's Changed</h2> <ul> <li>Fix Set.fromKeys types with Map constructor in TS 5.0 by <a href="https://github.com/jdeniau"><code>@jdeniau</code></a> in <a href="https://redirect.github.com/immutable-js/immutable-js/pull/1971">immutable-js/immutable-js#1971</a></li> <li>upgrade to TS 5.1 by <a href="https://github.com/jdeniau"><code>@jdeniau</code></a> in <a href="https://redirect.github.com/immutable-js/immutable-js/pull/1972">immutable-js/immutable-js#1972</a></li> <li>fix dist-stats command by <a href="https://github.com/jdeniau"><code>@jdeniau</code></a> in <a href="https://redirect.github.com/immutable-js/immutable-js/pull/1964">immutable-js/immutable-js#1964</a></li> <li>fix Read the Docs link on readme by <a href="https://github.com/joshding"><code>@joshding</code></a> in <a href="https://redirect.github.com/immutable-js/immutable-js/pull/1970">immutable-js/immutable-js#1970</a></li> </ul> <h2>New Contributors</h2> <ul> <li><a href="https://github.com/joshding"><code>@joshding</code></a> made their first contribution in <a href="https://redirect.github.com/immutable-js/immutable-js/pull/1970">immutable-js/immutable-js#1970</a></li> </ul> <p><strong>Full Changelog</strong>: <a href="https://github.com/immutable-js/immutable-js/compare/v4.3.4...v4.3.5">https://github.com/immutable-js/immutable-js/compare/v4.3.4...v4.3.5</a></p> <h2>4.3.4</h2> <h2>What's Changed</h2> <ul> <li>Rollback toJS type due to circular reference error by <a href="https://github.com/jdeniau"><code>@jdeniau</code></a> in <a href="https://redirect.github.com/immutable-js/immutable-js/pull/1958">immutable-js/immutable-js#1958</a></li> </ul> <p><strong>Full Changelog</strong>: <a href="https://github.com/immutable-js/immutable-js/compare/v4.3.3...v4.3.4">https://github.com/immutable-js/immutable-js/compare/v4.3.3...v4.3.4</a></p> <h2>v4.3.3</h2> <h2>What's Changed</h2> <ul> <li>[typescript] manage to handle toJS circular reference. <a href="https://redirect.github.com/immutable-js/immutable-js/pull/1932">#1932</a> by <a href="https://github.com/jdeniau"><code>@jdeniau</code></a></li> </ul> <!-- raw HTML omitted --> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/immutable-js/immutable-js/blob/main/CHANGELOG.md">immutable's changelog</a>.</em></p> <blockquote> <h1>Changelog</h1> <p>All notable changes to this project will be documented in this file.</p> <p>The format is based on <a href="https://keepachangelog.com/en/1.0.0/">Keep a Changelog</a>, and this project adheres to <a href="https://semver.org/spec/v2.0.0.html">Semantic Versioning</a>. Dates are formatted as YYYY-MM-DD.</p> <h2>Unreleased</h2> <h2>5.1.5</h2> <ul> <li>Fix Improperly Controlled Modification of Object Prototype Attributes ('Prototype Pollution') in immutable</li> </ul> <h2>5.1.4</h2> <ul> <li>Migrate some files to TS by <a href="https://github.com/jdeniau"><code>@jdeniau</code></a> in <a href="https://redirect.github.com/immutable-js/immutable-js/pull/2125">immutable-js/immutable-js#2125</a> <ul> <li>Iterator.ts</li> <li>PairSorting.ts</li> <li>toJS.ts</li> <li>Math.ts</li> <li>Hash.ts</li> </ul> </li> <li>Extract CollectionHelperMethods and convert to TS by <a href="https://github.com/jdeniau"><code>@jdeniau</code></a> in <a href="https://redirect.github.com/immutable-js/immutable-js/pull/2131">immutable-js/immutable-js#2131</a></li> <li>Use npm <a href="https://docs.npmjs.com/trusted-publishers">trusted publishing only</a> to avoid token stealing.</li> </ul> <h3>Documentation</h3> <ul> <li>Fix/a11y issues by <a href="https://github.com/lyannel"><code>@lyannel</code></a> in <a href="https://redirect.github.com/immutable-js/immutable-js/pull/2136">immutable-js/immutable-js#2136</a></li> <li>Doc add Map.get signature update by <a href="https://github.com/borracciaBlu"><code>@borracciaBlu</code></a> in <a href="https://redirect.github.com/immutable-js/immutable-js/pull/2138">immutable-js/immutable-js#2138</a></li> <li>fix(doc):minor-issues#2132 by <a href="https://github.com/JayMeDotDot"><code>@JayMeDotDot</code></a> in <a href="https://redirect.github.com/immutable-js/immutable-js/pull/2133">immutable-js/immutable-js#2133</a></li> <li>Fix algolia search by <a href="https://github.com/jdeniau"><code>@jdeniau</code></a> in <a href="https://redirect.github.com/immutable-js/immutable-js/pull/2135">immutable-js/immutable-js#2135</a></li> <li>Typo in OrderedMap by <a href="https://github.com/jdeniau"><code>@jdeniau</code></a> in <a href="https://redirect.github.com/immutable-js/immutable-js/pull/2144">immutable-js/immutable-js#2144</a></li> </ul> <h3>Internal</h3> <ul> <li>chore: Sort all imports and activate eslint import rule by <a href="https://github.com/jdeniau"><code>@jdeniau</code></a> in <a href="https://redirect.github.com/immutable-js/immutable-js/pull/2119">immutable-js/immutable-js#2119</a></li> </ul> <h2>5.1.3</h2> <h3>TypeScript</h3> <ul> <li>fix: allow readonly map entry constructor by <a href="https://github.com/septs"><code>@septs</code></a> in <a href="https://redirect.github.com/immutable-js/immutable-js/pull/2123">immutable-js/immutable-js#2123</a></li> </ul> <h3>Documentation</h3> <p>There has been a huge amount of changes in the documentation, mainly migrate from an autogenerated documentation from .d.ts file, to a proper documentation in markdown. The playground has been included on nearly all method examples. We added a page about browser extensions too: <a href="https://immutable-js.com/browser-extension/">https://immutable-js.com/browser-extension/</a></p> <h3>Internal</h3> <!-- raw HTML omitted --> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Commits</summary> <ul> <li><a href=" |
||
|
|
20561c703a
|
chore: add tests for team page (#1848)
Adds playwright tests for the team page |
||
|
|
6d7327aba0
|
chore: add tests for alerts (#1844)
## Summary Adds playwright tests for alert creation from saved searches and dashboards |
||
|
|
d661c80903
|
fix: Add better URL encoding for query params with special characters (#1794)
Adds custom nuqs parsers (parseAsStringEncoded, parseAsJsonEncoded) that pre-encode values with encodeURIComponent, producing %XX sequences instead of + form-encoding. This protects against re-encoding + to %2B when sharing links, which was causing ClickHouse query errors when accessed from tools like Microsoft Teams. Backward compatible: parsers fall back to plain JSON.parse for old-format URLs. Test: - New URLs - Grab a play.hyperdx.io URL and change the source and domain in the URL. Proves "old" URLS still work. I verified that links generated from this branch work as intended in Microsoft Teams, which was the original source of this report. Fixes: HDX-3184 |
||
|
|
f889c34997
|
chore: separate timeline components to own modules, fix lint issues (#1813)
Closes HDX-3518 ## Changes - Separates the different Timeline related components into their own modules inside `packages/app/src/components/TimelineChart`. - Fixes lint and TS errors / warnings. ## Testing - Trace waterfall view should work just like before. |
||
|
|
53a4b67262
|
chore: update otel collector base image to 0.147.0 (#1845)
## Summary - Bump OpenTelemetry Collector base images (`opentelemetry-collector-contrib` and `opentelemetry-collector-opampsupervisor`) from **0.145.0** to **0.147.0** - Updated in both `docker/otel-collector/Dockerfile` and `docker/hyperdx/Dockerfile` |
||
|
|
cabe4d8edc
|
fix: add whereLanguage to tile alerts (#1842)
## Summary - Fix tile alerts to support `groupBy` for Gauge/Sum metrics — each group-by value appears as its own column in the response - Add missing `whereLanguage` to tile alert config so Lucene WHERE conditions are parsed correctly - Replace stale fixture-based ClickHouse schema with otel-collector's canonical schema in integration tests Ref: HDX-3576 |
||
|
|
daab2cace1
|
feat: support saved query/filter values in external api (#1814)
In https://github.com/hyperdxio/hyperdx/pull/1584 we added saved default query/filter values support to dashboards. This PR extends that support to the external API. Fixes HDX-3519 |
||
|
|
f5828d1bfa
|
feat: field filtering and priority classification (#1835)
Co-authored-by: Alex Fedotyev <alex@Alexs-CH-Mac.localdomain> Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com> Co-authored-by: Tom Alexander <teeohhem@gmail.com> |
||
|
|
c5173ba2c5
|
fix: tile alerts with groupBy now correctly track and display group names (#1841)
## Summary - **Fix tile alert group-by detection**: Tile alerts stored `groupBy` on `tile.config.groupBy`, but `processAlert` only checked `alert.groupBy` (which is only set for saved search alerts). This caused all groups to collapse into an empty string, producing messages like `Alert for "" in "My Dashboard"` instead of showing the actual group name. - **Extract `alertHasGroupBy()` helper**: Centralized the group-by detection logic into a single exported function that checks both `alert.groupBy` (saved search alerts) and `tile.config.groupBy` (tile alerts). - **Pass `isGroupedAlert` to template**: Ensures correct event ID generation for grouped tile alerts, removing the stale `alert.groupBy`-only check in `template.ts`. - **Enable 1m alert interval in dev mode**: Added the `1m` option to `TILE_ALERT_INTERVAL_OPTIONS` when `IS_DEV` is true. Ref: HDX-3576 |
||
|
|
bbb1f1f04d
|
feat: chart UX polish & heatmap fixes (#1834)
## Summary Closes #1823 - **PropertyComparisonChart**: Typed tooltip (replaces `any` props), `TruncatedTick` custom XAxis tick with native SVG tooltip for long attribute labels, per-bar `Cell` coloring for the "Other" aggregated bucket, CSS ellipsis on chart titles - **deltaChartUtils**: `applyTopNAggregation()` with adaptive threshold (shows all values up to 8, collapses beyond 6 into "Other (N)"), color constants (`ALL_SPANS_COLOR`, `OTHER_BUCKET_COLOR`) - **DBHeatmapChart**: Fix tooltip showing on page load (`mouseInsideRef` gate for uPlot `setCursor` init), fix invalid `rgba(#hex ...)` CSS syntax (2 occurrences), fix tooltip overflow near right edge (flip at 50% width, add `maxWidth`), ignore zero-size selections, red selection rectangle color for heatmap (scoped CSS), keyboard accessibility on "Filter by Selection" button - **Tests**: 8 unit tests for `applyTopNAggregation` covering adaptive threshold, top-N sorting, Other bucket accumulation ## Test plan - [ ] Verify heatmap tooltip no longer appears on initial page load (before hovering) - [ ] Verify tooltip flips correctly near the right edge without overflow - [ ] Verify heatmap selection rectangle is red (not green) - [ ] Verify "Filter by Selection" button is keyboard-accessible (Tab + Enter) - [ ] Verify attribute charts show "Other (N)" bucket for high-cardinality fields - [ ] Verify truncated axis labels show full text on hover (native tooltip) - [ ] Run `npx jest src/components/__tests__/deltaChartUtils.test.ts` — 8 tests pass 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> |
||
|
|
680388f60d
|
feat: add hover X button on column headers to remove columns in search mode (#1817)
Adds an inline remove (X) button that appears on hover for each column header in the search results table. Clicking it removes the column from the SELECT statement without needing to edit the query manually. Closes #1784 Generated with [Claude Code](https://claude.ai/code) Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> |
||
|
|
260c429908
|
feat: Improve validation of external alerts API input (#1833)
Co-authored-by: Tom Alexander <teeohhem@gmail.com> |
||
|
|
181d8d5409
|
chore: update claude code review with tracking (#1838) | ||
|
|
ef2646650e
|
test: Backport Claude E2E Skill (#1836)
## Summary This PR backports the claude E2E skill and a few E2E script improvements to the open source repo from the EE repo. ### Screenshots or video ### How to test locally or on Vercel ### References - Linear Issue: n/a - Related PRs: |
||
|
|
d810eb210e
|
Add PR template (#1820)
## Summary Add a PR template. The idea is to make PR changesets accessible to people who may not be aware of all areas of the product, so in a way it also helps with their understanding. Also applies with any new team members we may onboard. |
||
|
|
afd39d1248
|
chore(deps): bump rollup from 4.35.0 to 4.59.0 (#1809)
Bumps [rollup](https://github.com/rollup/rollup) from 4.35.0 to 4.59.0. Sourced from <a href="https://github.com/rollup/rollup/releases">rollup's releases</a>.</em></p> <blockquote> <h2>v4.59.0</h2> <h2>4.59.0</h2> <p><em>2026-02-22</em></p> <h3>Features</h3> <ul> <li>Throw when the generated bundle contains paths that would leave the output directory (<a href="https://redirect.github.com/rollup/rollup/issues/6276">#6276</a>)</li> </ul> <h3>Pull Requests</h3> <ul> <li><a href="https://redirect.github.com/rollup/rollup/pull/6275">#6275</a>: Validate bundle stays within output dir (<a href="https://github.com/lukastaegert"><code>@lukastaegert</code></a>)</li> </ul> <h2>v4.58.0</h2> <h2>4.58.0</h2> <p><em>2026-02-20</em></p> <h3>Features</h3> <ul> <li>Also support <code>__NO_SIDE_EFFECTS__</code> annotation before variable declarations declaring function expressions (<a href="https://redirect.github.com/rollup/rollup/issues/6272">#6272</a>)</li> </ul> <h3>Pull Requests</h3> <ul> <li><a href="https://redirect.github.com/rollup/rollup/pull/6256">#6256</a>: docs: document PreRenderedChunk properties including isDynamicEntry and isImplicitEntry (<a href="https://github.com/njg7194"><code>@njg7194</code></a>, <a href="https://github.com/lukastaegert"><code>@lukastaegert</code></a>)</li> <li><a href="https://redirect.github.com/rollup/rollup/pull/6259">#6259</a>: docs: Correct typo and improve sentence structure in docs for <code>output.experimentalMinChunkSize</code> (<a href="https://github.com/millerick"><code>@millerick</code></a>, <a href="https://github.com/lukastaegert"><code>@lukastaegert</code></a>)</li> <li><a href="https://redirect.github.com/rollup/rollup/pull/6260">#6260</a>: fix(deps): update rust crate swc_compiler_base to v47 (<a href="https://github.com/renovate"><code>@renovate</code></a>[bot], <a href="https://github.com/lukastaegert"><code>@lukastaegert</code></a>)</li> <li><a href="https://redirect.github.com/rollup/rollup/pull/6261">#6261</a>: fix(deps): lock file maintenance minor/patch updates (<a href="https://github.com/renovate"><code>@renovate</code></a>[bot], <a href="https://github.com/lukastaegert"><code>@lukastaegert</code></a>)</li> <li><a href="https://redirect.github.com/rollup/rollup/pull/6262">#6262</a>: Avoid unnecessary cloning of the code string (<a href="https://github.com/lukastaegert"><code>@lukastaegert</code></a>)</li> <li><a href="https://redirect.github.com/rollup/rollup/pull/6263">#6263</a>: fix(deps): update minor/patch updates (<a href="https://github.com/renovate"><code>@renovate</code></a>[bot], <a href="https://github.com/lukastaegert"><code>@lukastaegert</code></a>)</li> <li><a href="https://redirect.github.com/rollup/rollup/pull/6265">#6265</a>: chore(deps): lock file maintenance (<a href="https://github.com/renovate"><code>@renovate</code></a>[bot])</li> <li><a href="https://redirect.github.com/rollup/rollup/pull/6267">#6267</a>: fix(deps): update minor/patch updates (<a href="https://github.com/renovate"><code>@renovate</code></a>[bot])</li> <li><a href="https://redirect.github.com/rollup/rollup/pull/6268">#6268</a>: chore(deps): update dependency eslint-plugin-unicorn to v63 (<a href="https://github.com/renovate"><code>@renovate</code></a>[bot], <a href="https://github.com/lukastaegert"><code>@lukastaegert</code></a>)</li> <li><a href="https://redirect.github.com/rollup/rollup/pull/6269">#6269</a>: chore(deps): update dependency lru-cache to v11 (<a href="https://github.com/renovate"><code>@renovate</code></a>[bot])</li> <li><a href="https://redirect.github.com/rollup/rollup/pull/6270">#6270</a>: chore(deps): lock file maintenance (<a href="https://github.com/renovate"><code>@renovate</code></a>[bot])</li> <li><a href="https://redirect.github.com/rollup/rollup/pull/6272">#6272</a>: forward NO_SIDE_EFFECTS annotations to function expressions in variable declarations (<a href="https://github.com/lukastaegert"><code>@lukastaegert</code></a>)</li> </ul> <h2>v4.57.1</h2> <h2>4.57.1</h2> <p><em>2026-01-30</em></p> <h3>Bug Fixes</h3> <ul> <li>Fix heap corruption issue in Windows (<a href="https://redirect.github.com/rollup/rollup/issues/6251">#6251</a>)</li> <li>Ensure exports of a dynamic import are fully included when called from a try...catch (<a href="https://redirect.github.com/rollup/rollup/issues/6254">#6254</a>)</li> </ul> <h3>Pull Requests</h3> <ul> <li><a href="https://redirect.github.com/rollup/rollup/pull/6251">#6251</a>: fix: Isolate and cache <code>process.report.getReport()</code> calls in a child process for robust environment detection (<a href="https://github.com/alan-agius4"><code>@alan-agius4</code></a>, <a href="https://github.com/lukastaegert"><code>@lukastaegert</code></a>)</li> </ul> <!-- raw HTML omitted --> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/rollup/rollup/blob/master/CHANGELOG.md">rollup's changelog</a>.</em></p> <blockquote> <h2>4.59.0</h2> <p><em>2026-02-22</em></p> <h3>Features</h3> <ul> <li>Throw when the generated bundle contains paths that would leave the output directory (<a href="https://redirect.github.com/rollup/rollup/issues/6276">#6276</a>)</li> </ul> <h3>Pull Requests</h3> <ul> <li><a href="https://redirect.github.com/rollup/rollup/pull/6275">#6275</a>: Validate bundle stays within output dir (<a href="https://github.com/lukastaegert"><code>@lukastaegert</code></a>)</li> </ul> <h2>4.58.0</h2> <p><em>2026-02-20</em></p> <h3>Features</h3> <ul> <li>Also support <code>__NO_SIDE_EFFECTS__</code> annotation before variable declarations declaring function expressions (<a href="https://redirect.github.com/rollup/rollup/issues/6272">#6272</a>)</li> </ul> <h3>Pull Requests</h3> <ul> <li><a href="https://redirect.github.com/rollup/rollup/pull/6256">#6256</a>: docs: document PreRenderedChunk properties including isDynamicEntry and isImplicitEntry (<a href="https://github.com/njg7194"><code>@njg7194</code></a>, <a href="https://github.com/lukastaegert"><code>@lukastaegert</code></a>)</li> <li><a href="https://redirect.github.com/rollup/rollup/pull/6259">#6259</a>: docs: Correct typo and improve sentence structure in docs for <code>output.experimentalMinChunkSize</code> (<a href="https://github.com/millerick"><code>@millerick</code></a>, <a href="https://github.com/lukastaegert"><code>@lukastaegert</code></a>)</li> <li><a href="https://redirect.github.com/rollup/rollup/pull/6260">#6260</a>: fix(deps): update rust crate swc_compiler_base to v47 (<a href="https://github.com/renovate"><code>@renovate</code></a>[bot], <a href="https://github.com/lukastaegert"><code>@lukastaegert</code></a>)</li> <li><a href="https://redirect.github.com/rollup/rollup/pull/6261">#6261</a>: fix(deps): lock file maintenance minor/patch updates (<a href="https://github.com/renovate"><code>@renovate</code></a>[bot], <a href="https://github.com/lukastaegert"><code>@lukastaegert</code></a>)</li> <li><a href="https://redirect.github.com/rollup/rollup/pull/6262">#6262</a>: Avoid unnecessary cloning of the code string (<a href="https://github.com/lukastaegert"><code>@lukastaegert</code></a>)</li> <li><a href="https://redirect.github.com/rollup/rollup/pull/6263">#6263</a>: fix(deps): update minor/patch updates (<a href="https://github.com/renovate"><code>@renovate</code></a>[bot], <a href="https://github.com/lukastaegert"><code>@lukastaegert</code></a>)</li> <li><a href="https://redirect.github.com/rollup/rollup/pull/6265">#6265</a>: chore(deps): lock file maintenance (<a href="https://github.com/renovate"><code>@renovate</code></a>[bot])</li> <li><a href="https://redirect.github.com/rollup/rollup/pull/6267">#6267</a>: fix(deps): update minor/patch updates (<a href="https://github.com/renovate"><code>@renovate</code></a>[bot])</li> <li><a href="https://redirect.github.com/rollup/rollup/pull/6268">#6268</a>: chore(deps): update dependency eslint-plugin-unicorn to v63 (<a href="https://github.com/renovate"><code>@renovate</code></a>[bot], <a href="https://github.com/lukastaegert"><code>@lukastaegert</code></a>)</li> <li><a href="https://redirect.github.com/rollup/rollup/pull/6269">#6269</a>: chore(deps): update dependency lru-cache to v11 (<a href="https://github.com/renovate"><code>@renovate</code></a>[bot])</li> <li><a href="https://redirect.github.com/rollup/rollup/pull/6270">#6270</a>: chore(deps): lock file maintenance (<a href="https://github.com/renovate"><code>@renovate</code></a>[bot])</li> <li><a href="https://redirect.github.com/rollup/rollup/pull/6272">#6272</a>: forward NO_SIDE_EFFECTS annotations to function expressions in variable declarations (<a href="https://github.com/lukastaegert"><code>@lukastaegert</code></a>)</li> </ul> <h2>4.57.1</h2> <p><em>2026-01-30</em></p> <h3>Bug Fixes</h3> <ul> <li>Fix heap corruption issue in Windows (<a href="https://redirect.github.com/rollup/rollup/issues/6251">#6251</a>)</li> <li>Ensure exports of a dynamic import are fully included when called from a try...catch (<a href="https://redirect.github.com/rollup/rollup/issues/6254">#6254</a>)</li> </ul> <h3>Pull Requests</h3> <ul> <li><a href="https://redirect.github.com/rollup/rollup/pull/6251">#6251</a>: fix: Isolate and cache <code>process.report.getReport()</code> calls in a child process for robust environment detection (<a href="https://github.com/alan-agius4"><code>@alan-agius4</code></a>, <a href="https://github.com/lukastaegert"><code>@lukastaegert</code></a>)</li> <li><a href="https://redirect.github.com/rollup/rollup/pull/6252">#6252</a>: chore(deps): update dependency lru-cache to v11 (<a href="https://github.com/renovate"><code>@renovate</code></a>[bot])</li> <li><a href="https://redirect.github.com/rollup/rollup/pull/6253">#6253</a>: chore(deps): lock file maintenance minor/patch updates (<a href="https://github.com/renovate"><code>@renovate</code></a>[bot], <a href="https://github.com/lukastaegert"><code>@lukastaegert</code></a>)</li> <li><a href="https://redirect.github.com/rollup/rollup/pull/6254">#6254</a>: Fully include dynamic imports in a try-catch (<a href="https://github.com/lukastaegert"><code>@lukastaegert</code></a>)</li> </ul> <!-- raw HTML omitted --> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Commits</summary> <ul> <li><a href=" |
||
|
|
174d87798c
|
chore: claude gh action for better output (#1779) | ||
|
|
a6c88b5818
|
chore(deps-dev): bump storybook from 10.1.10 to 10.2.10 (#1815)
Bumps [storybook](https://github.com/storybookjs/storybook/tree/HEAD/code/core) from 10.1.10 to 10.2.10. Sourced from <a href="https://github.com/storybookjs/storybook/releases">storybook's releases</a>.</em></p> <blockquote> <h2>v10.2.10</h2> <h2>10.2.10</h2> <ul> <li>Core: Require token for websocket connections - <a href="https://redirect.github.com/storybookjs/storybook/pull/33820">#33820</a>, thanks <a href="https://github.com/ghengeveld"><code>@ghengeveld</code></a>!</li> </ul> <h2>v10.2.9</h2> <h2>10.2.9</h2> <ul> <li>Addon-Vitest: Improve config file detection in monorepos - <a href="https://redirect.github.com/storybookjs/storybook/pull/33814">#33814</a>, thanks <a href="https://github.com/valentinpalkovic"><code>@valentinpalkovic</code></a>!</li> <li>Builder-Vite: Update dependencies react-vite framework - <a href="https://redirect.github.com/storybookjs/storybook/pull/33810">#33810</a>, thanks <a href="https://github.com/valentinpalkovic"><code>@valentinpalkovic</code></a>!</li> <li>Builder-Vite: Use relative path for mocker entry in production builds - <a href="https://redirect.github.com/storybookjs/storybook/pull/33792">#33792</a>, thanks <a href="https://github.com/DukeDeSouth"><code>@DukeDeSouth</code></a>!</li> <li>Next.js: Fix Link component override in appDirectory configuration - <a href="https://redirect.github.com/storybookjs/storybook/pull/31251">#31251</a>, thanks <a href="https://github.com/yatishgoel"><code>@yatishgoel</code></a>!</li> </ul> <h2>v10.2.8</h2> <h2>10.2.8</h2> <ul> <li>Telemetry: Add Expo metaframework - <a href="https://redirect.github.com/storybookjs/storybook/pull/33783">#33783</a>, thanks <a href="https://github.com/copilot-swe-agent"><code>@copilot-swe-agent</code></a>!</li> <li>Telemetry: Add init exit event - <a href="https://redirect.github.com/storybookjs/storybook/pull/33773">#33773</a>, thanks <a href="https://github.com/valentinpalkovic"><code>@valentinpalkovic</code></a>!</li> <li>Telemetry: Add share events - <a href="https://redirect.github.com/storybookjs/storybook/pull/33766">#33766</a>, thanks <a href="https://github.com/ndelangen"><code>@ndelangen</code></a>!</li> <li>Test: Update event creation logic in user-event package - <a href="https://redirect.github.com/storybookjs/storybook/pull/33787">#33787</a>, thanks <a href="https://github.com/valentinpalkovic"><code>@valentinpalkovic</code></a>!</li> </ul> <h2>v10.2.7</h2> <h2>10.2.7</h2> <ul> <li>CSF: Fix cross-file story imports in csf-factories codemod - <a href="https://redirect.github.com/storybookjs/storybook/pull/33723">#33723</a>, thanks <a href="https://github.com/yatishgoel"><code>@yatishgoel</code></a>!</li> <li>Core: Fix rendering of View Transitions in Firefox - <a href="https://redirect.github.com/storybookjs/storybook/pull/33651">#33651</a>, thanks <a href="https://github.com/ghengeveld"><code>@ghengeveld</code></a>!</li> <li>Globals: Repair dynamicTitle: false for user-defined tools - <a href="https://redirect.github.com/storybookjs/storybook/pull/33284">#33284</a>, thanks <a href="https://github.com/ia319"><code>@ia319</code></a>!</li> <li>Logger: Honor --loglevel for npmlog output - <a href="https://redirect.github.com/storybookjs/storybook/pull/33776">#33776</a>, thanks <a href="https://github.com/LouisLau-art"><code>@LouisLau-art</code></a>!</li> </ul> <h2>v10.2.6</h2> <h2>10.2.6</h2> <ul> <li>Addon-Vitest: Skip postinstall setup when configured - <a href="https://redirect.github.com/storybookjs/storybook/pull/33712">#33712</a>, thanks <a href="https://github.com/valentinpalkovic"><code>@valentinpalkovic</code></a>!</li> <li>Addon-Vitest: Support vite/vitest config with deferred export - <a href="https://redirect.github.com/storybookjs/storybook/pull/33755">#33755</a>, thanks <a href="https://github.com/valentinpalkovic"><code>@valentinpalkovic</code></a>!</li> <li>CLI: Support addon-vitest setup when --skip-install is passed - <a href="https://redirect.github.com/storybookjs/storybook/pull/33718">#33718</a>, thanks <a href="https://github.com/valentinpalkovic"><code>@valentinpalkovic</code></a>!</li> <li>Manager: Update logic to use base path instead of full pathname - <a href="https://redirect.github.com/storybookjs/storybook/pull/33686">#33686</a>, thanks <a href="https://github.com/JSMike"><code>@JSMike</code></a>!</li> </ul> <h2>v10.2.5</h2> <h2>10.2.5</h2> <ul> <li>Angular: fix --loglevel options in docs and descriptions - <a href="https://redirect.github.com/storybookjs/storybook/pull/33726">#33726</a>, thanks <a href="https://github.com/theRuslan"><code>@theRuslan</code></a>!</li> <li>Builder-Vite: Add plugin to enforce Storybook's output directory in Vite build configuration - <a href="https://redirect.github.com/storybookjs/storybook/pull/33740">#33740</a>, thanks <a href="https://github.com/valentinpalkovic"><code>@valentinpalkovic</code></a>!</li> <li>Core: Invalidate cache on Storybook version upgrade - <a href="https://redirect.github.com/storybookjs/storybook/pull/33717">#33717</a>, thanks <a href="https://github.com/copilot-swe-agent"><code>@copilot-swe-agent</code></a>!</li> </ul> <h2>v10.2.4</h2> <h2>10.2.4</h2> <ul> <li>CSF-Factories: Fix codemod for preview files without exports - <a href="https://redirect.github.com/storybookjs/storybook/pull/33673">#33673</a>, thanks <a href="https://github.com/kasperpeulen"><code>@kasperpeulen</code></a>!</li> <li>CSF: Fix false positive detection of Zod v4 .meta() as CSF Factory - <a href="https://redirect.github.com/storybookjs/storybook/pull/33666">#33666</a>, thanks <a href="https://github.com/kasperpeulen"><code>@kasperpeulen</code></a>!</li> <li>CSFFactories: Add non-interactive mode and --glob flag - <a href="https://redirect.github.com/storybookjs/storybook/pull/33648">#33648</a>, thanks <a href="https://github.com/kasperpeulen"><code>@kasperpeulen</code></a>!</li> </ul> <!-- raw HTML omitted --> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/storybookjs/storybook/blob/next/CHANGELOG.md">storybook's changelog</a>.</em></p> <blockquote> <h2>10.2.10</h2> <ul> <li>Core: Require token for websocket connections - <a href="https://redirect.github.com/storybookjs/storybook/pull/33820">#33820</a>, thanks <a href="https://github.com/ghengeveld"><code>@ghengeveld</code></a>!</li> </ul> <h2>10.2.9</h2> <ul> <li>Addon-Vitest: Improve config file detection in monorepos - <a href="https://redirect.github.com/storybookjs/storybook/pull/33814">#33814</a>, thanks <a href="https://github.com/valentinpalkovic"><code>@valentinpalkovic</code></a>!</li> <li>Builder-Vite: Update dependencies react-vite framework - <a href="https://redirect.github.com/storybookjs/storybook/pull/33810">#33810</a>, thanks <a href="https://github.com/valentinpalkovic"><code>@valentinpalkovic</code></a>!</li> <li>Builder-Vite: Use relative path for mocker entry in production builds - <a href="https://redirect.github.com/storybookjs/storybook/pull/33792">#33792</a>, thanks <a href="https://github.com/DukeDeSouth"><code>@DukeDeSouth</code></a>!</li> <li>Next.js: Fix Link component override in appDirectory configuration - <a href="https://redirect.github.com/storybookjs/storybook/pull/31251">#31251</a>, thanks <a href="https://github.com/yatishgoel"><code>@yatishgoel</code></a>!</li> </ul> <h2>10.2.8</h2> <ul> <li>Telemetry: Add Expo metaframework - <a href="https://redirect.github.com/storybookjs/storybook/pull/33783">#33783</a>, thanks <a href="https://github.com/copilot-swe-agent"><code>@copilot-swe-agent</code></a>!</li> <li>Telemetry: Add init exit event - <a href="https://redirect.github.com/storybookjs/storybook/pull/33773">#33773</a>, thanks <a href="https://github.com/valentinpalkovic"><code>@valentinpalkovic</code></a>!</li> <li>Telemetry: Add share events - <a href="https://redirect.github.com/storybookjs/storybook/pull/33766">#33766</a>, thanks <a href="https://github.com/ndelangen"><code>@ndelangen</code></a>!</li> <li>Test: Update event creation logic in user-event package - <a href="https://redirect.github.com/storybookjs/storybook/pull/33787">#33787</a>, thanks <a href="https://github.com/valentinpalkovic"><code>@valentinpalkovic</code></a>!</li> </ul> <h2>10.2.7</h2> <ul> <li>CSF: Fix cross-file story imports in csf-factories codemod - <a href="https://redirect.github.com/storybookjs/storybook/pull/33723">#33723</a>, thanks <a href="https://github.com/yatishgoel"><code>@yatishgoel</code></a>!</li> <li>Core: Fix rendering of View Transitions in Firefox - <a href="https://redirect.github.com/storybookjs/storybook/pull/33651">#33651</a>, thanks <a href="https://github.com/ghengeveld"><code>@ghengeveld</code></a>!</li> <li>Globals: Repair dynamicTitle: false for user-defined tools - <a href="https://redirect.github.com/storybookjs/storybook/pull/33284">#33284</a>, thanks <a href="https://github.com/ia319"><code>@ia319</code></a>!</li> <li>Logger: Honor --loglevel for npmlog output - <a href="https://redirect.github.com/storybookjs/storybook/pull/33776">#33776</a>, thanks <a href="https://github.com/LouisLau-art"><code>@LouisLau-art</code></a>!</li> </ul> <h2>10.2.6</h2> <ul> <li>Addon-Vitest: Skip postinstall setup when configured - <a href="https://redirect.github.com/storybookjs/storybook/pull/33712">#33712</a>, thanks <a href="https://github.com/valentinpalkovic"><code>@valentinpalkovic</code></a>!</li> <li>Addon-Vitest: Support vite/vitest config with deferred export - <a href="https://redirect.github.com/storybookjs/storybook/pull/33755">#33755</a>, thanks <a href="https://github.com/valentinpalkovic"><code>@valentinpalkovic</code></a>!</li> <li>CLI: Support addon-vitest setup when --skip-install is passed - <a href="https://redirect.github.com/storybookjs/storybook/pull/33718">#33718</a>, thanks <a href="https://github.com/valentinpalkovic"><code>@valentinpalkovic</code></a>!</li> <li>Manager: Update logic to use base path instead of full pathname - <a href="https://redirect.github.com/storybookjs/storybook/pull/33686">#33686</a>, thanks <a href="https://github.com/JSMike"><code>@JSMike</code></a>!</li> </ul> <h2>10.2.5</h2> <ul> <li>Angular: fix --loglevel options in docs and descriptions - <a href="https://redirect.github.com/storybookjs/storybook/pull/33726">#33726</a>, thanks <a href="https://github.com/theRuslan"><code>@theRuslan</code></a>!</li> <li>Builder-Vite: Add plugin to enforce Storybook's output directory in Vite build configuration - <a href="https://redirect.github.com/storybookjs/storybook/pull/33740">#33740</a>, thanks <a href="https://github.com/valentinpalkovic"><code>@valentinpalkovic</code></a>!</li> <li>Core: Invalidate cache on Storybook version upgrade - <a href="https://redirect.github.com/storybookjs/storybook/pull/33717">#33717</a>, thanks <a href="https://github.com/copilot-swe-agent"><code>@copilot-swe-agent</code></a>!</li> </ul> <h2>10.2.4</h2> <ul> <li>CSF-Factories: Fix codemod for preview files without exports - <a href="https://redirect.github.com/storybookjs/storybook/pull/33673">#33673</a>, thanks <a href="https://github.com/kasperpeulen"><code>@kasperpeulen</code></a>!</li> <li>CSF: Fix false positive detection of Zod v4 .meta() as CSF Factory - <a href="https://redirect.github.com/storybookjs/storybook/pull/33666">#33666</a>, thanks <a href="https://github.com/kasperpeulen"><code>@kasperpeulen</code></a>!</li> <li>CSFFactories: Add non-interactive mode and --glob flag - <a href="https://redirect.github.com/storybookjs/storybook/pull/33648">#33648</a>, thanks <a href="https://github.com/kasperpeulen"><code>@kasperpeulen</code></a>!</li> <li>CSFFactories: Preserve leading comments when adding imports - <a href="https://redirect.github.com/storybookjs/storybook/pull/33645">#33645</a>, thanks <a href="https://github.com/kasperpeulen"><code>@kasperpeulen</code></a>!</li> <li>Codemod: Fix csf-2-to-3 failing due to quoted filenames - <a href="https://redirect.github.com/storybookjs/storybook/pull/33646">#33646</a>, thanks <a href="https://github.com/kasperpeulen"><code>@kasperpeulen</code></a>!</li> <li>Codemod: Fix glob pattern handling on Windows - <a href="https://redirect.github.com/storybookjs/storybook/pull/33714">#33714</a>, thanks <a href="https://github.com/kasperpeulen"><code>@kasperpeulen</code></a>!</li> <li>Manager: Remove deprecated <code>active</code> prop warning in ZoomButton - <a href="https://redirect.github.com/storybookjs/storybook/pull/33697">#33697</a>, thanks <a href="https://github.com/yatishgoel"><code>@yatishgoel</code></a>!</li> <li>Next.js: Alias AppRouterContext to shared runtime to fix Link navigation - <a href="https://redirect.github.com/storybookjs/storybook/pull/33419">#33419</a>, thanks <a href="https://github.com/pallaprolus"><code>@pallaprolus</code></a>!</li> </ul> <h2>10.2.3</h2> <!-- raw HTML omitted --> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Commits</summary> <ul> <li><a href=" |
||
|
|
8a4ca3029c
|
build(deps): bump semver from 5.7.1 to 7.7.3 (#1702)
Bumps [semver](https://github.com/npm/node-semver) from 5.7.1 to 7.7.3. Sourced from <a href="https://github.com/npm/node-semver/releases">semver's releases</a>.</em></p> <blockquote> <h2>v7.7.3</h2> <h2><a href="https://github.com/npm/node-semver/compare/v7.7.2...v7.7.3">7.7.3</a> (2025-10-06)</h2> <h3>Bug Fixes</h3> <ul> <li><a href=" |
||
|
|
65b9f6bfb1
|
build(deps): bump webpack from 5.91.0 to 5.105.0 (#1707)
Bumps [webpack](https://github.com/webpack/webpack) from 5.91.0 to 5.105.0. Sourced from <a href="https://github.com/webpack/webpack/releases">webpack's releases</a>.</em></p> <blockquote> <h2>v5.105.0</h2> <h3>Minor Changes</h3> <ul> <li> <p>Allow resolving worker module by export condition name when using <code>new Worker()</code> (by <a href="https://github.com/hai-x"><code>@hai-x</code></a> in <a href="https://redirect.github.com/webpack/webpack/pull/20353">#20353</a>)</p> </li> <li> <p>Detect conditional imports to avoid compile-time linking errors for non-existent exports. (by <a href="https://github.com/hai-x"><code>@hai-x</code></a> in <a href="https://redirect.github.com/webpack/webpack/pull/20320">#20320</a>)</p> </li> <li> <p>Added the <code>tsconfig</code> option for the <code>resolver</code> options (replacement for <code>tsconfig-paths-webpack-plugin</code>). Can be <code>false</code> (disabled), <code>true</code> (use the default <code>tsconfig.json</code> file to search for it), a string path to <code>tsconfig.json</code>, or an object with <code>configFile</code> and <code>references</code> options. (by <a href="https://github.com/alexander-akait"><code>@alexander-akait</code></a> in <a href="https://redirect.github.com/webpack/webpack/pull/20400">#20400</a>)</p> </li> <li> <p>Support <code>import.defer()</code> for context modules. (by <a href="https://github.com/ahabhgk"><code>@ahabhgk</code></a> in <a href="https://redirect.github.com/webpack/webpack/pull/20399">#20399</a>)</p> </li> <li> <p>Added support for array values to the <code>devtool</code> option. (by <a href="https://github.com/hai-x"><code>@hai-x</code></a> in <a href="https://redirect.github.com/webpack/webpack/pull/20191">#20191</a>)</p> </li> <li> <p>Improve rendering node built-in modules for ECMA module output. (by <a href="https://github.com/hai-x"><code>@hai-x</code></a> in <a href="https://redirect.github.com/webpack/webpack/pull/20255">#20255</a>)</p> </li> <li> <p>Unknown import.meta properties are now determined at runtime instead of being statically analyzed at compile time. (by <a href="https://github.com/xiaoxiaojx"><code>@xiaoxiaojx</code></a> in <a href="https://redirect.github.com/webpack/webpack/pull/20312">#20312</a>)</p> </li> </ul> <h3>Patch Changes</h3> <ul> <li> <p>Fixed ESM default export handling for <code>.mjs</code> files in Module Federation (by <a href="https://github.com/y-okt"><code>@y-okt</code></a> in <a href="https://redirect.github.com/webpack/webpack/pull/20189">#20189</a>)</p> </li> <li> <p>Optimized <code>import.meta.env</code> handling in destructuring assignments by using cached stringified environment definitions. (by <a href="https://github.com/xiaoxiaojx"><code>@xiaoxiaojx</code></a> in <a href="https://redirect.github.com/webpack/webpack/pull/20313">#20313</a>)</p> </li> <li> <p>Respect the <code>stats.errorStack</code> option in stats output. (by <a href="https://github.com/samarthsinh2660"><code>@samarthsinh2660</code></a> in <a href="https://redirect.github.com/webpack/webpack/pull/20258">#20258</a>)</p> </li> <li> <p>Fixed a bug where declaring a <code>module</code> variable in module scope would conflict with the default <code>moduleArgument</code>. (by <a href="https://github.com/xiaoxiaojx"><code>@xiaoxiaojx</code></a> in <a href="https://redirect.github.com/webpack/webpack/pull/20265">#20265</a>)</p> </li> <li> <p>Fix VirtualUrlPlugin to set resourceData.context for proper module resolution. Previously, when context was not set, it would fallback to the virtual scheme path (e.g., <code>virtual:routes</code>), which is not a valid filesystem path, causing subsequent resolve operations to fail. (by <a href="https://github.com/xiaoxiaojx"><code>@xiaoxiaojx</code></a> in <a href="https://redirect.github.com/webpack/webpack/pull/20390">#20390</a>)</p> </li> <li> <p>Fixed Worker self-import handling to support various URL patterns (e.g., <code>import.meta.url</code>, <code>new URL(import.meta.url)</code>, <code>new URL(import.meta.url, import.meta.url)</code>, <code>new URL("./index.js", import.meta.url)</code>). Workers that resolve to the same module are now properly deduplicated, regardless of the URL syntax used. (by <a href="https://github.com/xiaoxiaojx"><code>@xiaoxiaojx</code></a> in <a href="https://redirect.github.com/webpack/webpack/pull/20381">#20381</a>)</p> </li> <li> <p>Reuse the same async entrypoint for the same Worker URL within a module to avoid circular dependency warnings when multiple Workers reference the same resource. (by <a href="https://github.com/xiaoxiaojx"><code>@xiaoxiaojx</code></a> in <a href="https://redirect.github.com/webpack/webpack/pull/20345">#20345</a>)</p> </li> <li> <p>Fixed a bug where a self-referencing dependency would have an unused export name when imported inside a web worker. (by <a href="https://github.com/samarthsinh2660"><code>@samarthsinh2660</code></a> in <a href="https://redirect.github.com/webpack/webpack/pull/20251">#20251</a>)</p> </li> <li> <p>Fix missing export generation when concatenated modules in different chunks share the same runtime in module library bundles. (by <a href="https://github.com/hai-x"><code>@hai-x</code></a> in <a href="https://redirect.github.com/webpack/webpack/pull/20346">#20346</a>)</p> </li> <li> <p>Fixed <code>import.meta.env.xxx</code> behavior: when accessing a non-existent property, it now returns empty object instead of full object at runtime. (by <a href="https://github.com/xiaoxiaojx"><code>@xiaoxiaojx</code></a> in <a href="https://redirect.github.com/webpack/webpack/pull/20289">#20289</a>)</p> </li> <li> <p>Improved parsing error reporting by adding a link to the loader documentation. (by <a href="https://github.com/gaurav10gg"><code>@gaurav10gg</code></a> in <a href="https://redirect.github.com/webpack/webpack/pull/20244">#20244</a>)</p> </li> <li> <p>Fix typescript types. (by <a href="https://github.com/alexander-akait"><code>@alexander-akait</code></a> in <a href="https://redirect.github.com/webpack/webpack/pull/20305">#20305</a>)</p> </li> <li> <p>Add declaration for unused harmony import specifier. (by <a href="https://github.com/hai-x"><code>@hai-x</code></a> in <a href="https://redirect.github.com/webpack/webpack/pull/20286">#20286</a>)</p> </li> <li> <p>Fix compressibility of modules while retaining portability. (by <a href="https://github.com/dmichon-msft"><code>@dmichon-msft</code></a> in <a href="https://redirect.github.com/webpack/webpack/pull/20287">#20287</a>)</p> </li> <li> <p>Optimize source map generation: only include <code>ignoreList</code> property when it has content, avoiding empty arrays in source maps. (by <a href="https://github.com/xiaoxiaojx"><code>@xiaoxiaojx</code></a> in <a href="https://redirect.github.com/webpack/webpack/pull/20319">#20319</a>)</p> </li> <li> <p>Preserve star exports for dependencies in ECMA module output. (by <a href="https://github.com/hai-x"><code>@hai-x</code></a> in <a href="https://redirect.github.com/webpack/webpack/pull/20293">#20293</a>)</p> </li> </ul> <!-- raw HTML omitted --> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/webpack/webpack/blob/main/CHANGELOG.md">webpack's changelog</a>.</em></p> <blockquote> <h2>5.105.0</h2> <h3>Minor Changes</h3> <ul> <li> <p>Allow resolving worker module by export condition name when using <code>new Worker()</code> (by <a href="https://github.com/hai-x"><code>@hai-x</code></a> in <a href="https://redirect.github.com/webpack/webpack/pull/20353">#20353</a>)</p> </li> <li> <p>Detect conditional imports to avoid compile-time linking errors for non-existent exports. (by <a href="https://github.com/hai-x"><code>@hai-x</code></a> in <a href="https://redirect.github.com/webpack/webpack/pull/20320">#20320</a>)</p> </li> <li> <p>Added the <code>tsconfig</code> option for the <code>resolver</code> options (replacement for <code>tsconfig-paths-webpack-plugin</code>). Can be <code>false</code> (disabled), <code>true</code> (use the default <code>tsconfig.json</code> file to search for it), a string path to <code>tsconfig.json</code>, or an object with <code>configFile</code> and <code>references</code> options. (by <a href="https://github.com/alexander-akait"><code>@alexander-akait</code></a> in <a href="https://redirect.github.com/webpack/webpack/pull/20400">#20400</a>)</p> </li> <li> <p>Support <code>import.defer()</code> for context modules. (by <a href="https://github.com/ahabhgk"><code>@ahabhgk</code></a> in <a href="https://redirect.github.com/webpack/webpack/pull/20399">#20399</a>)</p> </li> <li> <p>Added support for array values to the <code>devtool</code> option. (by <a href="https://github.com/hai-x"><code>@hai-x</code></a> in <a href="https://redirect.github.com/webpack/webpack/pull/20191">#20191</a>)</p> </li> <li> <p>Improve rendering node built-in modules for ECMA module output. (by <a href="https://github.com/hai-x"><code>@hai-x</code></a> in <a href="https://redirect.github.com/webpack/webpack/pull/20255">#20255</a>)</p> </li> <li> <p>Unknown import.meta properties are now determined at runtime instead of being statically analyzed at compile time. (by <a href="https://github.com/xiaoxiaojx"><code>@xiaoxiaojx</code></a> in <a href="https://redirect.github.com/webpack/webpack/pull/20312">#20312</a>)</p> </li> </ul> <h3>Patch Changes</h3> <ul> <li> <p>Fixed ESM default export handling for <code>.mjs</code> files in Module Federation (by <a href="https://github.com/y-okt"><code>@y-okt</code></a> in <a href="https://redirect.github.com/webpack/webpack/pull/20189">#20189</a>)</p> </li> <li> <p>Optimized <code>import.meta.env</code> handling in destructuring assignments by using cached stringified environment definitions. (by <a href="https://github.com/xiaoxiaojx"><code>@xiaoxiaojx</code></a> in <a href="https://redirect.github.com/webpack/webpack/pull/20313">#20313</a>)</p> </li> <li> <p>Respect the <code>stats.errorStack</code> option in stats output. (by <a href="https://github.com/samarthsinh2660"><code>@samarthsinh2660</code></a> in <a href="https://redirect.github.com/webpack/webpack/pull/20258">#20258</a>)</p> </li> <li> <p>Fixed a bug where declaring a <code>module</code> variable in module scope would conflict with the default <code>moduleArgument</code>. (by <a href="https://github.com/xiaoxiaojx"><code>@xiaoxiaojx</code></a> in <a href="https://redirect.github.com/webpack/webpack/pull/20265">#20265</a>)</p> </li> <li> <p>Fix VirtualUrlPlugin to set resourceData.context for proper module resolution. Previously, when context was not set, it would fallback to the virtual scheme path (e.g., <code>virtual:routes</code>), which is not a valid filesystem path, causing subsequent resolve operations to fail. (by <a href="https://github.com/xiaoxiaojx"><code>@xiaoxiaojx</code></a> in <a href="https://redirect.github.com/webpack/webpack/pull/20390">#20390</a>)</p> </li> <li> <p>Fixed Worker self-import handling to support various URL patterns (e.g., <code>import.meta.url</code>, <code>new URL(import.meta.url)</code>, <code>new URL(import.meta.url, import.meta.url)</code>, <code>new URL("./index.js", import.meta.url)</code>). Workers that resolve to the same module are now properly deduplicated, regardless of the URL syntax used. (by <a href="https://github.com/xiaoxiaojx"><code>@xiaoxiaojx</code></a> in <a href="https://redirect.github.com/webpack/webpack/pull/20381">#20381</a>)</p> </li> <li> <p>Reuse the same async entrypoint for the same Worker URL within a module to avoid circular dependency warnings when multiple Workers reference the same resource. (by <a href="https://github.com/xiaoxiaojx"><code>@xiaoxiaojx</code></a> in <a href="https://redirect.github.com/webpack/webpack/pull/20345">#20345</a>)</p> </li> <li> <p>Fixed a bug where a self-referencing dependency would have an unused export name when imported inside a web worker. (by <a href="https://github.com/samarthsinh2660"><code>@samarthsinh2660</code></a> in <a href="https://redirect.github.com/webpack/webpack/pull/20251">#20251</a>)</p> </li> <li> <p>Fix missing export generation when concatenated modules in different chunks share the same runtime in module library bundles. (by <a href="https://github.com/hai-x"><code>@hai-x</code></a> in <a href="https://redirect.github.com/webpack/webpack/pull/20346">#20346</a>)</p> </li> <li> <p>Fixed <code>import.meta.env.xxx</code> behavior: when accessing a non-existent property, it now returns empty object instead of full object at runtime. (by <a href="https://github.com/xiaoxiaojx"><code>@xiaoxiaojx</code></a> in <a href="https://redirect.github.com/webpack/webpack/pull/20289">#20289</a>)</p> </li> <li> <p>Improved parsing error reporting by adding a link to the loader documentation. (by <a href="https://github.com/gaurav10gg"><code>@gaurav10gg</code></a> in <a href="https://redirect.github.com/webpack/webpack/pull/20244">#20244</a>)</p> </li> <li> <p>Fix typescript types. (by <a href="https://github.com/alexander-akait"><code>@alexander-akait</code></a> in <a href="https://redirect.github.com/webpack/webpack/pull/20305">#20305</a>)</p> </li> <li> <p>Add declaration for unused harmony import specifier. (by <a href="https://github.com/hai-x"><code>@hai-x</code></a> in <a href="https://redirect.github.com/webpack/webpack/pull/20286">#20286</a>)</p> </li> <li> <p>Fix compressibility of modules while retaining portability. (by <a href="https://github.com/dmichon-msft"><code>@dmichon-msft</code></a> in <a href="https://redirect.github.com/webpack/webpack/pull/20287">#20287</a>)</p> </li> <li> <p>Optimize source map generation: only include <code>ignoreList</code> property when it has content, avoiding empty arrays in source maps. (by <a href="https://github.com/xiaoxiaojx"><code>@xiaoxiaojx</code></a> in <a href="https://redirect.github.com/webpack/webpack/pull/20319">#20319</a>)</p> </li> </ul> <!-- raw HTML omitted --> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Commits</summary> <ul> <li><a href=" |
||
|
|
d4aa6008d6
|
refactor: extract deltaChartUtils and PropertyComparisonChart from DBDeltaChart (#1831)
## Summary Fixes #1830 Pure refactor — **zero behavior change**. Extracts inline utility functions and the `PropertyComparisonChart` component from `DBDeltaChart.tsx` (601 lines) into separate files. ## Changes | Action | File | Lines | |--------|------|-------| | **NEW** | `deltaChartUtils.ts` | 107 lines — `flattenData`, `getPropertyStatistics`, `mergeValueStatisticsMaps` | | **NEW** | `PropertyComparisonChart.tsx` | 130 lines — `PropertyComparisonChart`, `HDXBarChartTooltip`, layout constants | | **MODIFIED** | `DBDeltaChart.tsx` | 601 → 344 lines — inline code replaced with imports | **+257 / -257** — exact symmetry confirming this is a pure move. ## Why `DBDeltaChart.tsx` at 601 lines violates the 300-line guideline. More importantly, extracting into separate files enables the Event Deltas improvement series (#1823–#1829) to add features to clean, focused files instead of one monolith. ## Review guidance This is a **move-only refactor**. To verify: 1. `deltaChartUtils.ts` contains the exact functions from lines 52–156 of the old `DBDeltaChart.tsx`, now exported 2. `PropertyComparisonChart.tsx` contains the exact component from lines 158–259 and constants from lines 261–271, now exported 3. `DBDeltaChart.tsx` imports from the new files — no logic changes ## Test plan - [ ] Existing E2E tests pass - [ ] Event Deltas comparison view works identically - [ ] No visual changes 🤖 Generated with [Claude Code](https://claude.com/claude-code) |
||
|
|
705dd1b79b
|
fix: Allow implicit column lucene search on services dashboard (#1821)
Closes HDX-3520 # Summary This PR fixes errors on the services dashboard page when using lucene search over the implicit column (eg. searching for `POST` instead of `SpanName:POST`). This PR also adds an E2E test for the scenario, some agent docs covering E2E testing, and adds a minWidth to the services dashboard search input so that it does not shrink down to 0 width on small page widths: ## Before Charts error due to implicit column search <img width="1746" height="1172" alt="Screenshot 2026-02-27 at 11 29 05 AM" src="https://github.com/user-attachments/assets/00f9e914-379d-4099-8399-69157c8b4ac6" /> Search input is hidden due to small page width <img width="972" height="153" alt="Screenshot 2026-02-27 at 11 28 55 AM" src="https://github.com/user-attachments/assets/ccb75d90-60e1-4dd6-be12-e21574319b26" /> ## After Implicit column is set according to the source: <img width="1665" height="1166" alt="Screenshot 2026-02-27 at 11 28 31 AM" src="https://github.com/user-attachments/assets/5312e3e4-06b3-4c7c-8275-d38270c5f161" /> Search remains visible <img width="974" height="152" alt="Screenshot 2026-02-27 at 11 28 46 AM" src="https://github.com/user-attachments/assets/deb6ffb8-8608-427c-aa9a-e1971c86041e" /> |
||
|
|
4a89e1f616
|
Release HyperDX (#1790)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> |