Open
Description
Current behavior:
- If you don't have
AddServerComponents()
, then your SSR components will useHttpNavigationManager
- If you do, then both SSR and interactive (server) components will use
RemoteNavigationManager
Expected:
- Regardless of service registrations, the DI scope for SSR components should use
HttpNavigationManager
while the DI scope for interactive (server) components should useRemoteNavigationManager
Or in other words, SSR components currently select between the two implementations based on an entirely unrelated fact (whether or not your app is configured to support interactive server components), which is problematic.
This shouldn't currently impact the developer experience or behavior. However it might do, since the two implementations are quite different, and might vary behavior. This was actually the root cause of bug #49670, in the sense that E2E tests said the feature already worked, but that was only true for apps with AddServerComponents()
.
Longer term we should avoid the risk of inconsistency and similar bugs by ensuring we always use the SSR service for SSR scopes.