forked from friendica/friendica-addons
jappixmini: do not ask user but wait if a subscriber claims to be from Friendica
This commit is contained in:
parent
1da347bd86
commit
35090ac2a7
1 changed files with 26 additions and 3 deletions
|
@ -99,10 +99,28 @@ function jappixmini_manage_roster(contacts, autoapprove, autosubscribe) {
|
||||||
|
|
||||||
var from = fullXID(getStanzaFrom(presence));
|
var from = fullXID(getStanzaFrom(presence));
|
||||||
var xid = bareXID(from);
|
var xid = bareXID(from);
|
||||||
|
var pstatus = presence.getStatus();
|
||||||
|
|
||||||
approve = true;
|
if (autoapprove && contacts[xid]!==undefined) {
|
||||||
if ((!autoapprove) || contacts[xid]===undefined)
|
// approve known address
|
||||||
approve = confirm("Accept "+xid+" for chat?");
|
approve = true;
|
||||||
|
console.log("Approve known Friendica contact "+xid+".");
|
||||||
|
}
|
||||||
|
else if (autoapprove && pstatus && pstatus.indexOf("Friendica")!=-1) {
|
||||||
|
// Unknown address claims to be a Friendica contact.
|
||||||
|
// This is probably because the other side knows our
|
||||||
|
// address, but we do not know the other side yet.
|
||||||
|
// But it's only a matter of time, so wait - do not
|
||||||
|
// approve yet and do not annoy the user by asking.
|
||||||
|
approve = false;
|
||||||
|
console.log("Do not approve unknown Friendica contact "+xid+" - wait instead.");
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
// In all other cases, ask the user.
|
||||||
|
message = "Accept "+xid+" for chat?";
|
||||||
|
if (pstatus) message += "\n\nStatus:\n"+pstatus;
|
||||||
|
approve = confirm(message);
|
||||||
|
}
|
||||||
|
|
||||||
if (approve) {
|
if (approve) {
|
||||||
acceptSubscribe(xid, contacts[xid]);
|
acceptSubscribe(xid, contacts[xid]);
|
||||||
|
@ -144,6 +162,11 @@ function jappixmini_manage_roster(contacts, autoapprove, autosubscribe) {
|
||||||
var presence = new JSJaCPresence();
|
var presence = new JSJaCPresence();
|
||||||
presence.setTo(xid);
|
presence.setTo(xid);
|
||||||
presence.setType("subscribe");
|
presence.setType("subscribe");
|
||||||
|
|
||||||
|
// must contain the word "~Friendica" so the other side knows
|
||||||
|
// how to handle this
|
||||||
|
presence.setStatus("I'm "+MINI_NICKNAME+" from ~Friendica.\n[machine-generated message]");
|
||||||
|
|
||||||
con.send(presence);
|
con.send(presence);
|
||||||
console.log("subscribed to "+xid);
|
console.log("subscribed to "+xid);
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue