Commit Graph

364 Commits

Author SHA1 Message Date
Gioacchino Mazzurco
edd82d0ef2 libresapi: stop assuming first chat message is own 2017-06-07 21:37:03 +02:00
Gioacchino Mazzurco
528317d374 libresapi: silent /chat/initiate_distant_chat
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
2017-06-06 18:57:32 +02:00
csoler
5eaab25e78 Merge pull request #833 from Emotyco/libresapi_network_configuration
Added: Network configuration to libresapi.
2017-06-03 20:00:54 +02:00
Gioacchino Mazzurco
efdfa4666b Merge branch 'libresapi_attempt_connection' into qmlapp_pex_alpha 2017-06-02 10:39:42 +02:00
Gioacchino Mazzurco
8b72c9c453 libresapi expose connection attempt method
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
2017-06-02 10:26:15 +02:00
Gioacchino Mazzurco
59b77da6a2 Merge branch 'master' into qmlapp_pex_alpha 2017-05-31 12:11:15 +02:00
sehraf
a3ee85a30d Add I2P BOB support to libretroashare and RetroShare GUI 2017-05-24 19:40:01 +02:00
Konrad
9b67e93e01 Added: Network configuration to libresapi. 2017-05-21 19:51:52 +02:00
Gioacchino Mazzurco
db3dad3e23 Local API binary output support + qml image example 2017-05-18 21:57:24 +02:00
Gioacchino Mazzurco
745462a61b Merge branch 'v0.6-GxsTransport' into qmlapp_pex_alpha 2017-05-15 15:05:07 +02:00
csoler
9a0df3f757 Merge pull request #804 from PhenomRetroShare/Fix_Warnings
Fix warnings
2017-05-08 22:21:28 +02:00
Gioacchino Mazzurco
f67617a449 Add override and final placeolders for old GCC compatibility 2017-05-08 16:57:37 +02:00
Phenom
523730f31a Fix Warnings: unused parameter ‘resp’, 'req' & 'resp'
warning: unused parameter ‘resp’ [-Wunused-parameter]
  virtual void gxsDoWork(Request &req, Response &resp)
                                                 ^~~~
2017-05-08 12:21:08 +02:00
Phenom
a6acc72c89 Fix Warnings: this ‘if’ clause does not guard...
warning: this ‘if’ clause does not guard... [-Wmisleading-indentation]
     if(data.isRawData())
     ^~
2017-05-08 12:18:51 +02:00
Gioacchino Mazzurco
3fddbaf070 Merge branch 'master' into qmlapp_pex_alpha 2017-04-28 13:26:31 +02:00
Phenom
6e42cf4200 Fix Clang warnings: field 'mPassword' will be initialized after field
'mPrevIsBad'

warning: field 'mPassword' will be initialized after field 'mPrevIsBad'
[-Wreorder]
2017-04-25 09:44:59 +02:00
electron128
be9f126898 Merge pull request #781 from Sonetio/libresapi_requests
Added few requests handling in libresapi
2017-04-24 18:43:17 +02:00
Konrad
8da5e15180 Changed: difference time to absolute time. 2017-04-24 16:00:23 +02:00
Konrad
f571b05693 Added: Checking if the vector is empty;
Changed: Grouped values into one member
2017-04-22 11:06:56 +02:00
Konrad
8c0b7ce776 Fixed: Responds sends now correct time difference 2017-04-21 23:44:00 +02:00
Konrad
c9f618ddf6 Added: Notification about changed peer status 2017-04-20 19:09:57 +02:00
Konrad
9600359bdb Fixed: Password was not stored after creating a new location 2017-04-20 18:09:19 +02:00
Gioacchino Mazzurco
5ee517b64f Expose libresapi for GXS contacts import/export
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.
2017-04-19 23:48:25 +02:00
Konrad
4a0b51ce2d Added: to response information whether the identity is a contact 2017-04-19 22:03:24 +02:00
Konrad
b43bedf669 Added: Handling requests to set opinion about identity 2017-04-18 23:00:59 +02:00
Konrad
120ca9d078 Added: Handling requests to set opinion about identity 2017-04-18 22:58:15 +02:00
Konrad
3f54568d7f Added: Handling requests to get details about identity 2017-04-18 22:56:35 +02:00
Gioacchino Mazzurco
4455bfa92d Merge branch 'master' into merge_alpha_master 2017-04-18 21:30:25 +02:00
Konrad
76dd7fe47f Added: Handling requests to add and remove contact 2017-04-18 14:02:14 +02:00
Konrad
4a99000f16 Added: Handling requests to get and set node options 2017-04-18 14:00:30 +02:00
Phenom
19196e2cb0 Fix Clang warnings: ariable 'status' is used uninitialized
warning: variable 'status' is used uninitialized whenever 'if' condition
is false [-Wsometimes-uninitialized]
        else if(state_string == "away")
                ^~~~~~~~~~~~~~~~~~~~~~
