Re: [PR] fix(dashboard): use inline theme data to prevent 403 for non-admin users [superset]

2026-03-18 Thread via GitHub


sadpandajoe merged PR #38384:
URL: https://github.com/apache/superset/pull/38384


-- 
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: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]


-
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]



Re: [PR] fix(dashboard): use inline theme data to prevent 403 for non-admin users [superset]

2026-03-16 Thread via GitHub


github-actions[bot] commented on PR #38384:
URL: https://github.com/apache/superset/pull/38384#issuecomment-4068607222

   πŸŽͺ [Showtime](https://github.com/mistercrunch/superset-showtime) deployed 
environment on 
[GHA](https://github.com/apache/superset/actions/runs/23150766107) for 
[6e1b1c7](https://github.com/apache/superset/commit/6e1b1c7)
   
   β€’ **Environment:** http://35.85.155.136:8080 (admin/admin)
   β€’ **Lifetime:** 48h auto-cleanup
   β€’ **Updates:** New commits create fresh environments automatically


-- 
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: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]


-
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]



Re: [PR] fix(dashboard): use inline theme data to prevent 403 for non-admin users [superset]

2026-03-16 Thread via GitHub


github-actions[bot] commented on PR #38384:
URL: https://github.com/apache/superset/pull/38384#issuecomment-4068475514

   πŸŽͺ [Showtime](https://github.com/mistercrunch/superset-showtime) is building 
environment on 
[GHA](https://github.com/apache/superset/actions/runs/23150766107) for 
[6e1b1c7](https://github.com/apache/superset/commit/6e1b1c7)


-- 
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: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]


-
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]



Re: [PR] fix(dashboard): use inline theme data to prevent 403 for non-admin users [superset]

2026-03-13 Thread via GitHub


github-actions[bot] commented on PR #38384:
URL: https://github.com/apache/superset/pull/38384#issuecomment-4058770964

   πŸŽͺ [Showtime](https://github.com/mistercrunch/superset-showtime) deployed 
environment on 
[GHA](https://github.com/apache/superset/actions/runs/23074654539) for 
[b15d610](https://github.com/apache/superset/commit/b15d610)
   
   β€’ **Environment:** http://54.189.151.179:8080 (admin/admin)
   β€’ **Lifetime:** 48h auto-cleanup
   β€’ **Updates:** New commits create fresh environments automatically


-- 
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: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]


-
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]



Re: [PR] fix(dashboard): use inline theme data to prevent 403 for non-admin users [superset]

2026-03-13 Thread via GitHub


github-actions[bot] commented on PR #38384:
URL: https://github.com/apache/superset/pull/38384#issuecomment-4058685669

   πŸŽͺ [Showtime](https://github.com/mistercrunch/superset-showtime) is building 
environment on 
[GHA](https://github.com/apache/superset/actions/runs/23074654539) for 
[b15d610](https://github.com/apache/superset/commit/b15d610)


-- 
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: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]


-
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]



Re: [PR] fix(dashboard): use inline theme data to prevent 403 for non-admin users [superset]

2026-03-11 Thread via GitHub


bito-code-review[bot] commented on PR #38384:
URL: https://github.com/apache/superset/pull/38384#issuecomment-4036985150

   AI Code Review is in progress (usually takes 3 to 15 minutes unless it's a 
very large PR).
   
   
   
   Bito Usage Guide
   
   
   **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 https://docs.bito.ai/bito-dev-agents/ai-code-review-agent/available-commands";
 target="_blank" rel="noopener noreferrer">documentation for additional 
commands.
 
   **Configuration**
   
   This repository uses `Superset` You can customize the agent settings https://alpha.bito.ai/home/ai-agents/code-review-agent"; target="_blank" 
rel="noopener noreferrer">here or contact your Bito workspace admin at 
[email protected].
 
   **Documentation & Help**
   - 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
   - https://docs.bito.ai/bito-dev-agents/ai-code-review-agent/implementing-custom-code-review-rules";
 target="_blank" rel="noopener noreferrer">Review rules
   - https://docs.bito.ai/bito-dev-agents/ai-code-review-agent"; 
target="_blank" rel="noopener noreferrer">General documentation
   - https://docs.bito.ai/bito-dev-agents/ai-code-review-agent/faqs"; 
target="_blank" rel="noopener noreferrer">FAQ
   
   
   


-- 
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: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]


-
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]



Re: [PR] fix(dashboard): use inline theme data to prevent 403 for non-admin users [superset]

2026-03-10 Thread via GitHub


sadpandajoe commented on code in PR #38384:
URL: https://github.com/apache/superset/pull/38384#discussion_r2916236529


##
superset-frontend/src/dashboard/components/Header/index.tsx:
##
@@ -108,6 +108,7 @@ type DashboardPropertiesUpdate = {
   roles?: Role[];
   tags?: TagType[];
   themeId?: number | null;

Review Comment:
   Good catch. Removed with the latest commit.



-- 
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: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]


-
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]



Re: [PR] fix(dashboard): use inline theme data to prevent 403 for non-admin users [superset]

2026-03-10 Thread via GitHub


codeant-ai-for-open-source[bot] commented on PR #38384:
URL: https://github.com/apache/superset/pull/38384#issuecomment-4036723543

   ## **Sequence Diagram**
   
   This PR changes dashboard rendering so the frontend builds the dashboard 
theme directly from theme data embedded in the dashboard API response, avoiding 
separate theme fetches that caused 403 errors and infinite spinners for 
non-admin users.
   
   ```mermaid
   sequenceDiagram
   participant User
   participant BrowserApp
   participant BackendAPI
   participant CrudThemeProvider
   
   User->>BrowserApp: Open themed dashboard
   BrowserApp->>BackendAPI: Request dashboard data
   BackendAPI-->>BrowserApp: Dashboard JSON with theme config
   BrowserApp->>CrudThemeProvider: Provide dashboard theme data
   CrudThemeProvider->>CrudThemeProvider: Create merged dashboard theme and 
load fonts
   CrudThemeProvider-->>BrowserApp: Render children with dashboard theme
   BrowserApp-->>User: Display dashboard without extra theme API calls
   ```
   
   ---
   *Generated by [CodeAnt AI](https://codeant.ai)*
   


-- 
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: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]


-
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]



