You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@superset.apache.org by "mistercrunch (via GitHub)" <gi...@apache.org> on 2026/04/14 14:10:48 UTC
[PR] fix(charts): use separator-aware matching for time shift column grouping [superset]
mistercrunch opened a new pull request, #39344:
URL: https://github.com/apache/superset/pull/39344
### SUMMARY
When using time comparison with offsets that share a numeric suffix (e.g. "2 weeks ago" and "22 weeks ago"), charts could fail because the column grouping logic in `get_column_groups()` used a bare `endswith(ts)` check. Since `"metric__22 weeks ago".endswith("2 weeks ago")` is `True` (the string "22 weeks ago" literally ends with "2 weeks ago"), columns were misclassified into the wrong time shift group.
**Fix:** Changed `col_0.endswith(ts)` β `col_0.endswith(TIME_COMPARISON + ts)` to include the `__` separator in the suffix match. This ensures `"metric__22 weeks ago".endswith("__2 weeks ago")` correctly returns `False`.
### BEFORE/AFTER SCREENSHOTS OR ANIMATED GIF
N/A β backend-only logic fix
### TESTING INSTRUCTIONS
1. Create a chart with two time comparison offsets where one is a numeric suffix of the other (e.g. "2 weeks ago" and "22 weeks ago")
2. Enable contribution mode (row orientation)
3. Verify the chart renders without errors and contribution percentages are correct per time shift group
Or run the unit test:
```bash
pytest tests/unit_tests/pandas_postprocessing/test_contribution.py::test_contribution_with_numeric_prefix_time_shifts -v
```
### ADDITIONAL INFORMATION
- [ ] 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
π€ Generated with [Claude Code](https://claude.com/claude-code)
--
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(charts): fix time comparison crash when offsets share a numeric prefix [superset]
Posted by "mistercrunch (via GitHub)" <gi...@apache.org>.
mistercrunch commented on code in PR #39344:
URL: https://github.com/apache/superset/pull/39344#discussion_r3197088958
##########
superset/models/helpers.py:
##########
@@ -1881,10 +1881,20 @@ def join_offset_dfs(
time_grain
)
- if join_column_producer and not time_grain:
- raise QueryObjectValidationError(
- _("Time Grain must be specified when using Time Shift.")
+ if not time_grain:
+ has_relative_offset = any(
+ not (
+ self.is_valid_date_range(offset)
+ and feature_flag_manager.is_feature_enabled(
+ "DATE_RANGE_TIMESHIFTS_ENABLED"
+ )
+ )
+ for offset in offset_dfs
)
+ if has_relative_offset:
Review Comment:
Addressed in commit c08706e4 β validation now checks whether any join key is temporal before requiring time grain, so non-timeseries comparisons (e.g., table chart grouped by text dimension) work without time grain.
##########
tests/unit_tests/utils/test_core.py:
##########
@@ -1688,3 +1690,10 @@ def test_sanitize_url_blocks_dangerous():
"""Test that dangerous URL schemes are blocked."""
assert sanitize_url("javascript:alert('xss')") == ""
assert sanitize_url("data:text/html,<script>alert(1)</script>") == ""
+
+
+def test_extract_dataframe_dtypes_with_duplicate_columns():
Review Comment:
Added return type annotation in b89364531f.
--
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(charts): use separator-aware matching for time shift column grouping [superset]
Posted by "bito-code-review[bot] (via GitHub)" <gi...@apache.org>.
bito-code-review[bot] commented on PR #39344:
URL: https://github.com/apache/superset/pull/39344#issuecomment-4285773795
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(charts): fix time comparison crash when offsets share a numeric prefix [superset]
Posted by "bito-code-review[bot] (via GitHub)" <gi...@apache.org>.
bito-code-review[bot] commented on PR #39344:
URL: https://github.com/apache/superset/pull/39344#issuecomment-4724186992
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(charts): use separator-aware matching for time shift column grouping [superset]
Posted by "codeant-ai-for-open-source[bot] (via GitHub)" <gi...@apache.org>.
codeant-ai-for-open-source[bot] commented on code in PR #39344:
URL: https://github.com/apache/superset/pull/39344#discussion_r3114827539
##########
superset/models/helpers.py:
##########
@@ -1881,10 +1881,20 @@ def join_offset_dfs(
time_grain
)
- if join_column_producer and not time_grain:
- raise QueryObjectValidationError(
- _("Time Grain must be specified when using Time Shift.")
+ if not time_grain:
+ has_relative_offset = any(
+ not (
+ self.is_valid_date_range(offset)
+ and feature_flag_manager.is_feature_enabled(
+ "DATE_RANGE_TIMESHIFTS_ENABLED"
+ )
+ )
+ for offset in offset_dfs
)
+ if has_relative_offset:
Review Comment:
**Suggestion:** The new validation raises whenever `time_grain` is missing and there is a relative offset, but that also blocks valid non-timeseries comparisons where data is joined on non-temporal dimensions (or totals with no temporal join key). This breaks existing behavior in `processing_time_offsets`, which explicitly supports non-datetime index flows. Only require time grain when the join actually depends on a temporal key. [logic error]
<details>
<summary><b>Severity Level:</b> Major β οΈ</summary>
```mdx
- β Non-timeseries charts with relative offsets raise validation errors.
- β Totals queries with time comparison fail in `join_offset_dfs`.
- β οΈ `/api/v1/chart/data` time comparison breaks for some payloads.
- β οΈ Advanced analytics time offset unusable without time grain set.
```
</details>
```suggestion
has_temporal_join_key = bool(join_keys) and (
join_keys[0] in {"ds", "__timestamp", "dttm"}
or pd.api.types.is_datetime64_any_dtype(df[join_keys[0]])
)
if has_relative_offset and has_temporal_join_key:
```
<details>
<summary><b>Steps of Reproduction β
</b></summary>
```mdx
1. Create a `QueryObject` (from `superset/common/query_object.py:79`) that uses time
comparison with a relative offset but no explicit time grain, e.g. `granularity=None`,
`extras={}`, `time_offsets=["1 year ago"]`, `columns=["dim1"]`, and a valid `time_range`
so that `get_since_until_from_query_object` in `superset/models/helpers.py:1386` returns
non-null `outer_from_dttm`/`outer_to_dttm`.
2. Execute a query through a datasource using `ExploreMixin.query()` so that, after the
main query runs and `df` is normalized, `processing_time_offsets()` is invoked from
`superset/models/helpers.py:1320-1336` when `query_object.time_offsets` is non-empty.
3. Inside `processing_time_offsets()` (`superset/models/helpers.py:1355-1606`), for the
relative offset `"1 year ago"` the method computes shifted `from_dttm`/`to_dttm`, adjusts
filters even when the x-axis/index is non-datetime (branch at lines ~1511β1527 using
`dataframe_utils.is_datetime_series`), builds `offset_dfs`, and then computes `time_grain
= self.get_time_grain(query_object)` at line 48, which returns `None` because both
`query_object.columns[0].get("timeGrain")` and
`query_object.extras.get("time_grain_sqla")` are absent.
4. When `offset_dfs` is non-empty, `processing_time_offsets()` calls
`self.join_offset_dfs(df, offset_dfs, time_grain, join_keys)` at
`superset/models/helpers.py:1606-1634`; in `join_offset_dfs()` the new guard at lines
1884β1893 sees `not time_grain` and that the offset `"1 year ago"` is *not* a valid date
range (`is_valid_date_range` is False), so `has_relative_offset` is True and it raises
`QueryObjectValidationError("Time Grain must be specified when using Time Comparison.")`
at line 1895β1897, even though the join keys are purely non-temporal (e.g. `["dim1"]`) and
previous behavior supported this non-timeseries time comparison path without requiring a
time grain.
```
</details>
[Fix in Cursor](https://app.codeant.ai/fix-in-ide?tool=cursor&prompt=This%20is%20a%20comment%20left%20during%20a%20code%20review.%0A%0A%2A%2APath%3A%2A%2A%20superset%2Fmodels%2Fhelpers.py%0A%2A%2ALine%3A%2A%2A%201894%3A1894%0A%2A%2AComment%3A%2A%2A%0A%09%2ALogic%20Error%3A%20The%20new%20validation%20raises%20whenever%20%60time_grain%60%20is%20missing%20and%20there%20is%20a%20relative%20offset%2C%20but%20that%20also%20blocks%20valid%20non-timeseries%20comparisons%20where%20data%20is%20joined%20on%20non-temporal%20dimensions%20%28or%20totals%20with%20no%20temporal%20join%20key%29.%20This%20breaks%20existing%20behavior%20in%20%60processing_time_offsets%60%2C%20which%20explicitly%20supports%20non-datetime%20index%20flows.%20Only%20require%20time%20grain%20when%20the%20join%20actually%20depends%20on%20a%20temporal%20key.%0A%0AValidate%20the%20correctness%20of%20the%20flagged%20issue.%20If%20correct%2C%20How%20can%20I%20resolve%20this%3F%20If%20you%20propose%20a%20fix%2C%20implement%20i
t%20and%20please%20make%20it%20concise.%0AOnce%20fix%20is%20implemented%2C%20also%20check%20other%20comments%20on%20the%20same%20PR%2C%20and%20ask%20user%20if%20the%20user%20wants%20to%20fix%20the%20rest%20of%20the%20comments%20as%20well.%20if%20said%20yes%2C%20then%20fetch%20all%20the%20comments%20validate%20the%20correctness%20and%20implement%20a%20minimal%20fix%0A) | [Fix in VSCode Claude](https://app.codeant.ai/fix-in-ide?tool=vscode-claude&prompt=This%20is%20a%20comment%20left%20during%20a%20code%20review.%0A%0A%2A%2APath%3A%2A%2A%20superset%2Fmodels%2Fhelpers.py%0A%2A%2ALine%3A%2A%2A%201894%3A1894%0A%2A%2AComment%3A%2A%2A%0A%09%2ALogic%20Error%3A%20The%20new%20validation%20raises%20whenever%20%60time_grain%60%20is%20missing%20and%20there%20is%20a%20relative%20offset%2C%20but%20that%20also%20blocks%20valid%20non-timeseries%20comparisons%20where%20data%20is%20joined%20on%20non-temporal%20dimensions%20%28or%20totals%20with%20no%20temporal%20join%20key%29.%20This%20breaks%20existi
ng%20behavior%20in%20%60processing_time_offsets%60%2C%20which%20explicitly%20supports%20non-datetime%20index%20flows.%20Only%20require%20time%20grain%20when%20the%20join%20actually%20depends%20on%20a%20temporal%20key.%0A%0AValidate%20the%20correctness%20of%20the%20flagged%20issue.%20If%20correct%2C%20How%20can%20I%20resolve%20this%3F%20If%20you%20propose%20a%20fix%2C%20implement%20it%20and%20please%20make%20it%20concise.%0AOnce%20fix%20is%20implemented%2C%20also%20check%20other%20comments%20on%20the%20same%20PR%2C%20and%20ask%20user%20if%20the%20user%20wants%20to%20fix%20the%20rest%20of%20the%20comments%20as%20well.%20if%20said%20yes%2C%20then%20fetch%20all%20the%20comments%20validate%20the%20correctness%20and%20implement%20a%20minimal%20fix%0A)
*(Use Cmd/Ctrl + Click for best experience)*
<details>
<summary><b>Prompt for AI Agent π€ </b></summary>
```mdx
This is a comment left during a code review.
**Path:** superset/models/helpers.py
**Line:** 1894:1894
**Comment:**
*Logic Error: The new validation raises whenever `time_grain` is missing and there is a relative offset, but that also blocks valid non-timeseries comparisons where data is joined on non-temporal dimensions (or totals with no temporal join key). This breaks existing behavior in `processing_time_offsets`, which explicitly supports non-datetime index flows. Only require time grain when the join actually depends on a temporal key.
Validate the correctness of the flagged issue. If correct, How can I resolve this? If you propose a fix, implement it and please make it concise.
Once fix is implemented, also check other comments on the same PR, and ask user if the user wants to fix the rest of the comments as well. if said yes, then fetch all the comments validate the correctness and implement a minimal fix
```
</details>
<a href='https://app.codeant.ai/feedback?pr_url=https%3A%2F%2Fgithub.com%2Fapache%2Fsuperset%2Fpull%2F39344&comment_hash=e59b8610460b6cc39ea16e0dbf291a27c53ad4bdafd91d5739473a88af450eea&reaction=like'>π</a> | <a href='https://app.codeant.ai/feedback?pr_url=https%3A%2F%2Fgithub.com%2Fapache%2Fsuperset%2Fpull%2F39344&comment_hash=e59b8610460b6cc39ea16e0dbf291a27c53ad4bdafd91d5739473a88af450eea&reaction=dislike'>π</a>
--
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(charts): fix time comparison crash when offsets share a numeric prefix [superset]
Posted by "codeant-ai-for-open-source[bot] (via GitHub)" <gi...@apache.org>.
codeant-ai-for-open-source[bot] commented on code in PR #39344:
URL: https://github.com/apache/superset/pull/39344#discussion_r3197093142
##########
superset/models/helpers.py:
##########
@@ -1881,10 +1881,26 @@ def join_offset_dfs(
time_grain
)
- if join_column_producer and not time_grain:
- raise QueryObjectValidationError(
- _("Time Grain must be specified when using Time Shift.")
+ if not time_grain:
+ has_temporal_join_key = any(
+ pd.api.types.is_datetime64_any_dtype(df[key])
+ for key in join_keys
+ if key in df.columns
)
Review Comment:
β
**Customized review instruction saved!**
**Instruction:**
> Do not flag `is_datetime64_any_dtype` in `join_offset_dfs`; temporal columns are normalized to `datetime64` upstream, so this guard is sufficient as a defense-in-depth check.
**Applied to:**
- `superset/models/helpers.py`
---
π‘ *To manage or update this instruction, visit: [CodeAnt AI Settings](https://app.codeant.ai/settings/learnings)*
--
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(charts): fix time comparison crash when offsets share a numeric prefix [superset]
Posted by "codeant-ai-for-open-source[bot] (via GitHub)" <gi...@apache.org>.
codeant-ai-for-open-source[bot] commented on code in PR #39344:
URL: https://github.com/apache/superset/pull/39344#discussion_r3120944243
##########
superset/models/helpers.py:
##########
@@ -1881,10 +1881,26 @@ def join_offset_dfs(
time_grain
)
- if join_column_producer and not time_grain:
- raise QueryObjectValidationError(
- _("Time Grain must be specified when using Time Shift.")
+ if not time_grain:
+ has_temporal_join_key = any(
+ pd.api.types.is_datetime64_any_dtype(df[key])
+ for key in join_keys
+ if key in df.columns
)
Review Comment:
**Suggestion:** Temporal join-key detection is too narrow here: `is_datetime64_any_dtype` only catches pandas datetime64 dtypes, but Superset also treats object-backed `datetime.date`/datetime-like series as temporal in other paths. When the join key is temporal but not datetime64, this check returns false, the validation is skipped, and relative time comparison without time grain can still reach the downstream pandas failure. Use the same temporal detection helper used elsewhere (for example `dataframe_utils.is_datetime_series`) so temporal keys are consistently recognized. [logic error]
<details>
<summary><b>Severity Level:</b> Major β οΈ</summary>
```mdx
- β Temporal validation skipped for object-typed date join columns.
- β Some time-comparison queries still hit cryptic pandas errors.
- β οΈ Behavior differs by backend/dataframe datetime representation.
- β οΈ Inconsistent error messaging for identical semantic configurations.
```
</details>
<details>
<summary><b>Steps of Reproduction β
</b></summary>
```mdx
1. Create a temporal join DataFrame mimicking a time-series query: in a Python shell or
test, build `df = pd.DataFrame({"ds": [datetime.date(2021, 1, 1), datetime.date(2021, 2,
1)]})` so that `df["ds"]` is a `pd.Series` of `datetime.date` with dtype `object` (no
explicit `to_datetime`), matching the temporal detection semantics in
`superset/common/utils/dataframe_utils.py:63-72`.
2. Create a matching offset DataFrame and offsets dict, e.g. `offset_df =
pd.DataFrame({"ds": [datetime.date(2021, 1, 1), datetime.date(2021, 2, 1)], "metric__1
year ago": [1, 2]})` and `offset_dfs = {"1 year ago": offset_df}`, and call
`ExploreMixin().join_offset_dfs(df, offset_dfs, time_grain=None, join_keys=["ds"])` where
`join_offset_dfs` is implemented at `superset/models/helpers.py:1878-1888`.
3. Inside `join_offset_dfs`, the new validation block at
`superset/models/helpers.py:1884-1903` executes `has_temporal_join_key =
any(pd.api.types.is_datetime64_any_dtype(df[key]) for key in join_keys if key in
df.columns)` (lines 1885-1889); because `df["ds"]` is an `object`-typed series of
`datetime.date`, `is_datetime64_any_dtype(df["ds"])` returns `False`, so
`has_temporal_join_key` is `False` and the `QueryObjectValidationError("Time Grain must be
specified when using Time Comparison.")` is never raised even though the join key is
clearly temporal (and would be recognized as such by `dataframe_utils.is_datetime_series`,
used elsewhere in the same file at `superset/models/helpers.py:1511`).
4. The call then proceeds as if the join key were non-temporal: `join_offset_dfs` falls
through to the join logic using the raw temporal key with `time_grain=None`, reβexposing
the invalid configuration this guard was meant to block; this leads to inconsistent
behavior where queries whose time columns are `datetime64` (e.g. `Timestamp` in
`tests/unit_tests/common/test_time_shifts.py:248-43`) correctly raise the helpful
validation error, while equivalent queries backed by `datetime.date`/objectβtyped series
bypass validation and continue into the downstream pandas join and time-shift logic, where
the original cryptic pandas failure can still occur.
```
</details>
[Fix in Cursor](https://app.codeant.ai/fix-in-ide?tool=cursor&prompt=This%20is%20a%20comment%20left%20during%20a%20code%20review.%0A%0A%2A%2APath%3A%2A%2A%20superset%2Fmodels%2Fhelpers.py%0A%2A%2ALine%3A%2A%2A%201885%3A1889%0A%2A%2AComment%3A%2A%2A%0A%09%2ALogic%20Error%3A%20Temporal%20join-key%20detection%20is%20too%20narrow%20here%3A%20%60is_datetime64_any_dtype%60%20only%20catches%20pandas%20datetime64%20dtypes%2C%20but%20Superset%20also%20treats%20object-backed%20%60datetime.date%60%2Fdatetime-like%20series%20as%20temporal%20in%20other%20paths.%20When%20the%20join%20key%20is%20temporal%20but%20not%20datetime64%2C%20this%20check%20returns%20false%2C%20the%20validation%20is%20skipped%2C%20and%20relative%20time%20comparison%20without%20time%20grain%20can%20still%20reach%20the%20downstream%20pandas%20failure.%20Use%20the%20same%20temporal%20detection%20helper%20used%20elsewhere%20%28for%20example%20%60dataframe_utils.is_datetime_series%60%29%20so%20temporal%20keys%20are%20consiste
ntly%20recognized.%0A%0AValidate%20the%20correctness%20of%20the%20flagged%20issue.%20If%20correct%2C%20How%20can%20I%20resolve%20this%3F%20If%20you%20propose%20a%20fix%2C%20implement%20it%20and%20please%20make%20it%20concise.%0AOnce%20fix%20is%20implemented%2C%20also%20check%20other%20comments%20on%20the%20same%20PR%2C%20and%20ask%20user%20if%20the%20user%20wants%20to%20fix%20the%20rest%20of%20the%20comments%20as%20well.%20if%20said%20yes%2C%20then%20fetch%20all%20the%20comments%20validate%20the%20correctness%20and%20implement%20a%20minimal%20fix%0A) | [Fix in VSCode Claude](https://app.codeant.ai/fix-in-ide?tool=vscode-claude&prompt=This%20is%20a%20comment%20left%20during%20a%20code%20review.%0A%0A%2A%2APath%3A%2A%2A%20superset%2Fmodels%2Fhelpers.py%0A%2A%2ALine%3A%2A%2A%201885%3A1889%0A%2A%2AComment%3A%2A%2A%0A%09%2ALogic%20Error%3A%20Temporal%20join-key%20detection%20is%20too%20narrow%20here%3A%20%60is_datetime64_any_dtype%60%20only%20catches%20pandas%20datetime64%20dtypes%2C%20b
ut%20Superset%20also%20treats%20object-backed%20%60datetime.date%60%2Fdatetime-like%20series%20as%20temporal%20in%20other%20paths.%20When%20the%20join%20key%20is%20temporal%20but%20not%20datetime64%2C%20this%20check%20returns%20false%2C%20the%20validation%20is%20skipped%2C%20and%20relative%20time%20comparison%20without%20time%20grain%20can%20still%20reach%20the%20downstream%20pandas%20failure.%20Use%20the%20same%20temporal%20detection%20helper%20used%20elsewhere%20%28for%20example%20%60dataframe_utils.is_datetime_series%60%29%20so%20temporal%20keys%20are%20consistently%20recognized.%0A%0AValidate%20the%20correctness%20of%20the%20flagged%20issue.%20If%20correct%2C%20How%20can%20I%20resolve%20this%3F%20If%20you%20propose%20a%20fix%2C%20implement%20it%20and%20please%20make%20it%20concise.%0AOnce%20fix%20is%20implemented%2C%20also%20check%20other%20comments%20on%20the%20same%20PR%2C%20and%20ask%20user%20if%20the%20user%20wants%20to%20fix%20the%20rest%20of%20the%20comments%20as%20well.%2
0if%20said%20yes%2C%20then%20fetch%20all%20the%20comments%20validate%20the%20correctness%20and%20implement%20a%20minimal%20fix%0A)
*(Use Cmd/Ctrl + Click for best experience)*
<details>
<summary><b>Prompt for AI Agent π€ </b></summary>
```mdx
This is a comment left during a code review.
**Path:** superset/models/helpers.py
**Line:** 1885:1889
**Comment:**
*Logic Error: Temporal join-key detection is too narrow here: `is_datetime64_any_dtype` only catches pandas datetime64 dtypes, but Superset also treats object-backed `datetime.date`/datetime-like series as temporal in other paths. When the join key is temporal but not datetime64, this check returns false, the validation is skipped, and relative time comparison without time grain can still reach the downstream pandas failure. Use the same temporal detection helper used elsewhere (for example `dataframe_utils.is_datetime_series`) so temporal keys are consistently recognized.
Validate the correctness of the flagged issue. If correct, How can I resolve this? If you propose a fix, implement it and please make it concise.
Once fix is implemented, also check other comments on the same PR, and ask user if the user wants to fix the rest of the comments as well. if said yes, then fetch all the comments validate the correctness and implement a minimal fix
```
</details>
<a href='https://app.codeant.ai/feedback?pr_url=https%3A%2F%2Fgithub.com%2Fapache%2Fsuperset%2Fpull%2F39344&comment_hash=ee40e66f70b2fbf56b78f75df3c02f43aa19dcb95451a3ab37f124884a8812b2&reaction=like'>π</a> | <a href='https://app.codeant.ai/feedback?pr_url=https%3A%2F%2Fgithub.com%2Fapache%2Fsuperset%2Fpull%2F39344&comment_hash=ee40e66f70b2fbf56b78f75df3c02f43aa19dcb95451a3ab37f124884a8812b2&reaction=dislike'>π</a>
--
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(charts): fix time comparison crash when offsets share a numeric prefix [superset]
Posted by "bito-code-review[bot] (via GitHub)" <gi...@apache.org>.
bito-code-review[bot] commented on PR #39344:
URL: https://github.com/apache/superset/pull/39344#issuecomment-4394994763
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(charts): fix time comparison crash when offsets share a numeric prefix [superset]
Posted by "netlify[bot] (via GitHub)" <gi...@apache.org>.
netlify[bot] commented on PR #39344:
URL: https://github.com/apache/superset/pull/39344#issuecomment-4391612012
### <span aria-hidden="true">β
</span> Deploy Preview for *superset-docs-preview* ready!
| Name | Link |
|:-:|------------------------|
|<span aria-hidden="true">π¨</span> Latest commit | b89364531f265996d80390468202907aa529429e |
|<span aria-hidden="true">π</span> Latest deploy log | https://app.netlify.com/projects/superset-docs-preview/deploys/69fb9cbf370408000815a978 |
|<span aria-hidden="true">π</span> Deploy Preview | [https://deploy-preview-39344--superset-docs-preview.netlify.app](https://deploy-preview-39344--superset-docs-preview.netlify.app) |
|<span aria-hidden="true">π±</span> Preview on mobile | <details><summary> Toggle QR Code... </summary><br /><br /><br /><br />_Use your smartphone camera to open QR code link._</details> |
|<span aria-hidden="true">π€</span> Make changes | [Run an agent on this branch](https://app.netlify.com/projects/superset-docs-preview/agent-runs#DctLDoAgDADRu3Rtkxr8gDfwGKVAIFEhyMYY7y67Wbx5odR8lgYbwAC28iWx9y04klJGYUunR-mEa7rzhRK5Ngycju6dL0d-dtePxQRrxAa10kSaiPQ4s1k1fD8) |
---
<!-- [superset-docs-preview Preview](https://deploy-preview-39344--superset-docs-preview.netlify.app) -->
_To edit notification comments on pull requests, go to your [Netlify project configuration](https://app.netlify.com/projects/superset-docs-preview/configuration/notifications#deploy-notifications)._
--
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(charts): fix time comparison crash when offsets share a numeric prefix [superset]
Posted by "mistercrunch (via GitHub)" <gi...@apache.org>.
mistercrunch commented on code in PR #39344:
URL: https://github.com/apache/superset/pull/39344#discussion_r3197090226
##########
superset/models/helpers.py:
##########
@@ -1881,10 +1881,26 @@ def join_offset_dfs(
time_grain
)
- if join_column_producer and not time_grain:
- raise QueryObjectValidationError(
- _("Time Grain must be specified when using Time Shift.")
+ if not time_grain:
+ has_temporal_join_key = any(
+ pd.api.types.is_datetime64_any_dtype(df[key])
+ for key in join_keys
+ if key in df.columns
)
Review Comment:
This is a fair point in theory, but in practice the temporal columns reaching `join_offset_dfs` have already been converted to proper datetime64 by `processing_time_offsets` upstream. The `is_datetime64_any_dtype` check here is a defense-in-depth guard β the primary fix is the separator-aware matching in `renameOperator.ts` that prevents duplicate column names from being generated in the first place. I think the current check is sufficient for the guardrail's purpose.
--
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(charts): fix time comparison crash when offsets share a numeric prefix [superset]
Posted by "rusackas (via GitHub)" <gi...@apache.org>.
rusackas merged PR #39344:
URL: https://github.com/apache/superset/pull/39344
--
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(charts): fix time comparison crash when offsets share a numeric prefix [superset]
Posted by "bito-code-review[bot] (via GitHub)" <gi...@apache.org>.
bito-code-review[bot] commented on PR #39344:
URL: https://github.com/apache/superset/pull/39344#issuecomment-4292903086
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(charts): fix time comparison crash when offsets share a numeric prefix [superset]
Posted by "codeant-ai-for-open-source[bot] (via GitHub)" <gi...@apache.org>.
codeant-ai-for-open-source[bot] commented on code in PR #39344:
URL: https://github.com/apache/superset/pull/39344#discussion_r3120935303
##########
tests/unit_tests/utils/test_core.py:
##########
@@ -1688,3 +1690,10 @@ def test_sanitize_url_blocks_dangerous():
"""Test that dangerous URL schemes are blocked."""
assert sanitize_url("javascript:alert('xss')") == ""
assert sanitize_url("data:text/html,<script>alert(1)</script>") == ""
+
+
+def test_extract_dataframe_dtypes_with_duplicate_columns():
Review Comment:
**Suggestion:** Add an explicit return type annotation to this newly added test function (for example, annotate it as returning `None`) to satisfy the typing requirement for new Python definitions. [custom_rule]
**Severity Level:** Minor β οΈ
<details>
<summary><b>Why it matters? π€ </b></summary>
The new test function is defined without an explicit return type annotation. If the custom rule requires new Python definitions to include type hints, this is a real violation because the function currently lacks `-> None`.
</details>
[Fix in Cursor](https://app.codeant.ai/fix-in-ide?tool=cursor&prompt=This%20is%20a%20comment%20left%20during%20a%20code%20review.%0A%0A%2A%2APath%3A%2A%2A%20tests%2Funit_tests%2Futils%2Ftest_core.py%0A%2A%2ALine%3A%2A%2A%201695%3A1695%0A%2A%2AComment%3A%2A%2A%0A%09%2ACustom%20Rule%3A%20Add%20an%20explicit%20return%20type%20annotation%20to%20this%20newly%20added%20test%20function%20%28for%20example%2C%20annotate%20it%20as%20returning%20%60None%60%29%20to%20satisfy%20the%20typing%20requirement%20for%20new%20Python%20definitions.%0A%0AValidate%20the%20correctness%20of%20the%20flagged%20issue.%20If%20correct%2C%20How%20can%20I%20resolve%20this%3F%20If%20you%20propose%20a%20fix%2C%20implement%20it%20and%20please%20make%20it%20concise.%0AOnce%20fix%20is%20implemented%2C%20also%20check%20other%20comments%20on%20the%20same%20PR%2C%20and%20ask%20user%20if%20the%20user%20wants%20to%20fix%20the%20rest%20of%20the%20comments%20as%20well.%20if%20said%20yes%2C%20then%20fetch%20all%20the%20commen
ts%20validate%20the%20correctness%20and%20implement%20a%20minimal%20fix%0A) | [Fix in VSCode Claude](https://app.codeant.ai/fix-in-ide?tool=vscode-claude&prompt=This%20is%20a%20comment%20left%20during%20a%20code%20review.%0A%0A%2A%2APath%3A%2A%2A%20tests%2Funit_tests%2Futils%2Ftest_core.py%0A%2A%2ALine%3A%2A%2A%201695%3A1695%0A%2A%2AComment%3A%2A%2A%0A%09%2ACustom%20Rule%3A%20Add%20an%20explicit%20return%20type%20annotation%20to%20this%20newly%20added%20test%20function%20%28for%20example%2C%20annotate%20it%20as%20returning%20%60None%60%29%20to%20satisfy%20the%20typing%20requirement%20for%20new%20Python%20definitions.%0A%0AValidate%20the%20correctness%20of%20the%20flagged%20issue.%20If%20correct%2C%20How%20can%20I%20resolve%20this%3F%20If%20you%20propose%20a%20fix%2C%20implement%20it%20and%20please%20make%20it%20concise.%0AOnce%20fix%20is%20implemented%2C%20also%20check%20other%20comments%20on%20the%20same%20PR%2C%20and%20ask%20user%20if%20the%20user%20wants%20to%20fix%20the%20rest%2
0of%20the%20comments%20as%20well.%20if%20said%20yes%2C%20then%20fetch%20all%20the%20comments%20validate%20the%20correctness%20and%20implement%20a%20minimal%20fix%0A)
*(Use Cmd/Ctrl + Click for best experience)*
<details>
<summary><b>Prompt for AI Agent π€ </b></summary>
```mdx
This is a comment left during a code review.
**Path:** tests/unit_tests/utils/test_core.py
**Line:** 1695:1695
**Comment:**
*Custom Rule: Add an explicit return type annotation to this newly added test function (for example, annotate it as returning `None`) to satisfy the typing requirement for new Python definitions.
Validate the correctness of the flagged issue. If correct, How can I resolve this? If you propose a fix, implement it and please make it concise.
Once fix is implemented, also check other comments on the same PR, and ask user if the user wants to fix the rest of the comments as well. if said yes, then fetch all the comments validate the correctness and implement a minimal fix
```
</details>
<a href='https://app.codeant.ai/feedback?pr_url=https%3A%2F%2Fgithub.com%2Fapache%2Fsuperset%2Fpull%2F39344&comment_hash=83be0a5265ed6414e4023d66ba3141fd444e5921cdd48689c94d89806f3e2fb7&reaction=like'>π</a> | <a href='https://app.codeant.ai/feedback?pr_url=https%3A%2F%2Fgithub.com%2Fapache%2Fsuperset%2Fpull%2F39344&comment_hash=83be0a5265ed6414e4023d66ba3141fd444e5921cdd48689c94d89806f3e2fb7&reaction=dislike'>π</a>
--
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(charts): use separator-aware matching for time shift column grouping [superset]
Posted by "codecov[bot] (via GitHub)" <gi...@apache.org>.
codecov[bot] commented on PR #39344:
URL: https://github.com/apache/superset/pull/39344#issuecomment-4244635679
## [Codecov](https://app.codecov.io/gh/apache/superset/pull/39344?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 `50.00000%` with `1 line` in your changes missing coverage. Please review.
:white_check_mark: Project coverage is 55.96%. Comparing base ([`de98fdc`](https://app.codecov.io/gh/apache/superset/commit/de98fdc37bae721ddc7e7f1889e9eb28684858ba?dropdown=coverage&el=desc&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)) to head ([`287c1bd`](https://app.codecov.io/gh/apache/superset/commit/287c1bd4c4b05cff40964c93b84a9c39e1b95f79?dropdown=coverage&el=desc&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)).
:warning: Report is 8 commits behind head on master.
| [Files with missing lines](https://app.codecov.io/gh/apache/superset/pull/39344?dropdown=coverage&src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache) | Patch % | Lines |
|---|---|---|
| [...perset/utils/pandas\_postprocessing/contribution.py](https://app.codecov.io/gh/apache/superset/pull/39344?src=pr&el=tree&filepath=superset%2Futils%2Fpandas_postprocessing%2Fcontribution.py&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache#diff-c3VwZXJzZXQvdXRpbHMvcGFuZGFzX3Bvc3Rwcm9jZXNzaW5nL2NvbnRyaWJ1dGlvbi5weQ==) | 50.00% | [1 Missing :warning: ](https://app.codecov.io/gh/apache/superset/pull/39344?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache) |
:x: Your project check has failed because the head coverage (99.81%) is below the target coverage (100.00%). You can increase the head coverage or adjust the [target](https://docs.codecov.com/docs/commit-status#target) coverage.
> :exclamation: There is a different number of reports uploaded between BASE (de98fdc) and HEAD (287c1bd). Click for more details.
>
> <details><summary>HEAD has 9 uploads less than BASE</summary>
>
>| Flag | BASE (de98fdc) | HEAD (287c1bd) |
>|------|------|------|
>|python|10|3|
>|unit|3|1|
></details>
<details><summary>Additional details and impacted files</summary>
```diff
@@ Coverage Diff @@
## master #39344 +/- ##
==========================================
- Coverage 64.42% 55.96% -8.46%
==========================================
Files 2554 2554
Lines 132662 132662
Branches 30780 30780
==========================================
- Hits 85461 74245 -11216
- Misses 45715 57775 +12060
+ Partials 1486 642 -844
```
| [Flag](https://app.codecov.io/gh/apache/superset/pull/39344/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/39344/flags?src=pr&el=flag&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache) | `39.96% <50.00%> (ΓΈ)` | |
| [mysql](https://app.codecov.io/gh/apache/superset/pull/39344/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/39344/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/39344/flags?src=pr&el=flag&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache) | `41.75% <50.00%> (ΓΈ)` | |
| [python](https://app.codecov.io/gh/apache/superset/pull/39344/flags?src=pr&el=flag&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache) | `43.22% <50.00%> (-19.05%)` | :arrow_down: |
| [sqlite](https://app.codecov.io/gh/apache/superset/pull/39344/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/39344/flags?src=pr&el=flag&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache) | `100.00% <ΓΈ> (ΓΈ)` | |
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 Sentry](https://app.codecov.io/gh/apache/superset/pull/39344?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(charts): use separator-aware matching for time shift column grouping [superset]
Posted by "netlify[bot] (via GitHub)" <gi...@apache.org>.
netlify[bot] commented on PR #39344:
URL: https://github.com/apache/superset/pull/39344#issuecomment-4285706307
### <span aria-hidden="true">β
</span> Deploy Preview for *superset-docs-preview* ready!
| Name | Link |
|:-:|------------------------|
|<span aria-hidden="true">π¨</span> Latest commit | 85bb879b2802b32e5399a86d467f10fa336d1793 |
|<span aria-hidden="true">π</span> Latest deploy log | https://app.netlify.com/projects/superset-docs-preview/deploys/69e6eb3ce08e5b00080f4b20 |
|<span aria-hidden="true">π</span> Deploy Preview | [https://deploy-preview-39344--superset-docs-preview.netlify.app](https://deploy-preview-39344--superset-docs-preview.netlify.app) |
|<span aria-hidden="true">π±</span> Preview on mobile | <details><summary> Toggle QR Code... </summary><br /><br /><br /><br />_Use your smartphone camera to open QR code link._</details> |
---
<!-- [superset-docs-preview Preview](https://deploy-preview-39344--superset-docs-preview.netlify.app) -->
_To edit notification comments on pull requests, go to your [Netlify project configuration](https://app.netlify.com/projects/superset-docs-preview/configuration/notifications#deploy-notifications)._
--
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(charts): fix time comparison crash when offsets share a numeric prefix [superset]
Posted by "bito-code-review[bot] (via GitHub)" <gi...@apache.org>.
bito-code-review[bot] commented on PR #39344:
URL: https://github.com/apache/superset/pull/39344#issuecomment-4410954683
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(charts): use separator-aware matching for time shift column grouping [superset]
Posted by "bito-code-review[bot] (via GitHub)" <gi...@apache.org>.
bito-code-review[bot] commented on PR #39344:
URL: https://github.com/apache/superset/pull/39344#issuecomment-4244550311
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(charts): fix time comparison crash when offsets share a numeric prefix [superset]
Posted by "bito-code-review[bot] (via GitHub)" <gi...@apache.org>.
bito-code-review[bot] commented on PR #39344:
URL: https://github.com/apache/superset/pull/39344#issuecomment-4286059127
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(charts): fix time comparison crash when offsets share a numeric prefix [superset]
Posted by "netlify[bot] (via GitHub)" <gi...@apache.org>.
netlify[bot] commented on PR #39344:
URL: https://github.com/apache/superset/pull/39344#issuecomment-4391587553
### <span aria-hidden="true">β
</span> Deploy Preview for *superset-docs-preview* ready!
| Name | Link |
|:-:|------------------------|
|<span aria-hidden="true">π¨</span> Latest commit | 95ad8b81c781601a319303103af4eae466fa452b |
|<span aria-hidden="true">π</span> Latest deploy log | https://app.netlify.com/projects/superset-docs-preview/deploys/69fb9c8818f81700080a5ed1 |
|<span aria-hidden="true">π</span> Deploy Preview | [https://deploy-preview-39344--superset-docs-preview.netlify.app](https://deploy-preview-39344--superset-docs-preview.netlify.app) |
|<span aria-hidden="true">π±</span> Preview on mobile | <details><summary> Toggle QR Code... </summary><br /><br /><br /><br />_Use your smartphone camera to open QR code link._</details> |
|<span aria-hidden="true">π€</span> Make changes | [Run an agent on this branch](https://app.netlify.com/projects/superset-docs-preview/agent-runs#DcvBDYAgDEDRXXq2SQlRixs4Ri0QSVQIcjHG3eX2D--_UGo-S4MFYICtyqV771vRkLXOYktnQO1EarrzhbpLbRglHd37UI78rL4fk4ubU2bDkc1MREwyBm_g-wE) |
---
<!-- [superset-docs-preview Preview](https://deploy-preview-39344--superset-docs-preview.netlify.app) -->
_To edit notification comments on pull requests, go to your [Netlify project configuration](https://app.netlify.com/projects/superset-docs-preview/configuration/notifications#deploy-notifications)._
--
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(charts): fix time comparison crash when offsets share a numeric prefix [superset]
Posted by "sadpandajoe (via GitHub)" <gi...@apache.org>.
sadpandajoe commented on PR #39344:
URL: https://github.com/apache/superset/pull/39344#issuecomment-4381554228
@mistercrunch looks like this may need a rebase.
--
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