This could be used to request the online peers to pull updates from us
ASAP, as an exaple when a group is created a pull request can be
emitted too so the online peers pull the groups from us ASAP instead
of waiting for the usual 60 seconds. A mechanism like this is
especially useful on mobile phones where the internet connection is
usually turned on only in a few moments (as an example while the user
is interacting with the app).
Cleanup a few old corners in the code keeping retro-compatibility and
make the code more welcoming to new developers.
Put a bunch of dead code under #ifdef.
Avoid compiler warning due to virtual method being called in destructor
at this point the empty default version would be called without damage
but making the compiler concernig about the semantic being different
from the one the programmer meant.
Delete old superseeded function and do not depend on it on RsThread.
mGroupFlags & GXS_SERV::FLAG_PRIVACY_PUBLIC is always true for forums
even if they are circle restricted, use circle flags to check if it
is really public
Single shared files are a bit special and contain the full path in the
name because they are not shared as part of a directory, epurate the
path component from matching process and from search result
Add capability to libretroshare to share single files without sharing
the whole folder containing it, this is expecially useful in Android
where files are organized in a peculiar way that render classic way of
sharing folder almost unusable. Using extra files which was already
implemented doesn't solve this use case as extra files are limited in
time and dosn't support search and sharing permissions.
RetroShare GUI works fine if a single file is added as shared dir via
JSON API, but probably would need tweaking some flags in file picker
to give the ability to the user.
The field is actually a raw memory chunk even if declared as an
std::string as result the produced JSON is broken and JSON API clients
cannot parse the output of methods like rsIdentity/getIdentitiesInfo
A proper fix would be refactoring the whole code to use a proper raw
memory buffer for that field but given there is no usage for a raw PGP
signature on a client app as RetroShare library already verify it internally
workaround the issue by just ignoring that field in JSON serial operations.