Commit graph

832 commits

Author SHA1 Message Date
github-actions[bot]
d298874a78
Release HyperDX (#1106)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-09-08 08:14:58 -07:00
Tom Alexander
7df2d0fc03
chore: Add tests for time bucketing querying (#1132) 2025-09-05 17:29:06 +00:00
Mike Shi
26983f68f3
Add ClickPy demo source (#1142) 2025-09-05 00:11:35 -07:00
Drew Davis
5e4047a918
feat: add generated SQL modal to the search page (#1138) 2025-09-04 16:42:13 -04:00
Brandon Pereira
c691e94876
fix: position SQL editor autocompletion tooltips correctly within modals (#1135)
https://linear.app/clickhouse/issue/HDX-2062/bug-group-by-autocomplete-cuts-off-in-tile-editor-in-dashboards
2025-09-04 18:25:40 +00:00
Elizabet Oliveira
fb66126e06
fix: remove play button and time picker from markdown tab (#1141)
This PR fixes: HDX-1641

The Linear issue only mentions:

> The Run button on the Markdown form doesn't do anything

However, in **Charts Explorer → Markdown**, the time picker also wasn’t working. I’ve removed it as well.

<img width="2681" height="2048" alt="image" src="https://github.com/user-attachments/assets/6f6b7fc5-544f-43e2-ab9d-05894f83e8d6" />
2025-09-04 17:31:00 +00:00
Brandon Pereira
042e359547
fix text overflowing issue in app nav user menu (#1136)
https://linear.app/clickhouse/issue/HDX-1800/emailname-text-overflows-app-nav
2025-09-04 15:36:55 +00:00
Brandon Pereira
a714412dfc
Pause Live Tail reloading when app is not visible (#1137)
Fixes https://github.com/hyperdxio/hyperdx/issues/968
2025-09-04 15:24:55 +00:00
Drew Davis
ecb20c8429
feat: remove useless session source fields (#1133) 2025-09-03 18:24:05 -04:00
Dan Hable
81942a697e
fix(dev): use async fluentd in the mongo container (#1134)
Allows the mongo container to continue bootstrapping even if the otel collector container hasn't finished binding to the fluentd port.
2025-09-03 18:13:17 +00:00
Mike Shi
64eb638bbe
feat: Improve search speed by chunking long time range searches into smaller incremental search windows. (#1125)
Resolves HDX-1035
2025-09-03 15:17:00 +00:00
Mike Shi
88f3cafb20
fix: Prevent empty order by set in search page for certain sort/primary keys (#1124)
When using a trace table with the default otel schema of `ServiceName, SpanName, toDateTime(Timestamp)`, we currently return a blank order by which breaks sorting in search page.

Instead, if we fail to optimize the order by based on the primary key, we should just return a default value instead of an empty value.
2025-09-02 16:54:31 +00:00
Warren
3f2d427020
style: dedupe codes within __query method and move createClient to the constructor (#1123)
Follow up https://github.com/hyperdxio/hyperdx/pull/1119#discussion_r2310291664
2025-09-02 16:50:43 +00:00
Spencer Torres
25f77aa7d9
Team query timeout setting (#1072)
Closes HDX-2023

# Behavior
Adds `queryTimeout` to the team settings page. If the setting is greater than `0`, a `max_execution_time` setting is added to all queries executed by the `ClickhouseClient`. The timeout is in seconds, with `60` seconds being the default. `0` would be unlimited.

# Images

Settings page:
<img width="598" height="501" alt="settings page" src="https://github.com/user-attachments/assets/5483d5a7-c1c2-4bb5-a0d9-e23fa06cc5ec" />

Network log:
<img width="542" height="100" alt="network log" src="https://github.com/user-attachments/assets/08ed2ea1-4038-4c67-b493-ef591a226b59" />
2025-08-30 02:42:05 +00:00
Aaron Knudtson
5c1ccd423a
fix: json filters regression (#1122)
Fixes HDX-1965
2025-08-29 20:45:21 +00:00
Aaron Knudtson
52483f6a15
feat: enable filters for json columns (#1087)
Closes HDX-1965
2025-08-29 20:19:41 +00:00
Aaron Knudtson
784014b67c
fix: break out line break icon from HyperJsonMenu (#1120)
Closes HDX-2266
Closes https://github.com/hyperdxio/hyperdx/issues/1105

<img width="578" height="281" alt="image" src="https://github.com/user-attachments/assets/c9dc6d20-e52d-4924-897d-647cc25e542a" />
2025-08-29 20:14:30 +00:00
Aaron Knudtson
8568580127
feat: add custom ingestion key via INGESTION_API_KEY (#1112)
Closes HDX-2283

This adds an environment variable `INGESTION_API_KEY` that can be set by the user. This apiKey will be valid and accepted by the Otel collector. It is in addition to the autogenerated apiKey and will not show in the team settings apiKey section.
2025-08-29 20:10:46 +00:00
Aaron Knudtson
b6787d5689
fix: format number for queried column, not group by columns (#1121)
Closes HDX-2272
Fixes #1108

This fixes the linked issue
<img width="961" height="516" alt="image" src="https://github.com/user-attachments/assets/b142d52f-afd5-4460-bcdb-b18f3bc2bb8e" />
2025-08-29 20:07:24 +00:00
Warren
aacd24dde6
refactor: decouple clickhouse client into browser.ts and node.ts (#1119)
- Fixed the issue where the @clickhouse/client module wasn’t bundled. It’s also cleaner to keep non-shared methods decoupled between node and browser environments
- Bumped the default request timeout to 1hr

Ref: HDX-2294
2025-08-29 16:40:28 +00:00
Warren
91a8509e59
fix: should not check tag for nightly builds (#1113)
The nightly build are being skipped currently
2025-08-29 00:07:53 +00:00
Dan Hable
7d2aed5426
refactor: expose virtual id field on the ITeam interface (#1117)
Needed in the upstream fork and putting it here will make the merges easier long term.
2025-08-28 18:51:16 +00:00
Aaron Knudtson
9c4c5f4919
feat: support toUnixTimestamp style timestamps in ORDER BY (#1116) 2025-08-28 14:07:25 -04:00
Warren
d6f8058e52
chore: bump @clickhouse/client to v1.12.1 + centralize @clickhouse/client (#1110)
1. deprecate unused `packages/api/src/clickhouse`
2. deprecate unused route `/datasources`
3. introduce `getJSNativeCreateClient` in common-utils
4. uninstall `@clickhouse/client` in api package
5. uninstall `@clickhouse/client` + `@clickhouse/client-web` in app package
6. bump `@clickhouse/client` in common-utils package to v1.12.1
2025-08-28 00:56:17 +00:00
Dan Hable
f800fd1374
fix: use correct title in alert on dashboards (#1109)
Uses the title from the alerting tile instead of the first tile on a dashboard.

Ref: HDX-2270
2025-08-27 17:40:29 +00:00
Aaron Knudtson
174372018e
fix: add limit of 20 to "top 20" style tiles (#1111) 2025-08-27 12:33:20 -04:00
Dan Hable
eb6f3a0199
fix: fetch password explictly (#1107)
Include the explicit select of the password field since the mongoose schema omits it by default. Includes test cases to verify the password against the mongo instance running in the test suite and an additional error check.
2025-08-26 00:38:15 +00:00
Dan Hable
261d4693a3
feat: limit how many tasks are executing at any time (#1103)
Allows user defined concurrency limit when evaluating check alert tasks. Includes some further refinements of the task execution types to make actual task execution more type safe.
2025-08-25 19:01:03 +00:00
Tom Alexander
bb2221a185
fix: Keep created by field unchanged during alert updates in dashboards (#1093)
Fixes: HDX-2189
2025-08-25 13:57:42 +00:00
github-actions[bot]
1e1baa4205
Release HyperDX (#1090)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-08-25 00:00:43 -07:00
dependabot[bot]
11a716ba49
build(deps): bump form-data from 4.0.0 to 4.0.4 (#1014)
Bumps [form-data](https://github.com/form-data/form-data) from 4.0.0 to 4.0.4.
e notes</summary>
<p><em>Sourced from <a href="https://github.com/form-data/form-data/releases">form-data's releases</a>.</em></p>
<blockquote>
<h2>v4.0.1</h2>
<h3>Fixes</h3>
<ul>
<li>npmignore temporary build files (<a href="https://redirect.github.com/form-data/form-data/issues/532">#532</a>)</li>
<li>move util.isArray to Array.isArray (<a href="https://redirect.github.com/form-data/form-data/issues/564">#564</a>)</li>
</ul>
<h3>Tests</h3>
<ul>
<li>migrate from travis to GHA</li>
</ul>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a href="https://github.com/form-data/form-data/blob/master/CHANGELOG.md">form-data's changelog</a>.</em></p>
<blockquote>
<h2><a href="https://github.com/form-data/form-data/compare/v4.0.3...v4.0.4">v4.0.4</a> - 2025-07-16</h2>
<h3>Commits</h3>
<ul>
<li>[meta] add <code>auto-changelog</code> <a href="811f68282f"><code>811f682</code></a></li>
<li>[Tests] handle predict-v8-randomness failures in node &lt; 17 and node &gt; 23 <a href="1d11a76434"><code>1d11a76</code></a></li>
<li>[Fix] Switch to using <code>crypto</code> random for boundary values <a href="3d1723080e"><code>3d17230</code></a></li>
<li>[Tests] fix linting errors <a href="5e340800b5"><code>5e34080</code></a></li>
<li>[meta] actually ensure the readme backup isn’t published <a href="316c82ba93"><code>316c82b</code></a></li>
<li>[Dev Deps] update <code>@ljharb/eslint-config</code> <a href="58c25d7640"><code>58c25d7</code></a></li>
<li>[meta] fix readme capitalization <a href="2300ca1959"><code>2300ca1</code></a></li>
</ul>
<h2><a href="https://github.com/form-data/form-data/compare/v4.0.2...v4.0.3">v4.0.3</a> - 2025-06-05</h2>
<h3>Fixed</h3>
<ul>
<li>[Fix] <code>append</code>: avoid a crash on nullish values <a href="https://redirect.github.com/form-data/form-data/issues/577"><code>[#577](https://github.com/form-data/form-data/issues/577)</code></a></li>
</ul>
<h3>Commits</h3>
<ul>
<li>[eslint] use a shared config <a href="426ba9ac44"><code>426ba9a</code></a></li>
<li>[eslint] fix some spacing issues <a href="20941917f0"><code>2094191</code></a></li>
<li>[Refactor] use <code>hasown</code> <a href="81ab41b46f"><code>81ab41b</code></a></li>
<li>[Fix] validate boundary type in <code>setBoundary()</code> method <a href="8d8e469309"><code>8d8e469</code></a></li>
<li>[Tests] add tests to check the behavior of <code>getBoundary</code> with non-strings <a href="837b8a1f75"><code>837b8a1</code></a></li>
<li>[Dev Deps] remove unused deps <a href="870e4e6659"><code>870e4e6</code></a></li>
<li>[meta] remove local commit hooks <a href="e6e83ccb54"><code>e6e83cc</code></a></li>
<li>[Dev Deps] update <code>eslint</code> <a href="4066fd6f65"><code>4066fd6</code></a></li>
<li>[meta] fix scripts to use prepublishOnly <a href="c4bbb13c0e"><code>c4bbb13</code></a></li>
</ul>
<h2><a href="https://github.com/form-data/form-data/compare/v4.0.1...v4.0.2">v4.0.2</a> - 2025-02-14</h2>
<h3>Merged</h3>
<ul>
<li>[Fix] set <code>Symbol.toStringTag</code> when available <a href="https://redirect.github.com/form-data/form-data/pull/573"><code>[#573](https://github.com/form-data/form-data/issues/573)</code></a></li>
<li>[Fix] set <code>Symbol.toStringTag</code> when available <a href="https://redirect.github.com/form-data/form-data/pull/573"><code>[#573](https://github.com/form-data/form-data/issues/573)</code></a></li>
<li>fix (npmignore): ignore temporary build files <a href="https://redirect.github.com/form-data/form-data/pull/532"><code>[#532](https://github.com/form-data/form-data/issues/532)</code></a></li>
<li>fix (npmignore): ignore temporary build files <a href="https://redirect.github.com/form-data/form-data/pull/532"><code>[#532](https://github.com/form-data/form-data/issues/532)</code></a></li>
</ul>
<h3>Fixed</h3>
<ul>
<li>[Fix] set <code>Symbol.toStringTag</code> when available (<a href="https://redirect.github.com/form-data/form-data/issues/573">#573</a>) <a href="https://redirect.github.com/form-data/form-data/issues/396"><code>[#396](https://github.com/form-data/form-data/issues/396)</code></a></li>
<li>[Fix] set <code>Symbol.toStringTag</code> when available (<a href="https://redirect.github.com/form-data/form-data/issues/573">#573</a>) <a href="https://redirect.github.com/form-data/form-data/issues/396"><code>[#396](https://github.com/form-data/form-data/issues/396)</code></a></li>
<li>[Fix] set <code>Symbol.toStringTag</code> when available <a href="https://redirect.github.com/form-data/form-data/issues/396"><code>[#396](https://github.com/form-data/form-data/issues/396)</code></a></li>
</ul>
<h3>Commits</h3>
<ul>
<li>Merge tags v2.5.3 and v3.0.3 <a href="92613b9208"><code>92613b9</code></a></li>
<li>[Tests] migrate from travis to GHA <a href="806eda7774"><code>806eda7</code></a></li>
<li>[Tests] migrate from travis to GHA <a href="8fdb3bc6b5"><code>8fdb3bc</code></a></li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="41996f5ac7"><code>41996f5</code></a> v4.0.4</li>
<li><a href="316c82ba93"><code>316c82b</code></a> [meta] actually ensure the readme backup isn’t published</li>
<li><a href="2300ca1959"><code>2300ca1</code></a> [meta] fix readme capitalization</li>
<li><a href="811f68282f"><code>811f682</code></a> [meta] add <code>auto-changelog</code></li>
<li><a href="5e340800b5"><code>5e34080</code></a> [Tests] fix linting errors</li>
<li><a href="1d11a76434"><code>1d11a76</code></a> [Tests] handle predict-v8-randomness failures in node &lt; 17 and node &gt; 23</li>
<li><a href="58c25d7640"><code>58c25d7</code></a> [Dev Deps] update <code>@ljharb/eslint-config</code></li>
<li><a href="3d1723080e"><code>3d17230</code></a> [Fix] Switch to using <code>crypto</code> random for boundary values</li>
<li><a href="d8d67dc8ac"><code>d8d67dc</code></a> v4.0.3</li>
<li><a href="e6e83ccb54"><code>e6e83cc</code></a> [meta] remove local commit hooks</li>
<li>Additional commits viewable in <a href="https://github.com/form-data/form-data/compare/v4.0.0...v4.0.4">compare view</a></li>
</ul>
</details>
<details>
<summary>Maintainer changes</summary>
<p>This version was pushed to npm by <a href="https://www.npmjs.com/~ljharb">ljharb</a>, a new releaser for form-data since your current version.</p>
</details>
<br />


[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=form-data&package-manager=npm_and_yarn&previous-version=4.0.0&new-version=4.0.4)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
You can disable automated security fix PRs for this repo from the [Security Alerts page](https://github.com/hyperdxio/hyperdx/network/alerts).

</details>
2025-08-25 04:53:52 +00:00
dependabot[bot]
7cb1f13830
build(deps): bump cipher-base from 1.0.4 to 1.0.6 (#1096)
Bumps [cipher-base](https://github.com/crypto-browserify/cipher-base) from 1.0.4 to 1.0.6.
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a href="https://github.com/browserify/cipher-base/blob/master/CHANGELOG.md">cipher-base's changelog</a>.</em></p>
<blockquote>
<h2><a href="https://github.com/browserify/cipher-base/compare/v1.0.5...v1.0.6">v1.0.6</a> - 2024-11-26</h2>
<h3>Commits</h3>
<ul>
<li>[Fix] io.js 3.0 - Node.js 5.3 typed array support <a href="b7ddd2ac24"><code>b7ddd2a</code></a></li>
</ul>
<h2><a href="https://github.com/browserify/cipher-base/compare/v1.0.4...v1.0.5">v1.0.5</a> - 2024-11-17</h2>
<h3>Commits</h3>
<ul>
<li>[Tests] standard -&gt; eslint, make test dir, etc <a href="ae02fd6624"><code>ae02fd6</code></a></li>
<li>[Tests] migrate from travis to GHA <a href="66387d7146"><code>66387d7</code></a></li>
<li>[meta] fix package.json indentation <a href="5c02918ac5"><code>5c02918</code></a></li>
<li>[Fix] return valid values on multi-byte-wide TypedArray input <a href="8fd136432c"><code>8fd1364</code></a></li>
<li>[meta] add <code>auto-changelog</code> <a href="88dc806806"><code>88dc806</code></a></li>
<li>[meta] add <code>npmignore</code> and <code>safe-publish-latest</code> <a href="7a137d749c"><code>7a137d7</code></a></li>
<li>Only apps should have lockfiles <a href="42528f291d"><code>42528f2</code></a></li>
<li>[Deps] update <code>inherits</code>, <code>safe-buffer</code> <a href="0e7a2d9a33"><code>0e7a2d9</code></a></li>
<li>[meta] add missing <code>engines.node</code> <a href="f2dc13e47b"><code>f2dc13e</code></a></li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="f5249f9461"><code>f5249f9</code></a> v1.0.6</li>
<li><a href="b7ddd2ac24"><code>b7ddd2a</code></a> [Fix] io.js 3.0 - Node.js 5.3 typed array support</li>
<li><a href="f03cebfdad"><code>f03cebf</code></a> v1.0.5</li>
<li><a href="88dc806806"><code>88dc806</code></a> [meta] add <code>auto-changelog</code></li>
<li><a href="7a137d749c"><code>7a137d7</code></a> [meta] add <code>npmignore</code> and <code>safe-publish-latest</code></li>
<li><a href="5c02918ac5"><code>5c02918</code></a> [meta] fix package.json indentation</li>
<li><a href="8fd136432c"><code>8fd1364</code></a> [Fix] return valid values on multi-byte-wide TypedArray input</li>
<li><a href="66387d7146"><code>66387d7</code></a> [Tests] migrate from travis to GHA</li>
<li><a href="f2dc13e47b"><code>f2dc13e</code></a> [meta] add missing <code>engines.node</code></li>
<li><a href="0e7a2d9a33"><code>0e7a2d9</code></a> [Deps] update <code>inherits</code>, <code>safe-buffer</code></li>
<li>Additional commits viewable in <a href="https://github.com/crypto-browserify/cipher-base/compare/v1.0.4...v1.0.6">compare view</a></li>
</ul>
</details>
<details>
<summary>Maintainer changes</summary>
<p>This version was pushed to npm by <a href="https://www.npmjs.com/~ljharb">ljharb</a>, a new releaser for cipher-base since your current version.</p>
</details>
<br />


[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=cipher-base&package-manager=npm_and_yarn&previous-version=1.0.4&new-version=1.0.6)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
You can disable automated security fix PRs for this repo from the [Security Alerts page](https://github.com/hyperdxio/hyperdx/network/alerts).

</details>
2025-08-25 04:41:33 +00:00
dependabot[bot]
1776e5c911
build(deps): bump sha.js from 2.4.11 to 2.4.12 (#1095)
Bumps [sha.js](https://github.com/crypto-browserify/sha.js) from 2.4.11 to 2.4.12.
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a href="https://github.com/browserify/sha.js/blob/master/CHANGELOG.md">sha.js's changelog</a>.</em></p>
<blockquote>
<h2><a href="https://github.com/browserify/sha.js/compare/v2.4.11...v2.4.12">v2.4.12</a> - 2025-07-01</h2>
<h3>Commits</h3>
<ul>
<li>[eslint] switch to eslint <a href="7acadfbd3a"><code>7acadfb</code></a></li>
<li>[meta] add <code>auto-changelog</code> <a href="b46e7116eb"><code>b46e711</code></a></li>
<li>[eslint] fix package.json indentation <a href="df9d521e16"><code>df9d521</code></a></li>
<li>[Tests] migrate from travis to GHA <a href="c43c64adc6"><code>c43c64a</code></a></li>
<li>[Fix] support multi-byte wide typed arrays <a href="f2a258e9f2"><code>f2a258e</code></a></li>
<li>[meta] reorder package.json <a href="d8d77c0a72"><code>d8d77c0</code></a></li>
<li>[meta] add <code>npmignore</code> <a href="35aec35c66"><code>35aec35</code></a></li>
<li>[Tests] avoid console logs <a href="73e33ae0ca"><code>73e33ae</code></a></li>
<li>[Tests] fix tests run in batch <a href="262913006e"><code>2629130</code></a></li>
<li>[Tests] drop node requirement to 0.10 <a href="00c7f234aa"><code>00c7f23</code></a></li>
<li>[Dev Deps] update <code>buffer</code>, <code>hash-test-vectors</code>, <code>standard</code>, <code>tape</code>, <code>typedarray</code> <a href="92b5de5f67"><code>92b5de5</code></a></li>
<li>[Tests] drop node requirement to v3 <a href="9b5eca80fd"><code>9b5eca8</code></a></li>
<li>[meta] set engines to <code>&amp;gt;= 4</code> <a href="807084c5c0"><code>807084c</code></a></li>
<li>Only apps should have lockfiles <a href="c72789c7a1"><code>c72789c</code></a></li>
<li>[Deps] update <code>inherits</code>, <code>safe-buffer</code> <a href="5428cfc6f7"><code>5428cfc</code></a></li>
<li>[Dev Deps] update <code>@ljharb/eslint-config</code> <a href="2dbe0aab41"><code>2dbe0aa</code></a></li>
<li>update README to reflect LICENSE <a href="8938256dbb"><code>8938256</code></a></li>
<li>[Dev Deps] add missing peer dep <a href="d52889688c"><code>d528896</code></a></li>
<li>[Dev Deps] remove unused <code>buffer</code> dep <a href="94ca7247f4"><code>94ca724</code></a></li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="eb4ea2fd3d"><code>eb4ea2f</code></a> v2.4.12</li>
<li><a href="d8d77c0a72"><code>d8d77c0</code></a> [meta] reorder package.json</li>
<li><a href="df9d521e16"><code>df9d521</code></a> [eslint] fix package.json indentation</li>
<li><a href="35aec35c66"><code>35aec35</code></a> [meta] add <code>npmignore</code></li>
<li><a href="d52889688c"><code>d528896</code></a> [Dev Deps] add missing peer dep</li>
<li><a href="b46e7116eb"><code>b46e711</code></a> [meta] add <code>auto-changelog</code></li>
<li><a href="94ca7247f4"><code>94ca724</code></a> [Dev Deps] remove unused <code>buffer</code> dep</li>
<li><a href="2dbe0aab41"><code>2dbe0aa</code></a> [Dev Deps] update <code>@ljharb/eslint-config</code></li>
<li><a href="73e33ae0ca"><code>73e33ae</code></a> [Tests] avoid console logs</li>
<li><a href="f2a258e9f2"><code>f2a258e</code></a> [Fix] support multi-byte wide typed arrays</li>
<li>Additional commits viewable in <a href="https://github.com/crypto-browserify/sha.js/compare/v2.4.11...v2.4.12">compare view</a></li>
</ul>
</details>
<details>
<summary>Maintainer changes</summary>
<p>This version was pushed to npm by <a href="https://www.npmjs.com/~ljharb">ljharb</a>, a new releaser for sha.js since your current version.</p>
</details>
<br />


[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=sha.js&package-manager=npm_and_yarn&previous-version=2.4.11&new-version=2.4.12)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
You can disable automated security fix PRs for this repo from the [Security Alerts page](https://github.com/hyperdxio/hyperdx/network/alerts).

</details>
2025-08-25 04:36:57 +00:00
Mike Shi
0f242558b3
fix: Compatibilty with lowercase text skip index (#1089)
Expecting users to create schemas in the form of

```
INDEX inv_idx lower(Body) TYPE text(tokenizer = 'default') GRANULARITY 64
```

default tokenizer, and lower(Body) specifically
2025-08-21 19:47:20 +00:00
Warren
3636fc570d
style: update otelcol config file volume mount from dev stage (#1091) 2025-08-21 14:03:45 +00:00
Warren
56fd856d7a
fix: otelcol process in aio build (#1085) 2025-08-20 19:17:39 +00:00
github-actions[bot]
6d30caf023
Release HyperDX (#1082)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-08-19 10:15:56 -07:00
Warren
d29e2bcb67
fix: handle the case when CUSTOM_OTELCOL_CONFIG_FILE is not specified (#1080)
plus fixing startup issue when the team isn't created yet
2025-08-19 17:08:49 +00:00
Aaron Knudtson
5eeee5c887
docs: update to clickstack where possible (#1083)
Closes HDX-2221

One reference to hyperdx docs in [LOCAL.md](c2160536ac/LOCAL.md (L71)) remains because we don't have a Management APIs section in ClickStack docs yet
2025-08-19 16:23:26 +00:00
Dan Hable
c2160536ac
feat: group tasks by connection (#1071)
Group the alert tasks fetched from mongo into groups based on what needs to run from the same connection. This sets up for further optimizations and connection reuse.
2025-08-19 15:26:01 +00:00
github-actions[bot]
adb05ac723
Release HyperDX (#1066)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-08-18 14:54:21 -07:00
Warren
ab50b12a6b
feat: support custom otel collector config (BETA) (#1074)
plus the fix to reduce bloat in opamp agent logs

Users should be able to mount the custom otel collector config file and add/overrider receivers, processors and exporters
For example:
```
receivers:
  hostmetrics:
    collection_interval: 5s
    scrapers:
      cpu:
      load:
      memory:
      disk:
      filesystem:
      network:
# override the default processors
processors:
  batch:
    send_batch_size: 10000
    timeout: 10s
  memory_limiter:
    limit_mib: 2000
service:
  pipelines:
    metrics/hostmetrics:
      receivers: [hostmetrics]
      # attach existing processors
      processors: [memory_limiter, batch]
      # attach existing exporters
      exporters: [clickhouse]
```
This will add a new `hostmetrics` receiver + `metrics/hostmetrics` pipeline and update existing `batch` + `memory_limiter` processors 

WARNING: This feature is still in beta, and future updates may change how it works, potentially affecting compatibility

Ref: HDX-1865
2025-08-18 21:22:43 +00:00
Warren Lee
41083a450e chore: update changeset 2025-08-18 13:55:24 -07:00
Aaron Knudtson
35fe9cfe2d
fix: for order by optimization (#1075)
Ref HDX-1955
2025-08-18 20:43:26 +00:00
Candido Sales Gomes
5a59d32c00
chore: Upgraded NX from version 16.8.1 to 21.3.11 (#1076)
-  NX Version: 21.3.11 (Local)
-  All existing projects properly recognized: @hyperdx/common-utils, @hyperdx/api, @hyperdx/app
-  All NX commands are working properly
-  Edited the `.vscode/settings.json` adding `editor.tabSize`, `editor.insertSpaces`, `editor.detectIndentation` to keep the format standard for all developers.
-  Updated the `changeset`

## Why? Benefits

- Monorepo optimization - Improved incremental builds when only one package changes
- Enhanced Caching - More granular and intelligent caching mechanisms reduce redundant work
  - 20-40% faster build times in CI/CD due to improved caching 
- Improved Project Graph - Improved support for modern build tools (ESBuild, SWC, etc.)
- Enhanced visualization and analysis of project dependencies
- Clearer migration guides for future upgrades
- More intuitive commands and better error messages


## Tested

- `npx nx show projects`
- `npx nx graph --dry-run`
- `npx nx run @hyperdx/common-utils:dev --help`
- `bun run app:dev:local`

Lint

```
hyperdx/packages/common-utils && npm run build
npx nx run-many -t ci:lint
```

<img width="1126" height="314" alt="CleanShot 2025-08-17 at 22 47 19@2x" src="https://github.com/user-attachments/assets/e5186e1b-9799-491f-8ee8-25b26bd82a54" />


## Evidence

<img width="3810" height="1724" alt="CleanShot 2025-07-24 at 21 15 24@2x" src="https://github.com/user-attachments/assets/1f4d316e-de14-4e35-9098-3b33420afc18" />
2025-08-18 17:16:05 +00:00
Tomas Hulata
4c459dc03e
fix/escaped strings search (#1064)
I have problem with dynamic field in clickhouse json datatype.  My database looks for now like this
```
 │ CREATE TABLE click.log_json_better                                                ↴│
   │↳(                                                                                 ↴│
   │↳    `log` JSON,                                                                   ↴│
   │↳    `ingest_time` DateTime64(9) DEFAULT now64(9)                                  ↴│
   │↳) 
```
If some field contains string like bellow  
`SELECT log.message,  FROM click.log_json_better WHERE ...`
with result
```
log.message──┐
1. │ {"took":7,"errors":false,"items":[{"create":{...trunc # sometimes valid json, sometimes not 
```
but this is representation, select for whole log 
```
SELECT log
FROM click.log_json_better
WHERE (ingest_time = parseDateTime64BestEffort('2025-08-11T10:27:01.901588629Z', 9))...
```
truncated result with message part
```
trunc...4-536e18d9ad92"},"message":"{\"took\":7,\"errors\":false,\"items\...truc
```
<img width="1222" height="116" alt="image" src="https://github.com/user-attachments/assets/bee99ec4-708f-4a32-a7a0-4082bdc73a6c" />

so it's stored as escaped string and API is returning it as escaped string as well 
`"{\"took\":7,\"errors\":false...trunc`
<img width="1731" height="553" alt="image" src="https://github.com/user-attachments/assets/97a2b608-490f-47cb-909e-3d7f9e411cc0" />

Then when I  clicked on such row, it is escaped again and created query has no match in DB.
```
AND toString(`log`.message) = '{\\\"took\\\":4,...
```
<img width="1538" height="81" alt="image" src="https://github.com/user-attachments/assets/92f85860-2a1f-499b-b52a-f076e3fe0ecb" />

so I've made a simple fix with SqlString.raw. I've tried to match record  with md5, to not use whole field content for search query, but no luck with playing around with escaping and stripping escaping.

At first, I've removed `Search value/object key too large.` error, because this was problem that I've encountered as first, trowing error crashed whole UI. I've had no problem with string 10x larger than 1000 chars.
2025-08-14 03:58:48 +00:00
Toan Ho
823566f3ce
chore: show display switcher on dashboard page (#1062) 2025-08-12 21:26:21 -04:00
Aaron Knudtson
5ad14554e4
fix: optimize search query for searches that include a "toStartOfX" timestamp query before the Timestamp field (#1047)
Closes HDX-1955

This allows the frontend to use a more optimized ORDER BY clause for tables that have a time bucketed sort key for large scale performance
2025-08-12 20:49:26 +00:00
Mike Shi
6dd616511f
feat: Display original query to error messages in search page (#1068)
<img width="1621" height="979" alt="image" src="https://github.com/user-attachments/assets/0dff42a3-3223-4a1b-98cf-a171d4cf36f7" />
2025-08-12 20:45:40 +00:00
Mike Shi
9cd9bfb812
fix: Properly fetch tables in source edit dropdown when new connection is selected (#1067) 2025-08-12 17:38:05 +00:00