Giter Site home page Giter Site logo

oxen-io / session-android Goto Github PK

View Code? Open in Web Editor NEW

This project forked from signalapp/signal-android

1.7K 44.0 166.0 437.46 MB

A private messenger for Android.

Home Page: https://getsession.org

License: GNU General Public License v3.0

Java 48.86% Makefile 0.01% Kotlin 49.15% Groovy 0.07% CMake 0.04% C++ 1.73% Jsonnet 0.05% Shell 0.09%

session-android's Introduction

Session Android

Download on the Google Play Store

Add the F-Droid repo

Download the APK from here

Summary

Session integrates directly with Oxen Service Nodes, which are a set of distributed, decentralized and Sybil resistant nodes. Service Nodes act as servers which store messages offline, and a set of nodes which allow for onion routing functionality obfuscating users' IP addresses. For a full understanding of how Session works, read the Session Whitepaper.

Want to contribute? Found a bug or have a feature request?

Please search for any existing issues that describe your bugs in order to avoid duplicate submissions. Submissions can be made by making a pull request to our dev branch. If you don't know where to start contributing, try reading the Github issues page for ideas.

Build instructions

Build instructions can be found in BUILDING.md.

Translations

Want to help us translate Session into your language? You can do so at https://crowdin.com/project/session-android!

Verifying signatures

Step 1:

wget https://raw.githubusercontent.com/oxen-io/oxen-core/master/utils/gpg_keys/KeeJef.asc
gpg --import KeeJef.asc

Step 2:

Get the signed hash for this release. SESSION_VERSION needs to be updated for the release you want to verify.

export SESSION_VERSION=1.10.4
wget https://github.com/oxen-io/session-android/releases/download/$SESSION_VERSION/signatures.asc

Step 3:

Verify the signature of the hashes of the files.

gpg --verify signatures.asc 2>&1 |grep "Good signature from"

The command above should print "Good signature from "Kee Jefferys...". If it does, the hashes are valid but we still have to make the sure the signed hashes matches the downloaded files.

Step 4:

Make sure the two commands below returns the same hash. If they do, files are valid.

sha256sum session-$SESSION_VERSION-universal.apk
grep universal.apk signatures.asc

License

Copyright 2011 Whisper Systems

Copyright 2013-2017 Open Whisper Systems

Copyright 2019-2021 The Oxen Project

Licensed under the GPLv3: http://www.gnu.org/licenses/gpl-3.0.html

Socials

session-android's People

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  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  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

session-android's Issues

Enable recipient preferences

The recipient preferences have been disabled on the android app and should be re-enabled again. This gives users access to some key options such as:

  • Muting certain conversations
    • With this we could by default mute all public chat notifications instead of blocking them in PushDecryptJob
  • Notification settings per conversation
  • User blocking

Signal displayed these preferences when the user touched the top bar while in a conversation.
To enable uncomment out this line in initializeViews() in ConversationActivity:

titleView.setOnClickListener(v -> handleConversationSettings());

Note: Maybe we could also re-use the handleDisplayQuickContact logic?

Group Chat issues

Android Group chat issues-

I'm able to message the group chat but not able to receive messages to my phone from the group chat.
Others are getting my messages, and I see my messages, but not other messaged in the public channel.

Running Latest android version, as far as I'm aware.

List of people in open group

Closed groups have a button which let's you see who's in a group. This button is missing in the open groups. It should be added as an option which the group Admin can turn on or off.
sketch-1582001412549

Add Multi Account Support

Since the other person (to whom friend requests is sent) can see who the user is, it is obvious (as you also stated in the whitepaper) that a person should be able to use more than one accounts (i.e. Session ID). But the app only supports a single account.

Display username in notifications instead of public keys

Describe the bug
Public keys are displayed in notifications, it would be better to display usernames as keys are too long and not easy to recognise.

To reproduce
Receive a message notification.

Screenshots or logs
Screenshot_20200205-090906

