Git Product home page Git Product logo

retroshare-mobile's Introduction

RetroShare Mobile App.

style: lint

RetroShare mobile client written in Flutter.

This is a Flutter frontend for the retroshare-service backend. You need to have both working: this frontend, and the retroshare-service backend.

Features

  • Create one or more Retroshare profiles.
  • Create and delete one or more both Pseudo and Signed Identities, and switch between them.
  • Add friend locations using classic and Short Retroshare invites.
  • Add Friend through QR scanner/QR code.
  • Create lobby chats (public and private).
  • Search public chat lobbies.
  • Start distant chats with identities.
  • Send Image and Emoji in chat.
  • Get Notification of Chat Lobby Invites.
  • Flexibility to accept and deny the chat lobby invites.

Future Plans

  • Converting retroshare service (a.k.a backend of retroshare Mobile) from background to foreground service.
  • Adding Forum support.
  • Support of CI/CD.

Installing on Local Machine:

  • Download Qt 5.12.5.
  • Add the Android dependencies Android x86 , Android ARM64-v8a and Android ARMv7 using QT maintainer tool.
  • Add the Qt 5.12.5 location in retroshare-service.properties.example file in qt.installdir.
  • Run below command:
  cd android
  cp retroshare-service.properties.example retroshare-service.properties
  cd ..
  flutter run
  • Follow these steps for more Info.

Code linting and formatting

Don't forget to format the code before creating a PR. Run the below command to check your code is formatted or not.

flutter format .

Contributing

Please read Contributing.md for details on our code of conduct and the process for submitting pull requests to us.

Support

Join our Retroshare to talk to dev/tester of this project.

retroshare-mobile's People

Contributors

altcoinpirate avatar csoler avatar obrasero avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

retroshare-mobile's Issues

TS(TestSet): OK: Service alone stays started until explicit stoped

#32 #34

TC(TestCase): FAIL: Device: ZTE Blade A5 2019 (mobile) • android-arm • Android 9 (API 28)

apks

  • #30 (comment)
  • service: RetroShare_Android_Service-alpha-arm.apk at 05.08.
  • rs-mobile: app-release.apk build(avin) at 05.08.

Steps: Create the first profile after install

  1. OK: Copied both apks to the download section of mobile
  2. OK: In Download: click Service and install
  3. OK: in Apps find "R": click service app
    4.1. => shows with START-Button
  4. wait a lengthy time (some 2+ minutes) while clicking in other apps in the search for ex.
  5. OK: in Apps find "R": click service app
    6.1: => OK: service still shows STOP {is running}

Release for more platforms

It would be awesome if you could deploy the flutter app to more targets like Linux. In addition to running on my laptop, this could allow me to run on my PinePhone!

TS(TestSet): FAIL: Create first profile after install service and rs-mobile

TC(TestCase): FAIL: Device: ZTE Blade A5 2019 (mobile) • android-arm • Android 9 (API 28)

apks

  • #30 (comment)
  • service: RetroShare_Android_Service-alpha-arm.apk at 05.08.
  • rs-mobile: app-release.apk build(avin) at 05.08.

