Commit Graph

13 Commits

Author SHA1 Message Date
Pratik Shah b7b43e8d9c feat(chat): convert to use React
- Change "features/chat" to support listening for new chat messages
  and storing them, removing that logic from conference.js.
- Combine chat.scss and side_toolbar_container.css, and remove unused
  scss files. Chat is the only side panel so the two concepts have
  been merged.
- Remove direct access to the chat feature from non-react and non-redux
  flows.
- Modify the i18n translate function to take in an options object.
  By default the option "wait" is set to true, but that causes
  components to mount after the parent has been notified of
  an update, which means autoscrolling down to the latest rendered
  messages does not work. With "wait" set to false, the children
  will mount and then the parent will trigger componentDidUpdate.
- Create react components for chat. Chat is the side panel
  plus the entiren chat feature. ChatInput is a child of Chat and
  is used for composing messages. ChatMessage displays one message
  and extends PureComponent to limit re-renders.
- Fix a bug where the toolbar was not showing automatically when
  chat is closed and a new message is received.
- Import react-transition-group to time the animation of the
  side panel showing/hiding and unmounting the Chat component.
  This gets around the issue of having to control autofocus if the
  component were always mounted and visibility toggled, but
  introduces not being able to store previous scroll state
  (without additional work or re-work).
2018-09-26 14:48:10 -05:00
Leonard Kim 5d31532cbb fix(chat): return formatted body to show smileys 2018-02-12 15:34:21 -07:00
hristoterezov 969f5d67ab feat(eslint): Enable for non react files 2017-10-16 14:36:29 -05:00
Lyubo Marinov dfebd692f3 eslint 4.8.0
ESLint 4.8.0 discovers a lot of error related to formatting. While I
tried to fix as many of them as possible, a portion of them actually go
against our coding style. In such a case, I've disabled the indent rule
which effectively leaves it as it was before ESLint 4.8.0.

Additionally, remove jshint because it's becoming a nuisance with its
lack of understanding of ES2015+.
2017-10-02 18:12:38 -05:00
Boris Grozev aee5a9ca43 fix: Use https for links without a scheme. 2017-07-05 15:39:53 -05:00
Boris Grozev b0eeb8a207 fix: Avoid tabnabbing
Reported by Manav.
2017-07-05 15:15:59 -05:00
Lyubomir Marinov 2ff77676e2 Fix incorrect JSON file
The extension of the file modules/UI/side_pannels/chat/smileys.json
suggests that the format of the file is JSON. However, it contains
JavaScript RegExp instances which do not represent valid JSON. Such
discrepancies between file extension and format cause failures in
certain tools such as Webpack. Convert the file (both extension and
format) into a valid ES2015 module.
2016-09-19 12:48:38 -05:00
isymchych de9d991f98 do not use xmpp module in side_panels module 2015-12-17 17:31:56 +02:00
Boris Grozev bd58e6c799 Enables the jshint maximum line length check (80 chars) globally, and only overrides it in certain files. 2015-09-10 22:28:16 -05:00
Boris Grozev 27c297c034 Fixes or ignores (explicidly, as much as possible) jshint warnings. 2015-09-10 22:27:09 -05:00
George Politis 5f48e4cf9d Revert "Updates the license headers."
This reverts commit 93648f361b.
2015-06-18 18:59:41 +02:00
George Politis 93648f361b Updates the license headers. 2015-06-18 16:17:09 +02:00
hristoterezov 69b0e2ad32 Creates UI module. 2015-01-07 16:54:03 +02:00
Renamed from replacement.js (Browse further)