Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Prepare for release 1.21.0 #868

Merged
merged 154 commits into from
Mar 10, 2025
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
Show all changes
154 commits
Select commit Hold shift + click to select a range
b824277
[Automated] Update translations from Crowdin
stfsession Nov 25, 2024
50b3bd6
Merge pull request #810 from session-foundation/release/1.20.7
SessionHero01 Nov 26, 2024
69a9567
Merge pull request #811 from session-foundation/feature/update-crowdi…
SessionHero01 Nov 26, 2024
1ed2268
[Automated] Update translations from Crowdin
Bilb Nov 26, 2024
d59a9e8
Merge pull request #812 from session-foundation/feature/update-crowdi…
SessionHero01 Nov 27, 2024
819b6e1
New group implementation (#4)
SessionHero01 Nov 27, 2024
bd2cbeb
Use consolidated member state and add pending removal support (#813)
SessionHero01 Nov 28, 2024
07bb5d7
Infinite group sync issue (#814)
SessionHero01 Nov 28, 2024
18efb1b
Add missing implementation to delete member's message on swarm (#815)
SessionHero01 Nov 28, 2024
41f57ae
Fix/ses 2919 delete group (#816)
ThomasSession Nov 29, 2024
b961ec4
Fix unit tests (#817)
SessionHero01 Nov 29, 2024
00b332a
Handle config migration (#818)
SessionHero01 Nov 29, 2024
3cc2757
Text size changes from discord + consistency fixes (#821)
ThomasSession Dec 1, 2024
0fbc89e
SES-3001 - Note to self vs 1on1 delete (#823)
ThomasSession Dec 2, 2024
9d3764d
Should not block wait on promises (#824)
SessionHero01 Dec 2, 2024
1de1a80
Bulk group message deletion (#826)
SessionHero01 Dec 3, 2024
a0a98a4
A thread created locally should not set "date" to current time (#828)
SessionHero01 Dec 3, 2024
eaa9cc9
Fix you not shown (#830)
SessionHero01 Dec 3, 2024
a21d283
Added missing joined_at for groups (#829)
SessionHero01 Dec 3, 2024
f977caa
Fix member not having access to old messages (#831)
SessionHero01 Dec 4, 2024
9a637ec
Make sure attachment messages are marked as deleted instead. And cont…
SessionHero01 Dec 4, 2024
de01ee1
Add lucide license (#833)
SessionHero01 Dec 9, 2024
27bef85
Fix error joining communities (#836)
SessionHero01 Dec 9, 2024
eee3d5e
[SES-3050] - Kicked group message state (#837)
SessionHero01 Dec 9, 2024
ef63bb7
Only delete group invite once approved (#838)
SessionHero01 Dec 10, 2024
e4dbca1
Do not delete link previews or audio message while deleting attachmen…
SessionHero01 Dec 11, 2024
ac4124d
[SES-2968] [SES-2929] - Fix up misc kicked and re-invited message syn…
SessionHero01 Dec 12, 2024
ff12dec
Introducing thread status for groups (#844)
SessionHero01 Dec 12, 2024
a091a33
Also delete group invite from swarm when rejecting invitation (#843)
SessionHero01 Dec 12, 2024
510f186
Clear thread before accepting/rejecting group invitation (#849)
SessionHero01 Dec 13, 2024
e761ff8
Only send group messages after keys obtained (#848)
SessionHero01 Dec 13, 2024
5ce2d03
[SES-2966] - Delete the right attachments (#850)
SessionHero01 Dec 13, 2024
2fed040
[SES-3093] - Fix 1970 timestamp issue (#847)
SessionHero01 Dec 13, 2024
d1db842
Merge remote-tracking branch 'origin/dev' into release/1.20.8
SessionHero01 Dec 16, 2024
cb80fb2
Also delete group invitation whenever an invitation is blocked (#851)
SessionHero01 Dec 16, 2024
725abb4
Fixed compilation issues
SessionHero01 Dec 16, 2024
71b30d8
Merge pull request #841 from session-foundation/release/1.20.8
SessionHero01 Dec 16, 2024
b700be6
SES-2916 - Remove group config when blocked (#852)
SessionHero01 Dec 17, 2024
ac93336
Temporary measure for CI (#853)
SessionHero01 Dec 17, 2024
58fc851
SES-3111 - Improve overall networking bottleneck (#855)
SessionHero01 Dec 18, 2024
26b58e3
[Automated] Update translations from Crowdin (#856)
stfsession Dec 18, 2024
7277114
Use mark_kicked when kicked (#857)
SessionHero01 Dec 18, 2024
c777f06
Do not reuse placeholder drawable (#858)
SessionHero01 Dec 18, 2024
0876f87
[Automated] Update translations from Crowdin (#859)
stfsession Dec 18, 2024
8cc8533
SES-3053 Send only the first 32 bytes of admin key as promotion messa…
SessionHero01 Dec 19, 2024
d001f8f
Merge branch 'groups-rebuild' into release/1.21.0
SessionHero01 Jan 8, 2025
b1167d0
Updated group min banner background color (#872)
SessionHero01 Jan 15, 2025
026f6ef
Fix OpenGroup blocking default dispatcher (#873)
SessionHero01 Jan 15, 2025
d869c76
Delete a group directly if it's already destroyed (#876)
SessionHero01 Jan 15, 2025
6b7afb8
Warning as a dynamic color (#866) (#877)
SessionHero01 Jan 15, 2025
46653d9
Added progress indicator for group editing (#875)
SessionHero01 Jan 15, 2025
c04e455
Integrate the group member status change (#874)
SessionHero01 Jan 15, 2025
388a7a2
Clear group messages whenever it's destroyed (#882)
SessionHero01 Jan 17, 2025
9ba8e11
Add a group scope to limit group work concurrency (#881)
SessionHero01 Jan 17, 2025
03b5b40
[SES-3153] - Fix crash when admin deletes our attachment (#883)
SessionHero01 Jan 17, 2025
eb2f92b
Fix unable to delete mms message (#884)
SessionHero01 Jan 20, 2025
681ac32
Reset last hash on promotion (#885)
SessionHero01 Jan 20, 2025
54f381e
Fix poller unable to start when approving group invite (#888)
SessionHero01 Jan 20, 2025
0663876
[SES-3119] - Unread count not cleared (#887)
SessionHero01 Jan 20, 2025
db4e384
[SES-3183] - Delete existing expiring settings message when receiving…
SessionHero01 Jan 21, 2025
e214868
Fix unable to receive "invite-as-admin" (#892)
SessionHero01 Jan 22, 2025
1b411ec
Update sorting order (#893)
SessionHero01 Jan 23, 2025
139dd2b
[SES-3183] - Do not accept 1-to-1 disappearing messages in a group (#…
SessionHero01 Jan 27, 2025
d1ab9cc
[SES-3222] - Add "you" in the list of mention (#896)
SessionHero01 Jan 28, 2025
7b1a25d
[SES-2960] - Control messages for leaving groups (#898)
SessionHero01 Jan 30, 2025
ab2bc2f
Show "xxx is invited" upon group creation (#899)
SessionHero01 Jan 30, 2025
c9c2ccb
[SES-2930] - Show the correct toast message when invitation fails (#900)
SessionHero01 Jan 30, 2025
bb7d867
Incorrect use of channel (#902)
SessionHero01 Jan 30, 2025
c4eee78
Fix incorrect version of "you were removed" used (#903)
SessionHero01 Jan 30, 2025
ac6bb54
[Automated] Update translations from Crowdin (#862)
stfsession Jan 30, 2025
0dc8aa1
Fix control message issues on leaving group (#904)
SessionHero01 Jan 31, 2025
e5e00c4
Onion paths as a StateFlow (#901)
SessionHero01 Feb 2, 2025
75ccd3d
Add a global state management for internet connectivity (#907)
SessionHero01 Feb 3, 2025
88e9dff
Fixed crash upon launch (#911)
SessionHero01 Feb 3, 2025
f8a6ad0
[SES-3200] - Offline control message improvement (#912)
SessionHero01 Feb 3, 2025
0956d65
Using member names in the control messages wherever possible (#914)
SessionHero01 Feb 3, 2025
cc8ecc4
[Automated] Update translations from Crowdin (#915)
stfsession Feb 4, 2025
6ad806a
[SES-3251] - Legacy group migration - Part I (#916)
SessionHero01 Feb 5, 2025
fc914f2
Showing the admin crown for legacy groups (#923)
ThomasSession Feb 7, 2025
7187b79
[SES-3251] - Add recreate group UI and show/hide thread/message optio…
SessionHero01 Feb 9, 2025
1215d22
Fix a clock drift when the device is in deep sleep (#926)
SessionHero01 Feb 9, 2025
021674b
Update Signature Verification Instructions and Links (#908)
KeeJef Feb 10, 2025
ca7eecc
[SES-3251] - Add additional deprecation state and bring back legacy g…
SessionHero01 Feb 10, 2025
855c985
[Automated] Update translations from Crowdin (#929)
stfsession Feb 10, 2025
68061e1
Fix incorrect deprecated state first time accessing it (#931)
SessionHero01 Feb 10, 2025
9755d25
Make sure to skip handling legacy group messages post deprecation (#932)
SessionHero01 Feb 11, 2025
b73520c
[SES-3270] - Group invitation tweaks (#933)
SessionHero01 Feb 11, 2025
e190c33
Send control message locally (#937)
SessionHero01 Feb 12, 2025
47843ad
Rekey always to be performed regardless of sharing history or not (#938)
SessionHero01 Feb 12, 2025
2ebe469
Fix group member name not showing (#939)
SessionHero01 Feb 12, 2025
17fcd5e
Bump release version code
SessionHero01 Feb 12, 2025
1b2eb4c
Making sure we get all attachments except voice notes (#940)
ThomasSession Feb 12, 2025
8d8876d
[SES-3300] - More place to hide message/convo actions based on deprec…
SessionHero01 Feb 13, 2025
42a536f
Add the ability to re-create legacy group for unknown members (#944)
SessionHero01 Feb 13, 2025
1cb39c9
QA fixes for Groups V2 (#946)
ThomasSession Feb 13, 2025
87cd979
[SES-3314] - Prevent replay attacks (#945)
SessionHero01 Feb 14, 2025
79858a2
Relying on the flag for voice notes and ignoring empty file names as …
ThomasSession Feb 16, 2025
1be1278
[SES-3319] - No promotion retry in the background (#948)
SessionHero01 Feb 17, 2025
2a7b08f
Fix/ses 3326 unpin legacy groups (#949)
ThomasSession Feb 17, 2025
fb0dc85
Proper names for visible message view
ThomasSession Feb 17, 2025
f3b8dd5
Do not send control message for re-invite/re-promote (#951)
SessionHero01 Feb 17, 2025
f5a76b2
Disable selecting message for post deprecated legacy groups (#950)
SessionHero01 Feb 17, 2025
c35930c
SES-3317 invalid phrase key for dual promotion
ThomasSession Feb 17, 2025
947bae2
SES-3258
ThomasSession Feb 17, 2025
57a3c06
Updated time format for deprecated time (#954)
SessionHero01 Feb 17, 2025
a5ad390
Making sure the unblock banner shows the dialog first (#955)
ThomasSession Feb 17, 2025
657e3e2
Update user config whenever group name changes (#956)
SessionHero01 Feb 18, 2025
b57097f
[SES-3352] - Create group as a rollback-able process (#958)
SessionHero01 Feb 18, 2025
b3623f2
[Automated] Update translations from Crowdin (#960)
stfsession Feb 19, 2025
097dc27
[SES-2970] - Add expired groups handling (#962)
SessionHero01 Feb 19, 2025
b412bf1
SES-3367 - properly allowing for user name edit in groups (#963)
ThomasSession Feb 20, 2025
0831c66
Changes to use load_admin_key (#964)
SessionHero01 Feb 20, 2025
df977ad
Fix compile issue (#965)
SessionHero01 Feb 20, 2025
1106474
Disabled the onion request (and libQuic) code in libSession
mpretty-cyro Feb 21, 2025
ad7792f
Rework group poller lifecycle so that it supports polling once (#967)
SessionHero01 Feb 24, 2025
01b1d26
Subscribe to group config messages (#969)
SessionHero01 Feb 24, 2025
de73cdc
[Automated] Update translations from Crowdin (#966)
stfsession Feb 24, 2025
d455f65
Update to libSession 1.2.0
mpretty-cyro Feb 24, 2025
72a57cd
Merge pull request #968 from mpretty-cyro/feature/libQuic-fixes
mpretty-cyro Feb 24, 2025
2814e35
Fixes crash on unexpected key messages (#972)
SessionHero01 Feb 24, 2025
a1fd6cc
Avatar reupload config update (#971)
ThomasSession Feb 24, 2025
45e1f67
[SES-3395] - Fix group notification issue (#973)
SessionHero01 Feb 24, 2025
d5e1082
Key was changed again in crowdin (#974)
ThomasSession Feb 24, 2025
02da896
Bump version code and legacy group deprecated dates for internal test…
SessionHero01 Feb 24, 2025
4d4a48b
Bump version code to 394
SessionHero01 Feb 25, 2025
0e62a2f
[SES-3115] - Missing "xxx NOT SENT" status text (#975)
SessionHero01 Feb 25, 2025
652bc64
Make sure we don't set our own profile pic from group messages (#981)
SessionHero01 Feb 26, 2025
13c638f
Making sure we don't delete a NTS on restore (#982)
ThomasSession Feb 26, 2025
d7f6975
Remove three dot menu for kicked group (#984)
SessionHero01 Feb 26, 2025
11a0ee9
Fix/groupsv2 fixes (#985)
ThomasSession Feb 27, 2025
737cffc
Make sure group keys are pushed before anything else (#987)
SessionHero01 Feb 27, 2025
119a3e7
Make sure everyone can see resend invite option (#988)
SessionHero01 Feb 27, 2025
b44ea31
[SES-3434] - Fix receiving left groups' notification (#986)
SessionHero01 Feb 27, 2025
32d5bfb
Fix job queue issue resuming message send job (#990)
SessionHero01 Feb 27, 2025
bcabdc4
Fix/groupsv2 fixes (#989)
ThomasSession Feb 27, 2025
bd90383
Disable three dot menu for kicked groups too (#993)
SessionHero01 Feb 27, 2025
b7ab2c5
Group poller tweaks (#995)
SessionHero01 Mar 3, 2025
3a339b1
Added code to output libSession logs
mpretty-cyro Mar 3, 2025
c3c903c
Polling node rotation (#996)
ThomasSession Mar 3, 2025
fbd1975
Removed unnecessary header file
mpretty-cyro Mar 4, 2025
83e9f8e
Merge pull request #997 from mpretty-cyro/feature/libsession-logging
mpretty-cyro Mar 4, 2025
73db78a
Enable libsession login (#999)
SessionHero01 Mar 5, 2025
cc06a4c
Update libsession-util to v1.2.1
SessionHero01 Mar 5, 2025
24ecc84
Bump version code to 395
SessionHero01 Mar 5, 2025
703136e
Merge pull request #1000 from session-foundation/merge-libsession
SessionHero01 Mar 5, 2025
8e1ca75
Fixing logs sharing crashing
ThomasSession Mar 5, 2025
3b9cfd9
Merge pull request #1002 from session-foundation/fix/logs-crashing-em…
ThomasSession Mar 5, 2025
c5912c3
Fix falsely reported internet connectivity
SessionHero01 Mar 6, 2025
84d775c
Merge remote-tracking branch 'origin/release/1.21.0' into release/1.21.0
SessionHero01 Mar 6, 2025
54ec9e5
Renamed
SessionHero01 Mar 6, 2025
37fa8e4
Update to what counts as connected
SessionHero01 Mar 6, 2025
c55840a
Logs
SessionHero01 Mar 6, 2025
19a435b
Merge pull request #1005 from session-foundation/network-connectivity
SessionHero01 Mar 6, 2025
3bdba53
Increase build version and updated deprecation dates (#1008)
SessionHero01 Mar 7, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
Prev Previous commit
Next Next commit
New group implementation (#4)
* Strings work

Squashed commit of the following:

commit 86cab0e
Author: ThomasSession <thomas.r@getsession.org>
Date:   Fri Aug 30 10:17:04 2024 +1000

    Bringing my xml dialog styling from my 'Standardise message deletion' branch

commit 706d1aa
Author: ThomasSession <thomas.r@getsession.org>
Date:   Fri Aug 30 09:49:48 2024 +1000

    fixing up clear data dialog

    Removing unused code

commit f905994
Author: Al Lansley <al@oxen.io>
Date:   Fri Aug 30 09:13:51 2024 +1000

    Replaced 'now' with 12/24 hour time

commit 16b8ad4
Author: alansley <aclansley@gmail.com>
Date:   Thu Aug 29 17:34:03 2024 +1000

    Fix two one-liner issues

commit 4c6c450
Merge: 052f910 beb89d5
Author: ThomasSession <thomas.r@getsession.org>
Date:   Thu Aug 29 17:07:16 2024 +1000

    Merge branch 'strings-squashed' of https://github.com/oxen-io/session-android into strings-squashed

commit 052f910
Author: ThomasSession <thomas.r@getsession.org>
Date:   Thu Aug 29 17:06:53 2024 +1000

    More bold fixing

commit beb89d5
Author: fanchao <git@fanchao.dev>
Date:   Thu Aug 29 17:00:37 2024 +1000

    Fix incorrect group member left message

commit 5773f05
Merge: d35482d 1cec477
Author: ThomasSession <thomas.r@getsession.org>
Date:   Thu Aug 29 15:21:44 2024 +1000

    Merge branch 'strings-squashed' of https://github.com/oxen-io/session-android into strings-squashed

commit d35482d
Author: ThomasSession <thomas.r@getsession.org>
Date:   Thu Aug 29 15:20:13 2024 +1000

    More bold fixes and UI tweaks

commit 78a9ab7
Author: ThomasSession <thomas.r@getsession.org>
Date:   Thu Aug 29 14:03:41 2024 +1000

    Making sure we bold appropriately

commit 1cec477
Author: alansley <aclansley@gmail.com>
Date:   Thu Aug 29 13:33:50 2024 +1000

    Made call to 'getQuantityString' pass the count twice because otherwise it doesn't work correctly

commit 8e80ab0
Author: ThomasSession <thomas.r@getsession.org>
Date:   Thu Aug 29 13:28:54 2024 +1000

    Using the existing implementation

commit cb9554a
Author: alansley <aclansley@gmail.com>
Date:   Thu Aug 29 12:32:30 2024 +1000

    Merge CrowdIn strings circa 2024-08-29

commit dd57da7
Author: alansley <aclansley@gmail.com>
Date:   Thu Aug 29 09:06:22 2024 +1000

    Updated Phrase usage in ConversationAdapter

commit 34b15d7
Author: alansley <aclansley@gmail.com>
Date:   Thu Aug 29 09:03:55 2024 +1000

    Converted TransferControlView into Kotlin and updated Phrase usage

commit a35a7a6
Author: alansley <aclansley@gmail.com>
Date:   Thu Aug 29 08:55:16 2024 +1000

    Converted MessageReceipientNotificationBuilder to Kotlin & updated Phrase usage

commit 6dd93b3
Author: alansley <aclansley@gmail.com>
Date:   Thu Aug 29 08:25:24 2024 +1000

    Update MuteDialog, LinkPreviewDialog, and PathActivity

commit e7dd1c5
Author: alansley <aclansley@gmail.com>
Date:   Thu Aug 29 08:16:09 2024 +1000

    Updated DisappearingMessages.kt and HelpSettingsActivity.kt

commit 5bd55ea
Author: alansley <aclansley@gmail.com>
Date:   Thu Aug 29 08:01:30 2024 +1000

    Converted SwitchPreferenceCompat to Kotlin and fixed the BlockedDialog using the joinCommunity string for some bizarre reason

commit d3fb440
Author: alansley <aclansley@gmail.com>
Date:   Thu Aug 29 07:15:03 2024 +1000

    Removed R.string.gif and replaced with a string constant

commit ace58e3
Author: alansley <aclansley@gmail.com>
Date:   Thu Aug 29 07:11:53 2024 +1000

    getSubbedString correction

commit 2a8f010
Merge: ce8efd7 116bef3
Author: alansley <aclansley@gmail.com>
Date:   Wed Aug 28 16:31:43 2024 +1000

    Merge branch 'compose-open-url-dialog' into strings-squashed

commit ce8efd7
Author: alansley <aclansley@gmail.com>
Date:   Wed Aug 28 16:31:11 2024 +1000

    WIP

commit 114066a
Author: alansley <aclansley@gmail.com>
Date:   Wed Aug 28 15:30:02 2024 +1000

    Push before changing over all the Phrase.from to extension method calls

commit 116bef3
Author: ThomasSession <thomas.r@getsession.org>
Date:   Wed Aug 28 15:25:03 2024 +1000

    For safety

commit 0b1a71a
Author: ThomasSession <thomas.r@getsession.org>
Date:   Wed Aug 28 15:23:02 2024 +1000

    Cleaning other use of old url dialog

commit 20abbeb
Author: ThomasSession <thomas.r@getsession.org>
Date:   Wed Aug 28 15:19:46 2024 +1000

    Forgot !!

commit 25132c6
Author: ThomasSession <thomas.r@getsession.org>
Date:   Wed Aug 28 15:13:58 2024 +1000

    Proper set up for the Open URL dialog

commit 1f68791
Author: alansley <aclansley@gmail.com>
Date:   Wed Aug 28 14:35:05 2024 +1000

    Replaced placeholder text with new string

commit 8d97f31
Author: alansley <aclansley@gmail.com>
Date:   Wed Aug 28 14:31:52 2024 +1000

    Adjusted comment

commit dfebe6f
Author: alansley <aclansley@gmail.com>
Date:   Wed Aug 28 14:25:23 2024 +1000

    Moved block/unblock string selection logic into ViewModel and fixed a comment

commit 736b531
Author: alansley <aclansley@gmail.com>
Date:   Wed Aug 28 14:02:54 2024 +1000

    Changed toast to warning - although condition to trigger should not be possible

commit 413bc0b
Author: alansley <aclansley@gmail.com>
Date:   Wed Aug 28 13:55:04 2024 +1000

    Adjusted EditGroupMembers to match iOS and fixed up save attachment commentary / logic

commit ae7164e
Merge: 5df981b d1c4283
Author: alansley <aclansley@gmail.com>
Date:   Wed Aug 28 09:51:58 2024 +1000

    Merge branch 'dev' into strings-squashed

commit 2aa58f4
Author: alansley <aclansley@gmail.com>
Date:   Wed Aug 28 08:27:03 2024 +1000

    WIP compose openURL dialog

commit 5df981b
Author: alansley <aclansley@gmail.com>
Date:   Tue Aug 27 15:51:38 2024 +1000

    Adjusted NotificationRadioButton that takes string IDs to act as a pass-through

commit 96453f1
Author: alansley <aclansley@gmail.com>
Date:   Tue Aug 27 15:42:33 2024 +1000

    Added some TODO markers for tomorrow

commit a402a1b
Author: alansley <aclansley@gmail.com>
Date:   Tue Aug 27 15:33:55 2024 +1000

    Adjusted Landing page string substitutions to cater for emojis

commit 4809b54
Author: alansley <aclansley@gmail.com>
Date:   Tue Aug 27 15:12:39 2024 +1000

    Removed unused 'isEmpty' utility methods

commit b52048a
Author: alansley <aclansley@gmail.com>
Date:   Tue Aug 27 14:42:57 2024 +1000

    Addressed many aspects of PR feedback + misc. strings issues

commit 9cdbc4b
Author: alansley <aclansley@gmail.com>
Date:   Tue Aug 27 09:50:51 2024 +1000

    Adjusted strings as per Rebecca's 'String Changes' spreadsheet

commit 4d7e4b9
Merge: 3c57605 1393335
Author: alansley <aclansley@gmail.com>
Date:   Tue Aug 27 08:19:53 2024 +1000

    Merge branch 'dev' into strings-squashed

commit 3c57605
Author: alansley <aclansley@gmail.com>
Date:   Mon Aug 26 17:11:45 2024 +1000

    Moved  into libsession for ease of access to control message view creation

commit b908a54
Merge: 404fb80 bfbe4a8
Author: alansley <aclansley@gmail.com>
Date:   Mon Aug 26 11:54:09 2024 +1000

    Merge branch 'dev' into strings-squashed

commit 404fb80
Author: alansley <aclansley@gmail.com>
Date:   Mon Aug 26 11:52:41 2024 +1000

    Performed a PR pass to fix up anything obvious - there's still a few things left TODO

commit 53978f8
Author: Al Lansley <al@oxen.io>
Date:   Fri Aug 23 14:13:11 2024 +1000

    Cleaned up HomeActivityTests.kt

commit 5f82571
Merge: 69b8bd7 8deb21c
Author: Al Lansley <al@oxen.io>
Date:   Fri Aug 23 08:59:21 2024 +1000

    Merge branch 'dev' into strings-squashed

commit 69b8bd7
Author: alansley <aclansley@gmail.com>
Date:   Thu Aug 22 16:20:17 2024 +1000

    Added back app_name string so app names properly, fixed API 28 save issue, made some buttons display as red if they should

commit e3cab9c
Author: alansley <aclansley@gmail.com>
Date:   Thu Aug 22 14:26:48 2024 +1000

    SS-75 Prevented ScrollView vertical scroll bar from fading out

commit b0b8350
Author: alansley <aclansley@gmail.com>
Date:   Thu Aug 22 14:07:49 2024 +1000

    SS-64 Removed all 'Unblocked {name}' toasts as per instructions

commit c3c35de
Merge: efc2ee2 8e10e1a
Author: alansley <aclansley@gmail.com>
Date:   Thu Aug 22 13:43:00 2024 +1000

    Merge branch 'dev' into strings-squashed

commit efc2ee2
Author: alansley <aclansley@gmail.com>
Date:   Thu Aug 22 13:40:59 2024 +1000

    Added some comments about the new CrowdIn strings

commit 7a03fb3
Author: alansley <aclansley@gmail.com>
Date:   Thu Aug 22 13:08:03 2024 +1000

    Initial integration of CrowdIn strings (English only)

commit 9766c3f
Author: alansley <aclansley@gmail.com>
Date:   Thu Aug 22 09:55:14 2024 +1000

    SS-75 Added 'Copied' toast when the user copies a URL in the Open URL dialog

commit 59b4805
Author: alansley <aclansley@gmail.com>
Date:   Thu Aug 22 09:51:01 2024 +1000

    SS-75 Prevent 'Are you sure you want to open this URL?' dialog from being excessively tall when given a very long URL

commit b7f627f
Author: alansley <aclansley@gmail.com>
Date:   Wed Aug 21 14:54:17 2024 +1000

    Made closed group deleting-someone-elses msgs use 'Delete message' or 'Delete Messages' appropriately

commit 69f6818
Author: alansley <aclansley@gmail.com>
Date:   Wed Aug 21 13:53:58 2024 +1000

    Adjusted SS-64 so that all Block / Unblock buttons now use that text and are displayed in red

commit 2192c2c
Merge: 2338bb4 eea54d1
Author: alansley <aclansley@gmail.com>
Date:   Wed Aug 21 13:28:16 2024 +1000

    Merge branch 'dev' into strings-squashed

commit 2338bb4
Author: alansley <aclansley@gmail.com>
Date:   Tue Aug 20 19:11:40 2024 +1000

    Converted DefaultMessageNotifier to Kotlin because it needs adjustment & that Java is nasty

commit 6b29e4d
Author: alansley <aclansley@gmail.com>
Date:   Tue Aug 20 17:53:27 2024 +1000

    Added a note about the plurals for search results

commit f7748a0
Author: alansley <aclansley@gmail.com>
Date:   Tue Aug 20 16:06:24 2024 +1000

    Corrected text on storage permission dialog

commit f6b6256
Author: alansley <aclansley@gmail.com>
Date:   Tue Aug 20 14:44:25 2024 +1000

    Minor cleanup of BlockedContactsActivity

commit e3d4870
Author: alansley <aclansley@gmail.com>
Date:   Tue Aug 20 14:41:14 2024 +1000

    Addressed changes to fix SS-64 / QA-146 - unblocking contacts modal & toast adjustments

commit e812527
Merge: 5e02e1e 9919f71
Author: alansley <aclansley@gmail.com>
Date:   Tue Aug 20 13:27:35 2024 +1000

    Merge branch 'dev' into strings-squashed

commit 5e02e1e
Author: alansley <aclansley@gmail.com>
Date:   Tue Aug 20 09:39:16 2024 +1000

    Added 'NonTranslatableStringConstants' file

commit 816f21b
Author: alansley <aclansley@gmail.com>
Date:   Tue Aug 20 09:30:30 2024 +1000

    Addressed commit feedback & removed desktop string 'attachmentsClickToDownload' as we use 'attachmentsTapToDownload'

commit acc8d47
Author: Al Lansley <al@oxen.io>
Date:   Mon Aug 19 16:22:08 2024 +1000

    SES-1571 Large messages show warning toast

commit 27ca77d
Merge: 27bc90b f379604
Author: Al Lansley <al@oxen.io>
Date:   Mon Aug 19 11:19:27 2024 +1000

    Merge branch 'dev' into strings-squashed

commit 27bc90b
Author: Al Lansley <al@oxen.io>
Date:   Mon Aug 19 08:59:38 2024 +1000

    Cleaned up some comments and content description

commit 558684a
Merge: 90d7064 93a2890
Author: Al Lansley <al@oxen.io>
Date:   Mon Aug 19 08:41:47 2024 +1000

    Merge branch 'dev' into strings-squashed

commit 90d7064
Author: Al Lansley <al@oxen.io>
Date:   Thu Aug 15 12:13:30 2024 +1000

    Fixed issue where new closed groups would display a timestamp instead of the 'groupNoMessages' text

commit 51ef0ec
Author: Al Lansley <al@oxen.io>
Date:   Thu Aug 15 09:45:28 2024 +1000

    Replaced string 'CreateProfileActivity_profile_photo' with the string 'photo' which has the same text ('Photo')

commit eecce08
Merge: 01009cf 5a248da
Author: Al Lansley <al@oxen.io>
Date:   Thu Aug 15 09:38:10 2024 +1000

    Merge branch 'dev' into strings-squashed

commit 01009cf
Author: Al Lansley <al@oxen.io>
Date:   Thu Aug 15 08:37:19 2024 +1000

    Changed allowed emoji reactions per minute from 5 (which I used for testing) to 20 (production)

commit 9441d1e
Author: Al Lansley <al@oxen.io>
Date:   Thu Aug 15 08:34:16 2024 +1000

    Refactored emoji rate limiter to use a timestamp mechanism rather than removing queue items after a delay

commit 6cd6cc3
Author: alansley <aclansley@gmail.com>
Date:   Wed Aug 14 16:48:07 2024 +1000

    Adjusted emoji rate limit to 20 reactions per minute to match acceptance criteria

commit edd154d
Author: alansley <aclansley@gmail.com>
Date:   Wed Aug 14 16:02:16 2024 +1000

    SS-78 / SES-199 Mechanism required to limit emoji reaction rate

commit a8ee5c9
Author: alansley <aclansley@gmail.com>
Date:   Wed Aug 14 14:51:40 2024 +1000

    Replaced hard-coded 'Session' with '{app_name}' in 'callsSessionCall'

commit 621094e
Author: alansley <aclansley@gmail.com>
Date:   Wed Aug 14 13:40:01 2024 +1000

    SS-72 Update save attachment models + add one-time warning that other apps can access saved attachments

commit 0c83606
Author: alansley <aclansley@gmail.com>
Date:   Tue Aug 13 15:50:35 2024 +1000

    SS-75 Open URL modal change

commit 802cf19
Author: Al Lansley <al@oxen.io>
Date:   Mon Aug 12 16:42:15 2024 +1000

    Open or copy URL WIP

commit ea84aa1
Author: Al Lansley <al@oxen.io>
Date:   Mon Aug 12 14:17:04 2024 +1000

    Tied in bandDeleteAll string

commit 93b8e74
Author: Al Lansley <al@oxen.io>
Date:   Mon Aug 12 11:34:03 2024 +1000

    Job done! All Accessibility ID strings mapped and/or dealt with appropriately!

commit fc3b4ad
Author: Al Lansley <al@oxen.io>
Date:   Mon Aug 12 09:49:57 2024 +1000

    Further AccessibilityId mapping & fixed group members counts to display correct details

commit 558d674
Author: alansley <aclansley@gmail.com>
Date:   Fri Aug 9 17:24:44 2024 +1000

    End of day push

commit 73fdb16
Author: alansley <aclansley@gmail.com>
Date:   Fri Aug 9 15:57:06 2024 +1000

    Localised time strings working - even if the unit tests aren't

commit 436175d
Author: alansley <aclansley@gmail.com>
Date:   Fri Aug 9 13:54:09 2024 +1000

    Relative time string WIP

commit f309263
Merge: 45c4118 007e705
Author: alansley <aclansley@gmail.com>
Date:   Fri Aug 9 11:39:13 2024 +1000

    Merge dev

commit 45c4118
Author: Al Lansley <al@oxen.io>
Date:   Thu Aug 8 16:43:02 2024 +1000

    Further AccessibilityId mapping WIP

commit 31bac8e
Author: Al Lansley <al@oxen.io>
Date:   Thu Aug 8 10:53:30 2024 +1000

    Further accessibility ID changes & removed fragment_new_conversation_home.xml

commit 9c2111e
Author: alansley <aclansley@gmail.com>
Date:   Wed Aug 7 13:13:52 2024 +1000

    AccessibilityId WIP

commit 1e9eeff
Author: alansley <aclansley@gmail.com>
Date:   Wed Aug 7 11:06:39 2024 +1000

    AccessibilityId adjustments & removed some unused XML layouts

commit e5fd2c8
Author: alansley <aclansley@gmail.com>
Date:   Wed Aug 7 09:22:14 2024 +1000

    AccessibilityId refactor WIP

commit 399796b
Author: alansley <aclansley@gmail.com>
Date:   Tue Aug 6 15:51:53 2024 +1000

    AccessibilityId WIP - up to AccessibilityId_reveal_recovery_phrase_button

commit a8d72df
Author: alansley <aclansley@gmail.com>
Date:   Tue Aug 6 14:12:10 2024 +1000

    Cleaned up a few comments and fixed some plurals logic

commit be400d8
Author: alansley <aclansley@gmail.com>
Date:   Tue Aug 6 11:32:08 2024 +1000

    Removed commented out merge conflict marker

commit 5cbe289
Merge: 5fe123e d6c5ab2
Author: alansley <aclansley@gmail.com>
Date:   Tue Aug 6 11:30:50 2024 +1000

    Merge dev and cleanup

commit 5fe123e
Author: Al Lansley <al@oxen.io>
Date:   Mon Aug 5 14:37:47 2024 +1000

    Adjusted sending of mms messages to show 'Uploading' rather than 'Sending' as per SES-1721

commit d3f8e92
Merge: 0055293 cd1a064
Author: Al Lansley <al@oxen.io>
Date:   Mon Aug 5 13:30:03 2024 +1000

    Merge branch 'dev' into strings-squashed

commit 0055293
Author: Al Lansley <al@oxen.io>
Date:   Mon Aug 5 13:28:55 2024 +1000

    Removed unused helpReportABugDesktop strings

commit 6c0450b
Author: Al Lansley <al@oxen.io>
Date:   Mon Aug 5 12:59:15 2024 +1000

    Renamed 'quitButton' string to just 'quit'

commit 284c485
Author: Al Lansley <al@oxen.io>
Date:   Mon Aug 5 12:00:35 2024 +1000

    Replaced 'screenSecurity' with 'screenshotNotifications' as the title of the notifications toggle

commit 6948d64
Author: Al Lansley <al@oxen.io>
Date:   Mon Aug 5 10:45:05 2024 +1000

    WIP

commit bc94cb7
Author: alansley <aclansley@gmail.com>
Date:   Fri Aug 2 16:21:16 2024 +1000

    End of day push

commit 1a2df37
Merge: c7fdb6a a56e1d0
Author: alansley <aclansley@gmail.com>
Date:   Fri Aug 2 15:20:19 2024 +1000

    Merged dev

commit c7fdb6a
Author: alansley <aclansley@gmail.com>
Date:   Fri Aug 2 14:21:11 2024 +1000

    Replaced string 'dialog_disappearing_messages_follow_setting_confirm' with 'confirm'

commit 2992d59
Author: alansley <aclansley@gmail.com>
Date:   Fri Aug 2 14:01:00 2024 +1000

    Removed string 'attachment_type_selector__gallery' and associated / un-used 'attachment_type_selector.xml' layout

commit 4218663
Author: alansley <aclansley@gmail.com>
Date:   Fri Aug 2 13:39:54 2024 +1000

    Removed 'message_details_header__disappears' and the unused 'activity_message_detail.xml' which was the only reference to it

commit ba2d027
Author: alansley <aclansley@gmail.com>
Date:   Fri Aug 2 12:15:42 2024 +1000

    Implemented task SS-79 to only provide a save attachment menu option when the attachment download is complete

commit 20662c8
Merge: 608c984 fbbef48
Author: alansley <aclansley@gmail.com>
Date:   Wed Jul 31 13:08:04 2024 +1000

    Merge branch 'dev' into strings-squashed

commit 608c984
Author: alansley <aclansley@gmail.com>
Date:   Tue Jul 30 16:58:08 2024 +1000

    Actually remove the 4 specific time period mute strings

commit 006a4e8
Author: alansley <aclansley@gmail.com>
Date:   Tue Jul 30 16:43:54 2024 +1000

    Cleaned up MuteDialog.kt

commit d3177f9
Author: alansley <aclansley@gmail.com>
Date:   Tue Jul 30 16:27:06 2024 +1000

    Added a 1 second kludge to the mute for subtitle so that it initially shows 1 hour not 59 minutes etc.

commit d568a86
Author: alansley <aclansley@gmail.com>
Date:   Tue Jul 30 16:20:20 2024 +1000

    Removed 'Muted for' strings and fixed it up to use 'Mute for {large_time_unit}' across the board

commit 84f6f19
Author: alansley <aclansley@gmail.com>
Date:   Tue Jul 30 11:03:46 2024 +1000

    Changed some hard-coded 'Session' text in strings and renamed another

commit bc90d18
Author: alansley <aclansley@gmail.com>
Date:   Tue Jul 30 10:27:55 2024 +1000

    Cleaned up a leftover plural & changed 'app_name' to use 'sessionMessenger' string

commit 79cd878
Merge: 3b62e47 dec02ce
Author: alansley <aclansley@gmail.com>
Date:   Tue Jul 30 08:16:02 2024 +1000

    Merge branch 'dev' into strings-squashed

commit 3b62e47
Author: Al Lansley <al@oxen.io>
Date:   Mon Jul 29 16:33:21 2024 +1000

    Down to just the final few straggler strings

commit 13e81f0
Author: Al Lansley <al@oxen.io>
Date:   Mon Jul 29 13:13:54 2024 +1000

    WIP

commit 2d9961d
Author: Al Lansley <al@oxen.io>
Date:   Mon Jul 29 08:58:01 2024 +1000

    Further cleanup of stragglers

commit 08b8a84
Author: Al Lansley <al@oxen.io>
Date:   Mon Jul 29 08:29:12 2024 +1000

    Cleaning up straggler strings

commit d0e87c6
Author: alansley <aclansley@gmail.com>
Date:   Fri Jul 26 17:07:46 2024 +1000

    WIP

commit 4bc9d09
Author: alansley <aclansley@gmail.com>
Date:   Fri Jul 26 16:30:28 2024 +1000

    WIP

commit 3cee4bc
Merge: aa1db13 a495ec2
Author: alansley <aclansley@gmail.com>
Date:   Fri Jul 26 13:57:09 2024 +1000

    Removed some legacy strings & substituted others

commit aa1db13
Author: fanchao <git@fanchao.dev>
Date:   Fri Jul 26 11:34:05 2024 +1000

    Initial squash merge for strings

* Fix up compilation issues

* Remove conversation settings and added back group operation

* Edit menu for groups

* Delete conversation on home screen

* Extract login into GroupManagerV2

* Improvement

* Fixed compilation errors

* Set name

* Handle message deletion

* Group poller improvement

* Config revamp WIP

* Put back invite contacts job

* Job queue improvement

* Config revamp

* Getting rid of .get call on promise

* Various issues

* Clock management and kicked

* Expiring message handling for groups

* Compilation errors after merge

* Send message improvement

* Group keys and message response improvement

* Updated libsession-util

* Incorrect timestamp

* Config uploader

* Tidy up storage

* Move config sync task into dedicated class

* Tidy up dependency injection

* Delete group thread upon config changes

* More DI fixes

* Fix up more DI

* Fixed crashes leaving un-polled groups

* Incorrect imports

* Fixed unit tests

* Close group poller issue

* Config lock contention and loading timeout issue

* Config update details and config syncing issue

* Fix compilation issues

* Compilation errors

* Use config's contact directly

* Update copy

* Improvement

* Polling improvement for group

* Tidy up

* Leaving message sending optimisation

* Kick handling

* Remove unused files

* Fixed merge conflicts

* Fixed compilation issue

* Fixed Group control message not showing

* Added bottom options dialog

* UI adjustment

* Fixed height for group name editing

* Removed a few member options under debug flag

* clearAll + same name checking before updating

* Updated icons

* Renamed group terminology

* More group renaming

* Fixed huawei push notification

* Alert text color

* Group message deletion

* Fixed up legacy group banner

* Fixed up legacy group banner

* Handle message deletion

* Renamed getCloseGroup -> getGroup

* Check if a groupv2 conversation is admin

* Fixed message request UI still visible after tapping on accept

* Clear messages if user is kicked

* Moved session id input box to qa tag

* Updated group naming

* Conversation icon size

* Disappear message for legacy groups too

* Feedback

* Search in groupsv2

* SnodeAPI scope

* Feedback

* Feedback

* Animation for group name edit

* Expiration message feedback

* Leave icon update

* Community write access change

* Refactoring home adapter / leaving group will have a dedicated state now

* Fixed create group searching for contact returned incorrect result

* Add "is_group_update" virtual column to avoid showing json body in search result

* Update conversation name when restoring groups

* Radio updates

* Reusing ui logic for member items

* Sharing same profile picture logic with legacy group

* Simplify recipient provider logic

* GlobalScope -> scope

* Adding admin crown badge in avatars

Cleaned up unused classes

* Updated crown color + new color attribute

* Hook up admin status for avatar

* Synchronise getOrCreateThreadId

* Banner URL

* Handle group destroyed flag sync

* Remove sensitive information from log

* Added qaTag for a few group screens

* SES-2907 min version banner

* SES-2904 Fix appearance of min version warning banner

* SES-2910 Block button text

* SES-2912 Admin pending string

* SES-2922 Crashes on legacy select contact screen

* SES-2913 Incorrect modal description

* SES-2906 & SES-2909 - Dialog strings update

* SES-2921 Share activity fixes

* SES-2937 invite text update

* SES-2935 - edit group name fixes + validation

* SES-2933 - using nicknames in group members

* SES-2932 - Making admin rows clickable with toast

* SES-2908 - Dedicated group members page

* SES-2918 - QA tags

* SES-2923 Disappearing messages for groups

* SES-2920 - Reacting to pref change to hide message request

Added a debug menu toggle to show the message request back

* SES-2936 - NTS hiding instead of clearing

Added a new flag to hide NTS as oppose to deleting/clearing them

* SES-2936 - removed debug button

* SES-2949 toast on empty group name edit

* Integrate the consolidated group member status

* Make sure group's admin state is in sync with user group config

* Move the config to database sync back to part of the config pulling to fix SES-2905

* Typo

* SES-2918 - qa tags

* Bring invter name into invite control message, fixes SES-2927

* SES-2930 Fixed invite failure state not updated

* SES-2918 banner color + SES-2918 qa tags

* SES-2959 Make sure to update user profile when receiving any group message that comes with the profile

* SES-2931 Make sure message leaving state is cleared when done

* Added pending removal member status

* SES-2971 Fix crash on history message shared invitation

* Fixed a crash in mention highlighting

* SES-2969 - Add a control message for restored kicked group

* SES-2963 - inline icon for legacy banner

Cleaned up unused resources

* SES-2961 - Destroyed group as a control message

* adding back proper logic

* SES-2967 Re-invite from untrust admin auto approved

* SES-2906 - Sending a NTS removes it from its hidden state

* SES-2910 - Buttons says 'Block' for groups and 1on1

* SES-2929 Leave and reinvite - Members do not have access to messages from their previous membership

* SES-2957 - Sorting members as per AC rules

* SES-2979 - sorting members when creating or inviting group members

* Updated invite two string

---------

Co-authored-by: fanchao <git@fanchao.dev>
Co-authored-by: ThomasSession <thomas.r@getsession.org>
  • Loading branch information
3 people authored Nov 27, 2024
commit 819b6e1056ea461ba4778efc55470ee16300084b
10 changes: 10 additions & 0 deletions .drone.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
---
kind: pipeline
type: docker
name: default

steps:
- name: test
image: mingc/android-build-box:1.24.0
commands:
- bash ./gradlew test
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@
project.properties
.project
.settings
.kotlin
bin/
gen/
.idea/
Expand Down
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ Build instructions can be found in [BUILDING.md](BUILDING.md).

## Translations

Want to help us translate Session into your language? You can do so at https://crowdin.com/project/session-android!
Want to help us translate Session into your language? You can do so [here](https://crowdin.com/project/session-crossplatform-strings)!

## Verifying signatures

Expand Down
42 changes: 26 additions & 16 deletions app/build.gradle
Original file line number Diff line number Diff line change
@@ -1,16 +1,18 @@
plugins {
id 'com.android.application'
id 'org.jetbrains.kotlin.android'
id 'org.jetbrains.kotlin.plugin.serialization'
id 'org.jetbrains.kotlin.plugin.compose'
id 'com.google.devtools.ksp'
id 'com.google.dagger.hilt.android'
id 'kotlin-parcelize'
id 'kotlinx-serialization'
}

apply plugin: 'com.android.application'
apply plugin: 'kotlin-android'
apply plugin: 'witness'
apply plugin: 'kotlin-parcelize'
apply plugin: 'kotlinx-serialization'

configurations.forEach {
it.exclude module: "commons-logging"
configurations.configureEach {
exclude module: "commons-logging"
}

def canonicalVersionCode = 389
Expand Down Expand Up @@ -40,12 +42,12 @@ android {
useLibrary 'org.apache.http.legacy'

compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
sourceCompatibility JavaVersion.VERSION_17
targetCompatibility JavaVersion.VERSION_17
}

kotlinOptions {
jvmTarget = '1.8'
jvmTarget = '17'
}

packagingOptions {
Expand All @@ -54,6 +56,7 @@ android {
}
}


splits {
abi {
enable !project.hasProperty('huawei') // huawei builds do not need the split variants
Expand All @@ -64,7 +67,8 @@ android {
}

buildFeatures {
compose true
viewBinding true
buildConfig true
}

composeOptions {
Expand Down Expand Up @@ -198,11 +202,11 @@ android {
}
}

buildFeatures {
viewBinding true
}

def huaweiEnabled = project.properties['huawei'] != null
lint {
abortOnError true
baseline file('lint-baseline.xml')
}

applicationVariants.configureEach { variant ->
if (variant.flavorName == 'huawei') {
Expand Down Expand Up @@ -261,6 +265,7 @@ dependencies {
ksp("androidx.hilt:hilt-compiler:$jetpackHiltVersion")
ksp("com.google.dagger:hilt-compiler:$daggerHiltVersion")
ksp("com.github.bumptech.glide:ksp:$glideVersion")
implementation("androidx.hilt:hilt-navigation-compose:$androidxHiltVersion")

implementation("com.google.dagger:hilt-android:$daggerHiltVersion")
implementation "androidx.appcompat:appcompat:$appcompatVersion"
Expand Down Expand Up @@ -340,7 +345,6 @@ dependencies {
implementation "com.squareup.okhttp3:okhttp:$okhttpVersion"
implementation "com.squareup.phrase:phrase:$phraseVersion"
implementation 'app.cash.copper:copper-flow:1.0.0'
implementation "org.jetbrains.kotlin:kotlin-stdlib:$kotlinVersion"
implementation "org.jetbrains.kotlinx:kotlinx-coroutines-android:$coroutinesVersion"
implementation "nl.komponents.kovenant:kovenant:$kovenantVersion"
implementation "nl.komponents.kovenant:kovenant-android:$kovenantVersion"
Expand All @@ -363,7 +367,6 @@ dependencies {
androidTestImplementation('com.adevinta.android:barista:4.2.0') {
exclude group: 'org.jetbrains.kotlin'
}

// AndroidJUnitRunner and JUnit Rules
androidTestImplementation 'androidx.test:runner:1.5.2'
androidTestImplementation 'androidx.test:rules:1.5.0'
Expand All @@ -382,6 +385,8 @@ dependencies {
androidTestImplementation 'androidx.test.espresso:espresso-web:3.5.1'
androidTestImplementation 'androidx.test.espresso.idling:idling-concurrent:3.5.1'
androidTestImplementation 'androidx.test.espresso:espresso-idling-resource:3.5.1'
androidTestImplementation "androidx.compose.ui:ui-test-junit4:1.5.3"
debugImplementation "androidx.compose.ui:ui-test-manifest:1.5.3"
androidTestUtil 'androidx.test:orchestrator:1.4.2'

testImplementation 'org.robolectric:robolectric:4.12.2'
Expand All @@ -405,6 +410,11 @@ dependencies {
androidTestImplementation "androidx.compose.ui:ui-test-junit4-android"
debugImplementation "androidx.compose.ui:ui-test-manifest"

// Navigation
implementation "androidx.navigation:navigation-fragment-ktx:$navVersion"
implementation "androidx.navigation:navigation-ui-ktx:$navVersion"
implementation "androidx.navigation:navigation-compose:$navVersion"

implementation "com.google.accompanist:accompanist-themeadapter-appcompat:0.33.1-alpha"
implementation "com.google.accompanist:accompanist-permissions:0.36.0"
implementation "com.google.accompanist:accompanist-drawablepainter:0.33.1-alpha"
Expand Down
3 changes: 3 additions & 0 deletions app/src/androidTest/AndroidManifest.xml
Original file line number Diff line number Diff line change
Expand Up @@ -3,5 +3,8 @@
<application>
<uses-library android:name="android.test.runner"
android:required="false" />

<activity android:name="androidx.activity.ComponentActivity"/>

</application>
</manifest>
143 changes: 143 additions & 0 deletions app/src/androidTest/java/network/loki/messenger/CreateGroupTests.kt
Original file line number Diff line number Diff line change
@@ -0,0 +1,143 @@
package network.loki.messenger

import androidx.compose.ui.test.hasContentDescriptionExactly
import androidx.compose.ui.test.junit4.createComposeRule
import androidx.compose.ui.test.performClick
import androidx.compose.ui.test.performTextInput
import androidx.test.ext.junit.runners.AndroidJUnit4
import androidx.test.filters.SmallTest
import androidx.test.platform.app.InstrumentationRegistry
import org.hamcrest.CoreMatchers.*
import org.hamcrest.MatcherAssert.*
import org.junit.Rule
import org.junit.Test
import org.junit.runner.RunWith
import org.thoughtcrime.securesms.ApplicationContext
import org.thoughtcrime.securesms.groups.compose.CreateGroup
import org.thoughtcrime.securesms.groups.ViewState
import org.thoughtcrime.securesms.ui.theme.PreviewTheme

@RunWith(AndroidJUnit4::class)
@SmallTest
class CreateGroupTests {

@get:Rule
val composeTest = createComposeRule()

@Test
fun testNavigateToCreateGroup() {
val application = InstrumentationRegistry.getInstrumentation().targetContext.applicationContext as ApplicationContext
// Accessibility IDs
val nameDesc = application.getString(R.string.AccessibilityId_closed_group_edit_group_name)
val buttonDesc = application.getString(R.string.AccessibilityId_create_closed_group_create_button)

var backPressed = false
var closePressed = false

composeTest.setContent {
PreviewTheme {
CreateGroup(
viewState = ViewState.DEFAULT,
onBack = { backPressed = true },
onClose = { closePressed = true },
onContactItemClicked = {},
updateState = {}
)
}
}

with(composeTest) {
onNode(hasContentDescriptionExactly(nameDesc)).performTextInput("Name")
onNode(hasContentDescriptionExactly(buttonDesc)).performClick()
}

assertThat(backPressed, equalTo(false))
assertThat(closePressed, equalTo(false))

}

@Test
fun testFailToCreate() {
val application = InstrumentationRegistry.getInstrumentation().targetContext.applicationContext as ApplicationContext
// Accessibility IDs
val nameDesc = application.getString(R.string.AccessibilityId_closed_group_edit_group_name)
val buttonDesc = application.getString(R.string.AccessibilityId_create_closed_group_create_button)

var backPressed = false
var closePressed = false

composeTest.setContent {
PreviewTheme {
CreateGroup(
viewState = ViewState.DEFAULT,
onBack = { backPressed = true },
onClose = { closePressed = true },
updateState = {},
onContactItemClicked = {}
)
}
}
with(composeTest) {
onNode(hasContentDescriptionExactly(nameDesc)).performTextInput("")
onNode(hasContentDescriptionExactly(buttonDesc)).performClick()
}

assertThat(backPressed, equalTo(false))
assertThat(closePressed, equalTo(false))
}

@Test
fun testBackButton() {
val application = InstrumentationRegistry.getInstrumentation().targetContext.applicationContext as ApplicationContext
// Accessibility IDs
val backDesc = application.getString(R.string.new_conversation_dialog_back_button_content_description)

var backPressed = false

composeTest.setContent {
PreviewTheme {
CreateGroup(
viewState = ViewState.DEFAULT,
onBack = { backPressed = true },
onClose = {},
onContactItemClicked = {},
updateState = {}
)
}
}

with (composeTest) {
onNode(hasContentDescriptionExactly(backDesc)).performClick()
}

assertThat(backPressed, equalTo(true))
}

@Test
fun testCloseButton() {
val application = InstrumentationRegistry.getInstrumentation().targetContext.applicationContext as ApplicationContext
// Accessibility IDs
val closeDesc = application.getString(R.string.new_conversation_dialog_close_button_content_description)
var closePressed = false

composeTest.setContent {
PreviewTheme {
CreateGroup(
viewState = ViewState.DEFAULT,
onBack = { },
onClose = { closePressed = true },
onContactItemClicked = {},
updateState = {}
)
}
}

with (composeTest) {
onNode(hasContentDescriptionExactly(closeDesc)).performClick()
}

assertThat(closePressed, equalTo(true))
}


}
Loading