mirror of
git://git.psyced.org/git/psyced
synced 2024-08-15 03:25:10 +00:00
_amount_users_loaded
This commit is contained in:
parent
227eb4fbfd
commit
1b9b468ecf
10 changed files with 85 additions and 90 deletions
130
CHANGESTODO
130
CHANGESTODO
|
@ -13,62 +13,6 @@ ________________________________________________________________________
|
|||
________________________________________________________________________
|
||||
== currently being inspected ===========================================
|
||||
¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
|
||||
- remote IRC place does not send names listing on /join
|
||||
- remote IRC /part shows no reaction at first attempt
|
||||
+++ not limited to IRC!! thx marenz
|
||||
|
||||
- XMPP: first reply to a stranger's remote psyc message did not show up in psi
|
||||
|
||||
- IRC shows "*** k kindly asks for your friendship." for remote
|
||||
friendship requests. eh! where's the uniform!?
|
||||
|
||||
- remote /topic shows wrong nick (abolish _nick and this problem disappears)
|
||||
|
||||
- /m freenode:symlynx hey
|
||||
Sorry, _message_private is not supported by the IRC gateway.
|
||||
huh? wasn't that once the point to make them? debug...
|
||||
|
||||
- tjgillies ponders: connecting to psyced.org with psi pops up a
|
||||
profile window everytime
|
||||
|
||||
- tjgillies: meebo doesn't let you put * in MUC name
|
||||
AFAIK the xmpp: uri does not forbid * from the URI RFC thus
|
||||
meebo should be incorrect here. we'll have to talk to them..
|
||||
- google talk also makes funny errors, maybe because of the '*'
|
||||
<message to='XXX@gmail.com' type='groupchat' from='*demo@ve.symlynx.com/lynX'><body>/me asks: you see me?</body></message>
|
||||
<message to="*demo@ve.symlynx.com/lynX" type="error" from="XXX@gmail.com">
|
||||
<body>/me asks: you see me?</body>
|
||||
<error code="503" type="cancel">
|
||||
<service-unavailable xmlns="urn:ietf:params:xml:ns:xmpp-stanzas"/>
|
||||
</error>
|
||||
</message>
|
||||
|
||||
- spam by unregistered users: limit unregistered users to 1 per minute for now?
|
||||
or force them to do web-based registration? or even.. trustee-based?
|
||||
it's the real thing.....!
|
||||
|
||||
? archetype.gen & other places: current privilege model sux.
|
||||
qAide(), qOwner(), boss(source), v("topic-user")
|
||||
.. how does this fit with confctrl, _duty and qAllowExternal?
|
||||
.. and in some cases you just want to check for isMember
|
||||
|
||||
- filter strangers is off by default, but we still seem to get a warning
|
||||
+ we should put _trustee into messages to strangers, so we can talk with
|
||||
people who we have friends in common with, by default. *TRUST*
|
||||
? in gui clients this could be a menu option in a buddy list:
|
||||
"contact a common friend" .. and of course when /surf'ing
|
||||
|
||||
? is it a good idea to use SIGS in user:cmd, too? not sure!!
|
||||
|
||||
- experimental rename fails sometimes:
|
||||
Attempt to rename to existing object '~nautilutz'
|
||||
possible fix: separate user identity from user access interface (see below)
|
||||
|
||||
- REGISTERED_USERS_ONLY does not behave properly on IRC port
|
||||
(see also NO_NEWBIES ... clean up and rename?)
|
||||
|
||||
? tg reports inconsistent display of availability states in friend contextes
|
||||
so far unable to reproduce
|
||||
________________________________________________________________________
|
||||
== psyced 1.0 ==========================================================
|
||||
¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
|
||||
|
@ -134,6 +78,10 @@ AUTOALIASES & ALIASES FOR PLACES
|
|||
or we should look at presence/subscribe integration first (where the
|
||||
distinction of users and rooms becomes less relevant).
|
||||
! whenever a _context is output, its nick will be auto-added to raliases
|
||||
problems that should disappear when we move away from _nick's:
|
||||
- IRC shows "*** k kindly asks for your friendship." for remote
|
||||
friendship requests. eh! where's the uniform!?
|
||||
- remote /topic shows wrong nick
|
||||
|
||||
PRESENCE STATUS
|
||||
+ all _status_person need to be upgraded to _status_presence with
|
||||
|
@ -192,6 +140,23 @@ see also http://about.psyc.eu/subscription
|
|||
+ FRIEND_ECHO ... send echo for /fr type commands from recipient
|
||||
not from own UNI (see #ifdef FRIEND_ECHO)
|
||||
... or just rewrite it all into context subscription!!
|
||||
|
||||
ARCHETYPE PLACES
|
||||
? archetype.gen & other places: current privilege model sux.
|
||||
qAide(), qOwner(), boss(source), v("topic-user")
|
||||
.. how does this fit with confctrl, _duty and qAllowExternal?
|
||||
.. and in some cases you just want to check for isMember
|
||||
|
||||
- REGISTERED_USERS_ONLY does not behave properly on IRC port
|
||||
(see also NO_NEWBIES ... clean up and rename?)
|
||||
|
||||
? is it a good idea to use SIGS in user:cmd, too? not sure!!
|
||||
|
||||
- filter strangers is off by default, but we still seem to get a warning
|
||||
+ we should put _trustee into messages to strangers, so we can talk with
|
||||
people who we have friends in common with, by default. *TRUST*
|
||||
? in gui clients this could be a menu option in a buddy list:
|
||||
"contact a common friend" .. and of course when /surf'ing
|
||||
________________________________________________________________________
|
||||
== TOP DELEGATES for 1.0 ===============================================
|
||||
¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
|
||||
|
@ -349,15 +314,6 @@ ________________________________________________________________________
|
|||
|
||||
? apply more TAGGING (tagged callbacks also avoid the monster switches)
|
||||
|
||||
/lusers shows: There are 441 users on this server.
|
||||
no, this is not a number from smtp spam links.
|
||||
- either we keep an extra counter for people who are _really_ online
|
||||
or we avoid summoning people just to hand them out a _notice_presence.
|
||||
the latter makes sense really.
|
||||
- also, offline users are never unloaded apparently, so the problem is
|
||||
somewhere in the reset() or clean_up() procedure. we first need to
|
||||
unload them, then we can look into not loading them in the first place
|
||||
|
||||
CIRCUITRY
|
||||
- _request_circuit_shutdown isnt issued or doesnt arrive
|
||||
or is the disconnected-detection buggy?
|
||||
|
@ -538,12 +494,14 @@ JYNX möchte mit Dir Freundschaft schließen.
|
|||
- falls /set entersilent off so erhalten bleibt, dokumentieren
|
||||
|
||||
PROGRAMMABLE USER IDENTIFICATIONS & MULTIPLE CLIENT INTERFACES
|
||||
+ fippo insists on the uni/client split..
|
||||
- experimental rename fails sometimes:
|
||||
Attempt to rename to existing object '~nautilutz'
|
||||
possible fix: separate user identity from user access interface
|
||||
+ fippo insists on the uni/client split and saga has been asking for years..
|
||||
= separate user identity from user access interface
|
||||
(and saga has been asking for years) .. read also 'person.gen' below
|
||||
- this would probably also solve the issue with the ~nick object name plan
|
||||
but it is a messy piece of work (i tried to do it and stashed the branch)
|
||||
+ and it allows for multiple jabber resources, of course
|
||||
(but it means we need to actively support UNRs for UNLs)
|
||||
(but it means we need to actively support UNRs for UNLs in entities)
|
||||
? one day we could have a person.gen to create all sorts of user
|
||||
objects from, but it sure is confusing that each of them still needs to
|
||||
be able to call upon the various protocols.. this may either need a
|
||||
|
@ -745,6 +703,27 @@ remoteMUC:
|
|||
________________________________________________________________________
|
||||
== JABBER CLIENT ISSUES (...experimental is justified...) ==============
|
||||
¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
|
||||
? XMPP: connecting to psyced.org with psi pops up a profile window everytime
|
||||
? XMPP: first reply to a stranger's remote psyc message did not show up in psi
|
||||
? neulich wurde 'stanly' beim runterfahren von psi nicht aus dem MUC genommen.
|
||||
als er miranda hochfuhr war er bei uns immernoch im MUC und bekam die
|
||||
MUC meldungen. ob der fehler bei psi oder uns liegt, k.A.
|
||||
... is this still happening with the new fixes?
|
||||
|
||||
ASTERISK IN XMPP: UNIFORMS
|
||||
- tjgillies: meebo doesn't let you put * in MUC name
|
||||
AFAIK the xmpp: uri does not forbid * from the URI RFC thus
|
||||
meebo should be incorrect here. we'll have to talk to them..
|
||||
- google talk also makes funny errors, maybe because of the '*'
|
||||
<message to='XXX@gmail.com' type='groupchat' from='*demo@ve.symlynx.com/lynX'><body>/me asks: you see me?</body></message>
|
||||
<message to="*demo@ve.symlynx.com/lynX" type="error" from="XXX@gmail.com">
|
||||
<body>/me asks: you see me?</body>
|
||||
<error code="503" type="cancel">
|
||||
<service-unavailable xmlns="urn:ietf:params:xml:ns:xmpp-stanzas"/>
|
||||
</error>
|
||||
</message>
|
||||
- is psi having a problem with this, too?
|
||||
|
||||
- accurate availability values from friends aren't stored and delivered
|
||||
|
||||
- re-subscribe isn't properly handled (so we do friend(0) earlier instead)
|
||||
|
@ -869,10 +848,6 @@ ________________________________________________________________________
|
|||
- iChat sends /me with a newline after <body> and before the /me
|
||||
.. it doesn't get seen as /me, but it doesn't get output either!?
|
||||
|
||||
? neulich wurde 'stanly' beim runterfahren von psi nicht aus dem MUC genommen.
|
||||
als er miranda hochfuhr war er bei uns immernoch im MUC und bekam die
|
||||
MUC meldungen. ob der fehler bei psi oder uns liegt, k.A.
|
||||
|
||||
? wenn wir psyc die eintragung von beliebigen weiteren identifications und
|
||||
locations pro user beibringen, könnte man dann diesen user via jabber
|
||||
transports in seine im-logins einloggen?
|
||||
|
@ -1416,6 +1391,10 @@ mapping rvars msg(source, mc, data, vars, rvars);
|
|||
________________________________________________________________________
|
||||
* GATEBOT / IRCGATE / etc
|
||||
¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
|
||||
- /m freenode:symlynx hey
|
||||
Sorry, _message_private is not supported by the IRC gateway.
|
||||
huh? wasn't that once the point to make them? debug...
|
||||
|
||||
- msg from irc to remote psyc user doesn't work:
|
||||
ERQ could not resolve "symlynX".
|
||||
(it tries to resolve the irc:nick)
|
||||
|
@ -1745,7 +1724,7 @@ SHOW STATUS?
|
|||
- psyctext() hängt sich auf wenn ein [ nicht wieder mit ] geschlossen wird
|
||||
|
||||
SPAM / FLOOD CONTROL
|
||||
+ connect flood protection (against icaruz from pD9E3F294.dip.t-dialin.net)
|
||||
+ connect flood protection (against icaruz from XX.XX.XX.XX)
|
||||
1. introduce #define MAX_CONNECTIONS_FROM_ONE_IP
|
||||
2. warn admins via monitor when MAX_CONNECTIONS_FROM_ONE_IP * 70%
|
||||
is reached
|
||||
|
@ -1755,6 +1734,9 @@ SPAM / FLOOD CONTROL
|
|||
maximum number of connections per ipmask, defaulting to 0
|
||||
6. maybe MAX_CONNECTIONS_FROM_ONE_IP can also be lowered
|
||||
interactively using "/block * 200"
|
||||
- spam by unregistered users: limit unregistered users to 1 per minute for now?
|
||||
or force them to do web-based registration? or even.. trustee-based?
|
||||
it's the real thing.....!
|
||||
see also: http://about.psyc.eu/SPAM
|
||||
|
||||
== FRIENDSNETS / FRIENDSHIP DEGREES / WEB OF TRUST TODO: ===============
|
||||
|
|
|
@ -1543,8 +1543,8 @@ _status_version_agent
|
|||
_status_version
|
||||
|Version: [_nick] verwendet "[_version_description]" ([_version]).
|
||||
|
||||
_status_users
|
||||
|Es sind [_amount_users] Nutzer auf diesem Server angemeldet.
|
||||
_status_user_amount
|
||||
|Es sind [_amount_users_loaded] Nutzer auf Server [_source] geladen.
|
||||
|
||||
_status_friends
|
||||
|Anwesende Freunde: [_friends].
|
||||
|
|
|
@ -366,4 +366,4 @@ _status_place_members_end_verbose
|
|||
|#315 [_INTERNAL_nick_me] #[_nick_place] :End of /WHO list.
|
||||
|
||||
_status_user_amount
|
||||
|#251 [_INTERNAL_nick_me] :There are [_amount_users_online] users on [_source]'s server
|
||||
|#251 [_INTERNAL_nick_me] :{_status_user_amount}
|
||||
|
|
|
@ -1409,6 +1409,9 @@ _status_version_agent
|
|||
_status_version
|
||||
|Version: [_nick] is using "[_version_description]" ([_version]).
|
||||
|
||||
_status_user_amount
|
||||
|There are [_amount_users_loaded] users loaded on server [_source].
|
||||
|
||||
_notice_presence_here_talkative
|
||||
|Presence: [_nick] is willing to talk. [_description_presence]
|
||||
|
||||
|
|
|
@ -956,7 +956,7 @@ _notice_friendship_removed_implied
|
|||
|Automatischerweise kündigt auch [_nick] Dir die Freundschaft.
|
||||
|
||||
_status_user_amount
|
||||
|[_amount_users_online] utenti sono connessi tramite questo server.
|
||||
|[_amount_users_loaded] utenti caricati su [_source].
|
||||
|
||||
_status_friends
|
||||
|Anwesende Freunde: [_friends].
|
||||
|
|
|
@ -102,8 +102,9 @@ int msg(string source, string mc, string data,
|
|||
break;
|
||||
}
|
||||
}
|
||||
return ({ $1, "_status_user_amount",
|
||||
"There are [_amount_users] people online, [_amount_users_registered] accounts on this server.",
|
||||
return ({ $1, "_status_user_amount", 0,
|
||||
// generic formats shouldn't be hanging around in net/jabber...!?
|
||||
// "There are [_amount_users_loaded] people loaded, [_amount_users_registered] accounts on this server.",
|
||||
$2 });
|
||||
} else
|
||||
return ({ $1, "_error_request_users_amount",
|
||||
|
|
|
@ -1982,7 +1982,7 @@ case "_notice_presence_here_busy":
|
|||
t = v("locations")[0];
|
||||
if (t && t != source) {
|
||||
// no psyctext rendering happening in this variant
|
||||
# ifndef _flag_disable_circuit_proxy_multiplexing
|
||||
# ifdef _flag_enable_circuit_proxy_multiplexing
|
||||
vars["_target_forward"] = t;
|
||||
# endif
|
||||
sendmsg(t, mc, data, vars, source);
|
||||
|
|
|
@ -110,17 +110,27 @@ msg(source, mc, data, vars, showingLog, target) {
|
|||
case "_query_users_amount": // old, please remove
|
||||
case "_request_user_amount":
|
||||
# ifdef _flag_disable_query_amount_users_online
|
||||
rv["_amount_users_online"] = -1;
|
||||
rv["_amount_users_loaded"] = -1;
|
||||
# else
|
||||
rv["_amount_users_online"] = amount_people();
|
||||
// this actually shows the number of loaded user entities
|
||||
// which is higher than the actual number of users online
|
||||
rv["_amount_users_loaded"] = amount_people();
|
||||
# endif
|
||||
rv["_amount_users_registered"] = -1; // how to get this?
|
||||
// <kuchn> maybe read in the user directory so you have the amount of registered users.
|
||||
// <lynX> i think it isn't anybody's business...
|
||||
// in the name of privacy we should be
|
||||
// giving out random numbers instead of -1.. ;)
|
||||
sendmsg(source, "_status_user_amount",
|
||||
"[_source] has [_amount_users_online] users online.", rv);
|
||||
sendmsg(source, "_status_user_amount", 0, rv);
|
||||
// ircds tell a lot of things in reply to /lusers:
|
||||
//
|
||||
// 251 x :There are 25079 listed and 22070 unlisted users on 38 servers
|
||||
// 252 x 39 :flagged staff members
|
||||
// 254 x 22434 :channels formed
|
||||
// 255 x :I have 2180 clients and 0 servers
|
||||
// 265 x :Current local users: 2180 Max: 2714
|
||||
// 266 x :Current global users: 47149 Max: 55541
|
||||
// 250 x :Highest connection count: 2715 (2714 clients) (228789 since server was (re)started)
|
||||
return 1;
|
||||
#endif // _flag_disable_query_server
|
||||
case "_error":
|
||||
|
|
|
@ -1338,7 +1338,7 @@ w(string mc, string data, mapping vars, mixed source, int showingLog) {
|
|||
#else
|
||||
# echo No LPC? Wow. Good luck!
|
||||
#endif
|
||||
#ifndef _flag_disable_circuit_proxy_multiplexing
|
||||
#ifdef _flag_enable_circuit_proxy_multiplexing
|
||||
// this is necessary when a single proxy is emulating
|
||||
// several clients for several users. to figure out
|
||||
// which context stuff is forwarded to which client
|
||||
|
@ -1349,8 +1349,8 @@ w(string mc, string data, mapping vars, mixed source, int showingLog) {
|
|||
// for them instead of accepting forwards from each UNI
|
||||
vars["_target_forward"] = loc;
|
||||
// maybe this can be avoided when no _context is set...?
|
||||
#endif
|
||||
P3(("%O user:w forwarding %O to %O\n", ME, mc, vars["_target_forward"]))
|
||||
#endif
|
||||
sendmsg(loc, mc, nudata, vars);
|
||||
// PT(("PSYCW: %s -> %O (%O)\n", mc, loc, vars))
|
||||
#if DEBUG > 1
|
||||
|
|
|
@ -266,9 +266,8 @@ cmd(a, args, dest, command) {
|
|||
// erzeugen sollte.. no? ausserdem sind die vars und
|
||||
// das fmt unterschiedlich. und fast derselbe käse steht
|
||||
// nochmal in net/irc/common... TODO
|
||||
w("_status_user_amount",
|
||||
"There are [_amount_users] users on this server.",
|
||||
([ "_amount_users" : amount_people() ]) );
|
||||
w("_status_user_amount", 0,
|
||||
([ "_amount_users_loaded" : amount_people() ]) );
|
||||
}
|
||||
#else
|
||||
if (sizeof(args) > 1 && is_formal(args[1])) t = args[1];
|
||||
|
|
Loading…
Reference in a new issue