diff --git a/CHANGESTODO b/CHANGESTODO index bb48e36..25cc4d2 100644 --- a/CHANGESTODO +++ b/CHANGESTODO @@ -3,9 +3,15 @@ vim:nosmarttab:syntax=diff | This file contains TODO and CHANGES (at EOF) rolled into one. | Essentially: whenever you fix something, move that line to the end of file. | - marks bugs & fixes, + marks new features, ? marks issues, * marks big stuff +| +| This file is mostly being used by lynX. The public bug tracker for psyced +| resides at https://projects.x-net.hu/projects/psyced/ and contains the +| same stuff in a more multiuser accessible fashion. ________________________________________________________________________ == SERIOUS!!! ========================================================== ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯ +- remote psycers do not always show up properly via jabber client + MUC + - /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... @@ -58,6 +64,8 @@ ________________________________________________________________________ ________________________________________________________________________ == currently being inspected =========================================== ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯ +- https://psyced.org/~lynX should use web browser language, not mine + - install.sh/configure doesn't *ensure* libidn is available - newbies are allowed to open new owned rooms @@ -1875,6 +1883,10 @@ see also: http://about.psyc.eu/SPAM + some irc clients do not implement their own pinging, and some NATs really kill your irc session if it is too quiet too long. we need optional server side pings ++ since pinging has become so frequent, and packet sizes aren't of much + relevance as long as they are below the MTU (1492 for DSL, 576 for ISDN) + we might aswell answer those dumb ISON poll requests instead of just + doing ping pong. => implement irc-style notify/ison in irc/user.c - (psyc://allo.homeunix.org/~allo) allo: hm, die userlist hier hat sich bei deinem nickchange nicht angepasst im ircgateway saga: ja, das ist ein bug, der mich auch immer wieder nervt @@ -2182,23 +2194,6 @@ ________________________________________________________________________ the UNI). still my friends need to be able to do all of this with a psyconaut.. - checkout the fileshare stuff in perlpsyc/bin/ -________________________________________________________________________ -> MISCELLANEOUS STUFF: -¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯ -? irc-notify suckt, aber als reines client-interface kann man es doch - eigentlich erlauben? ison polling nervt, kann man hoffentlich vermeiden, - aber die presence notifications cann man auch als ison replies rausgeben, - umstellbar mittels einem +set vielleicht. warum? weil dann clients wie - gaim die presence info sinnvoll nutzen statt jedes mal ein popup aufzumachen - welches nur sagt, dass ich da bin. - -? ifdef in der textdb: was ist wenn wir templates on-compile unterschiedlich - rendern wollen? also eher ein {if} als ein [if]? dachte gerade daran, dass - für presence->ISON die textdb sich unterschiedlich verhalten müsste.. - ? tobi hatte doch da in pike schonmal was gecoded. - was ich mir wünschen würde wäre eine if-ueberpruefung, ob ne var - gesetzt ist - ________________________________________________________________________ ======================================================================== *** CHANGELOG *** @@ -3978,4 +3973,11 @@ userthreads, threads, accept etc #define _flag_enable_module_microblogging + twitter submit + signatures +=== 201005 ============================================================ +net/user +- bug in login greeting logic +net/circuit +? raised size of queue from 123 to 3303 since i have seen errors + caused by queue being too short. not sure if this solves a problem + or postpones it to become a bigger problem later ;) diff --git a/world/net/circuit.c b/world/net/circuit.c index cbcfd7e..f3b65a1 100644 --- a/world/net/circuit.c +++ b/world/net/circuit.c @@ -189,7 +189,7 @@ circuit(ho, po, transport, srv, whoami, sysQ, uniform) { #else unless(whoami) whoami = ho || ME; #endif - qInit(me = whoami, 123, 12); + qInit(me = whoami, 3303, 12); D1( if (q[me]) PP(("%O using %O's queue: %O\n", ME, me, sizeof(q[me]) > 2 ? sizeof(q[me]) : q[me])); ) waitforme = CONNECT_RETRY; retry = 0; diff --git a/world/net/irc/user.c b/world/net/irc/user.c index 275cd1c..c6ac557 100644 --- a/world/net/irc/user.c +++ b/world/net/irc/user.c @@ -1198,30 +1198,31 @@ static privmsg(args, text, req) { text = text[..<2]; } #endif - if (index(args, ',') > 0) { + if (args) { + if (index(args, ',') > 0) { w("_failure_unsupported_targets_multiple", "We do not allow sending to several recipients at once. Why did your client ignore our MAXTARGETS=1 directive?"); return 0; - } - if (room = channel2place(args)) { - if (!place || !v("place") || stricmp(room, v("place"))) { - if (t = find_place(room)) { - place = t; - // this makes positive use of the psyc notion - // of a "current" room even if irc doesn't support - // that protocolwise.. - vSet("place", room); - } else { // should the caller print this on privmsg() == 0? - w("_error_illegal_name_place", "Room name contains illegal " - "characters."); // uh. might be a lie - return 0; - } } - } else { - if (lower_case(args) == "nickserv") return parsecmd(text); - person = args; + if (room = channel2place(args)) { + if (!place || !v("place") || stricmp(room, v("place"))) { + if (t = find_place(room)) { + place = t; + // this makes positive use of the psyc notion + // of a "current" room even if irc doesn't support + // that protocolwise.. + vSet("place", room); + } else { // should the caller print this on privmsg() == 0? + w("_error_illegal_name_place", "Room name contains illegal " + "characters."); // uh. might be a lie + return 0; + } + } + } else { + if (lower_case(args) == "nickserv") return parsecmd(text); + person = args; + } } - unless (text = decode(text, person, req)) return; // unless (args) speak(text); diff --git a/world/net/library/profiles.pl b/world/net/library/profiles.pl index 3e00cd0..e3c977c 100644 --- a/world/net/library/profiles.pl +++ b/world/net/library/profiles.pl @@ -683,6 +683,7 @@ PSYC _color #PSYC _degree_mood PSYC _description_private PSYC _description_presence +# erm.. _flag here? PSYC _select_filter_presence PSYC _flag_action_speak_visible PSYC _flag_colors_ignore diff --git a/world/net/user.c b/world/net/user.c index e7f2bde..72bb09c 100644 --- a/world/net/user.c +++ b/world/net/user.c @@ -1555,6 +1555,7 @@ logon() { // makeToken() isn't a good idea here, apparently sTextPath(v("layout"), v("language"), t); // cannot if (greeting) this since jabber:iq:auth depends on this + // also greeting will only be defined after ::logon() // (use another w() maybe?) w("_notice_login", 0, ([ "_nick": MYNICK, "_page_network": "http://www.psyc.eu/", @@ -1567,15 +1568,6 @@ logon() { autojoin(); cmdchar = (v("commandcharacter") || T("_MISC_character_command", "/"))[0..0]; -#ifndef _flag_disable_info_session - if (greeting) { - w("_warning_usage_set_language", - "Mittels \"/set language de\" kann zur deutschen Sprache gewechselt werden."); - if (cmdchar != "/") w("_warning_modified_command_character", - "Beware, \"[_command_character]\" is configured as your command character.", - ([ "_command_character" : cmdchar ]) ); - } -#endif cmdchar = cmdchar[0]; actchar = v("actioncharacter") || T("_MISC_character_action",":"); @@ -1597,6 +1589,17 @@ logon() { #endif ::logon( query_ip_name(ME) || (this_interactive() && query_ip_name(this_interactive())) ); + +#ifndef _flag_disable_info_session + // greeting is only defined after ::logon has run + if (greeting) { + w("_warning_usage_set_language", + "Mittels \"/set language de\" kann zur deutschen Sprache gewechselt werden."); + if (cmdchar != "/") w("_warning_modified_command_character", + "Beware, \"[_command_character]\" is configured as your command character.", + ([ "_command_character" : cmdchar ]) ); + } +#endif } // net/jabber/user filters this call, so this is never executed for