You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@superset.apache.org by "sadpandajoe (via GitHub)" <gi...@apache.org> on 2026/08/06 00:45:36 UTC
[PR] fix(reports): apply chart number and currency formatting to tables sent as text [superset]
sadpandajoe opened a new pull request, #42820:
URL: https://github.com/apache/superset/pull/42820
### SUMMARY
When an Alert/Report sends a Table or Pivot Table chart **as text** (embedded in the email body), the number and currency formatting configured on the chart was not applied, so the email showed raw values.
`superset/charts/client_processing.py` reproduces the chart's client-side formatting on the server for reports. For Table it attempted only `d3NumberFormat`, by pasting the d3 format string straight into Python's `str.format` mini-language — a different grammar — wrapped in a bare `except: pass` whose comment reads "if we can't format the column for any reason, send as is".
The two grammars overlap only narrowly, so most specifiers raised and silently fell back to the raw value: `.1s`, `$,.2f`, `~g` and the default `SMART_NUMBER` all fail outright. Even `,d` works only for `int` — it raises `Unknown format code 'd'` on `float`, and pandas metric columns are `float64`, so it failed for ordinary counts and sums too. Specs valid in both grammars, such as `,.2f`, were the only ones that came through. Nothing was logged, so the failure was invisible rather than merely wrong.
`currencyFormat` was never read on that path at all, and `pivot_table_v2()` applied no formatting whatsoever.
This adds `superset/utils/number_format.py`, a Python port of the frontend formatters — d3-format, `createSmartNumberFormatter.ts` and `CurrencyFormatter.ts` — reusing Babel (already a dependency) for currency symbols, and wires it into `table()` and `pivot_table_v2()`.
This supersedes #41028, which was opened against a fork that is no longer maintained. The original work is carried here with attribution, plus the review feedback that PR had accumulated. Thanks to @massucattoj for the original implementation.
### WHAT'S INCLUDED BEYOND THE ORIGINAL
The commits are grouped by intent and are best read in order.
**Review feedback from #41028**
- **Saved metric formats are no longer dropped.** Both frontend plugins read per-metric formats from the datasource's `column_formats`, while the server read only `columnFormats` from form data — and `table()` ignored the datasource entirely. Datasource formats are now merged with chart-level overrides, chart winning, matching `plugin-chart-table/src/transformProps.ts` and `PivotTableChart.tsx`.
- **Currency symbol placement respects the configured locale** instead of a hard-coded `en_US`, so reports agree with Explore on non-English deployments. Reports run in a Celery worker with no request context, so resolution falls back through `BABEL_DEFAULT_LOCALE` to a safe default.
- **Per-row/per-cell currency context is supported.** The query already returns the currency column and the payload retains it; the association was being lost in `pivot_df`. A parallel pivot now carries the set of contributing currencies through cells, totals and subtotals. A cell backed by a single currency renders that symbol, a cell mixing currencies stays neutral, and an empty context follows the existing fallback.
**Columns relying on the implicit default**
The browser gives every numeric metric column a formatter even when nothing is configured — `getNumberFormatter(undefined)` resolves to the registry default, `SMART_NUMBER`. Report text previously formatted only columns with an explicit format, so an aggregate metric with no configured format showed `1.23M` in Explore and `1234567` in the email. That is the same symptom this PR targets, in its most common form.
Table now applies the same defaults as the plugin: `PERCENT_3_POINT` for percent metrics, `SMART_NUMBER` for numeric metrics with no explicit format. Numeric **dimension** columns are deliberately left untouched, matching `transformProps.ts` — there is a test asserting a numeric dimension stays raw while its sibling metric formats.
This gap is Table-specific in practice. The Pivot Table's `valueFormat` control carries a `SMART_NUMBER` default that is persisted into saved form data, so pivots created through the UI were already covered; Table's is a *per-column* formatter the browser synthesizes at render time, so nothing is ever persisted for it. Pivot still gets a small defensive fallback for charts that never persisted the key (API-created or older), which is a no-op wherever `valueFormat` is present.
**A crash, not just a formatting miss**
Carrying per-row currency through a pivot left the parallel currency structure with `NaN` in the empty cells of a sparse cross-product, which raised `TypeError` outside any error handling and failed report generation entirely. A missing or non-iterable currency context is now coerced to the empty-context path, which resolves the same way it always did (single currency → that symbol, mixed → neutral, empty → detected fallback).
**d3 parity fixes**
These came from diffing the port against regenerated `d3-format` output rather than from reading the Python:
- whole-valued floats no longer gain a trailing `.0` under `,` and `+,` — pandas metric columns are `float64`, so this affected the common case of counts and sums
- `f`/`%`/`e`/`s`/`r` use d3-compatible rounding rather than Python's half-to-even, so money presets like `,.2f` and `$,.2f` match the browser
- default/`,` formatting follows d3's exponent thresholds instead of forcing fixed-point
- `~g` keeps small values in fixed notation instead of switching to scientific
- `.0s` clamps to one significant digit rather than rendering `0k`
**Failing loudly instead of quietly**
The specifier parser previously accepted d3 grammar it did not implement, which is the worst case: a valid user-entered format silently rendering a confidently wrong number. Accounting parentheses and space-sign are now implemented; fill, align, zero-pad and width are rejected explicitly. Rejected formats preserve the raw value, which is visible and correctable.
### KNOWN LIMITATION
The specialized preset families — `DURATION`, `DURATION_SUB`, `DURATION_COL`, `MEMORY_DECIMAL`, `MEMORY_BINARY`, `MEMORY_TRANSFER_RATE_*` and the length formatters — are **not** ported. They are rejected explicitly and fall back to the raw value, so a chart using one of them still shows an unformatted number in report text.
This is deliberate: those are locale-aware formatter factories rather than d3 format strings, and porting them faithfully is a separate piece of work. They are called out here rather than left to be discovered, since this PR does not make report formatting complete — it makes the d3 and currency formats work and makes the rest fail visibly instead of silently.
### TESTING INSTRUCTIONS
1. Create a Table or Pivot Table chart and configure a number format (e.g. `.1s`, `,.2f`) and/or a currency on a column.
2. Open the endpoint reports use to build the embedded table:
`/api/v1/chart/<chart_id>/data/?type=post_processed&format=json`
Numeric columns with a configured format now render formatted (`8k`, `$ 1,234.50`) instead of raw.
3. Full path: configure an Alert/Report to send the chart as text and confirm the email body table is formatted.
4. Unit tests:
```
pytest tests/unit_tests/utils/number_format_test.py tests/unit_tests/charts/test_client_processing.py
```
163 tests. The parity suite asserts against values captured from real `d3-format` output rather than from this implementation.
CSV/XLSX attachments keep raw numeric values and column types for downstream analysis — formatting applies to the JSON path only. This is a behavior change from before (the old code formatted regardless of result format) and is noted in `UPDATING.md`.
### ADDITIONAL INFORMATION
<!--- Check any relevant boxes with "x" -->
- [ ] Has associated issue:
- [ ] Required feature flags:
- [ ] Changes UI
- [ ] Includes DB Migration (follow approval process in [SIP-59](https://github.com/apache/superset/issues/13351))
- [ ] Migration is atomic, supports rollback & is backwards-compatible
- [ ] Confirm DB migration upgrade and downgrade tested
- [ ] Runtime estimates and downtime expectations provided
- [ ] Introduces new feature or API
- [ ] Removes existing feature or API
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: notifications-unsubscribe@superset.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: notifications-unsubscribe@superset.apache.org
For additional commands, e-mail: notifications-help@superset.apache.org
Re: [PR] fix(reports): apply chart number and currency formatting to tables sent as text [superset]
Posted by "bito-code-review[bot] (via GitHub)" <gi...@apache.org>.
bito-code-review[bot] commented on PR #42820:
URL: https://github.com/apache/superset/pull/42820#issuecomment-5202767541
AI Code Review is in progress (usually takes 3 to 15 minutes unless it's a very large PR).
<details>
<summary>
Bito Usage Guide
</summary>
**Commands**
Type the following command in the pull request comment and save the comment.
- `/review` - Manually triggers a full AI review.
- `/pause` - Pauses automatic reviews on this pull request.
- `/resume` - Resumes automatic reviews.
- `/resolve` - Marks all Bito-posted review comments as resolved.
- `/abort` - Cancels all in-progress reviews.
Refer to the <a href="https://docs.bito.ai/bito-dev-agents/ai-code-review-agent/available-commands" target="_blank" rel="noopener noreferrer">documentation</a> for additional commands.
**Configuration**
This repository uses `Superset` You can customize the agent settings <a href="https://alpha.bito.ai/home/ai-agents/code-review-agent" target="_blank" rel="noopener noreferrer">here</a> or contact your Bito workspace admin at evan@preset.io.
**Documentation & Help**
- <a href="https://docs.bito.ai/bito-dev-agents/ai-code-review-agent/getting-started/install-run-using-bito-cloud/create-or-customize-an-agent-instance" target="_blank" rel="noopener noreferrer">Customize agent settings</a>
- <a href="https://docs.bito.ai/bito-dev-agents/ai-code-review-agent/implementing-custom-code-review-rules" target="_blank" rel="noopener noreferrer">Review rules</a>
- <a href="https://docs.bito.ai/bito-dev-agents/ai-code-review-agent" target="_blank" rel="noopener noreferrer">General documentation</a>
- <a href="https://docs.bito.ai/bito-dev-agents/ai-code-review-agent/faqs" target="_blank" rel="noopener noreferrer">FAQ</a>
</details>
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: notifications-unsubscribe@superset.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: notifications-unsubscribe@superset.apache.org
For additional commands, e-mail: notifications-help@superset.apache.org
Re: [PR] fix(reports): apply chart number and currency formatting to tables sent as text [superset]
Posted by "codecov[bot] (via GitHub)" <gi...@apache.org>.
codecov[bot] commented on PR #42820:
URL: https://github.com/apache/superset/pull/42820#issuecomment-5199124007
## [Codecov](https://app.codecov.io/gh/apache/superset/pull/42820?dropdown=coverage&src=pr&el=h1&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache) Report
:x: Patch coverage is `16.24650%` with `299 lines` in your changes missing coverage. Please review.
:white_check_mark: Project coverage is 56.08%. Comparing base ([`32e4e3c`](https://app.codecov.io/gh/apache/superset/commit/32e4e3c6a88455b7861cdc0230cbff97323f9700?dropdown=coverage&el=desc&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)) to head ([`01b3dab`](https://app.codecov.io/gh/apache/superset/commit/01b3dab6cdc6296ff42b5dce015e26d35ea187ea?dropdown=coverage&el=desc&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)).
:warning: Report is 3 commits behind head on master.
| [Files with missing lines](https://app.codecov.io/gh/apache/superset/pull/42820?dropdown=coverage&src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache) | Patch % | Lines |
|---|---|---|
| [superset/utils/number\_format.py](https://app.codecov.io/gh/apache/superset/pull/42820?src=pr&el=tree&filepath=superset%2Futils%2Fnumber_format.py&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache#diff-c3VwZXJzZXQvdXRpbHMvbnVtYmVyX2Zvcm1hdC5weQ==) | 18.80% | [177 Missing :warning: ](https://app.codecov.io/gh/apache/superset/pull/42820?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache) |
| [superset/charts/client\_processing.py](https://app.codecov.io/gh/apache/superset/pull/42820?src=pr&el=tree&filepath=superset%2Fcharts%2Fclient_processing.py&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache#diff-c3VwZXJzZXQvY2hhcnRzL2NsaWVudF9wcm9jZXNzaW5nLnB5) | 12.23% | [122 Missing :warning: ](https://app.codecov.io/gh/apache/superset/pull/42820?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache) |
> :exclamation: There is a different number of reports uploaded between BASE (32e4e3c) and HEAD (01b3dab). Click for more details.
>
> <details><summary>HEAD has 34 uploads less than BASE</summary>
>
>| Flag | BASE (32e4e3c) | HEAD (01b3dab) |
>|------|------|------|
>|python|31|1|
>|presto|5|1|
></details>
<details><summary>Additional details and impacted files</summary>
```diff
@@ Coverage Diff @@
## master #42820 +/- ##
==========================================
- Coverage 65.73% 56.08% -9.66%
==========================================
Files 2843 2844 +1
Lines 162670 163017 +347
Branches 37255 37322 +67
==========================================
- Hits 106932 91420 -15512
- Misses 53646 70754 +17108
+ Partials 2092 843 -1249
```
| [Flag](https://app.codecov.io/gh/apache/superset/pull/42820/flags?src=pr&el=flags&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache) | Coverage Δ | |
|---|---|---|
| [hive](https://app.codecov.io/gh/apache/superset/pull/42820/flags?src=pr&el=flag&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache) | `?` | |
| [mysql](https://app.codecov.io/gh/apache/superset/pull/42820/flags?src=pr&el=flag&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache) | `?` | |
| [postgres](https://app.codecov.io/gh/apache/superset/pull/42820/flags?src=pr&el=flag&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache) | `?` | |
| [presto](https://app.codecov.io/gh/apache/superset/pull/42820/flags?src=pr&el=flag&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache) | `39.77% <16.24%> (-0.10%)` | :arrow_down: |
| [python](https://app.codecov.io/gh/apache/superset/pull/42820/flags?src=pr&el=flag&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache) | `39.77% <16.24%> (-19.44%)` | :arrow_down: |
| [sqlite](https://app.codecov.io/gh/apache/superset/pull/42820/flags?src=pr&el=flag&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache) | `?` | |
| [unit](https://app.codecov.io/gh/apache/superset/pull/42820/flags?src=pr&el=flag&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache) | `?` | |
Flags with carried forward coverage won't be shown. [Click here](https://docs.codecov.io/docs/carryforward-flags?utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache#carryforward-flags-in-the-pull-request-comment) to find out more.
</details>
[:umbrella: View full report in Codecov by Harness](https://app.codecov.io/gh/apache/superset/pull/42820?dropdown=coverage&src=pr&el=continue&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache).
:loudspeaker: Have feedback on the report? [Share it here](https://about.codecov.io/codecov-pr-comment-feedback/?utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache).
<details><summary> :rocket: New features to boost your workflow: </summary>
- :snowflake: [Test Analytics](https://docs.codecov.com/docs/test-analytics): Detect flaky tests, report on failures, and find test suite problems.
- :package: [JS Bundle Analysis](https://docs.codecov.com/docs/javascript-bundle-analysis): Save yourself from yourself by tracking and limiting bundle sizes in JS merges.
</details>
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: notifications-unsubscribe@superset.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: notifications-unsubscribe@superset.apache.org
For additional commands, e-mail: notifications-help@superset.apache.org
Re: [PR] fix(reports): apply chart number and currency formatting to tables sent as text [superset]
Posted by "sadpandajoe (via GitHub)" <gi...@apache.org>.
sadpandajoe merged PR #42820:
URL: https://github.com/apache/superset/pull/42820
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: notifications-unsubscribe@superset.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: notifications-unsubscribe@superset.apache.org
For additional commands, e-mail: notifications-help@superset.apache.org
Re: [PR] fix(reports): apply chart number and currency formatting to tables sent as text [superset]
Posted by "bito-code-review[bot] (via GitHub)" <gi...@apache.org>.
bito-code-review[bot] commented on PR #42820:
URL: https://github.com/apache/superset/pull/42820#issuecomment-5199100882
AI Code Review is in progress (usually takes 3 to 15 minutes unless it's a very large PR).
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: notifications-unsubscribe@superset.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: notifications-unsubscribe@superset.apache.org
For additional commands, e-mail: notifications-help@superset.apache.org
Re: [PR] fix(reports): apply chart number and currency formatting to tables sent as text [superset]
Posted by "bito-code-review[bot] (via GitHub)" <gi...@apache.org>.
bito-code-review[bot] commented on PR #42820:
URL: https://github.com/apache/superset/pull/42820#issuecomment-5202773718
AI Code Review is in progress (usually takes 3 to 15 minutes unless it's a very large PR).
<details>
<summary>
Bito Usage Guide
</summary>
**Commands**
Type the following command in the pull request comment and save the comment.
- `/review` - Manually triggers a full AI review.
- `/pause` - Pauses automatic reviews on this pull request.
- `/resume` - Resumes automatic reviews.
- `/resolve` - Marks all Bito-posted review comments as resolved.
- `/abort` - Cancels all in-progress reviews.
Refer to the <a href="https://docs.bito.ai/bito-dev-agents/ai-code-review-agent/available-commands" target="_blank" rel="noopener noreferrer">documentation</a> for additional commands.
**Configuration**
This repository uses `Superset` You can customize the agent settings <a href="https://alpha.bito.ai/home/ai-agents/code-review-agent" target="_blank" rel="noopener noreferrer">here</a> or contact your Bito workspace admin at evan@preset.io.
**Documentation & Help**
- <a href="https://docs.bito.ai/bito-dev-agents/ai-code-review-agent/getting-started/install-run-using-bito-cloud/create-or-customize-an-agent-instance" target="_blank" rel="noopener noreferrer">Customize agent settings</a>
- <a href="https://docs.bito.ai/bito-dev-agents/ai-code-review-agent/implementing-custom-code-review-rules" target="_blank" rel="noopener noreferrer">Review rules</a>
- <a href="https://docs.bito.ai/bito-dev-agents/ai-code-review-agent" target="_blank" rel="noopener noreferrer">General documentation</a>
- <a href="https://docs.bito.ai/bito-dev-agents/ai-code-review-agent/faqs" target="_blank" rel="noopener noreferrer">FAQ</a>
</details>
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: notifications-unsubscribe@superset.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: notifications-unsubscribe@superset.apache.org
For additional commands, e-mail: notifications-help@superset.apache.org
Re: [PR] fix(reports): apply chart number and currency formatting to tables sent as text [superset]
Posted by "bito-code-review[bot] (via GitHub)" <gi...@apache.org>.
bito-code-review[bot] commented on PR #42820:
URL: https://github.com/apache/superset/pull/42820#issuecomment-5221015372
AI Code Review is in progress (usually takes 3 to 15 minutes unless it's a very large PR).
<details>
<summary>
Bito Usage Guide
</summary>
**Commands**
Type the following command in the pull request comment and save the comment.
- `/review` - Manually triggers a full AI review.
- `/pause` - Pauses automatic reviews on this pull request.
- `/resume` - Resumes automatic reviews.
- `/resolve` - Marks all Bito-posted review comments as resolved.
- `/abort` - Cancels all in-progress reviews.
Refer to the <a href="https://docs.bito.ai/bito-dev-agents/ai-code-review-agent/available-commands" target="_blank" rel="noopener noreferrer">documentation</a> for additional commands.
**Configuration**
This repository uses `Superset` You can customize the agent settings <a href="https://alpha.bito.ai/home/ai-agents/code-review-agent" target="_blank" rel="noopener noreferrer">here</a> or contact your Bito workspace admin at evan@preset.io.
**Documentation & Help**
- <a href="https://docs.bito.ai/bito-dev-agents/ai-code-review-agent/getting-started/install-run-using-bito-cloud/create-or-customize-an-agent-instance" target="_blank" rel="noopener noreferrer">Customize agent settings</a>
- <a href="https://docs.bito.ai/bito-dev-agents/ai-code-review-agent/implementing-custom-code-review-rules" target="_blank" rel="noopener noreferrer">Review rules</a>
- <a href="https://docs.bito.ai/bito-dev-agents/ai-code-review-agent" target="_blank" rel="noopener noreferrer">General documentation</a>
- <a href="https://docs.bito.ai/bito-dev-agents/ai-code-review-agent/faqs" target="_blank" rel="noopener noreferrer">FAQ</a>
</details>
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: notifications-unsubscribe@superset.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: notifications-unsubscribe@superset.apache.org
For additional commands, e-mail: notifications-help@superset.apache.org
Re: [PR] fix(reports): apply chart number and currency formatting to tables sent as text [superset]
Posted by "bito-code-review[bot] (via GitHub)" <gi...@apache.org>.
bito-code-review[bot] commented on PR #42820:
URL: https://github.com/apache/superset/pull/42820#issuecomment-5259407247
AI Code Review is in progress (usually takes 3 to 15 minutes unless it's a very large PR).
<details>
<summary>
Bito Usage Guide
</summary>
**Commands**
Type the following command in the pull request comment and save the comment.
- `/review` - Manually triggers a full AI review.
- `/pause` - Pauses automatic reviews on this pull request.
- `/resume` - Resumes automatic reviews.
- `/resolve` - Marks all Bito-posted review comments as resolved.
- `/abort` - Cancels all in-progress reviews.
Refer to the <a href="https://docs.bito.ai/bito-dev-agents/ai-code-review-agent/available-commands" target="_blank" rel="noopener noreferrer">documentation</a> for additional commands.
**Configuration**
This repository uses `Superset` You can customize the agent settings <a href="https://alpha.bito.ai/home/ai-agents/code-review-agent" target="_blank" rel="noopener noreferrer">here</a> or contact your Bito workspace admin at evan@preset.io.
**Documentation & Help**
- <a href="https://docs.bito.ai/bito-dev-agents/ai-code-review-agent/getting-started/install-run-using-bito-cloud/create-or-customize-an-agent-instance" target="_blank" rel="noopener noreferrer">Customize agent settings</a>
- <a href="https://docs.bito.ai/bito-dev-agents/ai-code-review-agent/implementing-custom-code-review-rules" target="_blank" rel="noopener noreferrer">Review rules</a>
- <a href="https://docs.bito.ai/bito-dev-agents/ai-code-review-agent" target="_blank" rel="noopener noreferrer">General documentation</a>
- <a href="https://docs.bito.ai/bito-dev-agents/ai-code-review-agent/faqs" target="_blank" rel="noopener noreferrer">FAQ</a>
</details>
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: notifications-unsubscribe@superset.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: notifications-unsubscribe@superset.apache.org
For additional commands, e-mail: notifications-help@superset.apache.org