Our JSHint configuration is not extensive and we have excluded multiple
files from linting. Additionally, we have seen JSHint to be unable to
parse newer ECMAScript features such as the object spread operator
(proposal).
On the other hand, we have seen ESLint to beautifully work on React and
React Native source code in addition to ES2015 and later. Introduce
ESLint alongside JSHint as an intermediate step to eventually switching
from JSHint to ESLint.
As our source code does not fully follow even the JSHint rules we have,
it is very difficult to introduce ESLint with many rules. At the
beginning, introduce it with as little rules as possible. Morever,
ESLint is able to automatically fix certain rule offenders so once we
have ESLint merged we can incrementally add new rules while keeping our
commits' modification on as little subjects as possible.
Fire conference_left only if it is not a kick presence unavailable.
When we receive kick presence it is both 110 and 307 status code, so we were triggering both conference_left and kicked event. Now when we receive kick we process as it is 110 to clean participants and room and then fire the kick event.
Skips passing presence to emitter as it is not used.
Skips passing presence, cause it can reach the UI and there was a bug where we tried to pass the presence as an argument to the translation and ended in endless loop.
Uses the empty element with namespace for initial presence.
Fixes a problem where, sending that namespace on every presence will make the server think we are joining every time and will return us the message history for the muc.
If in the presence there is 110 and 307 status codes there was an error in processing. When kicked the other participants were not cleared from the conference. Firing an event for focus leaving the conference when we are kicked.
Rename "stream" to "track" in RTC context plus fixes
Rename variables with "stream" in name which refer to JitsiTrack.
Rename TRACK ADDED/REMOVED events.
Try to reduce direct access to remoteTracks object.
Log warning message when track is overwritten.