qmake file add jsonapi-generator target to compile JSON API generator
qmake files add rs_jsonapi CONFIG option to enable/disable JSON API at compile
time
RsTypeSerializer pass down same serialization flags when creating new context
for nested objects serial job
RsGxsChannels expose a few methods through JSON API as example
Derive a few GXS types (RsGxsChannelGroup, RsGxsChannelPost, RsGxsFile,
RsMsgMetaData) from RsSerializables so they can be used for the JSON API
Create RsGenericSerializer::SERIALIZATION_FLAG_YIELDING so JSON objects that
miss some fields can be still deserialized, this improve API usability
SerializeContext offer friendly constructor with default paramethers
Add restbed 4.6 library as git submodule as most systems doesn't have it yet
Add a bit of documentation about JSON API into jsonapi-generator/README.adoc
Add JsonApiServer class to expose the JSON API via HTTP protocol
Add WrongValue StyleSheet property, when bad directory selected.
Update QLineEdit with current setting so it's possible to see if
something is modified. No need to restart.
The code is not elegant as this version of the API will be soon obsolete
but it offer a bunch of channels functionalities, comments and votes
are not implemented yet
/channels/list_channels get all visibile channels
/channels/get_channel get content of a subscribed channel
/channels/toggle_subscribe subscribe/unsubscribe to a channel
/channels/toggle_auto_download set/unset auto-download for files attached
to posts in a channel
/channels/toggle_read mark a post as read
/channels/create_channel create a new channel
/channels/create_post create a new post in given channel, group_id
paramenter renamed to channel_id for consistence
mChannels use reference instead of pointer as it must be valid
for the whole lifetime of the object
RsGxsCommentService and derivatives use proper types for parameter, avoid
reference when unneeded
Abstract serialization concept to pure virtaul class RsSerializable
from which every other serializable class must inherit from
Use RapidJSON for JSON manipulation
Add TO_JSON and FROM_JSON SerializeJob
Deprecate unused SerializationFormat
Remove some unused old piece of code
Adjust many lines to max 80 columns for better readability on little
screens
Clean up documentation and code, remove old cruft
Add copyright notice on edited files that miss it
/libretroshare/src/retroshare/rswire.h:111: warning:
Cppcheck(noExplicitConstructor): Class 'RsWire' has a constructor with 1
argument that is not explicit.
/libretroshare/src/retroshare/rsservicecontrol.h:46: warning:
Cppcheck(passedByValue): Function parameter 'service_name' should be
passed by reference.
/libretroshare/src/retroshare/rsposted.h:81: warning:
Cppcheck(noExplicitConstructor): Class 'RsPosted' has a constructor with
1 argument that is not explicit.
/libretroshare/src/retroshare/rsidentity.h:269: warning:
Cppcheck(noExplicitConstructor): Class 'RsIdentity' has a constructor
with 1 argument that is not explicit.
/libretroshare/src/retroshare/rsgxsforums.h:66: warning:
Cppcheck(noExplicitConstructor): Class 'RsGxsForums' has a constructor
with 1 argument that is not explicit.
/libretroshare/src/retroshare/rsphoto.h:162: warning:
Cppcheck(noExplicitConstructor): Class 'RsPhotoComment' has a
constructor with 1 argument that is not explicit.
/libretroshare/src/retroshare/rsgxschannels.h:82: warning:
Cppcheck(noExplicitConstructor): Class 'RsGxsChannels' has a constructor
with 1 argument that is not explicit.
Avoid to forge the
[Starting distant chat. Please wait for secure tunnel to be established]
message on requesting chat id from API as it is a nuisance in most
libresapi use cases
To import contact
/identity/import_key
{"radix":"AgIRBAAABd..."}
To export contact
/identity/export_key
{"gxs_id":"ffffffffffffffffffffffffffffffff"}
In both cases if everithing went fine the answer is something like
{"data":{"radix":"AgIRBAAABd...", "gxs_id":"fff..."}, "returncode":"ok"}
Some retrocompatible adaptations were necessary to libretroshare
RsGenExchange::deserializeGroupData
p3IdService::deserialiseIdentityFromMemory
Now accept an extra optional pointer parameter to return the id of the
key so we can return it back from libresapi too and can be used to
request more information about the key to the API.
ChatHandler::handleUnreadMsgs(...) deprecate 'id' field
in favour of 'chat_id'
IdentityHandler::handleWildcard(...) reduce sleep time from 500 to 50 ms
IdentityHandler::handleWildcard(...) expose 'is_contact' to JSON API
Split contacts list delegate into GxsIdentityDelegate.qml
Update to QtQuick.Controls 2.0 because 1.4 is not supported anymore and
2.1 is not available yet in Qt 5.7.1
ChatView.qml mark messages as read
Set refreshTimer.triggeredOnStart=true to improve reponsiveness of views
Contacts.qml use a Popup that is available in Controls 2.0 instead of a
castrated Dialog to display full fingerprint
TrustedNodesView.qml check if locations[*].is_online is an array before
attempting calling reduce
main.qml added menuentry to shutdown de core
main.qml added menuantry to search contact
RsServer properly handle deletion (childs are not yet)
p3GxsMails properly handle deletion
RsControl::instance() use proper static initialization
p3GxsMails register configuration files at right time
RsGxsMailBaseItem take in account offset in header pointer
RsGxsMailSerializer use C++11 safe enum class for items types
RsGxsMailItem take in account offset in header pointer
RsGxsMailItem::deserialize(...) properly calculate final offset
p3GxsMails::handleResponse(...) delete group items after usage
move ex inner struct OutgoingRecord to gxs mail items header
p3MsgService::saveList removed unused variable
p3MsgService::notifyDataStatus(...) take in account multiple backends
p3MsgService::receiveGxsMail(...) take in account multiple backends
p3MsgService::receiveGRouterData(...) take in account multiple backends
Added prersistence to p3MsgService::gxsOngoingMessages
Add notice about param not being checked in GxsSecurity
Use proper types for RsGenExchange::getMsg* params
Implement bitwise or and not operators for t_RsGenericIdType
GxsMail unsubscribe old unused groups
GxsMail initial work on supporting client services
Implemented p3IdService::encryptData(...) for multiple recipients
RsGxsDataAccess deprecate unused ansType
RsGxsDataAccess::setReq(...) use proper types for params
RsGxsDataAccess::getGroupData(...) print useful information in case of error
GxsRequest proper initialization in constructor
GxsRequest deprecate meaningless ansType
RsGroupMetaData Fix comment to avoid confusion
Deprecated meaningless RS_TOKREQ_ANSTYPE_* common source of confusion
p3GxsCircles::request_CircleIdList() removed unused variable
p3GxsCircles::request_CircleIdList() preper return value
Fix a warning in RsGenExchange::messagePublicationTest(...)
Fix documentation for RsGenExchange::{generatePublicToken(), acknowledgeTokenGrp(...)}
Properly initialize RsGroupMetaData, RsMsgMetaData and p3GxsForums members
Cleanup RsGxsNotify