2017-04-17 21:50:18 +02:00
Phenom
a3a53b970d Fix Clang warnings: unused parameter 'req'
warning: unused parameter 'req' [-Wunused-parameter]
void PeersHandler::handleGetStateString(Request& req, Response& resp)
2017-04-17 21:49:54 +02:00
Phenom
32eeb957b2 Fix Clang warnings: unused private field
warning: private field 'mAutoBanIdentitiesLimit' is not used [-Wunused-
private-field]
    float mAutoBanIdentitiesLimit ;
warning: private field 'mFiles' is not used [-Wunused-private-field]
    RsFiles* mFiles;
2017-04-17 21:35:29 +02:00
Konrad
fd33315146 Added: Handling requests to create lobby 2017-04-14 17:44:17 +02:00
Konrad
93aeae0f59 Added: Handling requests to delete identity 2017-04-14 17:41:35 +02:00
Konrad
144d57047c Fixed: Thread safe access to RsControlModule member variables 2017-04-13 13:40:30 +02:00
Konrad
dcc8c6e4c3 Changed: Using PeersHandler::mRsPeers instead of rsPeers 2017-04-13 13:31:32 +02:00
Konrad
aa81cc16d0 Added: Functions for handling PGP account details requests 2017-04-12 20:24:18 +02:00
Konrad
9402b8e239 Fixed: mFixedPassword remained empty after logging 2017-04-10 23:42:22 +02:00
Konrad
e1350a0b34 Fixed: Re-selecting accounts via RsControlModule;
Added: Sending feedback about incorrect password
2017-04-10 22:58:23 +02:00
Gioacchino Mazzurco
28682860c6 ChatHandler::handleUnreadMsgs: set query status 2017-04-03 21:04:44 +02:00
Gioacchino Mazzurco
f12cc9ca68 Disable limit to 20 entries in JSON API pagination 2017-04-03 19:21:54 +02:00
Konrad
fbc1bb4e82 Added: function for handling autosubscribing lobbies 2017-03-29 16:06:39 +02:00
Konrad
22956be00f Deleted: functions for hadling particular lobbies types in ChatHandler 2017-03-28 11:24:16 +02:00
Konrad
6e530027f8 Added: tokens in PeersHandler 2017-03-28 11:20:51 +02:00
Konrad
efd6ce3ed5 Changed: Simplified asking for deferred self signature 2017-03-28 11:19:50 +02:00
Konrad
569458a1c1 Changed: Qt dependecies are optional 2017-03-28 11:18:27 +02:00
Konrad
4031e493fb Deleted: unused stateTokens 2017-03-27 16:11:04 +02:00
Konrad
c33107c1cc Fixed: backward comptiblity 2017-03-26 19:12:04 +02:00
Konrad
bef75408da Fixed building on Travis CI 2017-03-26 15:11:07 +02:00
Konrad
8624c9374d Added functions for hadling particular lobbies types to ChatHandler 2017-03-25 18:33:35 +01:00
Konrad
194878a358 Added functions for handling own and not own identities to IdentityHandler 2017-03-25 18:31:13 +01:00
Konrad
cb32f304a9 Added states handling to PeersHandler 2017-03-25 18:28:31 +01:00
Konrad
28d37c2968 Added password storing to RsControlModule for GUI benefits 2017-03-25 18:25:26 +01:00
Konrad
39967b7ce7 Added name of requests to be used by GUI 2017-03-25 18:23:28 +01:00
Konrad
ae95b49f8a Added SettingsHandler to handle response to settings requests 2017-03-25 18:20:53 +01:00
Konrad
cb04134114 Added Windows support to libresapi when working with retroshare_android_service 2017-03-25 18:15:47 +01:00
Gioacchino Mazzurco
abe84a4f81 Improve Contacts: sorting, searching and unread
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
2017-03-24 12:02:13 +01:00
csoler
c61ccda431 fixed compilation problem caused by a bug in qtcreator global replace. Warning: always check the result of qtcreator global replace 2017-02-07 22:04:07 +01:00
csoler
37f3e1a62a fixed problem in ID creation code. 2017-02-07 20:15:55 +01:00
Gio
6c6b437db1 qml-app: Fix responsiveness of ChatView
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
2016-12-10 20:23:30 +01:00
Gio
c3aca0cf26 Implement a working Distant Chat prototype in Qml
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
2016-12-08 15:56:23 +01:00
Gio
9eef412b44 Expose libresapi for distant chat
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.
2016-12-07 20:29:33 +01:00
felisucoibi
628177c302 fix for windows compile 2016-11-16 11:22:23 +01:00
cyril soler
de6f753fec fixed compilation due to previous commit 2016-11-15 09:18:51 +01:00
Gio
8ab3c7de26 Merge branch 'master' into android 2016-11-07 14:37:23 +01:00
Phenom
2db8dbd45f Fix El Capitan OSX 10.11 Compil 2016-11-02 21:40:46 +01:00
Gio
10ec1144eb Simplify QML to work better on both Desktop and Phone
- 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
2016-10-26 20:37:28 +02:00
Gio
ea42d822c2 Merge branch 'master' into android 2016-10-26 13:43:24 +02:00
Gio
633a6cf8c2 Fixed a bunch of warnings in safe ways 2016-10-13 00:01:33 +02:00
Gio
cf1c49aa3a Advances on trusted node addings
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
2016-09-22 12:48:08 +02:00
mr-alice
0757fb303c merged upstream/master 2016-09-20 20:51:50 +02:00
mr-alice
a2e34f9cc6 moved regular expression classes into a separate namespace 2016-09-13 12:05:22 +02:00
sehraf
e4bd7f66a0 add dht/nat to librespai stats 2016-08-30 21:58:07 +02:00
sehraf
51c98fdf50 add stats to libresapi 2016-08-30 21:50:20 +02:00
Gio
279551fe8d Retroshare android service now run and start at boot on android, the qml app is still disfunctional 2016-08-23 12:15:28 +02:00
Gio
9a980def2c libretroshare now compiles for Android, instruction on how to do it included 2016-08-23 12:15:28 +02:00
Phenom
275c47eff9 Add Title when ask for password. 2016-08-09 01:22:14 +02:00
Gio
183ac22aba ApiServerLocal run on it's own thread to avoid stopping UI
ApiLocalConnectionHandler can now handle both buffered (QLocalSocket
based) and unbuffered (like ncat or simple scripts) clients
2016-08-08 14:23:56 +02:00
Gio
353308e2a5 ApiLocalConnectionHandler class quit() at the end outside if 2016-08-03 14:35:45 +02:00
Gio
e4e29c5adc quit ApiLocalConnectionHandler after replying API query 2016-08-03 00:50:49 +02:00
Gio
7c2e2bd503 take in account that QLocalSocket is of type STREAM so it doesn't emit readyRead event for each write() on the other side 2016-07-28 17:50:00 +02:00
Gio
fe7de83529 WebUI is now optional but enabled by default at compile time 2016-07-28 14:08:49 +02:00
Gio
b5f95cb651 libresapilocal is now optional (enabled by default) 2016-07-15 11:25:31 +02:00
Gio
47414acb62 Basic support to access libresapi via unix socket / windows named pipes 2016-07-15 11:25:31 +02:00
Gio
8e2d4e05ce Fix typo in libresapi documentation 2016-07-01 10:18:42 +02:00
Gio
da4c563223 Fix typo in libresapi documentation 2016-06-30 22:03:22 +02:00
csoler
dbd78d2401 merged with upstream/master 2016-06-16 20:19:03 -04:00
Cyril Soler
f1d69ada82 Merge pull request #351 from PhenomRetroShare/Add_WebUI_ClearButtonOnBradCast
Add Clear Button on WebUI for BroadCast.
2016-06-05 11:26:29 -04:00
csoler
f55b283887 second pass over compilation warnings 2016-06-05 11:05:52 -04:00
csoler
927f782bef pass over compiler warnings 2016-06-05 10:43:57 -04:00
sehraf
f16ee97093 add static thread names 2016-06-01 16:21:55 +02:00
sehraf
b3fece25da introduce thread naming 2016-06-01 15:07:41 +02:00
Phenom
07191a7c0b Fix Clear WebAPI when clear chat history in GUI and server is not
running.
2016-05-17 16:50:59 +02:00
Phenom
61d2ab5eb3 Fix compilation of LibResAPI for MacOS 2016-05-06 22:12:40 +02:00
zeners
08be19faa9 webui: rebuild files on qmake
giving up: don't know why build-steps are missed
2016-05-06 10:29:03 +02:00
zeners
13dec7ab5a webui: reset file-date on touch to force build 2016-05-06 10:06:03 +02:00
zeners
962dd91e0a webui: include files on first clean build
update website-title to 6
2016-05-03 19:02:07 +02:00
zeners
0a6ae559fd webui: redefined building webui
on linux: 'make' don't build libresapi every time anymore,
it now knows when, what and how to 'build' webui