Re: [PR] fix(dashboard): use inline theme data to prevent 403 for non-admin users [superset]

2026-03-10 Thread via GitHub


codeant-ai-for-open-source[bot] commented on PR #38384:
URL: https://github.com/apache/superset/pull/38384#issuecomment-4036324852

   ## **Sequence Diagram**
   
   This PR changes dashboard theming so the frontend builds the dashboard theme 
directly from inline theme data in the dashboard API response, avoiding 
separate theme endpoint requests and falling back to the global theme when 
theme data is invalid or missing.
   
   ```mermaid
   sequenceDiagram
   participant User
   participant Frontend
   participant DashboardAPI
   participant ThemeSystem
   
   User->>Frontend: Open dashboard
   Frontend->>DashboardAPI: Fetch dashboard data
   DashboardAPI-->>Frontend: Return dashboard with theme object
   Frontend->>ThemeSystem: Create dashboard theme from inline config
   ThemeSystem-->>Frontend: Return merged theme and fonts
   Frontend-->>User: Render dashboard with applied theme
   
   alt Theme data missing or invalid
   Frontend->>Frontend: Fall back to global theme
   Frontend-->>User: Render dashboard with global theme
   end
   ```
   
   ---
   *Generated by [CodeAnt AI](https://codeant.ai)*
   


-- 
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: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]


-
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]



Re: [PR] fix(dashboard): use inline theme data to prevent 403 for non-admin users [superset]

2026-03-10 Thread via GitHub


kgabryje commented on code in PR #38384:
URL: https://github.com/apache/superset/pull/38384#discussion_r2911664574


##
superset-frontend/src/dashboard/components/Header/index.tsx:
##
@@ -108,6 +108,7 @@ type DashboardPropertiesUpdate = {
   roles?: Role[];
   tags?: TagType[];
   themeId?: number | null;

Review Comment:
   should we remove themeId if it's in the theme object now?



-- 
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: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]


-
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]



Re: [PR] fix(dashboard): use inline theme data to prevent 403 for non-admin users [superset]

2026-03-10 Thread via GitHub


kgabryje commented on PR #38384:
URL: https://github.com/apache/superset/pull/38384#issuecomment-4031239127

   ### Code review
   
   No issues found. Checked for bugs and CLAUDE.md compliance.
   
   πŸ€– Generated with [Claude Code](https://claude.ai/code)
   
   - If this code review was useful, please react with πŸ‘. Otherwise, react 
with πŸ‘Ž.


-- 
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: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]


-
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]



Re: [PR] fix(dashboard): use inline theme data to prevent 403 for non-admin users [superset]

2026-03-09 Thread via GitHub


github-actions[bot] commented on PR #38384:
URL: https://github.com/apache/superset/pull/38384#issuecomment-4021864915

   @ Ephemeral environment creation failed. Please check the Actions logs for 
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: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]


-
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]



Re: [PR] fix(dashboard): use inline theme data to prevent 403 for non-admin users [superset]

2026-03-09 Thread via GitHub


github-actions[bot] commented on PR #38384:
URL: https://github.com/apache/superset/pull/38384#issuecomment-4021805589

   ⚠️ **DEPRECATED WORKFLOW** ⚠️
   
   @EnxDev This workflow is deprecated! Please use the new **Superset 
Showtime** system instead:
   
   - Replace "testenv-up" label with "πŸŽͺ trigger-start"
   - Better reliability and easier management
   - See https://github.com/mistercrunch/superset-showtime for details
   
   Processing your ephemeral environment request 
[here](https://github.com/apache/superset/actions/runs/22843424796). Action: 
**up**. More information on [how to use or configure ephemeral 
environments](https://superset.apache.org/docs/contributing/howtos/#github-ephemeral-environments)


-- 
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: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]


-
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]



Re: [PR] fix(dashboard): use inline theme data to prevent 403 for non-admin users [superset]

2026-03-06 Thread via GitHub


github-actions[bot] commented on PR #38384:
URL: https://github.com/apache/superset/pull/38384#issuecomment-4012610444

   @ Ephemeral environment creation failed. Please check the Actions logs for 
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: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]


-
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]



Re: [PR] fix(dashboard): use inline theme data to prevent 403 for non-admin users [superset]

