Fix bug where escaped html characters were showing up on commit page

5428c77f35504765326102032411fb6b67ad8c13

Tucker McKnight | Sun Jan 25 2026

Fix bug where escaped html characters were showing up on commit page

The diff was showing escaped < and > characters instead of showing the
actual characters in the code. This was happening because we needed
to wrap the code string in an m.trust() call so that mithril wouldn't
automatically escape the contents of the string.

Additionally, I hadn't put newlines in between the line numbers when
I changed this page to a mithril template, so I've done that now.
js_templates/commit.ts:64
Before
64
65
66
67
68
69
70
              m('div', {class: "col-auto border-end"}, m('pre', {class: "mb-0"}, lineNumbers(hunk.beforeText).map((lineNumber) => {
                return (lineNumber + hunk.lineNumber - 1).toString()
              }))),
                m('pre', {class: "mb-0", 'data-start': hunk.lineNumber}, m('code', {'data-type': 'before', class: `line-numbers language-${languageExtension(hunk.fileName, data.patchInfo.repoName)}`}, hunk.beforeText))
              m('div', {class: "col-auto border-end"}, m('pre', {class: "mb-0"}, lineNumbers(hunk.beforeText).map((lineNumber) => {
              }))),
                  m('code', {'data-type': "after", class: `line-numbers language-${languageExtension(hunk.fileName, data.patchInfo.repoName)}`}, hunk.afterText)
After
64
65
66
67
68
69
70
              m('div', {class: "col-auto border-end"},
                m('pre', {class: "mb-0"}, lineNumbers(hunk.beforeText).map((lineNumber) => {
                  return (lineNumber + hunk.lineNumber - 1).toString()
                }).join('\n'))
              ),
                m('pre', {class: "mb-0", 'data-start': hunk.lineNumber}, m('code', {'data-type': 'before', class: `line-numbers language-${languageExtension(hunk.fileName, data.patchInfo.repoName)}`}, m.trust(hunk.beforeText)))
              m('div', {class: "col-auto border-end"},
                m('pre', {class: "mb-0"}, lineNumbers(hunk.beforeText).map((lineNumber) => {
                }).join('\n'))
              ),
                  m('code', {'data-type': "after", class: `line-numbers language-${languageExtension(hunk.fileName, data.patchInfo.repoName)}`}, m.trust(hunk.afterText))