totalDominantSpeakerTime and _dominantSpeakerStart return 0 always

Hello,

I’m using this module mod_speakerstats_component when the user talks I have the number of seconds in the ui interface in statistics but in lua I always have 0 when I try to display this log

log(“debug”, “set isDominant %s for %s”, tostring(isNowDominantSpeaker), self.nick);

I get this as info

May 13 12:58:15 speakerstats.meet.test.dev:speakerstats_component debug set isDominant false for ef4f8b31

and in JSON of lua i ge 0 like this

:{"_dominantSpeakerStart":0,“totalDominantSpeakerTime”:0,“nick”:“ef4f8b31”

any help please

Any modifications you have in jitsi-meet? Any js console errors?

no i dont have any modification and no js console errors

Was that participant dominant speaker in the conference?

oh my bad

how to know the dominat speaker ? I thought it was the mdoerator

When speaking there is a blue border showing who is talking also in local speaker stats you can see the switching

yes yes

is the dominant speaker and in stats UI i see time in seconde juste i dont get the value in Lua

Hum, if you don’t see errors in js console it means the UI does not detect the serverside part of it and is not sending update messages whenever a dominant speaker switches.
Are you using default install prosody config?

(search for speaker stats there are few places where all needed stuff is enabled)?

this my config

unlimited_jids = { “focus@auth.meet.test.dev”, “jvb@auth.meet.test.dev” }
plugin_paths = { “/usr/share/jitsi-meet/prosody-plugins/” }

– domain mapper options, must at least have domain base set to use the mapper
muc_mapper_domain_base = “meet.test.dev”;
turncredentials_secret = “*******”;
turncredentials = {
{ type = “stun”, host = “turn.meet.test.io”, port = “443” },
{ type = “turn”, host = “turn.meet.test.io”, port = “443”, transport = “udp” },
{ type = “turns”, host = “turn.meet.test.io”, port = “443”, transport = “tcp” }
};

cross_domain_bosh = true;
consider_bosh_secure = true;

VirtualHost “meet.test.dev”
– enabled = false – Remove this line to enable this host
authentication = “anonymous”
– Properties below are modified by jitsi-meet-tokens package config
– and authentication above is switched to “token”
–app_id=“example_app_id”
–app_secret=“example_app_secret”
– Assign this host a certificate for TLS, otherwise it would use the one
– set in the global section (if any).
– Note that old-style SSL on port 5223 only supports one certificate, and will always
– use the global one.
ssl = {
key = “/etc/prosody/certs/meet.test.dev.key”;
certificate = “/etc/prosody/certs/meet.test.dev.crt”;

     }
     speakerstats_component = "speakerstats.meet.test.dev"
     conference_duration_component = "conferenceduration.meet.test.dev"
     -- we need bosh
     modules_enabled = {
         "bosh";
         "pubsub";
         "ping"; -- Enable mod_ping
         "speakerstats";
         "turncredentials";
         "conference_duration";
         "participant_metadata";
     }
     c2s_require_encryption = false

Component “internal.auth.meet.test.dev” “muc”
modules_enabled = {
“ping”;
}
storage = “memory”
muc_room_cache_size = 1000
Component “conference.meet.test.dev” “muc”
restrict_room_creation = true
storage = “sql”
sql = { driver = “SQLite3”, database = “prosody.sqlite” }
modules_enabled = {
“muc_meeting_id”;
“muc_domain_mapper”;
–“token_verification”;
}
admins = { “focus@auth.meet.test.dev” }
muc_room_locking = false
muc_room_default_public_jids = true

– internal muc component
Component “internal.auth.meet.test.dev” “muc”
storage = “sql”
sql = { driver = “SQLite3”, database = “prosody.sqlite” }
modules_enabled = {
“ping”;
}
admins = { “focus@auth.meet.test.dev”, “jvb@auth.meet.test.dev” }

VirtualHost “auth.meet.test.dev”
modules_enabled = { “limits_exception”; }
ssl = {
key = “/etc/prosody/certs/auth.meet.test.dev.key”;
certificate = “/etc/prosody/certs/auth.meet.test.dev.crt”;
}
authentication = “internal_plain”

Component “focus.meet.test.dev” “client_proxy”
target_address = “focus@auth.meet.test.dev”
component_secret = “******”

Component “speakerstats.meet.test.dev” “speakerstats_component”
muc_component = “conference.meet.test.dev”

Component “conferenceduration.meet.test.dev” “conference_duration_component”
muc_component = “conference.meet.test.dev”

Component “event_sync.meet.test.dev” “event_sync_component”
muc_component = “conference.meet.test.dev”

 restrict_room_creation = true
 storage = "sql"
 sql = { driver = "SQLite3", database = "prosody.sqlite" }
 modules_enabled = {
     "muc_meeting_id";
     "muc_domain_mapper";
      --"token_verification";
 }
 admins = { "focus@auth.meet.test.dev" }
 muc_room_locking = false
 muc_room_default_public_jids = true

 api_prefix = "https://mssytestkoussai/testkoussai"

api_timeout = 10-- timeout if API does not respond within 10s
retry_count = 5-- retry up to 5 times
api_retry_delay = 1-- wait 1s between retries

 -- change retry rules so we also retry if endpoint returns HTTP 408
 api_should_retry_for_code = function (code)
     return code = 500 or code == 408
 end