Sorry I didn't get to it, but anyway I'm totally fine with the PR if you think it's ok.
I would love to ask you something though: could we make a doc page for this behavior? The "how does canvas handle streaming and final messages" flow.
I don't mean a doc for docs/ repo. (that's probably overkill and would change it from tech doc to user doc). Just something, to document the flow and decisions along the way. WDYT? So we can point agents now or in the future, and also so that the reviewers actually accept behavior and code design, not code per se.