Commit Graph

56 Commits

Author SHA1 Message Date
Giacomo Pacini
169dac4045
spacing
Signed-off-by: Giacomo Pacini <giacomopacini98@gmail.com>
2024-12-19 14:18:20 +01:00
Giacomo Pacini
c0948ba478
voice messages that are played for at least a threshold are coloured differently
Signed-off-by: Giacomo Pacini <giacomopacini98@gmail.com>
2024-12-19 14:18:04 +01:00
Andy Scherzinger
44badccad2
style(ktlint): Fix formatting
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2024-12-13 15:35:18 +01:00
Andy Scherzinger
383bf2a728
style(detekt): Shorten methods
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2024-12-13 15:35:17 +01:00
Andy Scherzinger
f820277779
style(detekt): Accept current use of TooGenericExceptionCaught cases
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2024-12-06 11:11:24 +01:00
rapterjet2004
cb01b1ffe6
Shows if no offline messages are saved
Signed-off-by: rapterjet2004 <juliuslinus1@gmail.com>
2024-12-03 10:21:31 +01:00
Andy Scherzinger
77d2632513
style(detekt): Improve score
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2024-12-02 10:40:00 +01:00
sowjanyakch
9b3a11569a
bump minSdkVersion to 26 and remove old checks
Signed-off-by: sowjanyakch <sowjanya.kch@gmail.com>
2024-11-21 11:34:23 +01:00
sowjanyakch
a95433c6bc
convert rxjava to coroutines - unban actor
Signed-off-by: sowjanyakch <sowjanya.kch@gmail.com>
2024-11-21 11:07:06 +01:00
sowjanyakch
bdda04c21e
remove unused code
Signed-off-by: sowjanyakch <sowjanya.kch@gmail.com>
2024-11-21 11:05:57 +01:00
sowjanyakch
121d7e6907
convert rxjava to coroutines - list bans
Signed-off-by: sowjanyakch <sowjanya.kch@gmail.com>
2024-11-21 11:05:55 +01:00
sowjanyakch
7ae39bfcd2
convert rxjava to coroutines - ban actor
Signed-off-by: sowjanyakch <sowjanya.kch@gmail.com>
2024-11-21 11:05:29 +01:00
Marcel Hibbe
ff90552527
rename pair to triple
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2024-11-05 13:31:54 +01:00
Marcel Hibbe
675bc9bec0
fix messages not shown + improve unread marker behavior
this commit will avoid to fail to show messages in adapter. This was caused by the usage of
messagesListAdapter.deleteById("-1");
in UnreadNoticeMessageViewHolder.
The bug seems to exist in the past already but was never reported (Sometimes, when receiving a lot of messages it could happen that some message in between is not shown in UI). However with recent changes after release 20.0.2 the bug appeared more often.

The root cause was not analyzed, but the handling was modified in general as the unread marker behavior was never really good.
By not using deleteById but replace it with new unread marker logic, the bug of disappearing messages is solved and the unread messages marker behavior is improved.

Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2024-11-05 13:31:54 +01:00
sowjanyakch
66d2db20aa
create deck card xml layout
Signed-off-by: sowjanyakch <sowjanya.kch@gmail.com>
2024-10-23 11:35:59 +02:00
Marcel Hibbe
7a7ceb8714
format code + remove unused import
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2024-10-22 11:29:51 +02:00
rapterjet2004
0041fb3b71
deleting works
Signed-off-by: rapterjet2004 <juliuslinus1@gmail.com>
2024-10-22 10:49:56 +02:00
rapterjet2004
98e0b7a270
should have fixed the UI now with lifecycle and error handling
Signed-off-by: rapterjet2004 <juliuslinus1@gmail.com>
2024-10-22 10:49:51 +02:00
Marcel Hibbe
f817c20b4e
fix to handle chats without offline messages when connection is lost
avoid NPE:

java.lang.NullPointerException
	at com.nextcloud.talk.chat.data.network.OfflineFirstChatRepository.getCappedMessagesAmountOfChatBlock(OfflineFirstChatRepository.kt:186)
	at com.nextcloud.talk.chat.data.network.OfflineFirstChatRepository.access$getCappedMessagesAmountOfChatBlock(OfflineFirstChatRepository.kt:43)
	at com.nextcloud.talk.chat.data.network.OfflineFirstChatRepository$loadInitialMessages$1.invokeSuspend(OfflineFirstChatRepository.kt:162)

Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2024-10-21 15:33:25 +02:00
Marcel Hibbe
7e3a4e4a83
refactoring and logging
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2024-10-21 13:49:55 +02:00
Marcel Hibbe
c81b1fa62f
pass newestMessageIdFromDb to initMessagePolling
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2024-10-21 13:49:55 +02:00
Marcel Hibbe
7eb8b9fa70
extract getCappedMessagesAmountOfChatBlock
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2024-10-21 13:49:55 +02:00
Marcel Hibbe
3d37cc0831
only do initial request if newestMessageIdFromDb is lower than lastReadMessage from conversation
If conversation has a newer message id than DB then an online request is necessary

If conversation has an older message id than DB then an online request is not necessary (this could happen when updating of DB is implemented for push notification, not yet done).

If conversation has the same message id like DB than request can be skipped

Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2024-10-21 13:49:54 +02:00
Marcel Hibbe
818a843143
check if sync succeeded
Decrease message limit for retries of message loading

make it possible to add any amount (up to 100) of messages to UI for initial loading.

add logging

