Skip to content

[01321] Add backwards compatibility for ?chrome=false URL parameter#2895

Merged
nielsbosma merged 3 commits intomainfrom
plan-01321-Ivy-Framework
Apr 1, 2026
Merged

[01321] Add backwards compatibility for ?chrome=false URL parameter#2895
nielsbosma merged 3 commits intomainfrom
plan-01321-Ivy-Framework

Conversation

@nielsbosma
Copy link
Copy Markdown
Contributor

Changes

Added backwards compatibility for the ?chrome=false URL parameter so it works identically to ?shell=false for bypassing the AppShell. The shell parameter takes precedence when both are present. Changes span backend (C#) and frontend (TypeScript).

API Changes

  • AppRouter.GetAppShell() changed from private static to internal static to enable unit testing
  • AppRouter.GetAppShell() now checks for chrome query parameter as fallback when shell is absent
  • AppHub.ReservedQueryParams now includes "chrome" to prevent it from being passed as app args
  • getShellParam() in utils.ts now checks chrome query parameter as fallback when shell is absent

Files Modified

  • Backend routing: src/Ivy/Core/Apps/AppRouter.cs - Added chrome parameter fallback in GetAppShell()
  • Backend hub: src/Ivy/Core/Server/AppHub.cs - Added "chrome" to reserved query params
  • Frontend utils: src/frontend/src/lib/utils.ts - Updated getShellParam() to check chrome parameter
  • Project config: src/Ivy/Ivy.csproj - Added InternalsVisibleTo for Ivy.Tests
  • Test project: src/Ivy.Tests/Ivy.Tests.csproj - Added ASP.NET Core framework reference
  • Backend tests: src/Ivy.Tests/Core/Apps/AppRouterTests.cs - New test class with 8 test cases
  • Frontend tests: src/frontend/src/lib/utils.test.ts - Added 9 test cases for getShellParam()

Commits

  • 9a0f3b97 [01321] Add backwards compatibility for ?chrome=false URL parameter
  • 43c70ed9 [01321] Add tests for chrome/shell URL parameter backwards compatibility
  • 1d1991f1 [01321] Move AppRouter tests to Ivy.Test project (has InternalsVisibleTo access)

@nielsbosma nielsbosma merged commit f81f382 into main Apr 1, 2026
10 of 11 checks passed
@nielsbosma nielsbosma deleted the plan-01321-Ivy-Framework branch April 1, 2026 06:10
@artem-ivy-ai
Copy link
Copy Markdown
Collaborator

Deploy timed out

I'm preparing your docs & samples for this PR. I'll update the comment as Sliplane reports progress.

Logs

No terminal state received from Sliplane after 30 minutes.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants