diff --git a/CHANGELOG.md b/CHANGELOG.md index 093c1d3a..8777f173 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -8,6 +8,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [2.7.1] - Unreleased ### Fixed +- Fixed improper encoding of unicode characters in commit messages (#627) - Creating a new branch now reports the error if uncommitted changes conflict (#624) ## [2.7.0] - 2024-11-04 diff --git a/cls/SourceControl/Git/WebUIDriver.cls b/cls/SourceControl/Git/WebUIDriver.cls index 38388f16..fe91feb8 100644 --- a/cls/SourceControl/Git/WebUIDriver.cls +++ b/cls/SourceControl/Git/WebUIDriver.cls @@ -244,7 +244,12 @@ ClassMethod HandleRequest(pagePath As %String, InternalName As %String = "", Out } set handled = 1 } elseif (pathStart = "git-command") { - set requestBody = ##class(%Library.DynamicObject).%FromJSON(%request.Content) + set stringBody = "" + while '%request.Content.AtEnd { + set stringBody = stringBody _ %request.Content.Read() + } + set stringBody = $zconvert(stringBody,"I","UTF8") + set requestBody = ##class(%Library.DynamicObject).%FromJSON(stringBody) set command = requestBody.command set gitCmd = command.%Get(0)