session-android/README.md

84 lines
3.3 KiB
Markdown
Raw Permalink Normal View History

2024-11-05 22:28:26 +00:00
# Repository Deprecated
## This repository is now deprecated. However, Session Android is still actively developed [here](https://github.com/session-foundation/session-android). This is in line with announcements from [Session](https://getsession.org/blog/introducing-the-session-technology-foundation) and the [OPTF](https://optf.ngo/blog/the-optf-and-session), indicating that the OPTF has handed over the stewardship of the Session Project to the [Session Technology Foundation](https://session.foundation), a Swiss-based foundation dedicated to advancing digital rights and innovation.
Merge dev (#1468) * Remove unused sizeResId * Fix caching * Prefix message with name in HomeActivity * Hide sender prefix for note to self * Hide sender prefix for control messages * Remove problematic getLastMessage() * Refactor snippet formatting * Remove unused RecoveryPhraseRestoreActivity * Fix unresolved theme attributes exception * Fix dialog button style * Investigation in progress * Working fix push before cleanup * Fixes #1346 * Removed unused logging imports * Put back some whitespace * Minor cleanup * Fix NPE on null display name * fix: disappearing viewmodel tests (#1432) * SES-1354 - Video call self viewer not mirrored (#1397) * Fixes #874 * Removed accidentally left in line * Fixed issue - push before cleanup * Cleaned up * Removed cruft --------- Co-authored-by: = <=> Co-authored-by: AL-Session <160798022+AL-Session@users.noreply.github.com> * SES-1145 - New messages are hidden under keyboard - MK3 (#1415) * WIP * Working - push before cleanup * Fixes #1316 * Cleanup * PR review adjustments * Fixed scrolling when receiving an image based message while keyboard is up * Prevent auto-scroll to last seen item pos in conversation view if <= 3 * Put back <=3 check to scroll --------- Co-authored-by: = <=> Co-authored-by: AL-Session <160798022+AL-Session@users.noreply.github.com> * Fix missing parenthesis * SES-789 - Scroll to bottom of long new message(s) (#1426) * WIP * Working - push before cleanup * Fixes #1316 * Cleanup * PR review adjustments * Fixed scrolling when receiving an image based message while keyboard is up * Prevent auto-scroll to last seen item pos in conversation view if <= 3 * Put back <=3 check to scroll * Forced scrolling to bottom of long messages (both sent and received) when already at the bottom of the RecyclerView * Fixes #1364 --------- Co-authored-by: = <=> Co-authored-by: AL-Session <160798022+AL-Session@users.noreply.github.com> * SES-1352 - User and group names allowing multi-line strings (#1395) * Fix WIP * Resolved issue - pushing before cleanup & PR tomorrow morning * Enforced single line for new closed group names * Fixes #1394 * Final cleanup prior to PR * Added code to restore a previous contact nickname if an empty one is given * Added initial limits to nicknames and group names, both creation and display * Minor adjustments * Adjusted max nickname and group name to 35 chars as per Kee's instructions * Fixed closed group edit text able to get too wide and cut off buttons --------- Co-authored-by: = <=> Co-authored-by: AL-Session <160798022+AL-Session@users.noreply.github.com> Co-authored-by: Al Lansley <al@oxen.io> * SES-212 - Always show delivery status of last sent message - FINAL! (#1418) * Fixes #1408 * Addressed PR feedback * Cleanup * PR adjustments * Further PR adjustments * Updated libsession-util * Added fix for crash when no messages * Ignoring dirty submodules so they don't show up in git * Re-fixed display of delivery status on last sent message (got broken by disappearing messages) * Removed ignore dirty modules line in .gitmodules as it all seems to be playing nice now --------- Co-authored-by: AL-Session <160798022+AL-Session@users.noreply.github.com> Co-authored-by: Al Lansley <al@oxen.io> * fix: use a set for the from/to serialized lists (#1370) * Fixes #1347 (#1396) Co-authored-by: AL-Session <160798022+AL-Session@users.noreply.github.com> Co-authored-by: Al Lansley <al@oxen.io> * SES-1156 - Ban and delete functionality fix (#1428) * WIP * Investigation in progress * End of day push * WIP * Fixes #1416 * Cleanup * Added code to remove zombie messages caught in limbo during a ban & delete - still chock full o' debug while finding root cause * Root cause debug WIP * Push prior to cleanup * Cleaned up for PR * fix: mms delete, remove unnecessary values from sms * Addressed PR feedback * fix: fix unit tests * Added '.run' folder with test setup * Update README.md Test commit for CI * Re-added accidentally removed closing brace --------- Co-authored-by: alansley <aclansley@gmail.com> Co-authored-by: Al Lansley <alansley@users.noreply.github.com> Co-authored-by: 0x330a <92654767+0x330a@users.noreply.github.com> * SES-1356 - List of recently used reaction emojis is not accurate (#1400) * WIP * Further WIP * Push prior to cleanup * Fixes #1015 * Added limiting to the count of recently used emoji that we store * Put back adjusted reaction pill layout to standard * Adjusted recently used reaction emojis already in list to go to start of list --------- Co-authored-by: = <=> * SES-697 - Add loading state when exporting logs (#1402) * WIP * Fixes #1401 * Cleanup from PR view * Final cleanup * Removed commented line of code & re-ordered comment * Addressed PR feedback * Re-allowed loading of avatars to throw exceptions rather than return null on failure --------- Co-authored-by: = <=> * SES-1251 - App crash on non alphanumeric first char search (#1393) * Investigation in progress * Working fix push before cleanup * Fixes #1346 * Removed unused logging imports * Put back some whitespace * Minor cleanup * Push before cleanup * Fixes #1346 - properly this time! * SES1567 - Community message delivery status fix (#1442) * Initial investigation * WIP * Continued work to track down cause of delivery status issue * Fixes #1438 * Cleanup for PR * Further cleanup * Fixed merge conflict * Addressed PR feedback --------- Co-authored-by: alansley <aclansley@gmail.com> * Tiny adjustment to center user name in Settings activity (#1446) * Addressed PR feedback * Cleanup * Initial fix implemented * Fixes #1448 * Addressed PR feedback * SES1688 - Deleting last message in conversation, group, or community leaves the RecyclerView in a broken state (#1449) * Initial fix implemented * Fixes #1448 * Addressed PR feedback * Handle case where there are no messages * build: update build number * Fix spacing when title is absent * Hide reply button in MessageDetails for group invitations * Remove reply from context menu for open group invitations * Ignore swipe reply to open group invitation * Fix multiple quote previews * Fix message menu icons not visible in light theme * Hide reply app bar menu item for open group invite * SES-1727 Mentions text is the wrong colour (#1454) * Fixes #1453 * Cleanup * Code review adjustments * Adjusted mentions to use the accent colour as their background colour when using light themes --------- Co-authored-by: alansley <aclansley@gmail.com> * Disable swipe to reply on open group invites * Fix multiple link previews * SES1718 - Message Sending Status (#1462) * Investigation in progress * Initial push for PR * Fixes #1461 * Removed leftover debug comments * Added minor optimisation to showMessageStatus method (bail early if the message isn't one we care about displaying details of to the user) * Minor cleanup * Tiny cleanup * Addressed PR feedback * Removed forgotten debug log line & forced delivery status elements to be removed on non-visible messages just in case * Minor refactor to simplify 'VisibleMessageView.showStatusMessage' --------- Co-authored-by: alansley <aclansley@gmail.com> * Fix margins * WIP * Commit before converting SmsDatabase from Java to Kotlin * Remove old expiration config strings from UpdateMessageBuilder * Fix group expiration update config messages * Fixed conversation view closing + hopefully wrong status text displayed + deletion of contact on removal of last message in 1-on-1 convo * Cleanup for PR review * Implemented PR feedback * Don't start expiration for group expiration update messages * Fix expiry update message for groups * Correctly don't start disappear timer on group timer updates * SES1813 - Fix regression test failures (#1473) * Initial fix for regression test failure 1.1 * Added permissions fix for sharing documents which should allow for thumbnail generation * Minor touch-up prior to merge into dev * Fixes #1813 * Fixes #1472 - please ignore previous fixes 1813 statement, I'd used the Jira ticket number rather than creating a GitHub issue and using that --------- Co-authored-by: alansley <aclansley@gmail.com> --------- Co-authored-by: alansley <aclansley@gmail.com> Co-authored-by: 0x330a <92654767+0x330a@users.noreply.github.com> Co-authored-by: Al Lansley <alansley@users.noreply.github.com> Co-authored-by: AL-Session <160798022+AL-Session@users.noreply.github.com> Co-authored-by: Al Lansley <al@oxen.io>
2024-05-01 02:59:33 +00:00
# Session Android
2011-12-20 18:20:44 +00:00
2020-02-17 05:57:03 +00:00
[Download on the Google Play Store](https://getsession.org/android)
2013-12-16 17:58:56 +00:00
Add the [F-Droid repo](https://fdroid.getsession.org/)
2023-02-14 03:05:28 +00:00
[Download the APK from here](https://github.com/oxen-io/session-android/releases/latest)
2013-12-16 17:58:56 +00:00
2020-02-13 03:32:43 +00:00
## Summary
2011-12-20 18:20:44 +00:00
Session integrates directly with [Oxen Service Nodes](https://docs.oxen.io/about-the-oxen-blockchain/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](https://getsession.org/whitepaper).
2011-12-20 18:20:44 +00:00
2023-06-07 01:18:26 +00:00
<img src="https://i.imgur.com/wcdAGBh.png" width="320" />
2011-12-20 18:20:44 +00:00
2020-06-03 00:33:38 +00:00
## Want to contribute? Found a bug or have a feature request?
2011-12-20 18:20:44 +00:00
Please search for any [existing issues](https://github.com/oxen-io/session-android/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.
2020-06-03 00:33:38 +00:00
## Build instructions
2020-02-13 03:32:43 +00:00
Build instructions can be found in [BUILDING.md](BUILDING.md).
2011-12-20 18:20:44 +00:00
2021-05-24 03:06:08 +00:00
## Translations
Want to help us translate Session into your language? You can do so at https://crowdin.com/project/session-android!
2021-05-24 03:04:43 +00:00
## Verifying signatures
2021-05-24 00:11:01 +00:00
2021-05-24 03:04:43 +00:00
**Step 1:**
2021-05-24 00:11:01 +00:00
```
wget https://raw.githubusercontent.com/oxen-io/oxen-core/master/utils/gpg_keys/KeeJef.asc
gpg --import KeeJef.asc
```
2021-05-24 03:04:43 +00:00
**Step 2:**
Get the signed hash for this release. `SESSION_VERSION` needs to be updated for the release you want to verify.
2021-05-24 00:11:01 +00:00
```
export SESSION_VERSION=1.10.4
wget https://github.com/oxen-io/session-android/releases/download/$SESSION_VERSION/signatures.asc
```
2021-05-24 03:04:43 +00:00
**Step 3:**
Verify the signature of the hashes of the files.
2021-05-24 00:11:01 +00:00
```
gpg --verify signatures.asc 2>&1 |grep "Good signature from"
```
2021-05-24 03:06:08 +00:00
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.
2021-05-24 00:11:01 +00:00
2021-05-24 03:04:43 +00:00
**Step 4:**
2021-05-24 03:06:08 +00:00
Make sure the two commands below returns the same hash. If they do, files are valid.
2021-05-24 00:11:01 +00:00
```
sha256sum session-$SESSION_VERSION-universal.apk
grep universal.apk signatures.asc
```
2014-04-25 22:52:03 +00:00
## License
2011-12-20 18:20:44 +00:00
Copyright 2011 Whisper Systems
2014-04-25 22:52:03 +00:00
Copyright 2013-2017 Open Whisper Systems
2011-12-20 18:20:44 +00:00
2021-08-17 02:01:46 +00:00
Copyright 2019-2021 The Oxen Project
2020-02-13 03:32:43 +00:00
Licensed under the GPLv3: http://www.gnu.org/licenses/gpl-3.0.html
2021-08-04 06:16:07 +00:00
2021-08-17 02:01:46 +00:00
## Socials
2021-08-04 06:16:07 +00:00
<a href="https://twitter.com/session_app">
<img align="left" width="26px" src="https://www.vectorlogo.zone/logos/twitter/twitter-official.svg" />
</a>
<a href="mailto:support@getsession.org">
<img align="left" width="26px" src="https://www.vectorlogo.zone/logos/gmail/gmail-icon.svg" />
</a>