on windows: builds old style
2016-04-30 14:21:09 +02:00
Phenom
4dd0f591f4 Add Clear Button on WebUI for BroadCast. 2016-04-15 19:08:10 +02:00
Phenom
a18e05d4fd Fix Escaped characters in WebUI. 2016-04-09 21:05:20 +02:00
Cyril Soler
10a32d3c4e Merge pull request #343 from csoler/v0.6-Circles
V0.6 circles
2016-04-09 11:38:07 -04:00
Phenom
24b3f0de0e Add a Clear button on WebUI
And Fix clear history update from GUI.
2016-04-08 01:31:36 +02:00
csoler
4ad3b11ef5 fixed compiler warning 2016-04-06 22:27:02 -04:00
Phenom
c6f1cc4e63 Clear WebAPI when clear chat history in GUI.
Move notifyChatCleared call to p3ChatService
To maintain notify direction.
2016-03-31 22:52:53 +02:00
thunder2
ab78825966 Enabled webui build script for Windows compile 2016-03-31 10:23:23 +02:00
zeners
f570477991 webui: patch init.sh like build.sh 2016-03-30 18:20:59 +02:00
electron128
475cb409c4 Merge pull request #328 from PhenomRetroShare/Fix_WebUI_MakeSrcBuild
Fix WebUI Make Source build script for LMDE and other using /bin/sh.
2016-03-29 20:13:24 +02:00
zeners
be328e223e webui: include files in install 2016-03-29 18:57:18 +02:00
thunder2
a53fbad1e4 Fixed Windows compile. 2016-03-29 08:13:28 +02:00
Phenom
d6723c1412 Fix WebUI Make Source build script for LMDE and other using /bin/sh. 2016-03-28 20:54:18 +02:00
zeners
dfa2cba045 webui: menu in gui mode fixed 2016-03-28 13:03:49 +02:00
zeners
bf374b3fa4 webui 4 windows build prepare
should be testet by someone
2016-03-28 11:34:33 +02:00
zeners
0482655647 webui: removed searchresult debug output 2016-03-27 20:29:48 +02:00
zeners
bbdb04fd78 webui: searchresult cross-checking with downloads 2016-03-27 20:13:47 +02:00
zeners
3bbd370242 webui: windows creating batch-files 2016-03-27 18:28:32 +02:00
zeners
215402b50f webui: add downloads: focus fixed 2016-03-26 23:36:02 +01:00
zeners
a67c1d7514 webui: paste RS-links for download 2016-03-26 18:19:33 +01:00
zeners
30193fe79a webui: switch from react to mithril 2016-03-24 18:07:21 +01:00
zeners
cef07fff91 webui: integrate new webui in unix build process 2016-03-24 00:33:22 +01:00
zeners
a19a068339 webui: options>settings, playing with colors 2016-03-23 13:11:14 +01:00
zeners
585c43bb25 webui: RS-reboot / RS-reboot-detection improved
paths without token, are now pulled
2016-03-22 23:19:36 +01:00
zeners
a069db5ee5 webui: chat: display peer location 2016-03-22 16:37:48 +01:00
zeners
4733523b0c webui: view / change rights per user 2016-03-22 16:33:05 +01:00
zeners
83ff00e77d webui: updated mithril to v0.2.3
no idea what it was before
2016-03-22 12:08:23 +01:00
zeners
51e0d83c47 webui: options / rights (only defaults) 2016-03-21 17:04:21 +01:00
zeners
12c0efb006 webui: pgp-linked identity disabled
reason: password-request don't work
2016-03-19 17:39:46 +01:00
zeners
1b72d2cec3 webui: unsubscribe chat-lobby 2016-03-12 23:38:39 +01:00
zeners
41a8e53abf webui: chat-layout fixed 2016-03-12 23:28:27 +01:00
zeners
0afa2e3726 webui: unread chat message counter in menu 2016-03-12 20:20:56 +01:00
zeners
e9af1794dd webui: need for master 2016-03-12 19:17:37 +01:00
zeners
b1286f06ed webui: route peer location to chat-lobby 2016-03-12 17:44:43 +01:00
zeners
888e8f5d35 webui: lobby-chat subscribe fixed 2016-02-21 09:38:57 +01:00
zeners
7c121d7792 webui: chat: unread msg count for peer fixed 2016-02-21 09:29:09 +01:00
zeners
f29f1b21af webui: personal chat 2016-02-21 09:14:07 +01:00
zeners
b8a8f34a48 webui: chat: sending messages 2016-02-20 19:37:31 +01:00
zeners
fdb93c3f8d webui: List forums, sort friends 2016-02-20 18:03:27 +01:00
electron128
34957b857a libresapi: added channels/create_post
group creation acknowledge not implemented yet