2026-03-06 Thread via GitHub


github-actions[bot] commented on PR #38384:
URL: https://github.com/apache/superset/pull/38384#issuecomment-4012530367

   ⚠️ **DEPRECATED WORKFLOW** ⚠️
   
   @EnxDev This workflow is deprecated! Please use the new **Superset 
Showtime** system instead:
   
   - Replace "testenv-up" label with "πŸŽͺ trigger-start"
   - Better reliability and easier management
   - See https://github.com/mistercrunch/superset-showtime for details
   
   Processing your ephemeral environment request 
[here](https://github.com/apache/superset/actions/runs/22770832084). Action: 
**up**. More information on [how to use or configure ephemeral 
environments](https://superset.apache.org/docs/contributing/howtos/#github-ephemeral-environments)


-- 
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: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]


-
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]



Re: [PR] fix(dashboard): use inline theme data to prevent 403 for non-admin users [superset]

2026-03-06 Thread via GitHub


bito-code-review[bot] commented on PR #38384:
URL: https://github.com/apache/superset/pull/38384#issuecomment-4010290114

   AI Code Review is in progress (usually takes 3 to 15 minutes unless it's a 
very large PR).
   
   
   
   Bito Usage Guide
   
   
   **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 https://docs.bito.ai/bito-dev-agents/ai-code-review-agent/available-commands";
 target="_blank" rel="noopener noreferrer">documentation for additional 
commands.
 
   **Configuration**
   
   This repository uses `Superset` You can customize the agent settings https://alpha.bito.ai/home/ai-agents/code-review-agent"; target="_blank" 
rel="noopener noreferrer">here or contact your Bito workspace admin at 
[email protected].
 
   **Documentation & Help**
   - 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
   - https://docs.bito.ai/bito-dev-agents/ai-code-review-agent/implementing-custom-code-review-rules";
 target="_blank" rel="noopener noreferrer">Review rules
   - https://docs.bito.ai/bito-dev-agents/ai-code-review-agent"; 
target="_blank" rel="noopener noreferrer">General documentation
   - https://docs.bito.ai/bito-dev-agents/ai-code-review-agent/faqs"; 
target="_blank" rel="noopener noreferrer">FAQ
   
   
   


-- 
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: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]


-
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]



Re: [PR] fix(dashboard): use inline theme data to prevent 403 for non-admin users [superset]

2026-03-05 Thread via GitHub


github-actions[bot] commented on PR #38384:
URL: https://github.com/apache/superset/pull/38384#issuecomment-4010071677

   @ Ephemeral environment creation failed. Please check the Actions logs for 
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: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]


-
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]



Re: [PR] fix(dashboard): use inline theme data to prevent 403 for non-admin users [superset]

2026-03-05 Thread via GitHub


github-actions[bot] commented on PR #38384:
URL: https://github.com/apache/superset/pull/38384#issuecomment-4010021078

   ⚠️ **DEPRECATED WORKFLOW** ⚠️
   
   @sadpandajoe This workflow is deprecated! Please use the new **Superset 
Showtime** system instead:
   
   - Replace "testenv-up" label with "πŸŽͺ trigger-start"
   - Better reliability and easier management
   - See https://github.com/mistercrunch/superset-showtime for details
   
   Processing your ephemeral environment request 
[here](https://github.com/apache/superset/actions/runs/22753229199). Action: 
**up**. More information on [how to use or configure ephemeral 
environments](https://superset.apache.org/docs/contributing/howtos/#github-ephemeral-environments)


-- 
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: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]


-
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]



Re: [PR] fix(dashboard): use inline theme data to prevent 403 for non-admin users [superset]

2026-03-05 Thread via GitHub


bito-code-review[bot] commented on PR #38384:
URL: https://github.com/apache/superset/pull/38384#issuecomment-4009491835

   AI Code Review is in progress (usually takes 3 to 15 minutes unless it's a 
very large PR).
   
   
   
   Bito Usage Guide
   
   
   **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 https://docs.bito.ai/bito-dev-agents/ai-code-review-agent/available-commands";
 target="_blank" rel="noopener noreferrer">documentation for additional 
commands.
 
   **Configuration**
   
   This repository uses `Superset` You can customize the agent settings https://alpha.bito.ai/home/ai-agents/code-review-agent"; target="_blank" 
rel="noopener noreferrer">here or contact your Bito workspace admin at 
[email protected].
 
   **Documentation & Help**
   - 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
   - https://docs.bito.ai/bito-dev-agents/ai-code-review-agent/implementing-custom-code-review-rules";
 target="_blank" rel="noopener noreferrer">Review rules
   - https://docs.bito.ai/bito-dev-agents/ai-code-review-agent"; 
target="_blank" rel="noopener noreferrer">General documentation
   - https://docs.bito.ai/bito-dev-agents/ai-code-review-agent/faqs"; 
target="_blank" rel="noopener noreferrer">FAQ
   
   
   


-- 
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: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]


-
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]



Re: [PR] fix(dashboard): use inline theme data to prevent 403 for non-admin users [superset]

2026-03-05 Thread via GitHub


