I'm investigating this and if I send the same presence element I don't see that Growl gets activated. Note that coccinella needs to be in the packground for Growl to display anything. If I use another coccinella instance on another machine and select the same presence:
<presence from='d\<email address hidden>/Coccinella@hp' <email address hidden>/Coccinella@Macintosh' xml:lang='en'>
<status>Vikigt möte</status><show>chat</show> (Swedish)
...
First time it Growl gets activated, next time with identical presence it doesn't. Note also that there is no explicit type='available' attribute since this is by default, and xmpp says to exclude it in that case (bandwidth).
The code that sends the "signal" looks like:
# Hook to run only for new presence/show/status.
# This is helpful because of some x-elements can be broadcasted.
array set oldPres [$jlib roster getoldpresence $jid3]
set same [arraysequalnames attrArr oldPres {-type -show -status}]
if {!$same} {
eval {::hooks::run presenceNewHook $jid $type} $opts
}
and the Growl posting has been changed to:
set title $djid
set msg $showMsg
if {$status ne ""} {
append msg "\n$status"
}
growl post [mc Status] $title $msg $cociFile
which makes better sense.
Note really sure what goes wrong in your case. I also tested using escaped ("\") JID and that works too.
I'm investigating this and if I send the same presence element I don't see that Growl gets activated. Note that coccinella needs to be in the packground for Growl to display anything. If I use another coccinella instance on another machine and select the same presence:
<presence from='d\<email address hidden> /Coccinella@ hp' <email address hidden> /Coccinella@ Macintosh' xml:lang='en'> <show>chat< /show> (Swedish)
<status>Vikigt möte</status>
...
First time it Growl gets activated, next time with identical presence it doesn't. Note also that there is no explicit type='available' attribute since this is by default, and xmpp says to exclude it in that case (bandwidth).
The code that sends the "signal" looks like: show/status.
# Hook to run only for new presence/
# This is helpful because of some x-elements can be broadcasted.
array set oldPres [$jlib roster getoldpresence $jid3]
set same [arraysequalnames attrArr oldPres {-type -show -status}]
if {!$same} {
eval {::hooks::run presenceNewHook $jid $type} $opts
}
and the Growl posting has been changed to:
set title $djid
set msg $showMsg
if {$status ne ""} {
append msg "\n$status"
}
growl post [mc Status] $title $msg $cociFile
which makes better sense.
Note really sure what goes wrong in your case. I also tested using escaped ("\") JID and that works too.