Commit a7fc9996 authored by Daniel Henninger's avatar Daniel Henninger Committed by dhenninger

Last preps for 1.0 beta 6 release.

git-svn-id: http://svn.igniterealtime.org/svn/repos/wildfire/trunk/src/plugins/gateway@6431 b35dd754-fafc-0310-a699-88a17e54d16e
parent 1836aa03
......@@ -158,6 +158,41 @@ hr {
<div id="pageBody">
<h2>Major Known Issues</h2>
<ul>
<li>Many issues with Yahoo support that I haven't been able to track down</li>
<li>XMPP away status not shown in AIM/ICQ service</li>
<li>Many issues with ICQ as joscar doesn't full support ICQ yet</li>
</ul>
<h2>1.0 Beta 6 -- <span style="font-weight: normal;">December 18, 2006</span></h2>
<b>Bug Fixes</b>
<ul>
<li>[<a href='http://www.igniterealtime.org/issues/browse/GATE-51'>GATE-51</a>] - Groupless contacts are respected as best I can</li>
<li>[<a href='http://www.igniterealtime.org/issues/browse/GATE-125'>GATE-125</a>] - AIM/ICQ group moves now work</li>
<li>[<a href='http://www.igniterealtime.org/issues/browse/GATE-128'>GATE-128</a>] - Upon unregistering from transport, roster items are now removed from roster</li>
<li>[<a href='http://www.igniterealtime.org/issues/browse/GATE-129'>GATE-129</a>] - Yahoo is now reporting bad username/password attempts</li>
<li>[<a href='http://www.igniterealtime.org/issues/browse/GATE-136'>GATE-136</a>] - MSN user add responds with subscribed message to xmpp client</li>
</ul>
<b>Improvements</b>
<ul>
<li>[<a href='http://www.igniterealtime.org/issues/browse/GATE-7'>GATE-7</a>] - Access restriction support added</li>
<li>[<a href='http://www.igniterealtime.org/issues/browse/GATE-8'>GATE-8</a>] - Options can now be set from web interface</li>
<li>[<a href='http://www.igniterealtime.org/issues/browse/GATE-82'>GATE-82</a>] - Can now set default ICQ encoding</li>
<li>[<a href='http://www.igniterealtime.org/issues/browse/GATE-92'>GATE-92</a>] - Can now set ICQ encoding from admin interface</li>
<li>[<a href='http://www.igniterealtime.org/issues/browse/GATE-119'>GATE-119</a>] - OSCAR contact deletes now working</li>
<li>[<a href='http://www.igniterealtime.org/issues/browse/GATE-126'>GATE-126</a>] - Real contact list support added for IRC</li>
<li>[<a href='http://www.igniterealtime.org/issues/browse/GATE-132'>GATE-132</a>] - Now using JID escaping instead of @ -> % shrouding</li>
<li>[<a href='http://www.igniterealtime.org/issues/browse/GATE-134'>GATE-134</a>] - Admin interface now 'pings' regularly to keep session active</li>
<li>[<a href='http://www.igniterealtime.org/issues/browse/GATE-145'>GATE-145</a>] - Access controls now work from web interface</li>
<li>[<a href='http://www.igniterealtime.org/issues/browse/GATE-13'>GATE-13</a>] - Partial typing notification support added (full support in aim and icq, partial in yahoo and msn)</li>
<li>[<a href='http://www.igniterealtime.org/issues/browse/GATE-86'>GATE-86</a>] - Port/hostname check added to admin interface (test connection)</li>
<li>[<a href='http://www.igniterealtime.org/issues/browse/GATE-143'>GATE-143</a>] - Localization strings added for hard coded english strings</li>
</ul>
<h2>1.0 Beta 5a -- <span style="font-weight: normal;">November 10, 2006</span></h2>
......
......@@ -8,7 +8,7 @@
<name>IM Gateway</name>
<description>Provides gateway connectivity to the other public instant messaging networks</description>
<author>Daniel Henninger</author>
<version>1.0 Beta 5a</version>
<version>1.0 Beta 6</version>
<date>11/10/2006</date>
<minServerVersion>3.1.1</minServerVersion>
<databaseKey>gateway</databaseKey>
......
......@@ -189,10 +189,7 @@ hr {
This plugin is configured via the "Gateways" sidebar item located in the Wildfire
Admin Console. You can enable individual transports via the "Settings" sidebar
item, and add new registrations/view existing registrations from the "Registrations"
sidebar item. <b>Please note</b> that the options presented in the admin console
interface for the IM Gateway plugin, aside from enabling and disabling the transports,
are not yet implemented. They are only there to demonstrate the look and feel
that is coming before version 1.0.
sidebar item.
</p>
<h2>Using the plugin</h2>
......
......@@ -66,6 +66,7 @@ public class OSCARSession extends TransportSession {
super(registration, jid, transport, priority);
this.propertyPrefix = "plugin.gateway."+transport.getType().toString();
OscarTools.setDefaultCharset(JiveGlobals.getProperty(this.propertyPrefix+".encoding", "ISO8859-1"));
groups.put(0, null); // Main group
highestBuddyIdPerGroup.put(0, 0); // Main group highest id
}
......@@ -464,10 +465,11 @@ public class OSCARSession extends TransportSession {
int groupid = buddy.getGroupId();
String groupname = null;
if (groupid != 0 && groups.containsKey(groupid)) {
if (groups.containsKey(groupid) && groups.get(groupid) != null) {
String newgroupname = groups.get(groupid).getGroupName();
if (newgroupname.length() > 0) {
if (groupname.length() > 0) {
groupname = newgroupname;
groupname = "Transport Buddies";
}
}
......
......@@ -216,7 +216,7 @@ public class YahooSession extends TransportSession {
if (nickname == null) {
nickname = user.getId();
}
if (userToGroups.containsKey(user.getId())) {
if (userToGroups.containsKey(user.getId()) && !userToGroups.get(user.getId()).get(0).equals("Transport Buddies")) {
legacyusers.add(new TransportBuddy(user.getId(), nickname, userToGroups.get(user.getId()).get(0)));
}
else {
......@@ -254,6 +254,7 @@ public class YahooSession extends TransportSession {
public void addContact(RosterItem item) {
// Syncing will take are of add.
String contact = getTransport().convertJIDToID(item.getJid());
lockRoster(item.getJid().toString());
syncContactGroups(contact, item.getGroups());
if (pseudoRoster.hasItem(contact)) {
PseudoRosterItem rosterItem = pseudoRoster.getItem(contact);
......@@ -262,6 +263,7 @@ public class YahooSession extends TransportSession {
else {
pseudoRoster.createItem(contact, item.getNickname(), null);
}
unlockRoster(item.getJid().toString());
}
/**
......@@ -269,6 +271,7 @@ public class YahooSession extends TransportSession {
*/
public void removeContact(RosterItem item) {
String contact = getTransport().convertJIDToID(item.getJid());
lockRoster(item.getJid().toString());
for (YahooGroup yahooGroup : yahooSession.getGroups()) {
if (yahooGroup.getIndexOfFriend(contact) != -1) {
try {
......@@ -280,6 +283,7 @@ public class YahooSession extends TransportSession {
}
}
}
unlockRoster(item.getJid().toString());
}
/**
......@@ -287,6 +291,7 @@ public class YahooSession extends TransportSession {
*/
public void updateContact(RosterItem item) {
String contact = getTransport().convertJIDToID(item.getJid());
lockRoster(item.getJid().toString());
syncContactGroups(contact, item.getGroups());
if (pseudoRoster.hasItem(contact)) {
PseudoRosterItem rosterItem = pseudoRoster.getItem(contact);
......@@ -295,6 +300,7 @@ public class YahooSession extends TransportSession {
else {
pseudoRoster.createItem(contact, item.getNickname(), null);
}
unlockRoster(item.getJid().toString());
}
/**
......@@ -305,7 +311,7 @@ public class YahooSession extends TransportSession {
* @param groups List of groups contact should be in.
*/
public void syncContactGroups(String contact, List<String> groups) {
if (groups.isEmpty()) {
if (groups.size() == 0) {
groups.add("Transport Buddies");
}
HashMap<String,YahooGroup> yahooGroups = new HashMap<String,YahooGroup>();
......@@ -317,6 +323,7 @@ public class YahooSession extends TransportSession {
for (String group : groups) {
if (!yahooGroups.containsKey(group)) {
try {
Log.debug("Yahoo: Adding contact "+contact+" to non-existent group "+group);
yahooSession.addFriend(contact, group);
}
catch (IOException e) {
......@@ -329,6 +336,7 @@ public class YahooSession extends TransportSession {
if (groups.contains(yahooGroup.getName())) {
if (yahooGroup.getIndexOfFriend(contact) == -1) {
try {
Log.debug("Yahoo: Adding contact "+contact+" to existing group "+yahooGroup.getName());
yahooSession.addFriend(contact, yahooGroup.getName());
}
catch (IOException e) {
......@@ -339,6 +347,7 @@ public class YahooSession extends TransportSession {
else {
if (yahooGroup.getIndexOfFriend(contact) != -1) {
try {
Log.debug("Yahoo: Removing contact "+contact+" from group "+yahooGroup.getName());
yahooSession.removeFriend(contact, yahooGroup.getName());
}
catch (IOException e) {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment