[BUG] Participants in the right side panel: Webcam and microphone icons often inconsistent
Nobody has claimed this yet.
- Dominant language
- PHP
- Stars
- 2.2k
- Forks
- 587
- Avg merge
- 18h 27m
- Merged PRs (30d)
- 333
Description
How to use GitHub
- Please use the 👍 reaction to show that you are affected by the same issue.
- Please don't comment if you have no relevant information to add. It's just extra noise for everyone subscribed to this issue.
- Subscribe to receive notifications on status change and new comments.
In the right-hand side panel, in the participants tab, next to each participant is a microphone or webcam icon, depending on the choice(s) made by the user.
I've noticed two problems:
- Bug: In the screenshot below, the second person from the top is using his microphone and webcam, but he's the only person using his webcam among all the participants. So all the other webcam icons are actually a bug. The 5th person from the top has a microphone icon, which luckily is correct, as she only uses her microphone (as do all the other people, with the exception of the first person mentioned, who uses her microphone AND webcam).
- Inadequate UI/UX: currently, if you ignore the bug, only one icon is displayed (microphone or webcam, but never both). This is inconsistent and not precise enough, because before joining the call (and during the call) you can choose to use the microphone only, the webcam only, or both. For greater consistency, accuracy and therefore a better user experience, if both are used, we should have two icons (microphone and webcam) displayed side by side.
- To make things even better, while we're at it: it would be nice if a 3rd icon could be displayed, that for screen sharing. So a person could have 1, 2 or even 3 icons (microphone / webcam / screen sharing).
Steps to reproduce
N/A
Expected behaviour
Check above description
Actual behaviour
Check above description
Talk app
Talk app version: 19.0.7
Custom Signaling server configured: yes
Custom TURN server configured: yes
Custom STUN server configured: yes
Browser
Microphone available: yes
Camera available: yes
Operating system: Ubuntu
Browser name: Firefox
Browser version: 128
Browser log
Server configuration
Operating system: CENTOS
Web server: /Nginx
Database: Maria
PHP version: 8.2
Nextcloud Version: 29.0.4
List of activated apps:
Enabled:
- activity: 2.21.1
- admin_audit: 1.19.0
- announcementcenter: 6.8.1
- appointments: 2.1.8
- assistant: 1.1.0
- bbb: 2.6.0
- bookmarks: 14.2.2
- bruteforcesettings: 2.9.0
- calendar: 4.7.13
- call_summary_bot: 1.2.0
- circles: 29.0.0-dev
- cloud_federation_api: 1.12.0
- collectives: 2.13.0
- comments: 1.19.0
- contacts: 6.0.0
- contactsinteraction: 1.10.0
- dashboard: 7.9.0
- dav: 1.30.1
- deck: 1.13.1
- external: 5.4.0
- federatedfilesharing: 1.19.0
- federation: 1.19.0
- files: 2.1.0
- files_automatedtagging: 1.19.0
- files_downloadlimit: 2.0.0
- files_fulltextsearch: 29.0.0
- files_lock: 29.0.1
- files_markdown: 2.4.1
- files_pdfviewer: 2.10.0
- files_reminders: 1.2.0
- files_sharing: 1.21.0
- files_texteditor: 2.15.1
- files_trashbin: 1.19.0
- files_versions: 1.22.0
- firstrunwizard: 2.18.0
- flow_notifications: 1.9.0
- forms: 4.2.4
- fulltextsearch: 29.0.0
- fulltextsearch_elasticsearch: 29.0.1
- groupfolders: 17.0.1
- guests: 3.1.0
- impersonate: 1.16.0
- integration_openai: 2.0.3
- integration_openproject: 2.6.3
- logreader: 2.14.0
- lookup_server_connector: 1.17.0
- mail: 3.7.5
- memegen: 1.1.0
- nextcloud_announcements: 1.18.0
- notes: 4.10.1
- notifications: 2.17.0
- notify_push: 0.7.0
- oauth2: 1.17.0
- onlyoffice: 9.3.0
- password_policy: 1.19.0
- photos: 2.5.0
- piwik: 0.12.0
- polls: 7.1.3
- privacy: 1.13.0
- provisioning_api: 1.19.0
- qownnotesapi: 24.4.0
- recommendations: 2.1.0
- related_resources: 1.4.0
- richdocuments: 8.4.3
- secrets: 2.0.2
- serverinfo: 1.19.0
- settings: 1.12.0
- sharebymail: 1.19.0
- side_menu: 3.13.1
- snappymail: 2.36.4
- spreed: 19.0.7
- support: 1.12.0
- survey_client: 1.17.0
- systemtags: 1.19.0
- tasks: 0.16.0
- text: 3.10.1
- theming: 2.4.0
- theming_customcss: 1.17.0
- twofactor_backupcodes: 1.18.0
- updatenotification: 1.19.1
- user_ldap: 1.20.0
- user_saml: 6.2.0
- user_status: 1.9.0
- viewer: 2.3.0
- weather_status: 1.9.0
- workflowengine: 2.11.0
- workspace: 3.2.0
Disabled:
- accessibility
- encryption
- files_downloadactivity: 1.16.0
- files_external: 1.6.0
- jitsi: 0.18.0
- suspicious_login
- twofactor_totp
Nextcloud configuration:
{
"instanceid": "***REMOVED SENSITIVE VALUE***",
"passwordsalt": "***REMOVED SENSITIVE VALUE***",
"secret": "***REMOVED SENSITIVE VALUE***",
"trusted_domains": [
"cloud.mydomain.fr"
],
"trusted_proxies": "***REMOVED SENSITIVE VALUE***",
"datadirectory": "***REMOVED SENSITIVE VALUE***",
"overwrite.cli.url": "https:\/\/cloud.mydomain.fr",
"dbtype": "mysql",
"version": "29.0.4.1",
"dbname": "***REMOVED SENSITIVE VALUE***",
"dbhost": "***REMOVED SENSITIVE VALUE***",
"dbtableprefix": "oc_",
"dbuser": "***REMOVED SENSITIVE VALUE***",
"dbpassword": "***REMOVED SENSITIVE VALUE***",
"filelocking.enabled": true,
"memcache.local": "\\OC\\Memcache\\APCu",
"memcache.locking": "\\OC\\Memcache\\Redis",
"memcache.distributed": "\\OC\\Memcache\\Redis",
"redis": {
"host": "***REMOVED SENSITIVE VALUE***",
"password": "***REMOVED SENSITIVE VALUE***",
"port": 6379,
"dbindex": 0,
"timeout": 0
},
"log_type": "file",
"logtimezone": "Europe\/Paris",
"logfile": "\/var\/log\/nextcloud\/cloud.mydomain.fr\/nextcloud.log",
"loglevel": 1,
"debug": false,
"default_phone_region": "FR",
"default_language": "fr",
"default_locale": "fr_FR",
"log_rotate_size": 104857600,
"session_keepalive": true,
"simpleSignUpLink.shown": false,
"mail_smtpmode": "smtp",
"mail_smtpsecure": "ssl",
"mail_from_address": "***REMOVED SENSITIVE VALUE***",
"mail_domain": "***REMOVED SENSITIVE VALUE***",
"mail_smtpauth": 1,
"mail_smtpname": "***REMOVED SENSITIVE VALUE***",
"mail_smtppassword": "***REMOVED SENSITIVE VALUE***",
"mail_smtphost": "***REMOVED SENSITIVE VALUE***",
"mail_smtpport": "465",
"mail_smtpauthtype": "PLAIN",
"trashbin_retention_obligation": "auto,60",
"versions_retention_obligation": "auto,60",
"activity_expire_days": 40,
"activity_use_cached_mountpoints": true,
"installed": true,
"appstore.experimental.enabled": true,
"maintenance": false,
"theme": "",
"mysql.utf8mb4": true,
"updater.release.channel": "stable",
"app_install_overwrite": [
"groupfolders",
"files_downloadactivity",
"external",
"files_texteditor",
"user_saml",
"flow_notifications",
"onlyoffice",
"impersonate",
"richdocuments",
"spreedme",
"piwik",
"accessibility",
"apporder",
"bbb",
"files_markdown",
"secrets"
],
"ldapIgnoreNamingRules": false,
"ldapProviderFactory": "OCA\\User_LDAP\\LDAPProviderFactory",
"mail_sendmailmode": "smtp",
"defaultapp": "files",
"maintenance_window_start": 1,
"upgrade.disable-web": true
}
Server log (data/nextcloud.log)
Can be provided if necessary
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start in the Talk participants tab and reproduce the inconsistent microphone and webcam icons using the reported Talk 19.0.7 setup. Trace how participant media choices are represented and rendered, then verify that microphone, webcam, and optionally screen-sharing states display accurately and independently.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- javascript
- Domain
- audio-video-rtc, frontend
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100