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
Now it is possible to trigger a connection attempt via JSON API
The API call success with any valid peer id
/peers/attempt_connection
{"peer_id":"d441e8890164a0f335ad75acc59b5a49"}
{"data":null,"debug_msg":"","returncode":"ok"}
The API call fail if the peer id is invalid
/peers/attempt_connection
{peer_id:"9090"}
{"data":null,"debug_msg":"Invalid peer_id\n","returncode":"fail"}
Related to issue: Touching offline trusted node cloud should trigger connection attempt
https://gitlab.com/angesoc/RetroShare/issues/4
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.
warning: private field 'mAutoBanIdentitiesLimit' is not used [-Wunused-
private-field]
float mAutoBanIdentitiesLimit ;
warning: private field 'mFiles' is not used [-Wunused-private-field]
RsFiles* mFiles;
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
ChatHandler::handleMessages(...) tick() before repling so the raw
message queue is processed
ChatHandler::handleLobbies(...) make sure tick() is called without
previous mutex locking, putting the critical section inside a block
ChatView.qml remove unnecessary request to statetoken service that
slowed down processing by half, increased chat message refresh time
to reduce performance hit
Deprecate id field in JSON API as it may cause problems in Qml
Offer gxs_id field in JSON API as an id alternative
LibresapiLocalClient support callbacks now an instance may be shared for
different tasks
Expose an instance of LibresapiLocalClient to Qml, type exposure is kept
for retrocompatibility but deprecated
Qml app now has a tab that permit to exchange some message with selected
distant peer
Added macro to deprecate symbols usage in a crossplatform way.
Deprecated Request::mMethod and related stuff that make implementation
more complex without advantage.
Added /chat/{initiate_distant_chat, distant_chat_status,
close_distant_chat} to libresapi.
Solved subtle bug in ChatId::ChatId(std::string str) that caused zeroed
DistantChatPeerId being created.
- Set request method to GET by default in ApiLocalConnectionHandler to avoid
/peers request fail randomly
- Use TabView instead of SwipeView to not depend on Qt 5.7.0 (latest version)
- AddTrustedNode simplified layout to avoid unexpected behaviour on some phones
- Locations add sslid property to root Item to avoid unexpected behaviour when
multiple locations are available
- TrustedNodesView color connected friends with green and offline with grey
- Ignore kdevelop 4 files
ApiServerLocal trim method/path line to avoid white spaces parsing
ApiServerLocal add support for passing METHOD in request
AddTrustedNode.qml add ability to copy and paste keys