8.5
shared: Avoid replaceAll again.
web: Move web app to ‘web’ directory.
ts: Convert `internal_url.js` to TypeScript.
poll_data: Define outbound data types for each message type.
ts: Convert resolved_topic.js to TypeScript.
sort_emojis: Prioritize perfect matches above all.
typing_notifications: Send ajax requests for stream typing too.
typing_status: Remove unchecked casts in same_recipient.