countLineDiff's splitLines drops the trailing empty element, so a and a\n compare equal and a trailing-newline-only edit reports 0 additions / 0 deletions from the authoritative endpoint. The client side fixed this with a last-line sentinel in its diff splitter (kimi-code-app#434); the daemon's countLineDiff should adopt the same semantics so authoritative counts agree.
Follow-up from the #3339 review round.
countLineDiff'ssplitLinesdrops the trailing empty element, soaanda\ncompare equal and a trailing-newline-only edit reports 0 additions / 0 deletions from the authoritative endpoint. The client side fixed this with a last-line sentinel in its diff splitter (kimi-code-app#434); the daemon'scountLineDiffshould adopt the same semantics so authoritative counts agree.Follow-up from the #3339 review round.