Maxime Beauchemin
4dd1e80f4c
feat: Add "Trigger Now" functionality for Alerts & Reports
...
Add manual execution capability to Alerts & Reports CRUD interface with immediate trigger functionality.
- Add `/api/v1/report/{id}/execute` REST endpoint with proper RBAC
- Create `ExecuteReportScheduleNowCommand` following existing Command patterns
- Use `security_manager.raise_for_ownership()` for consistent permission checking
- Reuse existing `AsyncExecuteReportScheduleCommand` via Celery for execution
- Add `ReportScheduleExecuteResponseSchema` for structured API responses
- Add `ReportScheduleCeleryNotConfiguredError` for helpful Celery setup guidance
- Add "Trigger Now" (⚡ ) button to AlertReportList actions column
- Create `useExecuteReportSchedule` hook for API integration
- Implement per-button loading states with `executingIds` Set tracking
- Add success/error toast notifications with clear messaging
- Gate feature behind existing edit permissions (`allowEdit`)
- Add 5 comprehensive backend tests covering success, 404, 403, Celery errors, and feature disabled
- Detect Celery backend configuration issues with helpful error messages
- All tests passing with proper mocking and security validation
- One-click manual execution from CRUD list view
- Smart loading states preventing double-clicks
- Professional "Trigger Now" terminology throughout
- Proper error handling for missing Celery backend
- Maintains all existing security and permission patterns
Resolves common user need for immediate alert/report execution without waiting for scheduled cron jobs.
🤖 Generated with [Claude Code](https://claude.ai/code )
Co-Authored-By: Claude <noreply@anthropic.com >
2025-09-21 11:29:59 -07:00
Pat Buxton
db178cf527
fix: Bump pandas to 2.1.4 for python 3.12 ( #34999 )
2025-09-19 09:18:00 -07:00
Amin Ghadersohi
dced2f8564
feat: Add BaseDAO improvements and test reorganization ( #35018 )
...
Co-authored-by: bito-code-review[bot] <188872107+bito-code-review[bot]@users.noreply.github.com>
Co-authored-by: Claude <noreply@anthropic.com >
2025-09-16 18:15:16 -07:00
Hugh A. Miles II
966e231f94
feat: Add Dashboard Filter Support for Alert Reports ( #32196 )
...
Co-authored-by: Elizabeth Thompson <eschutho@gmail.com >
Co-authored-by: Hugh A Miles II <hugh@Mac.home >
2025-09-16 10:52:28 -04:00
Richard Fogaca Nienkotter
a66737cb05
feat(custom-tooltip): custom tooltip on deck.gl charts ( #34276 )
2025-09-16 17:11:19 +03:00
Maxime Beauchemin
088ecdd0bf
refactor: Enable G logging rules and comprehensive ruff improvements ( #35081 )
...
Co-authored-by: Claude <noreply@anthropic.com >
2025-09-15 12:42:49 -07:00
Daniel Vaz Gaspar
a9fb853e3e
fix: Bump FAB to 5.X ( #33055 )
...
Co-authored-by: Joe Li <joe@preset.io >
2025-09-12 09:21:37 +01:00
LisaHusband
a7d349a5c6
fix(drill-to-detail): ensure axis label filters map to original column names ( #34694 )
...
Co-authored-by: bito-code-review[bot] <188872107+bito-code-review[bot]@users.noreply.github.com>
2025-09-10 18:18:37 +03:00
Amin Ghadersohi
15e4e8df94
fix(utils): Suppress pandas date parsing warnings in normalize_dttm_col ( #35042 )
2025-09-08 18:17:33 -07:00
Luiz Otavio
1c2b9db4f0
fix: Upload CSV as Dataset ( #34763 )
2025-09-08 11:48:23 -03:00
Elizabeth Thompson
385471c34d
fix(utils): ensure webdriver timeout compatibility with urllib3 2.x ( #34440 )
2025-09-05 16:25:15 -07:00
catpineapple
9efb80dbf4
fix(tests): one of integration test in TestSqlaTableModel does not support MySQL "concat" ( #35007 )
...
Co-authored-by: Mehmet Salih Yavuz <salih.yavuz@proton.me >
2025-09-05 21:11:38 +03:00
Beto Dealmeida
4e969d19d1
feat: allow create metric and add to folder in single request ( #34993 )
2025-09-05 13:28:45 -04:00
Vitor Avila
ce74ae095d
feat: Use dashboard name for screenshot download ( #34988 )
2025-09-05 02:16:45 -03:00
Evan Rusackas
7fb7ac8bef
fix(sql): Add Impala dialect support to sqlglot parser ( #34662 )
...
Co-authored-by: Claude <noreply@anthropic.com >
Co-authored-by: Joe Li <joe@preset.io >
2025-09-04 11:07:09 -07:00
catpineapple
2e51d02806
fix: doris genericDataType modify ( #35011 )
2025-09-04 08:21:15 -07:00
Maxime Beauchemin
b0d3f0f0d4
feat: add customizable brand spinners with theme integration ( #34764 )
...
Co-authored-by: Claude <noreply@anthropic.com >
Co-authored-by: Evan Rusackas <evan@preset.io >
2025-09-03 08:28:59 -07:00
Gabriel Torres Ruiz
0a75bac2a1
fix(error-handling): jinja2 error handling improvements ( #34803 )
2025-09-02 17:29:07 -04:00
Maxime Beauchemin
4695be5cc5
fix: complete theme management system import/export ( #34850 )
...
Co-authored-by: Claude <noreply@anthropic.com >
2025-09-01 15:44:01 -07:00
Danylo Korostil
077724c2d2
feat(api): dataset read API uuid support ( #34836 )
2025-08-29 17:21:24 -07:00
Beto Dealmeida
cb24737825
feat(bigquery): show materialized views ( #34766 )
2025-08-26 11:21:43 -04:00
Maxime Beauchemin
47414e18d4
feat: Use DuckDB for examples data in Docker development environment ( #34831 )
...
Co-authored-by: Claude <noreply@anthropic.com >
Co-authored-by: Beto Dealmeida <roberto@dealmeida.net >
2025-08-25 12:37:28 -07:00
Vitor Avila
471d9fe737
fix: Add dataset ID to file name on exports ( #34782 )
2025-08-25 14:54:27 -03:00
Beto Dealmeida
1204507d68
fix: make get_image() always return BytesIO ( #34801 )
2025-08-25 09:01:36 -04:00
Michael S. Molina
e1234b2264
fix: User-provided Jinja template parameters causing SQL parsing errors ( #34802 )
2025-08-22 14:39:14 -03:00
JUST.in DO IT
75af53dc3d
fix: customize column description limit size in db_engine_spec ( #34808 )
2025-08-22 10:00:39 -07:00
Maxime Beauchemin
c568d463b9
fix: Check migration status before initializing database-dependent features ( #34679 )
...
Co-authored-by: Claude <noreply@anthropic.com >
2025-08-21 11:25:47 -07:00
Elizabeth Thompson
695a20d009
fix: catch no table error ( #32640 )
2025-08-21 10:40:44 -07:00
Joe Li
af05396227
fix(tests): make SingleStore test_adjust_engine_params version-agnostic ( #34780 )
...
Co-authored-by: Claude <noreply@anthropic.com >
2025-08-21 09:30:02 -07:00
Elizabeth Thompson
009b99bfbb
chore: catch sqlalchemy error ( #34768 )
2025-08-20 18:00:06 -07:00
Maxime Beauchemin
4683a0827d
feat(validation): Add SQL expression validation in popovers ( #34642 )
...
Co-authored-by: Claude <noreply@anthropic.com >
2025-08-20 15:10:38 -07:00
Joe Li
9de1706baa
fix: Fix TypeError in Slice.get() method when using filter_by() with BinaryExpression ( #34769 )
...
Co-authored-by: Claude <noreply@anthropic.com >
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
2025-08-20 11:22:54 -07:00
Beto Dealmeida
a82e310600
feat: improve perf of CSV uploads ( #34603 )
2025-08-20 08:53:02 -04:00
Evan Rusackas
a42185cd3b
fix(duckdb): Add support for DuckDB-specific numeric types ( #34743 )
...
Co-authored-by: Claude <noreply@anthropic.com >
2025-08-19 10:19:05 -07:00
Danylo Korostil
31e2143c84
feat(api): Added uuid filed support to dataset, chart, dashboard API ( #29573 )
2025-08-18 13:05:16 -07:00
Daniel Vaz Gaspar
28788fd1fa
fix: centralize cache timeout -1 logic to prevent caching ( #34654 )
2025-08-18 08:45:20 +01:00
Trent Schmidt
ff6dc03ddf
fix(dashboard): update cross filter scoping chart id references during dashboard import ( #34418 )
...
Co-authored-by: chanduapple <80615671+chanduapple@users.noreply.github.com >
Co-authored-by: chandrasekhar jandhyam <chandrasekhar.jandhyam@digital.ai >
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
2025-08-18 01:41:38 -03:00
Mehmet Salih Yavuz
ecfb9f7d7c
fix(row_level_security): Correct api response code for update ( #34672 )
2025-08-13 23:51:10 +03:00
Mehmet Salih Yavuz
cb899f691b
fix(csv_tests): Import from utils ( #34664 )
2025-08-12 15:55:53 -07:00
Le Xich Long
6d827cf905
fix(security): grant TableSchemaView to only sql_lab role ( #32340 )
2025-08-12 13:45:36 -07:00
Maxime Beauchemin
5309edf3a5
feat: Implement UI-based system theme administration ( #34560 )
...
Co-authored-by: Claude <noreply@anthropic.com >
2025-08-12 13:27:48 -07:00
Elizabeth Thompson
2465ab4a98
chore: add more csv tests ( #32663 )
2025-08-12 13:26:10 -07:00
Đỗ Trọng Hải
1947d4da76
fix(daos/tag): prevent non-unique tags getting created along with unique ones ( #32405 )
...
Signed-off-by: hainenber <dotronghai96@gmail.com >
2025-08-12 13:21:42 -07:00
Kamil Gabryjelski
57d0e78d40
feat: Tiled screenshots in Playwright reports ( #34561 )
2025-08-12 08:09:01 +02:00
Elizabeth Thompson
99539c786e
fix(initialization): prevent startup failures when database tables don't exist ( #34584 )
2025-08-11 10:49:52 -07:00
Oliver Schlüter
f3e3bd0348
fix(db_engine_specs): generate correct boolean filter SQL syntax for Athena compatibility ( #34598 )
2025-08-07 18:39:31 +03:00
Mehmet Salih Yavuz
adaae8ba15
fix(Timeshift): Determine temporal column correctly ( #34582 )
2025-08-07 15:20:34 +03:00
Maxime Beauchemin
246181a546
feat(docker): Add pytest support to docker-compose-light.yml ( #34373 )
...
Co-authored-by: Claude <noreply@anthropic.com >
2025-08-06 00:17:50 -04:00
Mehmet Salih Yavuz
761daec53d
feat(timeshift): Add support for date range timeshifts ( #34375 )
2025-08-05 19:31:40 +03:00
Vitor Avila
49689eec6c
feat: Enable drilling in embedded ( #34319 )
2025-08-05 02:23:00 -03:00