717090d272
Differentiate between asynchronous and synchronous ones. Asynchronous are the ones where the invocation order may not be the same as the order in which the stanzas arrived. Since it's no longer guaranteed that when a unit test calls processPacket(stanza) the stanza will be completely processed when the call returns, it was necessary to extend the unit tests (mostly Roster and ChatManager) with a packet listener that waits for his invocation. Since we now also use LinkedHashMaps as Map for the packet listeners (SMACK-531, SMACK-424), adding a packet listeners as last also means that it will be called as last. We exploit this behavior change now in the unit tests. Rename 'recvListeners' to 'syncRecvListeners' in AbstractXMPPConnection. Rename 'rosterInitialized' to 'loaded' in Roster. Add Roster.isLoaded(). Reset 'loaded' to false in Roster.setOfflinePresencesAndResetLoaded() (was setOfflinePresences()). Fixes SMACK-583, SMACK-532, SMACK-424 |
||
---|---|---|
config | ||
documentation | ||
resources | ||
smack-android | ||
smack-android-extensions | ||
smack-bosh | ||
smack-compression-jzlib | ||
smack-core | ||
smack-debug | ||
smack-debug-slf4j | ||
smack-experimental | ||
smack-extensions | ||
smack-java7 | ||
smack-jingle-old | ||
smack-legacy | ||
smack-resolver-dnsjava | ||
smack-resolver-javax | ||
smack-resolver-minidns | ||
smack-sasl-javax | ||
smack-sasl-provided | ||
smack-tcp | ||
.gitignore | ||
.travis.yml | ||
build.gradle | ||
LICENSE | ||
README.md | ||
settings.gradle | ||
version.gradle |
Smack
About
Smack is an Open Source, cross-platform, easy to use Java XMPP client library.
Smack is an Open Source XMPP (Jabber) client library for instant messaging and presence. A pure Java library, it can be embedded into your applications to create anything from a full XMPP client to simple XMPP integrations such as sending notification messages and presence-enabling devices.
Confused? Have a look at the Overview.
Smack - an Ignite Realtime community project.
Bug Reporting
Only a few users have access for for filling bugs in the tracker. New users should:
- Create a forums account (only e-mail is a requirement, you can skip all the other fields).
- Login to the forum account
- Press New in your toolbar and choose Discussion
- Choose the Smack Developers Forum of Smack and add the tag 'bug_report' to your new post
Please search for your issues in the bug tracker before reporting.
Contact
The developers hang around in #smack
(freenode, IRC) and open_chat@conference.igniterealtime.org
(XMPP MUC room).
Remember that it may take some time (~hours) to get a response.
You can also reach us via the Smack Users Forum if you have questions or need support, or the Smack Developers Forum if you want to discuss Smack development.
Resources
- Bug Tracker: http://issues.igniterealtime.org/browse/SMACK
- Nightly Builds: http://www.igniterealtime.org/downloads/nightly_smack.jsp
- Nightly Javadoc: http://www.igniterealtime.org/builds/smack/dailybuilds/javadoc/
- Nightly Documentation: http://www.igniterealtime.org/builds/smack/dailybuilds/documentation/
- User Forum: http://community.igniterealtime.org/community/support/smack_users
- Dev Forum: http://community.igniterealtime.org/community/developers/smack
- Maven Releases: https://oss.sonatype.org/content/repositories/releases/org/igniterealtime/smack/
- Maven Snapshots: https://oss.sonatype.org/content/repositories/snapshots/org/igniterealtime/smack/
Donate
If you find Smack useful and feel like donating, then you can use one of the following systems:
- Donate via Flattr
- Donate via Bitcoin: 1D4k11bsPxRB6rS51fxDty8QYfRVUt5JMB
Ignite Realtime
Ignite Realtime is an Open Source community composed of end-users and developers around the world who are interested in applying innovative, open-standards-based Real Time Collaboration to their businesses and organizations. We're aimed at disrupting proprietary, non-open standards-based systems and invite you to participate in what's already one of the biggest and most active Open Source communities.