refactor: read the message draft through an effect event

the render-synced ref was doing what useEffectEvent is for. same behaviour — the cleanup still sees the last committed message — with one fewer effect, and it matches how the rest of the codebase reaches non-reactive values from an effect.

d0ccb0b6 parent 33bcfdf2 +6 −8
browse files