only make initial request for chat messages when newest message from DB is not equal the lastReadMessage that is offered by the conversation

Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2024-10-21 13:49:54 +02:00
sowjanyakch
de582f8b0b
use variable "VOICE_MESSAGE_PREFIX_MAX_LENGTH" to restrict length of voice recording file name
Signed-off-by: sowjanyakch <sowjanya.kch@gmail.com>
2024-09-27 12:41:36 +02:00
sowjanyakch
2478aa884b
put file length value in utils
Signed-off-by: sowjanyakch <sowjanya.kch@gmail.com>
2024-09-27 12:41:36 +02:00
sowjanyakch
ce8c4b2b84
fix file name of voice recording
Signed-off-by: sowjanyakch <sowjanya.kch@gmail.com>
2024-09-27 12:41:36 +02:00
Marcel Hibbe
9a14764321
do not try to pull chat messages when offline or paused
Otherwise, it resulted in a lot of flickering because _lastCommonReadFlow was emitted every 500ms. And anyway if we know we are offline or paused then it doesn't make sense to execute the sync method.

chain which caused the flickering was:
updateUiForLastCommonRead (_lastCommonReadFlow) -> updateReadStatusOfAllMessages - notifyDataSetChanged -> onBindViewHolder -> IncomingLinkPreviewMessageViewHolder

Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2024-09-11 17:05:07 +02:00
rapterjet2004
ea453dba3e
Follow up bug fixes for offline support
Got join conversation to work
Unread message popup should work when entering a conversation now
"Delete All Messages" now works without breaking the initMessagePolling
linter

Signed-off-by: rapterjet2004 <juliuslinus1@gmail.com>
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2024-09-04 10:14:51 +02:00
Marcel Hibbe
20724c5efb
fix to scroll to last read message
This will fix to scroll to the last read message when a chat is opened.

Some refactorings were made that are not necessary for the fix (I tried to also show the "Unread messages" hint in the adapter but came to the conclusion this is not a good idea until chatkit is removed. Chatkit doesn't support to add some item in between but only at the end or start which will make it too complicated..)

Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2024-09-04 09:48:42 +02:00
Julius Linus
1c52acc95d
Merge branch 'master' into issue-4072-federated-accept-message-should-be-system 2024-08-21 08:24:27 -05:00
Andy Scherzinger
9d62a6f745
fix: improve detekt score and threshold
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2024-08-17 20:42:26 +02:00
Andy Scherzinger
69ed8207d0
fix: ktlintCheck by reformatting kt code
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2024-08-17 20:20:42 +02:00
rapterjet2004
7ca68b334a
fix
Signed-off-by: rapterjet2004 <juliuslinus1@gmail.com>
2024-08-15 11:29:38 -05:00
Marcel Hibbe
da04f536f7
remove dao methods to delete data when user is removed
...will be done by foreign keys cascading. Therefore, also added foreign key to ChatBlockEntity

Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2024-08-12 16:47:06 +02:00
Marcel Hibbe
beb7b150be
minor cleanup
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2024-08-12 16:47:06 +02:00
Marcel Hibbe
fe4bf942ab
remove SyncableModel and SyncUtils
not needed for our requirements + it simplifies code

Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2024-08-12 16:47:05 +02:00
Marcel Hibbe
a84e69b6bb
fix to processExpiredMessages
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2024-08-12 16:47:05 +02:00
Marcel Hibbe
b757164c6d
only delay readStatus handling for initial loading
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2024-08-12 16:47:05 +02:00
Marcel Hibbe
0390c93ed2
implement lastCommonRead handling
contains one workaround for now, see TODO in updateUiForLastCommonRead method

Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2024-08-12 16:47:04 +02:00
Marcel Hibbe
5bccdada7c
minor cleanup in OfflineFirstChatRepository
fix to show unreadMessagesPopup at bottom (typingIndicatorWrapper must not be gone but invisible)

align unreadMessagesPopup to not overlap typingIndicator

fix to hide scrollDown button when unreadMessagesPopup is shown

Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2024-08-12 16:47:04 +02:00
Marcel Hibbe
299e8508c4
handle CLEARED_CHAT for scrolling into past
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2024-08-12 16:47:04 +02:00
Marcel Hibbe
85f4d8cd92
handle special system messages in ChatRepo instead in UI
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2024-08-12 16:47:04 +02:00
rapterjet2004
db8d7b91d4
WIP UI fixes for offline conversations - next up get queued messges to work and show up as temp messages ( I have some creative ideas for the UI )
Signed-off-by: rapterjet2004 <juliuslinus1@gmail.com>
2024-08-12 16:47:03 +02:00
Marcel Hibbe
aa76636f72
handle reaction message for lookIntoFuture
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2024-08-12 16:47:03 +02:00
Marcel Hibbe
2408d639e4
Offline support for conversations and chats
Authors: Julius Linus and Marcel Hibbe

Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2024-08-12 16:47:03 +02:00
rapterjet2004
46d3fd1569
Allows Banning
- New option to ban participant if your a moderator and not in one-2-one
- New fragment to see previous bans, unban if wanted

Signed-off-by: rapterjet2004 <juliuslinus1@gmail.com>
2024-08-06 10:58:22 -05:00
Marcel Hibbe
00101abda7
update to kotlin 2.0 / use ksp where possible
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2024-06-17 17:41:03 +02:00
Julius Linus
6a01ebf630
Message Input Refactoring
- Added io folder for Abstracting away background work
- AudioFocusRequestManager
- MediaPlayerManager
- MediaRecorderManager
- AudioRecorderManager

Included new View Models + Fragments to separate concerns

- MessageInputFragment
- MessageInputVoiceRecordingFragment

Signed-off-by: rapterjet2004 <juliuslinus1@gmail.com>
2024-06-05 17:45:01 +02:00
Andy Scherzinger
f5a4274e54
Add SPDX header
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2024-03-29 15:42:11 +01:00