Some app lile t3legram prepend other textxs when a message is copied, so
if a retroshare link is passed via t3legram and the user do copy/paste
on retroshare, retroshare get "some text + retroshare link", to avoid
the link being forgot we parte pasted textx more aggressively
AddTrustedNode.qml support for plain certificate and node link import/export
Move clipboard wrapper to it's own singleton ClipboardWrapper.qml with
improved clipboard API
In 943a4213fb default identity creation
burst has been solved but some times the duplication happens in
sequent instances of the app, now te app store permanently if default
identity has been created so this other kind of duplication is avoided
too (hopefully)
Use QDir::homePath() instead of RsAccounts::ConfigDirectory() to
determine libresapi socket path, this way statically linking to
libretroshare is not needed and the android package size is reduced
dramatically 20+MB -> 13MB
At same time this solves the socket path mismatch between retroshare
android service and the other android applications due to merge
Qt Creator get confused if files with same name are present in the same
project and when clickng on debug info open the same file, renaming
main to avoid this
The crash was introduced at 533dbef0c7
This has been particurarly tricky as lot of different parts contributed
in causing unexpected behaviours
When the activity is created onNewIntent is not called and we have to
get the intent data from C++ bu other means, but C++ code is running
in a different thread so there is no guarantee that the intent data is
reacheable yet on starting, so the C++ code has to wait for the intent
data being ready, but paying attention to not cause a deadlock beetween
the two thread (the android ui thread may be waiting for some
operation performed by Qt)
Because of notification intent flags not properly set the activity was
recreated also if it was already on top, this caused a nasty
interaction between android ui thread and qt thread that derived in a
deadlock, to avoid this lot of try/error has been made until the
proper soup of manifest and intent flags has been found
At this point link handling, notification handling, and Activity closing
should work as expected without any deadlock or crash
Move content of qml directory to parent directory src
Message notification take care of plurar/singular
Fix compilation of service for non-android linux
AddTrustedNode.qml show node details for confirmation before adding
Added TrustedNodeDetails.qml to show nodes details
TrustedNodesView.qml show node details on click
Qml app added minimal infrastructure to delegate link handling
Removed unused icons
AndroidManifest.xml register activity as an handler for retroshare links
RetroShareQmlActivity...NativeCalls.cpp bring the intent data from java
to C++ and then to QML
QMl mainWindow uses URI.js to parse the received uri
Create a singleton for qml engine so it is reachable from NativeCalls
If android:exported is false brodcast receiver can receive intents only
from the same application, in this case it doesn't make sense as
BOOT_COMPLETED and MY_PACKAGE_REPLACED are triggered by the system
Added retroshare-android-notify-service a stub will handle notifications
to android system, at the moment it only attempt autologin if default
password is used
retroshare-android-service quit QCoreApplication gracefully
Android Studio update has changed some android build files
Create BusyOverlay.qml componet so it is reusable accross the qml app
Contacts.qml create a pseudonimous GXS identity as needed without
prompting the user
RsLoginPassView.qml nicer look, on mobile phone password usage is not
common so do not use password by default
QML app main view handle correctly +waiting_startup+ runstate
QML app main view use BusyOverlay as initial item
Simplified sorting getting rid of complicated DelegateModel
Offload sorting work to another thread via WorkerScript
Get rid of polling and use token system instead
Main window keep track centrally of all valid tokens, a Timer coupled
with it's own instance of LibresapiLocalClient refresh periodically
valid tokens, registerToken and isTokenValid are offered to child
components to operate without polling
Main window coreStateCheckTimer is stopped after login
When the server reply to a burst of querys the socket readyRead() signal
may be called only once, thus causing reply not being parsed until
next event, and making the query queue grow with time and the user
interface unusable, to fix this a the end of the read() slot if there
is more data available in the socket read is called again to parse it
LibresapiLocalClient improved debugging that may be configured per
instance in case of debug build
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
Now a color based representation is showed like an avatar for easier
verification, showing the full id is still possible longpressing the
colored representation
LibresapiLocalClient::request(...) return a meaningful value
ChatView.qml uses a TextField for message input
TrustedNodesView.qml improve aestetic
main.qml use stack based navigation and tool/menubar
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
- 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
Login works fine but soon after retroshare-android-service crashes
probably when trying to determine local address (getLocalAddresses)
Added RsLoginPassView.qml generic login/pass/button view
retroshare-android-service can be build as a separate app on non-android systems
Implement location creation, selection and login
Implement people listing
Implement firends adding (not working yet)
Depend on androidextra qt module only if compiling for android
LibresapiLocalClient parse one line at time to avoid error if two
requests are sent rapidly one after another
LibresapiLocalClient socket path now is a parameter of openConnection()
to use it as qml type constructor without parameter must be useful
Added JSONListModel for JASON based MVC pattern
RetroShareQmlActivity checks if the service is running, and start it if
not
The service is restarted on package update
Remove non existents qml files from qrc
Test QML activity changed for a simplified version of drbob's rsqml-models.
It requests JSON documents from the libresapilocalserver and shows them raw.
Updated Android documentation.
Moved Android qmake section to the end of libretroshare.pro and openpgpsdk.pro
to avoid static linking errors.