Smartphone (please complete the following information):

  • Device: Xperia xz2 premium
  • OS: Android 10
  • Version of Session Messenger: 1.0.0

Use the local network to chat

I would like to be able to use the local network to chat, without using the internet.
Obviously, the local connection is encrypted between the devices.

Enhancement: Back Button for Android

Describe the bug
I think a back button would greatly help with user experience. It can be frustrating on larger phones to use the system back button.

Screenshots or logs
If applicable, add screenshots or logs to help explain your problem.

Smartphone (please complete the following information):

  • Device: Samsung Galaxy S10
  • OS: Android 10
  • Session Messenger 1.0
    Screenshot_20200205-220515_Session

Additional context
Add any other context about the problem here.

Application Notes Access to Location Data in Android Store

I believe that a lingering feature from Signal allowing users to share their location has been left in the application--when installing the application it is noted (in the Google Playstore) that the app requests/requires access to location data.

loki-messenger-android/src/org/thoughtcrime/securesms/components/location/

Note that I messed around with the application and I could not get it to request my location -- I don't think it is actually accessing location data.

Images won't send

Describe the bug
Images won't send, continuous waiting symbol.

Screenshots or logs
sketch-1575267796813

Smartphone (please complete the following information):

  • Device: Xperia xz2 premium
  • OS: Android 9
  • Version of Loki Messenger: 1.5.0

Implement passphrase Independent from device unlock

Describe the bug
In case the access to the session app is restricted the android screen lock is used as passphrase.

To reproduce

  1. Open Session app
  2. Go to privacy settings
  3. Enable access restriction using screen lock/fingerprint
  4. Close Session app
  5. Open Session app (may be wait a while)
  6. Enter android screen lock code / use fingerprint

Smartphone:

  • Device: Fairphone 2
  • OS: Android 7.1.2
  • Version of Loki Messenger: 1.0.1