github-actions[bot] commented on PR #38384:
URL: https://github.com/apache/superset/pull/38384#issuecomment-4008810326

   πŸŽͺ [Showtime](https://github.com/mistercrunch/superset-showtime) is building 
environment on 
[GHA](https://github.com/apache/superset/actions/runs/22744105883) for 
[2902284](https://github.com/apache/superset/commit/2902284)


-- 
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: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]


-
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]



Re: [PR] fix(dashboard): use inline theme data to prevent 403 for non-admin users [superset]

2026-03-05 Thread via GitHub


bito-code-review[bot] commented on PR #38384:
URL: https://github.com/apache/superset/pull/38384#issuecomment-4008774547

   AI Code Review is in progress (usually takes 3 to 15 minutes unless it's a 
very large PR).
   
   
   
   Bito Usage Guide
   
   
   **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 https://docs.bito.ai/bito-dev-agents/ai-code-review-agent/available-commands";
 target="_blank" rel="noopener noreferrer">documentation for additional 
commands.
 
   **Configuration**
   
   This repository uses `Superset` You can customize the agent settings https://alpha.bito.ai/home/ai-agents/code-review-agent"; target="_blank" 
rel="noopener noreferrer">here or contact your Bito workspace admin at 
[email protected].
 
   **Documentation & Help**
   - 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
   - https://docs.bito.ai/bito-dev-agents/ai-code-review-agent/implementing-custom-code-review-rules";
 target="_blank" rel="noopener noreferrer">Review rules
   - https://docs.bito.ai/bito-dev-agents/ai-code-review-agent"; 
target="_blank" rel="noopener noreferrer">General documentation
   - https://docs.bito.ai/bito-dev-agents/ai-code-review-agent/faqs"; 
target="_blank" rel="noopener noreferrer">FAQ
   
   
   


-- 
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: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]


-
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]



Re: [PR] fix(dashboard): use inline theme data to prevent 403 for non-admin users [superset]

2026-03-05 Thread via GitHub


codeant-ai-for-open-source[bot] commented on code in PR #38384:
URL: https://github.com/apache/superset/pull/38384#discussion_r2893125724


