Version 9.1.224.2 (Support Release - 9 July 2026)
Communication Portal
Allow Discussion to load inside V8 (#152682)
Problem
- When a learner opens the new Discussion feature from within the older (V8) part of the system, the Discussion area fails to load: the request reaches WebMVC's `DiscussionController`, but the downstream gRPC call to CommunicationPortal.API short-circuits with `User access token unavailable`, and the user is signed out.
Solution
- Set `AuthenticationType = Bearer` in WebMVC's JWT `TokenValidationParameters`. On `Cookies,Bearer` endpoints, the merged principal now carries a Bearer-typed identity, so the existing fast path forwards the inbound token and the local and downstream identities agree.
Resolved banner metadata not showing on the list (#152734)
Problem
The data can be passed in a different format than what is expected can have a wrapper as well
Solution
- Add fallback to correct the path and the value to show the background colour, date and expires date
System Access
Resolve problem on virtual tours with activeTab= query param (#152722)
Problem
- Landing page when logging in as well as FitAndProper sharelink breaks when accessing
Solution
- Since "activeTab" contains "tab", the first condition matches. But when splitting by "tab=", there's no "tab=" in the string (only "activeTab="), so Split returns a single-element array. Accessing index [1] throws the exception.
- Check for "tab=" instead of "tab" (includes the equals sign)
- Check for "activeTab=" instead of "activeTab" (includes the equals sign)
- Add bounds checking before accessing array indices
- Limit split to 2 parts for better performance
- Use case-insensitive comparison for robustness