Steps: Create the first profile after install

  1. OK: Copied both apks to the download section of mobile
  2. OK: In Download click Service and install
  3. OK: in Doenload click app-release.apk and install
  4. OK: in Apps find "R": click service app
    4.1. => show with START-Button
  5. OK: click START
    5.1. => shows STOP button
  6. OK: in Apps find "R": click rs mobile
    6.1. => FAIL: shows entry view to create profile
    • => {instead it shows Can' connect...}
  7. OK: in Apps find "R": click service app
    7.1 => FAIL: show still STOP
    • => {instead it shows START; the service got shut down as mosty - by crash or other reasoen i dont know}

TS(TestSet): FAIL: Master compilable

as of: SHA-1: 8a40ff9
the MASTER is no longer compilable with android studio:
--->
Running Gradle task 'assembleDebug'...
lib/provider/friend_location.dart:19:35: Error: Method not found: 'RsPeers.getPeerFriendDetails'.
locations.add(await RsPeers.getPeerFriendDetails(sslIds[i], _authToken));
^^^^^^^^^^^^^^^^^^^^
lib/ui/notification_screen.dart:18:32: Error: Method not found: 'RsMsgs.getPendingChatLobbyInvites'.
var invites = await RsMsgs.getPendingChatLobbyInvites(authToken);
^^^^^^^^^^^^^^^^^^^^^^^^^^
lib/ui/notification_screen.dart:127:72: Error: Method not found: 'RsMsgs.denyLobbyInvite'.
await RsMsgs.denyLobbyInvite(
^^^^^^^^^^^^^^^
lib/ui/notification_screen.dart:148:66: Error: Method not found: 'RsMsgs.acceptLobbyInvite'.
RsMsgs.acceptLobbyInvite(
^^^^^^^^^^^^^^^^^
lib/ui/home/home_screen.dart:52:14: Error: Method not found: 'RsMsgs.getPendingChatLobbyInvites'.
RsMsgs.getPendingChatLobbyInvites(authToken);
^^^^^^^^^^^^^^^^^^^^^^^^^^
lib/common/drawer.dart:203:25: Error: Method not found: 'RsMsgs.getPendingChatLobbyInvites'.
return await RsMsgs.getPendingChatLobbyInvites(authToken);
^^^^^^^^^^^^^^^^^^^^^^^^^^

Todos & ideas for RetroShare Mobile

We need to stay light and easy on rs mobile like Whatsapp/Telegram.

for me main ideas/todos (not sure if everything is done, every place has i think more todos which i doesnt listed yet)

Basics Done:
✔️ Distant chats
✔️ Chat rooms
✔️ Send Emojis

Todo:

  • #62

    • Set own Profile/Avatar Picture (for show to direct friends)
  • Private Chat (direct chat)

  • Distant Chat Status (#64 (comment))

  • Notify new Friend Requests for accept

  • Show Friends Avatars (direct friends)

  • Would be great if i can view Contacts (gxs) and direct friends in the Friends View, via switch something

  • Show all Private, Distant Chats, Rooms in the Chats List too, at the moment only joind rooms there visible.

  • Send single files (todo: RetroShare/RetroShare#2444)

  • Tor support (todo: RetroShare/RetroShare#2437)

  • Send Voice Message (for 1:1 Chats, #64 (comment))

  • Set your Status Message

  • Status for your profile (Online, Busy, Away, Offline..)

  • Send Pictures 🟡

  • Send Stickers

  • Send Gifs/Webp ( animated rs mobile to rs mobile , static on qt chat, rs chat ui doesnt supports yet animated)

  • Video player for downloaded videos in the Chat

  • Edit Profile ( edit Name & Avatar, issue: https://gitlab.com/elRepo.io/retroshare-wrapper-dart/-/issues/1)

  • Count new messages (#64 (comment))

  • Display last chat time stamp

  • Display last chat text strings maximum 2 lines

for the future:

  • Mails ( dont know if we need it on rs mobile?)
  • Voice & Video Chat

a advanced retroshare mobile app (more complex or only keep it for the desktop rs only)

  • Activity Stream
  • Forums/Boards/Channels/Wire/Wiki
  • FileSharing

profile picture is missed

Hi, there i cant select a picture for my profile only for identity.
on rs qt i see a blank friend only.
image

maybe a issue on rs mobile and big ft turtle

Hi,
about when we use rs mobile for chatting, chats and communication, possible ft turtle will make issues?
the scenario is turtle by default routes big file transfers,
normaly we need feature to disable ft routing or mobile version need a special ft turtle for rs mobile only...
then every rs mobile user will route then files from desktop client to mobile rs ?

rs desktop -> mobile rs -> rs desktop

on mobile you has limited Data per month when not using a wlan.
i dont know if the ft turtle will slow down the rs mobile, when it starts route files over mobile client.
maybe you want search, chat or send picture/file but the turtle ft traffic is high in the background.

@csoler @G10h4ck

TS(TestSet): FAIL: Service stays started while working with the rs mobile client

TC(TestCase): FAIL: Device: ZTE Blade A5 2019 (mobile) • android-arm • Android 9 (API 28)

apks

  • #30 (comment)
  • service: RetroShare_Android_Service-alpha-arm.apk at 05.08.
  • rs-mobile: app-release.apk build(avin) at 05.08.

Preconditions

  • OK: A profile was successfully created
  • OK: Successfull loged in

Steps: Just work with

  • FAILED: service stays running as long as not explicitly stoped
    • =>{in any - yet in test seeming unpredictable when - the service goes down and throughs one out of the work}

Need Update of AndroidGuide.md

Now, we don't need to clone the Retroshare-dart-ee as well as retroshare_api_wrapper and put it these on the level of retro share mobile dict. In PR #47 I have added the changes that will automatically gets these files from given URL by Pubspec.yml.

connection is lost after phone is on stand by mode

Hi,
big issue is with the connection, rs mobile is not more connected when phones goes in stand by mode after few minutes.
reactivitating the phone, rs mobile does not reconnect, you need to restart rs mobile.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.