vbhanuchander-lang opened a new pull request, #9064: URL: https://github.com/apache/devlake/pull/9064
### Summary `ConnectUserAccountsExact` links a user to an account through three exact comparisons: email, `FullName`, and `UserName`. #9051 made the email comparison case-insensitive. The two name comparisons were left matching exactly, and this makes them consistent with it. The case that matters most is `UserName`, which holds the provider login. Provider logins are themselves case-insensitive — GitHub resolves `TyroneKCummings` and `tyronekcummings` to the same account — so comparing them case-sensitively against the `users.csv` name is comparing on a distinction the provider does not make. Display names are folded for the same reason emails were: a corporate git config and a provider profile routinely record the same name with different capitalisation. The consequence of a missed link is silent and easy to misread as missing data: the account is never associated with the user, so every activity attributing through it disappears from work logs while other activities for the same person keep appearing. ### Does this close any open issues? Towards #8698 — it does **not** close it. In that issue the GitHub account has no public email (GitHub returns an empty string for users who have not made it public), so linkage can only happen through the two name paths this PR fixes. That removes the case-mismatch failure, but a user whose CSV name simply differs from their GitHub login is still unlinked. Closing #8698 properly needs a way to *declare* the provider login rather than guess it, which is a larger change to the `crossdomain.User` model and worth discussing on the issue first — `user_account_mapping.csv` already covers the declared case and may be the preferred answer. ### Other Information Tested by extending the existing org e2e fixtures with account `a12`, whose login `N7` differs from user `U007`'s name `n7` only in case, and with no email so the match is forced down the login path. With the change it links; reverting the change drops the expected `user_accounts` row count from 12 to 11 and the test fails. `gofmt` and `go vet` clean. No documentation change: this corrects existing matching behaviour rather than adding a knob. -- 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]