Additional context
Signal used an independend passphrase to secure the app until it removed this feature in 2018 (couldn't find the correct version-no, sorry). In fact, that the usage of the android screen lock code or fingerprint isn't a best practice to secure a messenger app and it is comparable simple to overcome this access restriction (more easily when fingerprint is used), it should be removed and a independend passphrase should introduced.

Feature Request: Plausible Deniability with Secondary Pin/Password

Using a similar approach to what ledger has with Plausible Deniability:

Plausible deniability
Instead of entering your passphrase each time you need it, you can attach it to a second PIN on your Ledger device. This results in having two valid PIN codes: one will unlock the normal set of accounts, the other the alternative set of accounts.Aug 27, 2019

Give users the ability to enter a different PIN/Password to show a completely different chat interface hiding the original chats. Or have real chats that only show up when you enter that PIN only.

Clicking on message doesn't mark the messages as read

Describe the bug
When a message notification is clicked it doesn't dissappear as it should and the loki icon on the android home screen still has a count for the message. The only way to get the app to realise that the message is read is by clicking mark read in the notification.

Screenshots or logs
Screenshot_20200205-094606
Screenshot_20200205-094634

Smartphone (please complete the following information):

  • Device: Xperia xz2 premium
  • OS: Android 10
  • Version of Session Messenger:

UX 2020-Feb Improvement Suggestions: Session Messenger

Some Telegram features that should be ported over:

  • Ability to change font sizes
  • Add ability to hover over message and hit reply to quote the reply and also alert the user. On mobile swipe to quote.
  • Ability to change background image of chat unique to each chat so you can differentiate from one another. Have a global default setting also.
  • List previous shared links on group chat.
  • Ability to add a custom profile text to each user.
  • Ability to save chat log. Also have option for group admins to disable this feature.
  • Give user ability to message themselves. In telegram it is called "Saved messages" feature.
  • Ability to block users or shadowban
  • Ability to archive chats

Put Version in app about section

Android messenger, not sure if I'm the lastest version easily.
Will make sharing reports and logs easier, as users can be more specific.

As I've installed multiple versions, I would like to make sure I'm running the latest version correctly.

GIF Notification

GIFs notification is annoying when it displays every time you send a GIF. It needs to have a checkbox to not show again with the option to re-enable in settings.

Screenshot_20200208-204513

Create private groups?

I would like to add the option to create private groups, apart from the public, to have private groups, for family, friends, among others.
regards

Re-enable Global Search

Currently we have disabled global searching in the app. We should enable it again but remove the need to ask user for contact permissions as we don't need that.

2 part bug caused - restore from seed not working and messages not sending

Describe the bug
Restore from seed doesn't work.
After clicking restore the public key is not correct for the seed that was entered and when checking the seed in settings a different seed is displayed.
Also when loki-messenger is setup using restore from seed message are not able to be sent.

To reproduce
Click restore from seed, enter seed and click restore.

Smartphone (please complete the following information):

  • Device: Xperia xz2 premium
  • OS: Android 9
  • messenger version 1.0.0 (first available on playstore)

Sometimes camera and microphone icons are not showed

Describe the bug
Sometimes opening a already created chat neither camera nor microphone icons are showed and that make impossible, at least, record and send an audio.

To reproduce
Close the app window normally, open it again and enter in the chat with an already added contact.

A "solution" we found was to write a bit or just an space, delete it and then icons are showed again.

Screenshots or logs

Chat opened after opening Session without the icons:
74604686-2c8f1300-50b8-11ea-9f6b-5ea6e8c6cd34

I write an space to delete it after it:
74604696-42043d00-50b8-11ea-8f8d-ce0fc5e40e06

I delete the space and icons are showed again:
74604702-4d576880-50b8-11ea-86b1-3f5600896e54

Smartphone (please complete the following information):

  • Device: BQ Aquaris U Plus (me), BQ Aquaris U2 (my friend)
  • OS: LineageOS 14.1 from microG (me), Android 8.1.0 from stock (my friend)
  • Version of Loki Messenger: 1.0.1.355 for both.

Additional context
Nothing by now.

Calls and video calls

It would be nice to allow calls and video calls in the messaging application.
This would also apply to the pc version

Typing '@' character crashes the messenger

Describe the bug
In any chat, typing the character '@' causes the messenger app to either crash or become unresponsive

To reproduce
Type the '@' character in any chat.

Smartphone (please complete the following information):

  • Device: Xiaomi Note 7, Motorola Moto G5
  • OS: Android Oreo, Android Pie
  • Version of Loki Messenger or latest commit hash

Additional context
Version 1.5.0 from Google Play.

Clicking "Session is unlocked" gives Signal-like UI

After enabling Screen Lock, a persistent notification (similar to Signal) appears which says "Session is unlocked". On clicking this notification, Signal-like UI appears instead of the Session's UI. Some settings in this UI is also non-clickable.

To reproduce
Steps to reproduce the behavior:

  1. Settings > Privacy > Screen Lock = true
  2. Click on the "Session is unlocked" in the notification
  3. Signal-like UI

Smartphone:

  • Device: Not relevant
  • OS: Android 10
  • Version of Loki Messenger: 1.0.2

Photos not sending

Describe the bug
Photos not sending

To reproduce
Send a photo, not sure why it isn't sending but it might be because of the phone model or android version.

Screenshots or logs
signal-2020-02-09-051335

Smartphone (please complete the following information):

  • Device: Xperia Z5
  • OS: Android 7.1.1
  • Version of Session Messenger: 1.0.1

@ mentions in notifications display the Session ID instead of username

Describe the bug
@ mentions in notifications display the Session ID instead of username.

To reproduce
Get a notification with a @ mention in it.

Screenshots or logs
Screenshot_20200218-030434
Screenshot_20200218-030453

Smartphone (please complete the following information):

  • Device: Xperia xz2 premium
  • OS: Android 10
  • Version of Session: 1.0.2

Screen Stuck Device Pairing Android with OSX

Describe the bug

Android Screen stucks withing pairing.

To reproduce
I want to report a bug that is happening on my Android phone.

I tried to pair the device as follows:

Opened the Session messenger app on my Android phone
Clicked on "Link to an existing account."
Opened the Session Desktop App
Clicked on Devices "Link New Device"
Scanned the bar code with my Android phone
Clicked on Filter receiving requests
Allowed pairing the device
Done

The device is paired on my Macbook, as you can see in the screenshot.

However, the screen on my Android device is still stuck, as you can see in the attached image.

Screenshots or logs

Android Stuck
Device Paired Desktop works

Smartphone (please complete the following information):

  • Device: Motorola G5S Plus (XT1805)
  • OS: Android 8.1.0
  • Version of Loki Messenger 1.0.1

Additional context
Add any other context about the problem here.

Don't send an empty message body in background messages.

Currently when we want to send background messages to other devices (for friend requests and other features), we send a message where the body is set to "". Doing this makes it so every other client (including android) has to put a check in render to not display this empty message.

We should remove this and also send a LokiAddressMessage with every background message with HOST_UNREACHABLE.

message LokiAddressMessage {
  enum Type {
    HOST_REACHABLE = 0;
    HOST_UNREACHABLE = 1;
  }
  optional string p2pAddress    = 1;
  optional uint32 p2pPort       = 2;
  optional Type   type          = 3;
}

Restore secure session open a new unusable chat

Describe the bug
Restore secure session open a new unusable chat in the other recipient of a private conversation where that person can send messages but where the new ones from me are being sent to the old chat. The new chat cannot be deleted to.

To reproduce
I tried to restore the secure session and test again replies without a successful result but my friend and I saw a new issue.

I was the person who restore the secure session and a new chat appeared in my friend's client empty showing that the session was restored.

The problem is that, knowing there are two chats now in the mobile, only the old one can be used because from the new one, that person can send messages but every message sent by me is received in the old chat.

This new chat cannot be deleted too.

Screenshots or logs

Friend's session showing the two chats:
Wire 2020-02-15 at 10_10 AM

My conversation with that person sending messages in response to the messages of the new created chat:
Wire 2020-02-15 at 10_10 AM

How the new created chat appears for that person even when I was sending new messages:
Wire 2020-02-15 at 10_10 AM_1

There is a faulty picture of the new messages from myself being showed in the old chat in my friend's Session.

Smartphone (please complete the following information):

  • Device: BQ Aquaris U Plus (me), BQ Aquaris U2 (my friend)
  • OS: LineageOS 14.1 from microG (me), Android 8.1.0 from stock (my friend)
  • Version of Loki Messenger: 1.0.1.355 for both.

Additional context
This happened after what happened in #97.

Session notifications are not dissapearing after open

Describe the bug
“Session notifications are not dissapearing after open. Can you report the notifications bug to the team? My friends are experiencing it too”

Reporting for use on discord in messenger help

To reproduce
Steps to reproduce the behavior:

Screenshots or logs
If applicable, add screenshots or logs to help explain your problem.

Smartphone (please complete the following information):

  • Device: [e.g. Samsung Galaxy S8]
  • OS: [e.g. Android Pie]
  • Version of Loki Messenger or latest commit hash

Android 8 and 9. Xiaomi and OnePlus phones

Additional context
Add any other context about the problem here.

Message highlight function delay

Describe the bug
When holding down on a message to highlight it green the phone vibrates to let you know the message has been selected but it does not highlight the message green until you scroll up or down. Message should highlight straight away instead of after scrolling.

To reproduce
Hold down on a message until phone vibrates. Message will not highlight until srolling.

Smartphone (please complete the following information):

  • Device: Xperia xz2 premium
  • OS: Android 10
  • Version of Session: 1.0.2

1.0.0-alpha.3 release is not an apk


Bug description

The alpha 3 release is not an apk file

Steps to reproduce

Try to download alpha 3 release

Actual result:
You can't directly install an app bundle file

Expected result:
That the release would be an apk I could download and install on my phone

Screenshots

Device info

Device: Pixel 3a XL

Insecure SMS

Describe the bug
Useless button left over from Signal.

To reproduce
Open a person to person chat, type anything, hold down on the send button. It will display 2 options to send, one being SMS.

Screenshots or logs
Screenshot_20191215-011843

Smartphone (please complete the following information):

  • Device: Xperia xz2 premium
  • OS: Android 9
  • Version 1.5.2 of Loki Messenger

Replies do not find the original message

Describe the bug
All replies seems to not find the original message in one of the recipients in a private conversation

To reproduce
I installed Session 1.0.1 on Desktop yesterday, created a new ID, added mobile phone to it.

Then a friend installed on mobile directly and created an ID, I created (sending invitation) a conversation with my friend from mobile.

Since that person accepted the conver, every reply that person sends to me to one of my messages or it messages, the replies tell that they cannot found the original message even being in the conversation.

If I send replies to that person that replies find the original message in my chat and in the chat of my friend.

Screenshots or logs

A reply from that person in my chat;
74585821-21b18100-4fd9-11ea-8fa8-682ca260c955

A reply made by me in my chat:
74585824-24ac7180-4fd9-11ea-936c-151f8cbe0ee5

A reply made by me in the chat of that person:
Wire 2020-02-15 at 9 52 24

Smartphone (please complete the following information):

  • Device: BQ Aquaris U Plus (me), BQ Aquaris U2 (my friend)
  • OS: LineageOS 14.1 from microG (me), Android 8.1.0 from stock (my friend)
  • Version of Loki Messenger: 1.0.1 Desktop and 1.0.1.355 mobile on both users.

Additional context
UPDATED: linked device

Can't add contact

Describe the bug
When on a bad connection, if you add a contact the request keeps on loading even when on a good connection (original requester sees pending request). Even if you later try to add yourself from the other party's phone, you don't get a request on your phone and you can't do anything else.

To reproduce
Have a very bad (mountain) connection and add somebody without the request going through.

Smartphone (please complete the following information):

  • Device: oneplus 6, huawei p30 lite
  • OS: android
  • 9.1.0.

Missing public chat messages.

Describe the bug
Missing public chat messages.
Only receiving a few messages each day, original message not found displayed in replies. Other users have confirmed that they are receiving messages that I'm not.

To reproduce
Not sure.

Screenshots or logs
Screenshot_20191125-060632

Smartphone (please complete the following information):

  • Device: Xperia xz2 premium
  • OS: Android 9
  • Version of Loki Messenger: 1.5.0

Additional context
Not sure why I'm not receiving so many messages from the public chat but please ask any questions that may help.

Video messages

When you press on the microphone once you switch between "video message" mode and "Audio" mode.

To be able to record a video message to send to your contact, it would simply be great.

This would also apply to the pc version

Got a crash when there is a Group Update message

Describe the bug
I created a private group chat on iOS with a member on Android. It worked well for the creation and receiving messages from this group. But when I tried to open this group conversation, the app got a crash.

To reproduce

  1. Create a private group chat from iOS;
  2. Tap to open the group conversation;
  3. Then the app crashes.

Screenshots or logs
image
image

Smartphone (please complete the following information):

  • Device: Android Emulator
  • OS: Android Q
  • The private group chat branch

Additional context
The crash might be related to the recipient of a group update message. When the app receives a group message, there is a different way to set the recipient according to if the message is a group update message. See PushDecryptJob.java
image

Your app for fdroid

Hello,

have you thought about publishing your App on fdroid.org? It is a platform of purely open source apps which is operated like a Linux repository. It's much loved by the comunity and well supported.

GIF Notification

GIFs notification is annoying when it displays every time you send GIFs. It needs to have a checkbox to not show again with the option to re-enable in settings.

Screenshot_20200208-204513

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.