- if hosts[host] and hosts[host].sessions[username] and hosts[host].sessions[username].roster then
- return datamanager.store(username, host, "roster", hosts[host].sessions[username].roster);
+ if not roster then
+ roster = hosts[host] and hosts[host].sessions[username] and hosts[host].sessions[username].roster;
+ --if not roster then
+ -- --roster = load_roster(username, host);
+ -- return true; -- roster unchanged, no reason to save
+ --end
+ end
+ if roster then
+ if not roster[false] then roster[false] = {}; end
+ roster[false].version = (roster[false].version or 0) + 1;
+ return datamanager.store(username, host, "roster", roster);