Zinc: Zinc Is Not Cur(fl|ph)oo - Console Yahoo! Chat Client version 1.1.6 (10/31/2007): * fixed mail notification message when count is zero * disabled zombie packet handling * suppressed extraneous room join message * changed default browser setting value to firefox * changed default reconnect value to 0 version 1.1.5 (9/14/2007): * created a workaround to Yahoo!'s new location of where captcha url is being sent * now openurl command will open the last url * suppressed any mail notification when mail count is zero * changed copyright year to 2007 * changed developer email address * added Python 2.5 tracedump handling workaround * changed protocol-failover default value to 0 version 1.1.4 (8/30/2007): * url parsing added for room topic text to facilitate easier captcha url browser opening * added code to filter out 'Yahoo' user from chatters list * modified room join code to show room name and room topic during rejoining of room for all occasions version 1.1.3 (1/28/2007): * added code to zap those pesky bots ignore-bot1 toggle was added to enable and disable this new code. It is enabled by default. version 1.1.2 (12/14/2006): * added better code to deal with extraneous tags in value of key 124 in comment packet - Submitted by Craig Schroeder version 1.1.1 (10/9/2006): * added code to strip tags from value of key 124 in comment packet version 1.1 (1/10/2006): * released 1.1rc3 without any code change version 1.1rc3 (1/5/2006): * trivial comment removal * README file has changed slightly to include Solaris 9 as supported OS * fixed spelling error on room category header * copyright year changed * changed YMSG protocol client id to match Yahoo Messenger 7 (7,0,2,120) * trivial config variable order * log-wordwrap feature added. This config parameter allows the width of the log word wrapping. Setting the value to 0 will turn off word wrapping and all multi-line comment will be merged into a single line. Turning off word wrapping will make grepping easier however it will garble figlets. * Fixed line splitting problem from multiline text coming from Windows client version 1.1rc2 (7/5/2005): * EntryWindow.py cleanups * added config file format check code * minor change to Error object to show traceback only when it's available * changed YMSG protocol client id to match Yahoo Messenger 7 beta (7,0,0,249) * added checks to make sure /set rc commands will not accept bad values * added sleep into main loop in hopes to make cygwin users happier * trivial cosmetic cleanups * install.sh was modified to accomodate Sun Solaris 10 * README file was slightly modified to add instruction for Sun Solaris 10 as well as other trivial cleanup * minor change to status bar to force insertion of spacing character * tweaked ctrl-l handling to refresh the status bar correctly when it becomes corrupted * fixed scroll-ai-notice and scroll-enters-exits bug version 1.1rc1 (5/29/2005): * fixed very silly last char stripping bug in custom command files * debug code clean up * modified install.sh to work with Cygwin environment * /im system command added to be alias to /pm * pm shortcut feature changes: pm shortcut character '=' alone will display who the pm shortcut is currently assigned to. pm-shortcut-timeout config variable has been added to automatically unassign pm shortcut after number of seconds. Default fault value is set at 3600. * pm shortcut error message changed to more generic message * doing /pm will now assing pm shortcut name instead of returning error * made custom command loader to ignore filenames that end with ~ character * minor text changes to README * /set color and /set rc will now tab complete color names and config parameter names respectively version 1.1pre10 (4/11/2005): * fixed ignore-im-spammer parameter working completely backwards * fixed repeated auto-ignore notification message for unfilted chat mode * fixed buddonline and buddyoffline color usage * fixed scroll-enters-exits refresh problem * added scroll-ai-notice config parameter to control whether to scroll auto-ignore feature notification message. Default value is N * chat logging location has changed to: ~/.zinc/chatlog///yyyy/mm/yyyy-mm-dd.log * fullroom-failover config parameter has been added. If it is set to N and the room trying to enter is full, Zinc will exit to command line. If set to Y, Zinc will make attempt to enter the next room number. Default value is Y * code cleanup in CommandHandler.py * added error logging for custom commands * added invalid custom command name checking for /ccmd system command * changed zombie packet handling * fixed a typo in Chatters.py that would cause a crash * added code to handle invalid Y and T cookie handling for YCHT protocol version 1.1pre9 (3/31/2005): * code cleanup in YahooYCHT.py * code cleanup in EntryWindow.py * made whitelist file save to be sorted * changed ping inteval back to 10 min * changed keepalive ping packet id * removed unnecessary curses panel import * fixed version message alignment * code cleanup in Config.py * fixed a bug where Unfiltered chat mode logout not being reflected in chatters list * IM spammer auto-ignore feature added. This feature will only be active on IM mode set to OptIn. ignore-im-spammer configuration parameter added. By default this feature is turned off. * fixed InfoWindow refresh * added Logging status to top info bar * code cleanup in InfoWindow.py * code cleanup in StatusWindow.py * fixed repeated repeat auto-ignore notification message bug for unfiltered chat mode * code cleanup in Login.py * removed unnecessary room config param * fixed statusbarbg and infobarbg color setting problem * code cleanup in Color.py * PM logging has been separated out from chat logging. New path for PM logging is: ~/.zinc/pmlog///yyyy/mm/yyyy-mm-dd.log * files in scripts/* has been removed from tarball * fixed chatwindow vertical offset after /clear * new browser object added to replace python's webbrowser object New configuration file ~/.zinc/browser is for controlling browser launch parameter and browser alias mapping /openurl command has been changed slightly to take adavantage of this change. ex.: /openurl mozilla http://linux.org /openurl firefox http://fsf.org If browser specifier is omitted, default browser setting in ~/.zinc/zincrc is used * made all files to open with 0600 permission * install.sh and uninstall.sh was modified to to work with NetBSD 2.0 version 1.1pre8 (1/19/2005): * further smiley exception tweak for emote and pm repeat character * moved protocol from secondary status bar to primary status bar * added server ip address to secondary status bar * changed tab stripping behavior to eight character substitution * added chat mode feature. /cm or /chatmode will toggle three different chat modes Filtered - Normal mode where comments from ignored chatters are suppressed Unfiltered - Comments from everyone is shown with no filtering BLWL - Show comments from only names in white list and buddy list All the auto-ignores and regex based ignores will still function and add names to ignore list or mute list. The chat mode will only affect what you see and not what happens in the background. * code clean up of pm mode related code * renamed pm-state config param to pm-mode * idle-exit configuration parameter added. The value is in number of seconds. If x number of seconds has passed since the last enter key was pressed, zinc will exit to command line. Setting this to 0 will disable this feature. Default value is 3600 which is one hour. version 1.1pre7 (11/6/2004): * fixed repeated comment ignore to exlclude whitelisted names * fixed curs_set call not behaving well on OpenBSD * optimization for comment and emote handling logic * error condition checking code added to YMSG cookie packet handling * made small change to allow smiley comment exception to allow = as first character * new custom command grouping feature implemented. It allows you group bunch of custom commands into one custom command. ex. cmdgroup:group:cmd1,cmd2,cmd3,cmd4 By doing /cmdgroup, it will be equivalent to doing /cmd1, /cmd2, /cmd3, /cmd4 in sequence. Also doing /cmdgroup hello will be equivalent to doing /cmd1 hello, /cmd2 hello, /cmd3 hello, /cmd hello in sequence * fixed a bug where sending shell output to pm will not set the name to last pm name for = to work correctly * fixed filter-ignoredname-cmnt feature bug that could crash the app * README file updated with a segmentation fault problem related to buggy Gentoo kernel * fixed a bug where trying to tab complete '/' as last would cause a crash * fixed a bug where a muted chatter returning to the room would not have name reappearing on muted list * remote shutdown feature added. This feature is for those users (you know who you are) that forget and leave zinc running at work and wont be able to log in at home using same id. Now you will be able to log in using alternate id at home and then send a pm to the other machine to shut down zinc. remote-shutdown variable has been added to zincrc file. the value for this variable should be of format: name1:shutdownstring1,name2:shutdownstring2,... ex: remote-shutdown=someid:shutdown,someotherid:kapoot * perl script style changes * minor YMSG protocol tweaks * repeat pm and smiley comment exception code simplfied version 1.1pre6 (9/10/2004): * fixed /checkupd feature where it fails to show some message when there is no new version available * added exception handling for bogus packets * fixed a bug where /ignoreall command doesn't put names in ignored list property * fixed a bug where trying to mute already ignored chatter will crash zinc * changed key entry delay to 1ms * cleaned up main curses window code * removed hard coded name length from annoying name auto ignore to a config variable called ignore-long-name. Default value is 28. Setting this config variable to 0 will disable this feature. * removed ten consecutive digit regex from annoying name auto ignore. To get an equivalent feature you should add \d{10,} to ~/.zinc/regex.ignore.name file * repeated comment auto-ignore and filter feature as been added. There are three configuration parameters to control the behavior and sensitivity to this feature: ignore-repeat-comment - Number of repeats for auto-ignore to kick in. Default value is 3. Setting the value to 0 will disable repeated comment auto-ignore feature repeat-comment-intv - Time range for a comment to be considered a repeated comment from previous duplicate comment. Default value is 15. filter-repeat-comment - Setting this to 'Y' will filter out subsequent repeated comment. Default value is 'N' * deleted "annoying" auto-ignore notice message and added "aiannoying", "ailongname", and "airepeating". * slight change to how and when bottom text entry line cursor focus is handled * fixed broken scroll-enters-exits feature * fix for sporadic room list retrieval error version 1.1pre5 (8/11/2004): * fixed a silly bug that prevented /reconnect feature from working * fixed thread deadlock bug in /search command * fixed wrong regex ignore name and regex mute name notice message * fixed broken regex mute comment * added filter-ignoredname-cmnt feature. If ignored or muted name is mentioned in the comment or emote, it will be filtered out. By default this feature is turned on. * added file locking to ignores. Hopefully this will prevent data loss some people have experienced. * moved state handling from a thread to main process * protocol-failover feature has been added. If attempts to connect with YMSG protocol fails, further attempts to connect to the server will be made with YCHT protocol. By default this feature will be turned on. * added ability for custom command text to have \n to allow multiple line comment. \\ will be interpreted as \ character. * fixed install.sh and uninstall.sh for FreeBSD and OpenBSD version 1.1pre4 (8/5/2004): * added check-update config variable which enables a checking of new version availability when starting Zinc. Default value is N. * /unbuddyall feature added. This command will unbuddy yourself from everyone in the room except friends listed in buddylist or whitelist. * changed reconnect-wait parameter default to 3 and made it the minimum value for tha parameter * changed thread object variable names in Zinc.py to be t_* * /ignoreall command added. This command will add everyone in the room to ignored list except friends listed in buddylist or whitelist. * substitute variable ${chatdays} has been added. * substitute variable ${chathours} has been changed. The old variable represents total number of hours. The new value is number of hours left over from ${chatdays}. * substitute variable ${chattotalhours} has been added. It is an whole number representing total number of hours online. * packet handling and packet parsing routines have been changed into it's own thread * added new custom command type 'emoteshell'. Output from the shell command will output as an emote. * fixed incorrect time showing on status bar * fixed status bar being stuck on "Join Sent" when using YCHT protocol * merged three miscellaneous threads into one * added /names as alias to / which is to show all names in the room. * some time related code cleanups * /reconnect command will now accept an optional parameter. You can now specifiy which protocol to reconnect with. /reconnect * command handler code cleanup * made one liner verbose shell to be on same line as shell command * fixed a bug where new shell timeout value to doesn't become active * made slight change to how command line options are handled so that launching zinc with only the -p protocol parameter will now set server parameter with default server for that protocol version 1.1pre3 (7/22/2004): * fixed long standing 45 minute ping and session timeout problem * fixed long names not being highlighted in name list even though it should * removed checking to see if a person is in the room when adding name to highlighted list * fixed "integer literal too large" bug when running Python 2.1 * install.sh fixes for FreeBSD and OpenBSD * default install path prefix for FreeBSD and OpenBSD changed to /usr/local * added ${ignorednames} substitute variable. It is a comma separated list of names currently ignored in the room * added code to suppress buddy reject confirm message if ignored user attempted to buddy you version 1.1pre2 (7/7/2004): * name check logic added for buddy status change packet handling * added ability to accept foreign character into text entry line * fixed so /unbuddy won't blow up when using YCHT protocol * made custom command loader to ignore kate editor backup file * fixed YMSG protocol version 1.1pre1 (6/11/2004): * fixed unhandled thread locking for whitelist * added missing thread locking code for CustomCommand.py * added exception handling/ignore code for shell command output handling * added verbose-status config parameter to control status change to be announced in the chatroom * made distinction between ping and chatroom ping * fixed erroneous pm state message on startup * fixed bogus secondary buddy online notification message * fixed away state being lost after reconnect * added ability to assign attributes to color value in ~/.zinc/color file. ex. commentuser=WHITE,BOLD Color attributes can be one of BOLD, NORMAL, or DIM. Default attribute is NORMAL when omitted. Color can be assigned via command: ex. /set color * fixed mail notice message plural Copyright (C) 2003 - 2006 John Kim