##
superset-frontend/src/dashboard/reducers/dashboardInfo.ts:
##
@@ -124,22 +122,11 @@ export default function dashboardInfoReducer(
 case DASHBOARD_INFO_UPDATED: {
   const dashAction = action as DashboardInfoAction;
   const newInfo = dashAction.newInfo || {};
-  const { theme_id: themeId, ...otherInfo } = newInfo;
-  const updatedState: DashboardInfoState = {
+  return {
 ...state,
-...otherInfo,
+...newInfo,
 last_modified_time: Math.round(new Date().getTime() / 1000),
   };

Review Comment:
   **Suggestion:** When handling the generic dashboard info update action, the 
reducer now shallow-merges `newInfo.metadata` into the existing state without 
preserving `chartsInScope`/`tabsInScope` for `native_filter_configuration`, 
even though the `preserveScopes` helper exists and is used for HYDRATE. This 
means that whenever `dashboardInfoChanged` is dispatched with a 
`metadata.native_filter_configuration` coming from the server (which may omit 
those scope fields), the reducer will overwrite the in-memory 
`native_filter_configuration` array and drop the existing scope data, causing 
native filters to lose their chart/tab scoping after such updates. To avoid 
this regression, the DASHBOARD_INFO_UPDATED branch should merge 
`metadata.native_filter_configuration` via `preserveScopes` instead of blindly 
overwriting it. [logic error]
   
   
   Severity Level: Critical 🚨
   
   ```mdx
   - ❌ Saving dashboard overwrites native filter chart/tab scoping.
   - ⚠️ Native filter bar shows filters as globally scoped again.
   - ⚠️ Cross-filter and scoping UX becomes inconsistent after saves.
   - ⚠️ HYDRATE preserves scopes but later updates silently discard them.
   ```
   
   
   ```suggestion
   case DASHBOARD_INFO_UPDATED: {
 const dashAction = action as DashboardInfoAction;
 const newInfo = dashAction.newInfo || {};
   
 let mergedMetadata = newInfo.metadata;
 if (
   newInfo.metadata?.native_filter_configuration &&
   state.metadata?.native_filter_configuration
 ) {
   mergedMetadata = {
 ...newInfo.metadata,
 native_filter_configuration: preserveScopes(
   state.metadata.native_filter_configuration,
   newInfo.metadata.native_filter_configuration,
 ),
   } as DashboardInfo['metadata'];
 }
   
 return {
   ...state,
   ...newInfo,
   ...(mergedMetadata && { metadata: mergedMetadata }),
   last_modified_time: Math.round(new Date().getTime() / 1000),
 };
   }
   ```
   
   Steps of Reproduction βœ… 
   
   ```mdx
   1. Open a dashboard with native filters and adjust their chart/tab scoping 
via the Native
   Filters UI. The scoping update is handled by `setInScopeStatusOfFilters` in
   `superset-frontend/src/dashboard/actions/nativeFilters.ts:106-147`, which 
merges the new
   `chartsInScope`/`tabsInScope` into `metadata.native_filter_configuration` 
and dispatches
   `dashboardInfoChanged({ metadata })` (lines 141-145), populating
   `state.dashboardInfo.metadata.native_filter_configuration` with those scope 
fields.
   
   2. In the same session, click the "Save" button in the dashboard header. 
This triggers
   `overwriteDashboard` in
   `superset-frontend/src/dashboard/components/Header/index.tsx:431-501`, which 
calls
   `boundActionCreators.onSave(data, dashboardInfo.id, SAVE_TYPE_OVERWRITE)` 
(line 479).
   `onSave` is bound to `saveDashboardRequest` from
   `superset-frontend/src/dashboard/actions/dashboardState.ts` (import and 
binding at lines
   70-73 and 318-319).
   
   3. Inside `saveDashboardRequest`
   (`superset-frontend/src/dashboard/actions/dashboardState.ts:424-732`), after 
a successful
   `PUT /api/v1/dashboard/:id`, `onUpdateSuccess` (lines 548-603) parses the 
backend
   `json_metadata` into `parsedMetadata` (lines 554-557) and dispatches
   `setDashboardMetadata(parsedMetadata)` (line 558). `setDashboardMetadata` 
(lines 391-402)
   in the same file then dispatches `dashboardInfoChanged({ metadata: {
   ...dashboardInfo?.metadata, ...updatedMetadata } })`, where 
`updatedMetadata` comes from
   the server and includes a `native_filter_configuration` that does not 
contain the
   client-only `chartsInScope`/`tabsInScope` fields.
   
   4. The `dashboardInfoChanged` action creator in
   `superset-frontend/src/dashboard/actions/dashboardInfo.ts:44-47` emits `{ 
type:
   DASHBOARD_INFO_UPDATED, newInfo }`, which is handled by 
`dashboardInfoReducer` in
   `superset-frontend/src/dashboard/reducers/dashboardInfo.ts:117-129`. In the
   `DASHBOARD_INFO_UPDATED` case (lines 122-129), the reducer shallow-merges 
`...newInfo`
   into `state`, so `state.metadata` is entirely replaced by 
`newInf

Re: [PR] fix(dashboard): use inline theme data to prevent 403 for non-admin users [superset]

2026-03-05 Thread via GitHub


codeant-ai-for-open-source[bot] commented on PR #38384:
URL: https://github.com/apache/superset/pull/38384#issuecomment-4008706583

   ## **Sequence Diagram**
   
   The PR stops CrudThemeProvider from fetching a theme by ID (which could 403 
for non-admins) by using the full theme object returned in the dashboard API 
response. The provider now creates the Theme synchronously from inline 
json_data (merges with base theme and injects fonts) and falls back to the 
global theme on invalid data.
   
   ```mermaid
   sequenceDiagram
   participant Client
   participant Backend
   participant DashboardPage
   participant CrudThemeProvider
   participant ThemeLib as Theme.fromConfig
   participant GlobalTheme
   
   Client->>Backend: GET /dashboard/{id}
   Backend-->>Client: 200 OK (dashboard + theme {id, theme_name, json_data})
   Client->>DashboardPage: render with dashboard (includes theme object)
   DashboardPage->>CrudThemeProvider: provide inline theme object
   CrudThemeProvider->>ThemeLib: Theme.fromConfig(json_data + baseTheme) 
(sync)
   alt valid theme
 ThemeLib-->>CrudThemeProvider: Theme provider
 CrudThemeProvider-->>DashboardPage: render children wrapped in 
dashboard theme (also inject fonts)
   else invalid/missing theme
 CrudThemeProvider-->>GlobalTheme: use global theme
 CrudThemeProvider-->>DashboardPage: render children with global theme 
(no spinner)
   ```
   
   ---
   *Generated by [CodeAnt AI](https://codeant.ai)*
   


-- 
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: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]


-
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]



Re: [PR] fix(dashboard): use inline theme data to prevent 403 for non-admin users [superset]

2026-03-05 Thread via GitHub


bito-code-review[bot] commented on PR #38384:
URL: https://github.com/apache/superset/pull/38384#issuecomment-4007437505

   AI Code Review is in progress (usually takes 3 to 15 minutes unless it's a 
very large PR).
   
   
   
   Bito Usage Guide
   
   
   **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 https://docs.bito.ai/bito-dev-agents/ai-code-review-agent/available-commands";
 target="_blank" rel="noopener noreferrer">documentation for additional 
commands.
 
   **Configuration**
   
   This repository uses `Superset` You can customize the agent settings https://alpha.bito.ai/home/ai-agents/code-review-agent"; target="_blank" 
rel="noopener noreferrer">here or contact your Bito workspace admin at 
[email protected].
 
   **Documentation & Help**
   - 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
   - https://docs.bito.ai/bito-dev-agents/ai-code-review-agent/implementing-custom-code-review-rules";
 target="_blank" rel="noopener noreferrer">Review rules
   - https://docs.bito.ai/bito-dev-agents/ai-code-review-agent"; 
target="_blank" rel="noopener noreferrer">General documentation
   - https://docs.bito.ai/bito-dev-agents/ai-code-review-agent/faqs"; 
target="_blank" rel="noopener noreferrer">FAQ
   
   
   


-- 
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: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]


-
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]



Re: [PR] fix(dashboard): use inline theme data to prevent 403 for non-admin users [superset]

2026-03-05 Thread via GitHub


EnxDev commented on PR #38384:
URL: https://github.com/apache/superset/pull/38384#issuecomment-4003769389

   Hey @sadpandajoe, based on manual testing, applying a custom theme to a 
