Maxime Beauchemin
bce6ca1ae0
refactor: eliminate all static theme dependencies and enable true dynamic theming
...
This comprehensive architectural transformation removes all static theme imports
(supersetTheme, themeObject) across the entire codebase, replacing them with
proper dynamic theme access patterns that support real-time theme switching.
## What Changed
**Static Exports Eliminated:**
- Removed `supersetTheme` and `themeObject` exports from core theme module
- Eliminated static theme dependencies across 47 files
- Updated ESLint rules to reflect removed exports
**Dynamic Theme Architecture:**
- Functional components: Use `useTheme()` hook for reactive theme access
- Class components: Use `withTheme()` HOC for theme injection
- Transform functions: Access `theme` from chartProps parameter
- Test infrastructure: Use `Theme.fromConfig()` for isolated testing
- Singleton pattern: `DEFAULT_THEME` for efficient fallbacks
**Test Architecture Cleanup:**
- Removed unnecessary theme setup from 30+ test files
- Eliminated legacy `dynamicTheme` cruft from logic tests
- Simplified theme assertions to focus on behavior vs implementation details
- Maintained theme testing only where legitimately needed
**Core Infrastructure:**
- ThemeController uses dynamic theme creation instead of static imports
- ChartProps uses singleton DEFAULT_THEME for efficient fallbacks
- Theme providers only at app root and isolated contexts (tests, storybook)
## Why This Was Needed
The previous architecture had static theme imports that:
- Always returned light theme values regardless of current theme mode
- Broke dark mode compatibility in visualizations (fixed in previous commit)
- Created performance overhead with redundant theme instance creation
- Prevented real-time theme switching across components
- Led to inconsistent theme access patterns
## Benefits
- ✅ Perfect dark mode support - no static dependencies to break theming
- ✅ True dynamic theming - all components react to theme changes
- ✅ Clean architecture - minimal providers, consistent patterns
- ✅ Better performance - singleton pattern eliminates waste
- ✅ Future-proof - ready for theme customization and user preferences
- ✅ Developer experience - clear patterns for every context
This transformation enables the next generation of Superset theming with
complete dynamic theme support and perfect dark mode compatibility.
🤖 Generated with [Claude Code](https://claude.ai/code )
Co-Authored-By: Claude <noreply@anthropic.com >
2025-09-16 10:57:36 -07:00
Maxime Beauchemin
05c6a1bf20
fix(viz): resolve dark mode compatibility issues in BigNumber and Heatmap ( #35151 )
...
Co-authored-by: Claude <noreply@anthropic.com >
2025-09-16 10:21:47 -07:00
SBIN2010
c193d6d6a1
fix: import bug template params ( #35144 )
2025-09-16 10:21:29 -07:00
Joe Li
fb840b8e71
fix(deck.gl): restore legend display for Polygon charts with linear palette and fixed color schemes ( #35142 )
...
Co-authored-by: Claude <noreply@anthropic.com >
2025-09-16 20:20:42 +03:00
Maxime Beauchemin
d0cc6f115b
feat: add optional garbage collection after requests ( #35061 )
...
Co-authored-by: Claude <noreply@anthropic.com >
2025-09-16 09:23:39 -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
Michael S. Molina
bc6859a99d
refactor: Organizes the src/core folder ( #35119 )
2025-09-16 08:21:16 -03:00
Elizabeth Thompson
133e686224
docs(llms): add PR template guidelines to LLMS.md ( #35148 )
...
Co-authored-by: Claude <noreply@anthropic.com >
2025-09-15 15:57:16 -07:00
Elizabeth Thompson
7d0a472d1e
feat: Add comprehensive dark mode support for chart thumbnails and examples ( #35111 )
...
Co-authored-by: Claude <noreply@anthropic.com >
2025-09-15 13:53:44 -07:00
Maxime Beauchemin
c2534f9155
feat: Add ECharts options overrides to theme system ( #34876 )
...
Co-authored-by: Claude <noreply@anthropic.com >
2025-09-15 13:52:38 -07: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
Maxime Beauchemin
e1a2e4843a
chore: standardize webpack dev server host configuration and enable LAN access ( #35066 )
...
Co-authored-by: Claude <noreply@anthropic.com >
2025-09-15 10:10:05 -07:00
dependabot[bot]
15e8ffee1e
chore(deps): bump axios from 1.11.0 to 1.12.0 in /docs ( #35109 )
2025-09-14 07:50:16 +07:00
Elizabeth Thompson
19ddcb7e5c
fix: Remove emotion-rgba from dependencies and codebase ( #35124 )
2025-09-13 13:33:20 +03:00
Gabriel Torres Ruiz
36daa2dc3f
fix(ListView): implement AntD pagination for ListView component ( #35057 )
2025-09-12 14:15:05 -07:00
Gabriel Torres Ruiz
7fd5a7668b
fix(charts): fix legend theming and hollow symbols in dark mode ( #35123 )
2025-09-12 23:33:29 +03:00
Mehmet Salih Yavuz
95333e34b1
fix(theming): Lighter text colors on dark mode ( #35114 )
2025-09-12 15:52:54 +03: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
Rafael Benitez
dea9068647
fix(DashboardEditor): CSS template selector UI in dashboard properties modal restored ( #35106 )
2025-09-11 15:34:16 -07:00
Elizabeth Thompson
3416bd1479
chore: add codeowners ( #35107 )
2025-09-11 14:07:21 -07:00
Michael S. Molina
e729b2dbb4
fix: SQL Lab tab events ( #35105 )
2025-09-11 17:53:51 -03:00
SBIN2010
06261f262b
fix: page size options 'all' correct in table and remove PAGE_SIZE_OPTIONS in handlebars ( #35095 )
2025-09-11 22:46:48 +03:00
SBIN2010
454ed1883f
feat(BoxPlot): add chart data zoom ( #35097 )
2025-09-11 21:29:02 +03:00
Priyanshu Kumar
b42060c880
fix(pie): fixes pie chart other click error ( #35086 )
2025-09-11 14:19:52 +03:00
Gabriel Torres Ruiz
7bf16d805d
fix(theming): replace error color with bolt icon for local themes ( #35090 )
2025-09-11 14:18:29 +03:00
Rafael Benitez
529adebe1b
fix(templates): Restores templates files accidentally removed ( #35094 )
2025-09-11 10:31:29 +02:00
Devanjan Banerjee
eb4351af83
feat(Timeseries & MixedTimeseries): Force selected timegrain on timeseries intervals when the x-axis is of timestamp type ( #34595 )
2025-09-10 20:27:23 -07:00
Rafael Benitez
5a2411fa64
fix(settingsMenu): Version ( #35096 )
2025-09-10 15:08:05 -07:00
JUST.in DO IT
078c1701f4
feat(sqllab extension): core query interface api ( #35077 )
2025-09-10 13:17:09 -07: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
Mehmet Salih Yavuz
7a20a65a4d
feat(embedded): Change function signature of setupExtensions ( #35062 )
...
Co-authored-by: Michael S. Molina <70410625+michael-s-molina@users.noreply.github.com >
2025-09-10 13:06:00 +03:00
Mehmet Salih Yavuz
912ed2ba80
fix(timeshifts): Add missing feature flag to enum ( #35072 )
2025-09-09 20:39:03 +03:00
dependabot[bot]
fedb3ca941
chore(deps-dev): bump @typescript-eslint/parser from 8.40.0 to 8.41.0 in /docs ( #34934 )
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-09-09 10:33:33 -07:00
Renat
42b15b6840
fix(translation): order incompatible placeholders, translated placeholders, semantic changes ( #34722 )
...
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
2025-09-09 10:24:17 -07:00
Gabriel Torres Ruiz
2f64343186
feat(dataset): create usage tab for dataset ( #34707 )
2025-09-09 10:23:16 -07:00
Nicolas
65376c7baf
fix(Table Chart): render null dates properly ( #34558 )
2025-09-09 10:22:54 -07:00
Michael S. Molina
4c2b27e7f0
fix: Change database event in core ( #35071 )
2025-09-09 11:50:49 -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
SBIN2010
c5f220a9ff
fix(table): table search input placeholder ( #35064 )
2025-09-09 03:55:39 +03:00
Avindra Goolcharan
b05def1a8a
fix(superset-embedded-sdk/release-if-necessary): remove axios ( #35038 )
2025-09-08 17:47:31 -07:00
Ganesh-Babu-GB
da7f6efea8
docs(typos): correct spelling mistakes ( #35043 )
...
Co-authored-by: ganesh <dev.ganeshbabu.in@gmail.com >
2025-09-08 11:12:55 -07:00
Luiz Otavio
1c2b9db4f0
fix: Upload CSV as Dataset ( #34763 )
2025-09-08 11:48:23 -03:00
Gabriel Torres Ruiz
0fce5ecfa5
fix(dashboard): normalize spacings and background colors ( #35001 )
2025-09-05 19:13:42 -07:00
Elizabeth Thompson
385471c34d
fix(utils): ensure webdriver timeout compatibility with urllib3 2.x ( #34440 )
2025-09-05 16:25:15 -07:00
Rafael Benitez
bef1f4d045
fix(theming): Icons in ExecutionLogList and Country map chart tooltip theme consistency ( #34828 )
2025-09-05 15:02:53 -07:00
SBIN2010
5a3182ce21
fix: mixed timeseries chart add legend margin ( #35036 )
2025-09-05 14:44:14 -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
dependabot[bot]
a20b236809
chore(deps): bump sha.js from 2.4.11 to 2.4.12 in /docs ( #34797 )
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-09-05 10:30:19 -07:00
Beto Dealmeida
4e969d19d1
feat: allow create metric and add to folder in single request ( #34993 )
2025-09-05 13:28:45 -04:00