usage:
$ curl --data "{\"group_id\":\"<group_id>\",\"subject\":\"just a test\",\"message\":\"test message\"}" http://<host:port>/api/v2/channels/create_post

parameter object:
{
    group_id: required string,
    subject: required string,
    message: required string,
    thumbnail_base64_png: optional string,
    files: optional array of
        {
            name: required string,
            hash: required string,
            size: required number
        }
}
2016-02-19 19:23:55 +01:00
zeners
c5f127f3b1 webui: contains => match 2016-02-19 18:48:17 +01:00
zeners
288e81c486 webui: full chat display 2016-02-14 19:44:00 +01:00
electron128
2ab755bb5c libresapi: added chat/receive_status
usage:
$ curl http://<host:port>/localhost:8080/api/v2/chat/receive_status/<chat_id>
2016-02-14 14:57:41 +01:00
zeners
253182032a webui: chat-channel subscribe 2016-02-13 20:25:31 +01:00
electron128
3d814b7926 libresapi: added chat/send_status
usage:
$ curl --data "{\"chat_id\":\"<chat_id>\",\"status\":\"Hi there\"}" http://<host:port>/api/v2/chat/send_status
2016-02-07 14:28:46 +01:00
electron128
2c2c7936e5 libresapi: make list of chat lobby participants available at chat/lobby_participants/<chat_id> 2016-02-07 14:28:46 +01:00
electron128
3a9ff8e1ea fix integer sizing issues in webserver 2016-02-07 14:28:46 +01:00
electron128
116513963f libresapi: added statetoken to identity handler responses 2016-02-07 14:28:45 +01:00
electron128
f4f37cc354 webui: added todo 2016-02-07 14:28:45 +01:00
zeners
57d1d0868a webui: adding and listing identities 2016-01-31 18:16:26 +01:00
electron128
94b02943e6 libresapi: added identity/create_identity 2016-01-31 16:04:34 +01:00
zeners
284e5a9ed0 webui: reorganize counterfnkt 2016-01-31 15:58:20 +01:00