dashboard currently requires a full page reload for the changes to take effect.
   
   - Before
   
   
https://github.com/user-attachments/assets/4f22e568-4149-41f3-a55e-25528fdb2bca
   
   - After
   
   
https://github.com/user-attachments/assets/5b39a967-72c9-4238-aeec-b18e00b70441
   
   


-- 
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: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]


-
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]



Re: [PR] fix(dashboard): use inline theme data to prevent 403 for non-admin users [superset]

2026-03-04 Thread via GitHub


bito-code-review[bot] commented on PR #38384:
URL: https://github.com/apache/superset/pull/38384#issuecomment-4002464632

   AI Code Review is in progress (usually takes 3 to 15 minutes unless it's a 
very large PR).
   
   
   
   Bito Usage Guide
   
   
   **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 https://docs.bito.ai/bito-dev-agents/ai-code-review-agent/available-commands";
 target="_blank" rel="noopener noreferrer">documentation for additional 
commands.
 
   **Configuration**
   
   This repository uses `Superset` You can customize the agent settings https://alpha.bito.ai/home/ai-agents/code-review-agent"; target="_blank" 
rel="noopener noreferrer">here or contact your Bito workspace admin at 
[email protected].
 
   **Documentation & Help**
   - 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
   - https://docs.bito.ai/bito-dev-agents/ai-code-review-agent/implementing-custom-code-review-rules";
 target="_blank" rel="noopener noreferrer">Review rules
   - https://docs.bito.ai/bito-dev-agents/ai-code-review-agent"; 
target="_blank" rel="noopener noreferrer">General documentation
   - https://docs.bito.ai/bito-dev-agents/ai-code-review-agent/faqs"; 
target="_blank" rel="noopener noreferrer">FAQ
   
   
   


-- 
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: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]


-
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]



Re: [PR] fix(dashboard): use inline theme data to prevent 403 for non-admin users [superset]

2026-03-04 Thread via GitHub


bito-code-review[bot] commented on PR #38384:
URL: https://github.com/apache/superset/pull/38384#issuecomment-4002039089

   AI Code Review is in progress (usually takes 3 to 15 minutes unless it's a 
very large PR).
   
   
   
   Bito Usage Guide
   
   
   **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 https://docs.bito.ai/bito-dev-agents/ai-code-review-agent/available-commands";
 target="_blank" rel="noopener noreferrer">documentation for additional 
commands.
 
   **Configuration**
   
   This repository uses `Superset` You can customize the agent settings https://alpha.bito.ai/home/ai-agents/code-review-agent"; target="_blank" 
rel="noopener noreferrer">here or contact your Bito workspace admin at 
[email protected].
 
   **Documentation & Help**
   - 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
   - https://docs.bito.ai/bito-dev-agents/ai-code-review-agent/implementing-custom-code-review-rules";
 target="_blank" rel="noopener noreferrer">Review rules
   - https://docs.bito.ai/bito-dev-agents/ai-code-review-agent"; 
target="_blank" rel="noopener noreferrer">General documentation
   - https://docs.bito.ai/bito-dev-agents/ai-code-review-agent/faqs"; 
target="_blank" rel="noopener noreferrer">FAQ
   
   
   


-- 
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: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]


-
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]



Re: [PR] fix(dashboard): use inline theme data to prevent 403 for non-admin users [superset]

2026-03-04 Thread via GitHub


codeant-ai-for-open-source[bot] commented on PR #38384:
URL: https://github.com/apache/superset/pull/38384#issuecomment-4001809995

   ## **Sequence Diagram**
   
   The PR stops fetching a theme by ID (which required Theme read permission) 
and instead uses the full theme object returned by the dashboard API. The 
dashboard passes the inline json_data to CrudThemeProvider, which creates a 
Theme synchronously via Theme.fromConfig and applies it; if creation fails it 
falls back to the global theme to avoid infinite loading.
   
   ```mermaid
   sequenceDiagram
   participant Client
   participant DashboardPage
   participant CrudThemeProvider
   participant Theme
   
   Client->>DashboardPage: GET dashboard (response includes theme object 
with json_data)
   DashboardPage->>CrudThemeProvider: provide full theme object (theme)
   CrudThemeProvider->>Theme: Theme.fromConfig(theme.json_data)
   Theme-->>CrudThemeProvider: SupersetThemeProvider
   alt Valid theme created
   CrudThemeProvider-->>Client: Render children wrapped with 
SupersetThemeProvider (dashboard theme applied)
   else Invalid or missing theme
   CrudThemeProvider-->>Client: Render children with global theme (no 
spinner / no extra API call)
   end
   ```
   
   ---
   *Generated by [CodeAnt AI](https://codeant.ai)*
   


-- 
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: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]


-
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]



Re: [PR] fix(dashboard): use inline theme data to prevent 403 for non-admin users [superset]

2026-03-04 Thread via GitHub


github-actions[bot] commented on PR #38384:
URL: https://github.com/apache/superset/pull/38384#issuecomment-3998347503

   @EnxDev Ephemeral environment spinning up at http://44.255.197.236:8080. 
Credentials are 'admin'/'admin'. Please allow several minutes for bootstrapping 
and startup.


-- 
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: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]


-
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]



