Hello everyone!
Thanks for continuing to use wimas3 - we are still working very hard
on using it with AIM Express, and wanted to share with everyone the
fruits of our labor. Most changes are improvements to our AIM Events,
some refactoring for code cleanup, and most importantly, a whole new
project to let you create persistent group chats (wimas3_imserv).
Here is a list of most of the changes:
WimAS3 IMServ /
* Added new IMServSession class, which gives you a BUNCH of new
Transactions and Data types for creating/editing/removing/managing
IMServs, which are persistent group chats in your BL (see
http://blast.aim.com,
or check out the latest AIM Express at
http://www.aimexpress.com)
* We decided to treat this as a separate project, so if you want group-
chat functionality within your app, you can import wimas3_imserv,
instead of wimas3. This way, wimas3 can remain free of all the extra
weight of IMServ-only transactions/datatypes
WimAS3/
* Lots of updates, rolled into one
* Transaction class has centralized signature creation (sigsha256)
* Fixed a stupid testing bug in SetPermitDeny
* Added new base class, TransactionEvent, which provides basic
statusCode information, and context info
* Move many transaction classes to extend TransactionEvent class
* Added support for "IM_SENT" fetch event. You are notified when
another WIM-based client signed in with the same identity as you sends
an IM.
* Support for "sentIM" and "lifestream" fetch event types
* Added LifestreamEvent (incomplete)
* Support for a 'smart' numerical property in Group
* Added GROUP_ADDING event
* Added GROUP_REMOVING event
* Added GROUP_RENAMING event
* Added GROUP_RENAME_RESULT event
* Added optional "context" object to BuddyListEvent
* Updated RemoveBuddy, GetPresence, AddBuddy to support optional
context in BuddyListEvent
* Added RenameGroup transaction
* Added RemoveGroup transaction
* Support for 'imserv' userType
* Better parsing of IM data (we know when its 'incoming')
* Added 'isArchivedMessage' to IM
* Added 'IMRawMessageData', which provides raw bytes of message for
handling different langs, etc
* Make SMSInfo return ints, because apparently we can receive negative
values if there is an error on the SMS gateway
* Preliminary support for Lifestream API (more coming!)
* You can now passing 'devId' during startSignedSession() to change it
(if you signed off and wanted to sign in with a different devId)
* Session will request '&rawMsg=1' to receive raw IM data with IM
events
Mock Server /
* If you type 'ghost' as the buddy to add, it will add the buddy but
will not send you a BL event (this is something we have been seeing a
lot in production, so it helps you debug your app)
* Support for simulating 'sentIM' events. it will claim that you sent
a random quote to 'buddy0'
* Can turn 'echo' ims off. Just type 'echo [on|off]' to the buddy.
Default is on.
* Tweaks to how many buddies/groups we show, and whether to show a
group of ICQ users
* Support for renameGroup/removeGroup transactions
* Buddy icon urls are included in buddy presence info
* Status messages are defaulted to a random google search of the
buddy's SN
* Fixed 602 simulation when sending an IM to a missing buddy
* 'sendim' command now supports an optional 2nd param: 'sendim buddy4'
will send an IM from the SN 'buddy4'. Good for testing unknown sender
scenarios, or unread counts in other convo tabs
* New 'go nuts' command which will send you a barrage of buddies going
online/offline quickly. Good for testing how your BL code reacts to
this. Turn off by typing 'go nuts-no-more'
* Passing UIN '000000000' for an ICQ buddy will prevent them from
having a validatedCellular in their mdir data
Common/
* Created centralized encodeStrPart() because it is being used all
over the wimas3 source code
OpenAuth/
* Turned off a bunch of logging
* Support for Error 3013 - SecurId Next Token Required (AOL internal
employee support)
* Support for 3019 - Account Not allowed (parentally controlled
accounts)
* Use centralized ResultLoader.encodeStrPart()
* Support for encoding a string into Base64