Custom Timestamp Native Filter accepts identical start/end timestamps and silently returns an empty result set
- Dominant language
- Python
- Stars
- 74.8k
- Forks
- 18.3k
- Avg merge
- 2d 5h
- Merged PRs (30d)
- 685
Description
### Bug description
When configuring a **Custom Timestamp Native Filter** on a dashboard, the filter allows users to select the same value for both the Start and End timestamps.
The filter is accepted without any validation or warning. After applying the filter, the dashboard executes the query and returns an empty result set.
This behavior is confusing because the UI does not indicate that the selected range is effectively empty.
**Current Behavior**
The filter accepts identical start and end timestamps without any validation.
The dashboard executes the query and returns an empty result set without informing the user that the selected time range is empty.
**Expected Behavior**
One of the following should happen:
- The UI should prevent applying the filter when the start and end timestamps are identical by displaying a validation message such as:
`Start timestamp must be earlier than end timestamp.`
OR
- The UI should clearly indicate that the selected time range is empty before executing the query.
At a minimum, users should receive feedback explaining why no results are returned instead of silently executing an empty-range query.
### Screenshots/recordings
_No response_
### Superset version
master / latest-dev
### Python version
3.11
### Node version
18 or greater
### Browser
Chrome
### Additional context
_No response_
### Checklist
- [x] I have searched Superset docs and Slack and didn't find a solution to my problem.
- [x] I have searched the GitHub issue tracker and didn't find a similar bug report.
- [x] I have checked Superset's logs for errors and if I found a relevant Python stacktrace, I included it here as text in the "additional context" section.
Contributor guide
Research direction
No source files or tests are identified in the issue. Reproduce the Custom Timestamp Native Filter behavior in a dashboard using Chrome, then trace the filter's validation and query-application entry points; done means identical timestamps receive clear feedback before an empty-range query runs.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- node.js, python
- Domain
- data-visualization, frontend
- Issue type
- Bug
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 48/100