Re: [PR] fix(dashboard): use inline theme data to prevent 403 for non-admin users [superset]

2026-03-04 Thread via GitHub


github-actions[bot] commented on PR #38384:
URL: https://github.com/apache/superset/pull/38384#issuecomment-3998296690

   ⚠️ **DEPRECATED WORKFLOW** ⚠️
   
   @EnxDev This workflow is deprecated! Please use the new **Superset 
Showtime** system instead:
   
   - Replace "testenv-up" label with "πŸŽͺ trigger-start"
   - Better reliability and easier management
   - See https://github.com/mistercrunch/superset-showtime for details
   
   Processing your ephemeral environment request 
[here](https://github.com/apache/superset/actions/runs/22676355024). Action: 
**up**. More information on [how to use or configure ephemeral 
environments](https://superset.apache.org/docs/contributing/howtos/#github-ephemeral-environments)


-- 
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: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]


-
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]



Re: [PR] fix(dashboard): use inline theme data to prevent 403 for non-admin users [superset]

2026-03-03 Thread via GitHub


Copilot commented on code in PR #38384:
URL: https://github.com/apache/superset/pull/38384#discussion_r2882201774


##
superset-frontend/src/components/CrudThemeProvider.tsx:
##
@@ -16,68 +16,45 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-import { ReactNode, useEffect, useState } from 'react';
-import { useThemeContext } from 'src/theme/ThemeProvider';
+import { ReactNode, useMemo } from 'react';
+import { logging } from '@apache-superset/core';
 import { Theme } from '@apache-superset/core/ui';
