Yahsmosis Changelog - Please view with word-wrap off with Tahoma or Terminal Font- - NOTE: Identing of the Update History section is very important to meaning - -------------------------------------------------------------------------------------------------------------------------------------------------------- + Read Me Verifying an Archive: http://code.google.com/p/yahsmosis/wiki/SourceVerification Installation: Extract all files to a folder before running the Chat Client. (Keeping directory structure) -See here: http://code.google.com/p/yahsmosis/wiki/Setup Smileys/Emoticons: Smileys are not forced upon the user to be downloaded and are not included in the main release. This is not a defect or a bug. You can add your own manually or download the default package. -See here: http://code.google.com/p/yahsmosis/wiki/Setup#Installing_Yahoo_default_emoticons -Default Emoticons: http://yahsmosis.googlecode.com/files/Yahsmosis_Emoticons_v1.0.exe Other links: Avatars: http://code.google.com/p/yahsmosis/wiki/Avatars Commands: http://code.google.com/p/yahsmosis/wiki/Commands Official contact information, websites, and usernames: http://code.google.com/p/yahsmosis/wiki/Contact -------------------------------------------------------------------------------------------------------------------------------------------------------- + Update History: Yahsmosis Updater Extension 1.3 Added a notification if a beta is available after installing the newest release This will allow you to download the newest beta also without reloading the updater. Added correct display text if the list of download files could not be collected Added an error if downloading fails at some point Yahsmosis Updater Extension 1.2 Changed how release versions appear: 0.7.14.R instead of 0.7.14 The reason was that beta versions included the build number and mistakenly LOOKED lower in value (eg: Release 0.7.14 is actually newer than Beta 0.7.14.24) Release versions do not have published build numbers (0.7.14 Release is the last version of 0.7.14, the next build would be 0.7.15.* Beta) Yahsmosis Updater Extension 1.1 Minor fixes. Yahsmosis Updater Extension 1.0 Created. 0.7.15.32 Beta | 4:43 AM 11/12/2009-? [compiled] Implemented some ping packets to see if it helps with staying connected. (Requires YMSGLib 2.9c, which will be uploaded before the next release) Fixed a looping chat resume issue: Undid accidentally unsetting the Resuming state after you got logged in. Autojoin will not activate now if you're resuming, nor will AutoCloak And as such, you will not autojoin when you resume from the autocloak (loop) Cloak will refuse to work if chat is resuming. Chat is now not considered to be resuming if: Connected AND Logged In AND In Chat Changed the filter-related commands to add a newline under the new entry to prevent potential issues Added the 'vcinfo' command to output voice chat relevant info. Raised the internal extension maximum to 10 - I have no idea why it was still at 3. Changed Extension command behavior slightly If an extension returns SUCCESS for the command, no output is given. If an extension returns FAILURE for the command, the origin of the failure message is reported to the chatscreen. If an extension returns SKIP for the command, the command is broadcasted to the next extension (and so on) If the command is a normal extension command (see below for abnormal) and no extension returns SUCCESS or FAILURE, an error message is displayed to notify the user. In-Chat Commands that are not defined in Yahsmosis will now be checked against extensions for ease-of-use. This means that if a command is not defined, it will be sent as if the /ex command had been used. eg: "/missingcommand" will process the equivalent of "/ex missingcommand" If no extensions that are tried for the command return SUCCESS or FAILURE, the regular "No such command" message is returned. The real note here is that this change allows extensions to practically define new commands in Yahsmosis while they are active. Fixed a small bug in "roomfix"s normal post detection Changed behavior of chat resume mode once you actually get logged in - still needs further testing. Added the the "roomfix" or "tb" command - this command changes your *current* roomname on outgoing chat text This was added so that you can get around the textban issues in Yahoo. Unlike "roomx" - there is no parameter to type, and this should work if you change rooms. Additionally, if a post is detected that has a regular roomname (indicates textban is over), this will automatically disable. NOTE: "roomx" will disable this option, and this option will disable "roomx". The "Yahoo>Recache cookies" menu now forces cookie retrieval, regardless of whether the current cookies have been marked as expired. Modified the filename for the temporary chatscreen webpage to include a timestamp. This should decrease issues with the chatscreen or messagehost/in-screen actions when running multiple Yahsmosis instances. NOTE: if you hard-quit (ie: /quit [hard]) then the temporary chatscreen file is not deleted. Added the 'roomx' command which will allow quickly modifying the outgoing roomname in chat text packets. See the Commands wiki. Changed Cloak mode behavior Fixed Cloak mode not resuming after some updates that changed yahoo error message behavior Cloak mode will now force a reconnection in resume mode if "Reconnect on Error" is enabled. If "Reconnect on Error" is disabled, you will be cloaked and will stay disconnected. Messages for cloak mode now change based on the state of the "Reconnect on Error" setting. Added Error Events for all yahoo errors passed in the 66 field, I believe all of these precede a disconnection anyway. Changed the 1015 resume/cookie expire to 1011 (the actual error that precedes the 1015, I think.) Added a resume for the 52 error that occurs at irregular intervals normally. (precedes at 1014) 0.7.14 | 11:57 AM 10/19/2009-5:22 PM 11/8/2009 [compiled] Added ChatScreen zooming capability *** All zooming that is handled by Yahsmosis is limited to the range of 100%-800% Use CTRL+MouseScroll to change the zoom on Chat and all PM ChatScreens. Or use the new /zoom [number] command. (/zoom by itself should set all chatscreens to the current value) [number] is an integer from 100-800. NOTE: If you select inside the chatscreen before mouse-zooming, you are sending messages to the object directly. In this case, the zoom amount is not limited - nor is your scroll event sent to Yahsmosis. To work around this, click part of the Yahsmosis GUI outside of the chatscreen before mouse-zooming. NOTE 2: Internet Explorer / the Shell Browsers do not seem to correctly calculate scrolling or object placement sometimes while zoomed. While zoomed-in, you may notice the window scrolling to be incorrect. Also, The Chatscreen's document area does not seem to correctly reset when the chatscreen is cleared while zoomed-in. Added a "Copy Selected Text" option to the userlist/screen menu. (applies to the active window) Added a "Delete user's posts" option to the userlist/screen menu. (applies to the active window) Added a replacement that should disable a saved MessageHost command from being resent when loading a saved transcript. Added a workaround to keep PM's in front when right-clicking a post. (Since the context menu isn't from that window) Fixed username selection for the in-chatscreen menu. Reduced MessageHost request max idle-time to 100ms. (previously 250ms) Added the "menu" MessageHost command This command opens the userslist menu for a user. (even if the user isn't in the menu) Changed userlist menu to support non-userlist users. Note: This means that the menu will stay set to the last user selected if you right-clicked in a blank area. The "Avatar" userlist menu options "Take" and "Block" will now disable when the user has no avatar. Removed replacements for linebreaks and code tags to allow all new changes in the Chat Renderer (186) Added a critical error when running from an temporary archive folder. You should extract all files from Release archives before running. For archives containing only a beta files, they should be extracted to an exisiting Release folder. Added a "recache cookies" option under the yahoo menu that will recache new cookies if yours have been marked as expired. 1015 errors will now trigger an Error event, if Reconnect on Error is enabled, you will reconnect. 1015 errors will now invalidate your cached cookies. The next connect will recache new cookies. Added "[user]" parameter to the "/cls" command. Now "/cls [user]", the user parameter enables clearing all posts by a user. Added an tag replacement to allow posting linebreaks easily. Added processing to allow linebreaks in posts. (originally this would result in a failed post) Added limited tag support for exact-text posting. does not support multiline characters at this time does not support any tags or formatting that are converted into HTML. A Chat Renderer update will be needed to accomplish perfect tag support. !Added Macros (%ASK%, %VER%, %YSMO%, etc.) Added replacements so that typed Bold/Italic/Underline tags are replaced with formatting codes. Added "/say text" command. Minor change to the function that calls EmptyWorkingSet Added a workaround to allow tabstops even though the IE objects interfere. Fixed chatscreen output for the /array command (linebreak and indenting issues) Chat Screen Updated to use the "menu" messagehost command instead of displaying an in-chat menu. This means that you will get the menu you have seen in the userlist when you right-click. Added a timestamp to the MessageHost URL to prevent the browser from trying to load it from cache. If the URL was loaded from cache or the last success/fail state, the URL would not be loaded and the message would not be sent. Chat Renderer DLL v0.1.1.186 Added allowance for a font tag with no parameters, this should remove the need for the client itself to prevent the tag from being seen as text. Added '' tag and linebreak formatting to the renderer to remove it from the Chat Client. Added complete Tag support By posting any text in between and , the text should appear exactly as you sent it (in a text-box) , with exception to ChatClient replacements and Macros. Note: Yahsmosis 0.7.14 Beta builds 17-21 replace linebreaks with
and break multiline for tags. You must update to a newer Yahsmosis version to see linebreaks inside code tags. Chat Renderer DLL v0.1.1.179 Added color formatting for some tags with standard color names. (such as or ) 0.7.13 | 8:57 AM 10/3/2009-6:53 AM 10/19/2009 [compiled] Made changes to the client/userlist icons so that users who have not sent INF are displayed as Yahoo Messenger users. Miscellaneous small fixes. Added option to close all extensions in the Tools menu Added new two-way extension support. (Uses WM_COPYDATA) Removed old extension methods . Added Buddy/Ignore userlist colors - later there may be a seperate ignore lists, or maybe userlist view switching. Added User-Group Name to userlist tooltip info. Added Inherited Group Permissions option to userlist menu. (should all of this section be moved to a User-Groups submenu?) Fixed Issue #6 (http://code.google.com/p/yahsmosis/issues/detail?id=6) [DEP issue] Fixed Issue #7 (http://code.google.com/p/yahsmosis/issues/detail?id=7) [Avatar download issue with Cache disabled] 0.7.12 | 12:40 AM 9/25/2009-5:59 PM 9/27/2009 [compiled] Fixed an issue when creating a listening socket for the local Chatscreen MessageHost. Added command-line parameters: debug - Opens the debug window before major settings load and component startups occur. Added Chat Transcript saving option (HTML) Fixed some bugs in filter processing when a filter precedes comments. Fixed default filters: Pkt_Type was/is changed to Pkt_Typ which was invalidating some filters. Added default filters to autoallow auth and buddylist packets reduces processing time at login Added/Testing one-way Extension support Chat Renderer DLL v0.1.1.177 Added capability to retrieve the portion of Renderer-Text that is not part of the formatting tags. (much like the sections discussed in the second part of 0.1.1.172) Chat Renderer DLL v0.1.1.174 Corrected an issue where text was formatted up to the original length of the text, not taking into account changes in length during formatting. (backwards-compat) Chat Renderer DLL v0.1.1.172 Fixes a bug where links would not end at special-formatting codes. (backwards-compat) Adds capability to replace sections of Renderer-Text that is not part of a tag or link. (yahsmosis 0.7.11+) Future note: Changes this item later should allow easy implementation of tag support. 0.7.11 | 9:34 PM 9/15/2009-11:34 AM 9/22/2009 [compiled] Bugfixes: Yahsmosis now uses the new functionality of the Chat Renderer DLL v0.1.1.172 (second note) to implement emoticons. Originally the emoticons would be replaced anywhere in the text, which created emoticons in links and link text. BS: The splash progress bar now does not update while the splash window changes transparency - less work. The splash progress bar now changes speed based relative to time taken between label updates (which indicates time taken to complete different operations) No delay time is given to the process of updating the splash progress bar now, so loading and saving may have sped up. :) Functionality: Added a Chat Spam Detection system which allows a post to be denied or ignored based on it's similarity and proximity to previous posts. Note: Spam Detection supercedes regular Filtering (wild,text,script) Note: posts are only checked against Spam Detection if the Filtering permission is enabled for the sender's group. However, unfiltered posts are added to the Search Buffer to allow cloning to be detected. Also, Permissions supercede Spam Detection, messages that Deny-All or Accept-all or have Filtering disabled will not get to detected. "Pkt_Text" variable was changed to be text only (via Chat Renderer DLL v0.1.1.177) This affects the function of Text Filters, Scripted Filters, and Spam Detection. (note: For Scripted filters you can still use $Pkt_Data for raw field data) Regrouped userlist menu items Added Avatar [un]Block option to userlist menu Added "[blocked]" text to userlist tooltip for the avatar text The userlist tooltip is now closed when you open the userlist menu The tooltip now only updates when necessary or every ~500ms. 0.7.10 | 1:58 AM 9/13/2009-2:47 AM 9/14/2009 [compiled] Chat Renderer: Yahsmosis now makes use of a DLL made in C++ to process all major chat formatting. This new change - replaces many of the "dirty" rendering methods originally used (imperfect regex rules), - improves security against possible XSS attacks, - and corrects many of the tag-processing related issues in the original rendering (eg: the ">:D<" emoticon was impossible to use originally) The render has the ability also to quickly modify specific parameters, this allows for some future capabilites, eg: user-set range of acceptable font sizes. Note: if a multiplier setting is added, it may be able to zoom all formatted text Functionality: Removed the CS INF as it was causing YahELite to mark Yahsmosis as YaZak - optional in the future. Added userlist menu to set a temporary avatar for a user; takes effect until overriden by received INF. Added tooltip information showing the user's current display-avatar (not shown if None, Missing/Invalid ARE shown) Note: if a user sends an avatar then fails to send an avatar, the previous is used. Fixed issues with placeholder images not being disabled if a user's avatar was received while placeholders are enabled. Avatar shorthand strings (LIB\name; name@LIB) are saved with the UserInfo instead of the avatar's URI; solving this issue. 0.7.9 | 7:03 AM-9:04 PM 9/12/2009 [compiled] Current Issues: [Unverified] User not removed from group after using /remove Sometimes when ExecScript is called to add a post to the chatscreen, error 80020101 occurs. Backspace stops working in input/edit controls after focus in browser object. (NOTE: http://www.autoitscript.com/trac/autoit/ticket/110) Caret doesn't get drawn in edit controls if a browser object previously had focus. The enter key accelerator (Send) for PM windows doesn't take effect if a PM is opened automatically until the window loses and gains focus. Chatscreen will not redraw if restored from the minimized state. No obvious way to copy selected text from the chatscreen without using the right-click menu. Fixes: Users without the avatar INF weren't showing the No-Avatar placeholder, this has been fixed. Functionality: The userlist is now a ListView, instead of a ListBox, which supports per-item colors, item icons, etc. The userlist now has a user-specific context menu that lists some quick options (ignore/buddy/pm/take avatar/copy name) The userlist also can now be double-clicked to open a PM (CTRL+Click will be an ignore) Yahsmosis now keeps a list of information for users in the current userlist, including current INF, nickname, gender,city, etc. Most of this information can now be seen in a tooltip by hovering over a userlist item. (similar to YahELite) Changing some of these elements automatically triggers changes: Changing gender recolors the userlist background Changing client/INF "ID" will select the client-associated icon for the userlist item This new format of information allows some information (avatars) to carry over to PM's. Note: the maximum amount of users with saved information is 256 Commands: Commands added to allow adding/removal of users to specific user-groups /ignore [user] /buddy [user] /group [groupname [user]] /remove [user] Commands added to allow appending of enter wildcard/spamfilter/scriptedfilter entries /wild [wildcard rule] /spam [spam filter] /scripted [scripted filter] Include: Includes/ChatScreen_IE Added Message-Host capability This basically starts a local-only http server that receives messages only from the chatscreen (uses autogenerated session key in the chatscreen) File: YMSGBacker.htm Changed "Delete all posts by sender" option to "Ignore Sender" This option sends the "ignore" message to the yahsmosis message-host. ---EOF---