Version 9.1.103 (19 July 2024) Performance Management Blank screen after opening an agreement (TP#118171) Problem The user contract does not load due to a JavaScript error if one section has no name. Solution Ensure that a section item always has a name, by returning "unknown" if it is null or empty. Index panel problem (TP#118173) Problem "Natural" sorting of items was not implemented when perspectives were enabled. Solution Ensure that level 2 items are always sorted naturally. Prevent the delete icon from wrapping to a new line (TP#117026) Problem The delete icon wraps to another line Solution Disable the wrapping of the delete icon in the overall summary section  People Management Duplicate employees saved (TP#118162) Problem Duplicate users were displayed due to a bug in the back-end logic. Solution Ensure duplicate users are not returned when people group users are returned. Roles are not applying to V8 pages (TP#112977) Problem Ruleset admin and Schema admin in V9 and V8 respectively are handled differently. In V8, schema admin always has edit/view rights. In V9 a Ruleset admin needs the appropriate right to view/edit. Solution Added a check, when coming from V9 it will only check the view/edit permissions and not if the user is an admin. Ruleset Management 'User not active' message when attempting to log into the newly created ruleset (TP#116988) Problem When a new ruleset is created, when trying to log into that ruleset with the user that created it a user not active message is displayed. The problem is that the user has no appointment and does not exist on JobProfiler.MaterializedUsers because of an error when trying to materialize the user. This error is because the user has tried to be added before the ruleset has been created on JP which causes the context to go invalid and the user never gets created. Solution Changed the order of execution to first send the ruleset created event, and then send the copy identity user (which calls user created event) to reduce the chance of a race condition occurring and the user being created before the ruleset exists on JP. Add a check to delay user creation until the ruleset is created Translation Resource names displayed (TP#118163) Problem The functionality from the initial development was not working 100% and it saved the actual translated value not the key, also where it did have the key saved it displayed that instead of the value. Solution Made it so that when editing/adding a theme it always saves the translation key. When viewing the viewed value is the translation value. Also made it auto-scroll and focus on the relevant key when clicking on the Hand icon next to the inputs SigniChat Read Receipt for Messages does not display accurate time (TP#116198) Problem Newly Sent Message displays a Read Receipt Time that is not accurate as the user the message was sent to has not yet viewed the message Solution Read Receipt time is only logged when the New Message is read by the user it was sent to. Translation for the Login Page The login page language setting is not working (TP#118207) Problem Static translations did not work when the user was not signed in (ie on the login page) Solution Ensure that static translation works even when the user is not logged in and authenticated.