-import { Loading } from '@superset-ui/core/components';
+import type { Dashboard } from 'src/types/Dashboard';
 
 interface CrudThemeProviderProps {
   children: ReactNode;
-  themeId?: number | null;
+  theme?: Dashboard['theme'];
 }
 
 /**
- * CrudThemeProvider asks the ThemeController for a dashboard theme provider.
- * Flow: Dashboard loads β†’ asks controller β†’ controller fetches theme β†’
- * returns provider β†’ dashboard uses it.
- *
- * CRITICAL: This does NOT modify the global controller - it creates an 
isolated dashboard theme.
+ * CrudThemeProvider applies a dashboard-specific theme using theme data
+ * from the dashboard API response. Falls back to the global theme if
+ * the theme data is missing or invalid.
  */
 export default function CrudThemeProvider({
   children,
-  themeId,
+  theme,
 }: CrudThemeProviderProps) {
-  const globalThemeContext = useThemeContext();
-  const [dashboardTheme, setDashboardTheme] = useState(null);
-
-  useEffect(() => {
-if (themeId) {
-  // Ask the controller to create a SEPARATE dashboard theme provider
-  // This should NOT affect the global controller or navbar
-  const loadDashboardTheme = async () => {
-try {
-  const dashboardThemeProvider =
-await globalThemeContext.createDashboardThemeProvider(
-  String(themeId),
-);
-  setDashboardTheme(dashboardThemeProvider);
-} catch (error) {
-  console.error('Failed to load dashboard theme:', error);
-  setDashboardTheme(null);
-}
-  };
-
-  loadDashboardTheme();
-} else {
-  setDashboardTheme(null);
+  const dashboardTheme = useMemo(() => {
+if (!theme?.json_data) {
+  return null;
 }
-  }, [themeId, globalThemeContext]);
-
-  // If no themeId, just render children (they use global theme)
-  if (!themeId) {
-return <>{children};
-  }
+try {
+  const themeConfig = JSON.parse(theme.json_data);
+  return Theme.fromConfig(themeConfig);
+} catch (error) {
+  logging.warn('Failed to load dashboard theme:', error);
+  return null;
+}

Review Comment:
   By bypassing `ThemeController.createDashboardThemeProvider`, dashboard 
themes no longer (1) merge with the configured base theme (THEME_DEFAULT / 
THEME_DARK) and (2) load `token.fontUrls` via `ThemeController.loadFonts()`. As 
a result, dashboard themes that rely on instance defaults or custom fonts may 
render incorrectly. Consider reusing ThemeController logic via a new API like 
`createDashboardThemeProviderFromConfig(themeConfig)` (no fetch) or otherwise 
replicating the base-theme merge + font loading for inline `json_data`.



##
superset-frontend/src/dashboard/containers/DashboardPage.tsx:
##
@@ -294,13 +291,7 @@ export const DashboardPage: FC = ({ idOrSlug }: 
PageProps) => {
 <>
   
   
-
+

Review Comment:
   This change removes `dashboardInfo.theme` as an input to 
`CrudThemeProvider`, so theme changes made in the Dashboard Properties modal 
during the same session will no longer be reflected (this previously worked by 
driving `themeId` from Redux state for users who could read Theme). Consider 
keeping `dashboardInfo.theme` as a higher-priority source, or supporting an 
admin-only fallback path (e.g., fetch by id when inline `json_data` is missing) 
so live theme switching doesn’t regress for authorized users.



##
superset-frontend/src/dashboard/containers/DashboardPage.test.tsx:
##
@@ -0,0 +1,179 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+import type { ReactNode } from 'react';
+im

Re: [PR] fix(dashboard): use inline theme data to prevent 403 for non-admin users [superset]

2026-03-03 Thread via GitHub


codeant-ai-for-open-source[bot] commented on code in PR #38384:
URL: https://github.com/apache/superset/pull/38384#discussion_r2882186627


##
superset-frontend/src/components/CrudThemeProvider.test.tsx:
##
@@ -0,0 +1,132 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+import { type ReactNode } from 'react';
+import { render, screen } from 'spec/helpers/testing-library';
+import { logging } from '@apache-superset/core';
+import { Theme } from '@apache-superset/core/ui';
+import CrudThemeProvider from './CrudThemeProvider';
+
+const MockSupersetThemeProvider = ({ children }: { children: ReactNode }) => (
+  {children}

Review Comment:
   **Suggestion:** The mock theme provider uses a `data-test` attribute while 
the tests query for `data-testid`, so the assertions that check for the 
presence or absence of the themed wrapper will never actually detect it, 
causing the tests to fail or give misleading results about whether the theme 
was applied. [logic error]
   
   
   Severity Level: Major ⚠️
   
   ```mdx
   - ❌ CrudThemeProvider theme wrapper test fails consistently.
   - ⚠️ Tests cannot accurately detect themed wrapper presence.
   ```
   
   
   ```suggestion
 {children}
   ```
   
   Steps of Reproduction βœ… 
   
   ```mdx
   1. Run the frontend test suite including
   `superset-frontend/src/components/CrudThemeProvider.test.tsx` (e.g., `npm 
test
   CrudThemeProvider.test.tsx`).
   
   2. During the test `'wraps children with SupersetThemeProvider when valid 
theme data is
   provided'` at lines 62-78, `MockSupersetThemeProvider` (defined at lines 
25-27) renders
   ``.
   
   3. The assertion `screen.getByTestId('dashboard-theme-provider')` at line 76 
uses React
   Testing Library's test id query, which searches for
   `data-testid="dashboard-theme-provider"` and does not match the `data-test` 
attribute.
   
   4. Because no element with `data-testid="dashboard-theme-provider"` exists, 
`getByTestId`
   throws an error and the test fails, even though the wrapper div is present 
in the DOM but
   incorrectly attributed.
   ```
   
   
   Prompt for AI Agent πŸ€– 
   
   ```mdx
   This is a comment left during a code review.
   
   **Path:** superset-frontend/src/components/CrudThemeProvider.test.tsx
   **Line:** 26:26
   **Comment:**
*Logic Error: The mock theme provider uses a `data-test` attribute 
while the tests query for `data-testid`, so the assertions that check for the 
presence or absence of the themed wrapper will never actually detect it, 
causing the tests to fail or give misleading results about whether the theme 
was applied.
   
   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.
   ```
   
   πŸ‘
 | πŸ‘Ž



##
superset-frontend/src/dashboard/containers/DashboardPage.test.tsx:
##
@@ -0,0 +1,179 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+import type { ReactNode } from 'react';
+import { Suspense } from 'react';
+import { render, screen, waitFor } from 'spec/helpers/testing-library';
+import {
+  useDashboard,
+  useDashboardCharts,
+  useDashboardDatasets,
+} from 'src/hooks/apiResources';
+import CrudThemeProvider from 'src/components/CrudThemeProvider';
+import DashboardPage from './DashboardPage';
+
+const mockTheme = {
+  id: 42,
+  theme_name: 'Branded',
+  json_data: '{"token":{"colorPrimary":"#1677ff"}}'

Re: [PR] fix(dashboard): use inline theme data to prevent 403 for non-admin users [superset]

2026-03-03 Thread via GitHub


codeant-ai-for-open-source[bot] commented on PR #38384:
URL: https://github.com/apache/superset/pull/38384#issuecomment-3995714941

   ## **Sequence Diagram**
   
   The PR stops making a separate theme API call and instead passes the inline 
theme object returned by the dashboard API into CrudThemeProvider, which 
synchronously creates and applies the dashboard theme (or falls back to the 
global theme on invalid/missing data). This prevents 403-triggered infinite 
loading for non-admin users.
   
   ```mermaid
   sequenceDiagram
   participant DashboardAPI
   participant DashboardPage
   participant CrudThemeProvider
   participant ThemeLib as Theme.fromConfig
   participant GlobalTheme
   
   DashboardAPI-->>DashboardPage: returns dashboard (includes theme {id, 
json_data})
   DashboardPage->>CrudThemeProvider: provide theme (full object)
   CrudThemeProvider->>ThemeLib: parse json_data & Theme.fromConfig
   alt valid theme
   ThemeLib-->>CrudThemeProvider: Theme (SupersetThemeProvider)
   CrudThemeProvider-->>DashboardPage: wrap children with 
SupersetThemeProvider
   else invalid/missing
   CrudThemeProvider-->>GlobalTheme: use global theme (no fetch)
   CrudThemeProvider-->>DashboardPage: render children with global theme
   ```
   
   ---
   *Generated by [CodeAnt AI](https://codeant.ai)*
   


-- 
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: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]


-
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]



Re: [PR] fix(dashboard): use inline theme data to prevent 403 for non-admin users [superset]

2026-03-03 Thread via GitHub


bito-code-review[bot] commented on PR #38384:
URL: https://github.com/apache/superset/pull/38384#issuecomment-3995711703

   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: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]


-
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]