* core: remove file extension from emoji name
* web: transform emotes to labels when sending
* chat: replace br with line break
* core: implement emoji cache
* chat: send shortcodes for custom emoji
* chat: correct esling errors
* core: move emoji injection into dedicated function
* emoji: integrate emoji into markdown renderer, fix formatting
* chat protocol: correct golangci-lint findings
* chat field: specify that the contentEditable is an HTMLElement
* admin: mention that emoji should have unique names
* Prettified Code!
* regenerate pack-lock
* chat: correct the emphasis tag, provide fallback for other elements
---------
Co-authored-by: jprjr <jprjr@users.noreply.github.com>
* chat: simplify input handling
Removes the cursor save/restore functionality.
Removes most key handling.
Allows message to go over limit.
Moves the message length check into SendMessage.
Changes the chat input to change to the max style only when over the limit,
rather than at the limit. Makes it apparent that something is wrong.
Fixes#3121
* Prettified Code!
---------
Co-authored-by: jprjr <jprjr@users.noreply.github.com>
* feat(mobile): refactor mobile chat into modal
- Make page always scrollable
- Move mobile chat into a standalone modal
* fix(test): split out mobile browser test specs
* fix(mobile): force chat button to render on top of footer
* fix: some small updates from review
* fix: hide/show hide chat menu option based on width
* fix: chat button icon getting cut off
* chore(tests): add browser tests for mobile chat modal
* chore(tests): add story for ChatModal component
* fix(test): quiet shellcheck
* fix: remove unused import
* fix(tests): silence storybook linting warning
* fix(ui): reposition chat modal button icon with transform
* First pass at basic browser tests for #1926
* Run tests against dev web server not go server
* Bundle the web code into the server before running tests
* Move cypress UI tests into its own npm project + add tests
* Add additional tests + wire up with cypress dashboard
* Limit concurrency of workflow jobs
* Temporarily comment out some tests that do not pass in mobile. Will fix later.
* Fix antd Modal.visible warning by using updated attribute name 'open'.
* Update more attributes (onVisibleChange => onOpenChange, defaultVisible => defaultOpen) to fix browser console warnings.
* Update ModalProps property from 'visible' to 'open' to match the change in antd.
* Update variable names to match the antd change from 'visible' to 'open'.
* Inline this for the linter.
* One more visible => open reference.