- Added send time to ChatInfo.
Chat:
- Reworked IMHistoryKeeper to save only needed data as raw data (not formatted from PeersDialog).
- Renamed the public chat history file from "his1.xml" to "chatPublic.xml" and moved it from data dir to config dir. The current history is lost. Please delete the file "his1.xml" manually.
- Optimized save of the history. Save only when changed, also during the runtime.
- Clear the history in PeersDialog clears the IMHistoryKeeper too.
- New setting to send chat message with Ctrl+Return. Changed the check for Enter in PeersDialog and PopupChatDialog from textChanged to eventFilter.
- Smileys are inserted at the current cursor position, not added at the end.
- Don't send emty messages.
New class ChatStyle:
- Created a new class for the work with chat styles and smileys.
- Currently only two internal styles are available - private and public. Later more external styles planned.
- Moved functions for loading and showing the emoticons from PeersDialog and PopupChatDialog to the new class.
Private chat:
- Split private chat style into incoming.htm and outgoing.htm.
- Removed style change.
Public chat:
- New chat style incoming.htm, outgoing.htm, hincoming.htm and houtgoing.htm.
Chat feed:
- Show links and emoticons if they are enabled for public chat.
PeersDialog:
- Show the own name and location only once at start and not with QTimer every 1.5 second.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@3441 b45a01b8-16f6-495d-af2f-9b41ad6348cc
Reworked the interface of the chat service. So full recomile is needed.
With disabled flags for private chat (RS_CHAT_OPEN_NEW and RS_CHAT_REOPEN), the incoming private chat messages are queued (only for the runtime) until the user shows the private chat dialog.
When a new chat message is available, the icon of the gpg and ssl contact changed in MessengerWindow and PeersDialog and a new tray icon is shown.
Fixed compiler warning.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@3421 b45a01b8-16f6-495d-af2f-9b41ad6348cc
Created a new notifier for new chat available - NOTIFY_LIST_CHAT. Removed the QTimer in PeersDialog and connect the signal.
Created news feed for public chat (prework of defnax, need still some gui changes)
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@3413 b45a01b8-16f6-495d-af2f-9b41ad6348cc
Changed rsmsg interface and item classes so need full recompile.
Created new notifier for tag changes - NOTIFY_LIST_MESSAGE_TAGS.
Changed serialiser tests for message items.
After that all tags are reset to standard and all assigned tags to messages are lost.
Please delete the file msg_locale.cfg in your profile directory.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@3381 b45a01b8-16f6-495d-af2f-9b41ad6348cc
- added "mStatusChanged = true" on disconnect of a peer - the statusChange was not notified in time
MessengerWindow
- removed unused method updatePeersAvatar
Changes in status service:
- removed unused method statusAvailable
- new notifier for status change
- enabled the tick for receiving items
- always up to date status map
- no huge memory usage, if no list is visible who call getStatus and processed the received items
- send notify on status change
- renamed getStatus to getStatusList and created a new method getStatus to get status of one peer
- fixed: send status directly after the connect of a peer
Now the frame around the avatar in private chat changes when the peer change the state.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@3380 b45a01b8-16f6-495d-af2f-9b41ad6348cc
Show own tray icon for new messages.
Removed unused member p3Forums::mForumsChanged.
The message service send a notify on p3MsgService::markMsgIdRead too.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@3353 b45a01b8-16f6-495d-af2f-9b41ad6348cc
There are too much unnecessary internal SendItem's for the offline ssl contacts.
Maybe this should be handled in libretroshare. For every call to p3ChatService::sendAvatarRequest and p3ChatService::sendCustomStateRequest with currently no data available, a RsItem as created and sent. This is unnecessary, when the contact is offline.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@3347 b45a01b8-16f6-495d-af2f-9b41ad6348cc
libretroshare/src/retroshare/
All the relevant headers have been modified to reflect that change.
This allows installation of libretroshare on a system, headers will
be put in $WHEREVER/retroshare/ and we keep the ability to compile
against them, be it on the system or in the SVN tree.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@3342 b45a01b8-16f6-495d-af2f-9b41ad6348cc
a particular distrib service (forum, channels, and blogs) -- needs full rs-gui recompile
- added ability of forum's to save 'msg read' status
(meant to supercede current similar feature implement in qt gui side)
- updated test for distrib items, added forum items test
- added doxygen comments for rsinit and others.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@3314 b45a01b8-16f6-495d-af2f-9b41ad6348cc
- Changed the timer of RsAutoUpdatePage to a single-shot timer.
The update can take longer than the given timer interval.
Changed status service:
- send status when the peer connects (new monitor)
- send status to all online peers only when user changed it (not in every timer tick)
MessengerWindow:
- remove load and save of custom state string in settings
p3ChatService::sendCustomState
- send empty custom state string too
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@3307 b45a01b8-16f6-495d-af2f-9b41ad6348cc
* Added thread-safe rs_inet_ntoa function (util/rsnet.cc)
* Switched all calls to this function (most of the changes)
* Modified getLocalInterfaces() and getPreferredInterface() to avoid string conversions.
- NB: Modified windows functions too, but unable to test (hope it compiles!)
Also:
* Added EVP_CIPHER_CTX_rand_key() replacement function for old versions of SSL (pre 0.9.8) (for OSX 10.5)
- NB: This code should be reworked to remove these calls anyway.
* Updated tests/pqi to handle above changes.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@3281 b45a01b8-16f6-495d-af2f-9b41ad6348cc
* Changed calls from AuthSSL to AuthGPG and tested. looks like it works!
* added extra connect addresses in p3connmgr (current[local/server]addr)
* added mConnMgr->addFriend() call to pqissllistener to add unknown ssl certs.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@3253 b45a01b8-16f6-495d-af2f-9b41ad6348cc
* Bugfix in correctly adding ipList.
* restored setLocal/Ext calls from peer.
* Added extra debugging in p3disc.
* Cleaned up debugging in p3connmgr.
* switched off debugging in rsdiscitems.
* reorder ipList (most recent first).
* removed DEBUG switches in libretroshare.pro
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@3252 b45a01b8-16f6-495d-af2f-9b41ad6348cc
* Fixed #includes in upnp
* switched p3disc over to the new data types.
* added new source to .pro file
* minor changes to other code.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@3249 b45a01b8-16f6-495d-af2f-9b41ad6348cc
Rework of AuthSSL: cleanup and split up.
* Split out independent SSL functions into sslfns.h / sslfns.cc
* Reworked SSL certificate storage.
* Reworked SignDataBin / VerifyDataBin (fixed memory leaks).
* Removed funny code: /* cert->cert_info->key->pkey is NULL */
- just use X509_get_pubkey() instead.
* Removed lots of old code.
* Fixed up Mutex usage in AuthSSL - which was random.
* Removed certificates from tlvSignature serialiser obj.
* removed certificates from p3distrib messages.
* Starting removing "unused parameter" compiler warnings.
* Various related changes to make libretroshare compile.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@3222 b45a01b8-16f6-495d-af2f-9b41ad6348cc
- also added support src for serialiser test - add functions here that could be generally used throughout serialiser tests
- fixed empty grp id set of grp keys in creategrp function
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@3196 b45a01b8-16f6-495d-af2f-9b41ad6348cc
- added a destructor to RsTunnelDataItem, to remove a memory leak on all data packets.
- apparently the code would allow data items of zero size, hence calling malloc(0), which
has undetermined behavior.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@3191 b45a01b8-16f6-495d-af2f-9b41ad6348cc
use for handling the packet: RsItem::DATA_QUEUE for data and RsItem::CONTROL_QUEUE for
control packets, to be used in pqistreamer.
Up to now, File data chunks where the only packets that were going into the --less prioritized--
data queue. Now, the default in RsItem::queueType() being to return CONTROL_QUEUE, developpers can
choose which queue t use by simply overloading this method so that it returns a different value.
The first use of this was to make generic turtle tunnel packets use the data queue instead of
the control queuem, which restores a correct balance between turtle downloads and friends downloads.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@3153 b45a01b8-16f6-495d-af2f-9b41ad6348cc
3148: modified the update system for address lists, so that the list is totally
replaced (and not merged) when it comes from the peer itself. This helps
cleaning wrong addresses
libretroshare/src/pqi/authssl.cc
libretroshare/src/pqi/p3connmgr.cc
libretroshare/src/pqi/p3connmgr.h
libretroshare/src/services/p3disc.cc
3149: removed uninitialized memory read
libretroshare/src/pqi/authgpg.cc
3151: corrected missed update of peer info when connected. Disabled setting
peer connexion IP from p3disc info (does not make sense, and leads to
errors)
libretroshare/src/services/p3disc.cc
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@3152 b45a01b8-16f6-495d-af2f-9b41ad6348cc
- uses joss's/ open ssl sealinit implementation. public key encryption
- invoked by rs_group_encrypted group flag
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@3126 b45a01b8-16f6-495d-af2f-9b41ad6348cc
- memory leak -> "RsItem* item" was not freed, when "dynamic_cast<RsStatusItem*>" failed
- optimized return of std::list as parameter and not as return. return will copy the list and its not necessary
p3StatusService::getStatus
- memory leak -> items in "std::list<RsStatusItem* > status_items" was not freed
- potential crash, when receiving a status for an unknown peer
p3Peers::getPeerDetails
- optimized - call to "AuthSSL::getAuthSSL()->OwnId()" only once
- optimized - add ip addresses directly to "d.ipAddressList"
PeersDialog::insertPeers
- fixed possible crash, when ssl child has disappeared and was removed from tree, there was a missing continue
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@3125 b45a01b8-16f6-495d-af2f-9b41ad6348cc
3099: libretroshare/src/tcponudp/udplayer.cc
libretroshare/src/tcponudp/udplayer.h
libretroshare/src/util/rsnet.cc
libretroshare/src/util/rsnet.h
moved operator<<(ostream&,sockaddr_in) to rsnet.h, as it is used at
different places
3100: libretroshare/src/util/rsdiscspace.cc
suppressed debug mode
3101: libretroshare/src/serialiser/rsdiscitems.cc
put correct (i.e. non conservative) size for RsDiscReply packets
3102: libretroshare/src/services/p3disc.cc
Made a pass on the code in p3disc. Corrected some bugs:
- suppressed an unwanted return in packet treatment
- prevented sending info to a peer about itself
- changed askInfoToAllPeers() such as not to discard info
from peers with NODISC flag (because we especially need
info for these)
- enabled receiving p3disc info even if p3discovery is
disabled. Indeed, disabeling p3disc is a measure of
protection, so it should limit the export of p3disc info,
not the import.
- removed test discarding info about dummy friends, because
it is useless
- don't discard info about peers that have the NODISC flag
(meaning that we especially need info for them)
- added safety check about received GPG keys. Before we
relied on this test being performed by
p3ConnMgr::addFriend()
- added some debug info
3103: libretroshare/src/ft/ftcontroller.cc
removed debug info
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@3104 b45a01b8-16f6-495d-af2f-9b41ad6348cc
- save msgId in configuration file
- enable previous improvements read/unread state and tags
new function for creating backups of a file
bool createBackup (std::string sFilename, unsigned int nCount = 5);
currently its only available for windows compile. maybe there is a linux developer who change it for linux.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@3064 b45a01b8-16f6-495d-af2f-9b41ad6348cc
- enabled draft box
bugfix MessagesDialog:
- correct from and to in list and message header
changes MessageComposer:
- cleaned channel part
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@2994 b45a01b8-16f6-495d-af2f-9b41ad6348cc
- it was previously corrupting group keys
added dynamics size to grps created
- previously limited to 16000 bytes
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@2928 b45a01b8-16f6-495d-af2f-9b41ad6348cc
Now used in MainWindow.cpp, MessagesDialog.cpp and peerstatus.cpp
void p3Peers::getPeerCount (unsigned int *pnFriendCount, unsigned int *pnOnlineCount);
void p3Msgs::getMessageCount(unsigned int *pnInbox, unsigned int *pnInboxNew, unsigned int *pnOutbox, unsigned int *pnDraftbox, unsigned int *pnSentbox);
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@2898 b45a01b8-16f6-495d-af2f-9b41ad6348cc
- clean up of channels old (> storeperiod) cache file downloads called at rsglobal shutdown
- added extrafilehash and extra-remove to rschannels, so it chooses appropriate way to add files (correct book-keeping)
- added extra files not copied to chan dir if over 100mb (high overhead)
- added limit to channels auto-download (1gig)
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@2866 b45a01b8-16f6-495d-af2f-9b41ad6348cc
- corrected calculation of message counts
- p3MsgService::checkOutgoingMessages -> notify when message was sent
- refill of message list without clear, selected messages and scroll position are not changed
- corrected sorting of date with only time for today
- changed context menu in message list
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@2863 b45a01b8-16f6-495d-af2f-9b41ad6348cc
- getcustom status now generate a requests to that peer.
- setowncustom status now generates an 'status available' item sent to all peers
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@2769 b45a01b8-16f6-495d-af2f-9b41ad6348cc