* Changed render mode to standard compliant and adjusted CSS accordantly.
* Fixed HTML errors, removed XHTML reminiscences and whitespace.
* Added doctype and fixed a few HTML errors.
* The input field speakerStatsSearch overflows the dialog box. Added missing box-sizing.
Co-authored-by: Bo Frederiksen <bo.frederiksen@semaphor.dk>
- add possibility to allow execution of the button's routine besides triggering
`toolbarButtonClicked` API event
- keep backwards compatibility
- get rid of `ToolbarButton`
* fix(speaker-stats): prevent search from closing when enter pressed and from keeping previous state
* fix(speaker-stats): remove unnecessary blank lines
* fix(speaker-stats): add empty dependencies to prevent dismiss callback
* add(speaker-stats): reset search criteria action
* Initial implementation; Happy flow
* Maybe revert this
* Functional prototype
* feat(facial-expressions): get stream when changing background effect and use presenter effect with camera
* add(facial-expressions): array that stores the expressions durin the meeting
* refactor(facial-expressions): capture imagebitmap from stream with imagecapture api
* add(speaker-stats): expression label
* fix(facial-expression): expression store
* revert: expression leabel on speaker stats
* add(facial-expressions): broadcast of expression when it changes
* feat: facial expression handling on prosody
* fix(facial-expressions): get the right track when opening and closing camera
* add(speaker-stats): facial expression column
* fix(facial-expressions): allow to start facial recognition only after joining conference
* fix(mod_speakerstats_component): storing last emotion in speaker stats component and sending it
* chore(facial-expressions): change detection from 2000ms to 1000ms
* add(facial-expressions): send expression to server when there is only one participant
* feat(facial-expressions): store expresions as a timeline
* feat(mod_speakerstats_component): store facial expresions as a timeline
* fix(facial-expressions): stop facial recognition only when muting video track
* fix(facial-expressions): presenter mode get right track to detect face
* add: polyfils for image capture for firefox and safari
* refactor(facial-expressions): store expressions by counting them in a map
* chore(facial-expressions): remove manually assigning the backend for tenserflowjs
* feat(facial-expressions): move face-api from main thread to web worker
* fix(facial-expressions): make feature work on firefox and safari
* feat(facial-expressions): camera time tracker
* feat(facial-expressions): camera time tracker in prosody
* add(facial-expressions): expressions time as TimeElapsed object in speaker stats
* fix(facial-expresions): lower the frequency of detection when tf uses cpu backend
* add(facial-expressions): duration to the expression and send it with durantion when it is done
* fix(facial-expressions): prosody speaker stats covert fro string to number and bool values set by xmpp
* refactor(facial-expressions): change expressions labels from text to emoji
* refactor(facial-expressions): remove camera time tracker
* add(facial-expressions): detection time interval
* chore(facial-expressions): add docs and minor refactor of the code
* refactor(facial-expressions): put timeout in worker and remove set interval in main thread
* feat(facial-expressions): disable feature in the config
* add(facial-expressions): tooltips of labels in speaker stats
* refactor(facial-expressions): send facial expressions function and remove some unused functions and console logs
* refactor(facial-expressions): rename action type when a change is done to the track by the virtual backgrounds to be used in facial expressions middleware
* chore(facial-expressions): order imports and format some code
* fix(facial-expressions): rebase issues with newer master
* fix(facial-expressions): package-lock.json
* fix(facial-expression): add commented default value of disableFacialRecognition flag and short description
* fix(facial-expressions): change disableFacialRecognition to enableFacialRecognition flag in config
* fix: resources load-test package-lock.json
* fix(facial-expressions): set and get facial expressions only if facial recognition enabled
* add: facial recognition resources folder in .eslintignore
* chore: package-lock update
* fix: package-lock.json
* fix(facial-expressions): gpu memory leak in the web worker
* fix(facial-expressions): set cpu time interval for detection to 6000ms
* chore(speaker-stats): fix indentation
* chore(facial-expressions): remove empty lines between comments and type declarations
* fix(facial-expressions): remove camera timetracker
* fix(facial-expressions): remove facialRecognitionAllowed flag
* fix(facial-expressions): remove sending interval time to worker
* refactor(facial-expression): middleware
* fix(facial-expression): end tensor scope after setting backend
* fix(facial-expressions): sending info back to worker only on facial expression message
* fix: lint errors
* refactor(facial-expressions): bundle web worker using webpack
* fix: deploy-facial-expressions command in makefile
* chore: fix load test package-lock.json and package.json
* chore: sync package-lock.json
Co-authored-by: Mihai-Andrei Uscat <mihai.uscat@8x8.com>
* Additional setting to add search to speaker stats
* Add translation for speaker stats search placeholder
* Unset speaker stats search input autocomplete
* Fix lint errors for speaker stats search
* Change setting to disableSpeakerStatsSearch
* Better Object.prototype.hasOwnProperty.call alternative
* Make SpeakerStatsSearch a functional component
* Align header with input and use material-ui styles instead of scss and remove SpeakerStats header and fix dialog close
* Resolve code style remark in SpeakerStats constructor
* Resolve component empty return value remark in SpeakerStatsSearch
* Resolve get config property in outside function remark in SpeakerStatsSearch
* Resolve unnecessary anonymous function remark in SpeakerStatsSearch
* feat(toolbox) allow any toolbox button to be displayed as main
fixes the previous behaviour where only a certain set of buttons were whitelisted for being displayed in the main toolbar
* code review
* code review - fix avatar icon position
For the most part the changes are taking the "static propTypes" declaration off
of components and declaring them as Flow types. Sometimes to support flow some
method signatures had to be added. There are some exceptions in which more had
to be done to tame the beast:
- AbstractVideoTrack: put in additional truthy checks for videoTrack.
- Video: add truthy checks for the _videoElement ref.
- shouldRenderVideoTrack function: Some component could pass null for the
videoTrack argument and Flow wanted that called out explicitly.
- DisplayName: Add a truthy check for the input ref before acting on it.
- NumbersList: Move array checks inline for Flow to comprehend array methods
could be called. Add type checks in the Object.entries loop as the value is
assumed to be a mixed type by Flow.
- AbstractToolbarButton: add additional truthy check for passed in type.