Commit graph

9907 commits

Author SHA1 Message Date
github-actions[bot]
740dc9da5c
Merge pull request #4450 from nextcloud/renovate/com.google.firebase-firebase-messaging-24.x
Update dependency com.google.firebase:firebase-messaging to v24.1.0
2024-11-15 01:53:55 +01:00
renovate[bot]
524f6f80f5
Update dependency com.google.firebase:firebase-messaging to v24.1.0
Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-11-15 00:33:36 +00:00
Sowjanya Kota
b361d56250
Merge pull request #4392 from nextcloud/restore_user_status
Restore user status
2024-11-14 17:44:54 +01:00
sowjanyakch
b558a71ede
ktlintFormat
Signed-off-by: sowjanyakch <sowjanya.kch@gmail.com>
2024-11-14 17:05:50 +01:00
sowjanyakch
92caa215b0
error handling
Signed-off-by: sowjanyakch <sowjanya.kch@gmail.com>
2024-11-14 17:05:50 +01:00
sowjanyakch
2c6daedb2b
handle disposable properly
Signed-off-by: sowjanyakch <sowjanya.kch@gmail.com>
2024-11-14 17:05:50 +01:00
sowjanyakch
dba30346dc
use const val HTTP_STATUS_CODE_OK
Signed-off-by: sowjanyakch <sowjanya.kch@gmail.com>
2024-11-14 17:05:50 +01:00
sowjanyakch
05ca7f52a5
remove Snackbar
Signed-off-by: sowjanyakch <sowjanya.kch@gmail.com>
2024-11-14 17:05:50 +01:00
sowjanyakch
fbecfaf95d
reset status and hide the dialog
Signed-off-by: sowjanyakch <sowjanya.kch@gmail.com>
2024-11-14 17:05:50 +01:00
sowjanyakch
3f74a440d5
add hint - your status was set automatically
Signed-off-by: sowjanyakch <sowjanya.kch@gmail.com>
2024-11-14 17:05:49 +01:00
sowjanyakch
13208e85f9
remove redundant null check
Signed-off-by: sowjanyakch <sowjanya.kch@gmail.com>
2024-11-14 17:05:49 +01:00
sowjanyakch
c4f4c857d3
check for capability before reverting status
Signed-off-by: sowjanyakch <sowjanya.kch@gmail.com>
2024-11-14 17:05:49 +01:00
sowjanyakch
7a63a645fe
format
Signed-off-by: sowjanyakch <sowjanya.kch@gmail.com>
2024-11-14 17:05:49 +01:00
sowjanyakch
9fbb3886ab
handle reset status button
Signed-off-by: sowjanyakch <sowjanya.kch@gmail.com>
2024-11-14 17:05:46 +01:00
sowjanyakch
ec01a049c8
add elements to predefinedStatusesList correctly
Signed-off-by: sowjanyakch <sowjanya.kch@gmail.com>
2024-11-14 17:04:43 +01:00
sowjanyakch
974da71e52
get backup status only if restore capability is available
Signed-off-by: sowjanyakch <sowjanya.kch@gmail.com>
2024-11-14 17:02:29 +01:00
sowjanyakch
d08b4f51b8
add backup message in the predefined status list
Signed-off-by: sowjanyakch <sowjanya.kch@gmail.com>
2024-11-14 17:02:29 +01:00
sowjanyakch
27aafda59f
test backupStatus endpoint
Signed-off-by: sowjanyakch <sowjanya.kch@gmail.com>
2024-11-14 17:02:29 +01:00
sowjanyakch
5fe5931bc4
add capability for restore
Signed-off-by: sowjanyakch <sowjanya.kch@gmail.com>
2024-11-14 17:02:29 +01:00
sowjanyakch
6a9211e292
show reset button on first item of recycler view
Signed-off-by: sowjanyakch <sowjanya.kch@gmail.com>
2024-11-14 17:02:29 +01:00
sowjanyakch
9f7c899368
add reset button
Signed-off-by: sowjanyakch <sowjanya.kch@gmail.com>
2024-11-14 17:02:28 +01:00
sowjanyakch
2aac51d8bb
modify predefined_status.xml
Signed-off-by: sowjanyakch <sowjanya.kch@gmail.com>
2024-11-14 17:02:28 +01:00
sowjanyakch
8cd8c5ca01
create url for backup status
Signed-off-by: sowjanyakch <sowjanya.kch@gmail.com>
2024-11-14 17:02:28 +01:00
sowjanyakch
658988901c
add backupStatus endpoint
Signed-off-by: sowjanyakch <sowjanya.kch@gmail.com>
2024-11-14 17:02:28 +01:00
Sowjanya Kota
5ff1003154
Merge pull request #4428 from nextcloud/lock_room
Lock room
2024-11-14 16:53:54 +01:00
github-actions[bot]
0303f73bd9
Merge pull request #4449 from nextcloud/renovate/github-codeql-action-3.x
chore(deps): update github/codeql-action action to v3.27.4
2024-11-14 16:18:27 +01:00
Marcel Hibbe
f94a0cf95c
Merge pull request #4436 from nextcloud/bugfix/noid/fixCallEmojiListByScrolling
fix to provide all call emojis
2024-11-14 16:02:18 +01:00
renovate[bot]
79bcfbc28f
chore(deps): update github/codeql-action action to v3.27.4
Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-11-14 14:55:38 +00:00
Marcel Hibbe
89964c0725
Merge pull request #4448 from nextcloud/bugfix/noid/fixWebsocketConnectionForChat
Bugfix/noid/fix websocket connection for chat
2024-11-14 15:54:53 +01:00
Marcel Hibbe
cd5ee2f619
fix to support different screen densities
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2024-11-14 15:36:59 +01:00
Marcel Hibbe
59ee0b0cb1
fix to provide all call emojis
As the number of provided emojis grew, there was a bug that only one emoji was shown.

Putting all 12 emojis would have been too close, so it's implemented to scroll them horizontally

Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2024-11-14 15:36:59 +01:00
Julius Linus
3908d0ce14
Merge pull request #4441 from nextcloud/issue-4405-fix-filter
Align filter behavior with web
2024-11-14 06:55:23 -06:00
Marcel Hibbe
acd964869d
add disposable
however i was not able to see onDestroy being executed.

anyway, disposables won't be necessary when coroutine is used.

also: remove a useless outdated log line

Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2024-11-14 13:41:06 +01:00
Marcel Hibbe
8dd1b885f3
fix check if federated is still the same
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2024-11-14 13:41:06 +01:00
Marcel Hibbe
3bd1a533e3
fix ANR error (blockingSubscribe in setupWebsocket)
The request seems to cause problems so blockingSubscribe doesn't seem to be a good choice here. This commit will replace blockingSubscribe by subscribe and modify the related code in order to be executed when the request succeeds.
The root cause why the request seems to cause problems may have to be analyzed further.

I was not able to reproduce the ANR without this PR, however the following error was reported on gplay console very often!:

      at jdk.internal.misc.Unsafe.park (Native method)
      at java.util.concurrent.locks.LockSupport.park (LockSupport.java:341)
      at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionNode.block (AbstractQueuedSynchronizer.java:506)
      at java.util.concurrent.ForkJoinPool.unmanagedBlock (ForkJoinPool.java:3466)
      at java.util.concurrent.ForkJoinPool.managedBlock (ForkJoinPool.java:3437)
      at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await (AbstractQueuedSynchronizer.java:1623)
      at java.util.concurrent.LinkedBlockingQueue.take (LinkedBlockingQueue.java:435)
      at io.reactivex.internal.operators.observable.ObservableBlockingSubscribe.subscribe (ObservableBlockingSubscribe.java:56)
      at io.reactivex.Observable.blockingSubscribe (Observable.java:5552)
      at com.nextcloud.talk.chat.ChatActivity.setupWebsocket (ChatActivity.kt:2445)
      at com.nextcloud.talk.chat.ChatActivity.joinRoomWithPassword (ChatActivity.kt:2402)
      at com.nextcloud.talk.chat.ChatActivity.initObservers$lambda$13 (ChatActivity.kt:594)
      at com.nextcloud.talk.chat.ChatActivity.$r8$lambda$QKH5JCFLmCzRMlSJ-EV-m4IW5ig (unavailable)
      at com.nextcloud.talk.chat.ChatActivity$$ExternalSyntheticLambda38.invoke (D8$$SyntheticClass)
      at com.nextcloud.talk.chat.ChatActivity$sam$androidx_lifecycle_Observer$0.onChanged (unavailable:2)
      at androidx.lifecycle.LiveData.considerNotify (LiveData.java:133)
      at androidx.lifecycle.LiveData.dispatchingValue (LiveData.java:151)
      at androidx.lifecycle.LiveData.setValue (LiveData.java:309)
      at androidx.lifecycle.MutableLiveData.setValue (MutableLiveData.java:50)
      at com.nextcloud.talk.chat.viewmodels.ChatViewModel.getCapabilities (ChatViewModel.kt:240)
      at com.nextcloud.talk.chat.ChatActivity$initObservers$1$1.invokeSuspend (ChatActivity.kt:553)
      at com.nextcloud.talk.chat.ChatActivity$initObservers$1$1.invoke (unavailable:8)
      at com.nextcloud.talk.chat.ChatActivity$initObservers$1$1.invoke (unavailable:4)
      at kotlinx.coroutines.flow.FlowKt__TransformKt$onEach$$inlined$unsafeTransform$1$2.emit (Emitters.kt:219)
      at kotlinx.coroutines.flow.FlowKt__ErrorsKt$catchImpl$2.emit (Errors.kt:154)
      at kotlinx.coroutines.flow.FlowKt__TransformKt$onEach$$inlined$unsafeTransform$1$2.emit (Emitters.kt:220)
      at kotlinx.coroutines.flow.SharedFlowImpl.collect$suspendImpl (SharedFlow.kt:392)
      at kotlinx.coroutines.flow.SharedFlowImpl$collect$1.invokeSuspend (unavailable:15)
      at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith (ContinuationImpl.kt:33)
      at kotlinx.coroutines.DispatchedTask.run (DispatchedTask.kt:104)
      at android.os.Handler.handleCallback (Handler.java:938)
      at android.os.Handler.dispatchMessage (Handler.java:99)
      at android.os.Looper.loopOnce (Looper.java:210)
      at android.os.Looper.loop (Looper.java:299)
      at android.app.ActivityThread.main (ActivityThread.java:8168)
      at java.lang.reflect.Method.invoke (Native method)
      at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run (RuntimeInit.java:556)
      at com.android.internal.os.ZygoteInit.main (ZygoteInit.java:1037)

Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2024-11-14 13:41:06 +01:00
Marcel Hibbe
e51ab67c37
fix check for remote server
As remote server is empty instead null when not available, the check was also true when no remote server was in use.

Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2024-11-14 13:41:03 +01:00
github-actions[bot]
e1a3a03b61
Merge pull request #4447 from nextcloud/renovate/fsfe-reuse-action-5.x
chore(deps): update fsfe/reuse-action action to v5
2024-11-14 12:36:28 +01:00
renovate[bot]
6ed6277c75
chore(deps): update fsfe/reuse-action action to v5
Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-11-14 11:25:23 +00:00
Sowjanya Kota
9257d41197
Merge pull request #4439 from nextcloud/bugfix/noid/fixNpeInRestoreMessageQueue
fix NPE in restoreMessageQueue
2024-11-14 09:56:12 +01:00
github-actions[bot]
20ee92e388
Merge pull request #4445 from nextcloud/renovate/com.mebigfatguy.fb-contrib-fb-contrib-7.x
fix(deps): update dependency com.mebigfatguy.fb-contrib:fb-contrib to v7.6.8
2024-11-14 05:07:13 +01:00
renovate[bot]
55fe39c902
fix(deps): update dependency com.mebigfatguy.fb-contrib:fb-contrib to v7.6.8
Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-11-14 03:56:47 +00:00
Nextcloud bot
3f2a67f67b
Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2024-11-14 03:01:05 +00:00
github-actions[bot]
e8b646fda6
Merge pull request #4444 from nextcloud/renovate/androidx.compose-compose-bom-2024.x
fix(deps): update dependency androidx.compose:compose-bom to v2024.11.00
2024-11-13 23:46:08 +01:00
renovate[bot]
3a4f8aac57
fix(deps): update dependency androidx.compose:compose-bom to v2024.11.00
Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-11-13 22:37:53 +00:00
Sowjanya Kota
f0a9d6a1e1
Merge pull request #4442 from nextcloud/bugfix/noid/fixPreviousChatMessageCrash
fix crash when getting previousChatMessage
2024-11-13 16:03:12 +01:00
Marcel Hibbe
dcec7bd786
fix crash when getting previousChatMessage
when adapter has no items adapter!!.items[1].item will crash with IndexOutOfBoundsException

This could happen e.g. when chat history is cleared.

error was:

Exception java.lang.IndexOutOfBoundsException: Index 1 out of bounds for length 0
  at jdk.internal.util.Preconditions.outOfBounds (Preconditions.java:64)
  at jdk.internal.util.Preconditions.outOfBoundsCheckIndex (Preconditions.java:70)
  at jdk.internal.util.Preconditions.checkIndex (Preconditions.java:266)
  at java.util.Objects.checkIndex (Objects.java:359)
  at java.util.ArrayList.get (ArrayList.java:434)
  at com.nextcloud.talk.chat.ChatActivity.processMessagesFromTheFuture (ChatActivity.kt:2666)
  at com.nextcloud.talk.chat.ChatActivity.access$processMessagesFromTheFuture (ChatActivity.kt:209)
  at com.nextcloud.talk.chat.ChatActivity$initObservers$12$1.invokeSuspend (ChatActivity.kt:875)
  at com.nextcloud.talk.chat.ChatActivity$initObservers$12$1.invoke (Unknown Source:8)
  at com.nextcloud.talk.chat.ChatActivity$initObservers$12$1.invoke (Unknown Source:4)
  at kotlinx.coroutines.flow.FlowKt__TransformKt$onEach$$inlined$unsafeTransform$1$2.emit (Emitters.kt:219)
  at kotlinx.coroutines.flow.FlowKt__ErrorsKt$catchImpl$2.emit (Errors.kt:154)
  at kotlinx.coroutines.flow.FlowKt__TransformKt$onEach$$inlined$unsafeTransform$1$2.emit (Emitters.kt:220)
  at kotlinx.coroutines.flow.SharedFlowImpl.collect$suspendImpl (SharedFlow.kt:392)
  at kotlinx.coroutines.flow.SharedFlowImpl$collect$1.invokeSuspend (Unknown Source:15)
  at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith (ContinuationImpl.kt:33)
  at kotlinx.coroutines.DispatchedTask.run (DispatchedTask.kt:104)
  at android.os.Handler.handleCallback (Handler.java:942)
  at android.os.Handler.dispatchMessage (Handler.java:99)
  at android.os.Looper.loopOnce (Looper.java:201)
  at android.os.Looper.loop (Looper.java:288)
  at android.app.ActivityThread.main (ActivityThread.java:7932)
  at java.lang.reflect.Method.invoke
  at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run (RuntimeInit.java:548)
  at com.android.internal.os.ZygoteInit.main (ZygoteInit.java:942)

Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2024-11-13 15:20:39 +01:00
Sowjanya Kota
89f3d8a768
Merge pull request #4440 from nextcloud/bugfix/noid/fixUnreadMarkerCrash
fix crash for unreadMarker
2024-11-13 15:05:54 +01:00
rapterjet2004
ab4b3d633c
Fix behavior
Signed-off-by: rapterjet2004 <juliuslinus1@gmail.com>
2024-11-13 07:54:01 -06:00
Marcel Hibbe
b766abea5e
fix crash for unreadMarker
When messages were sorted out in handleSystemMessages it can happen that the chatMessageList is empty. Because setUnreadMessageMarker accessed chatMessageList[0] this crashed.

This can happen e.g. when only a reaction to a chat message was made before opening the chat.

Exception java.lang.IndexOutOfBoundsException: Empty list doesn't contain element at index 0.
  at kotlin.collections.EmptyList.get (Collections.kt:37)
  at kotlin.collections.EmptyList.get (Collections.kt:25)
  at com.nextcloud.talk.chat.ChatActivity.setUnreadMessageMarker (ChatActivity.kt:2691)
  at com.nextcloud.talk.chat.ChatActivity.processMessagesFromTheFuture (ChatActivity.kt:2651)
  at com.nextcloud.talk.chat.ChatActivity.access$processMessagesFromTheFuture (ChatActivity.kt:209)
  at com.nextcloud.talk.chat.ChatActivity$initObservers$12$1.invokeSuspend (ChatActivity.kt:875)
  at com.nextcloud.talk.chat.ChatActivity$initObservers$12$1.invoke (Unknown Source:8)
  at com.nextcloud.talk.chat.ChatActivity$initObservers$12$1.invoke (Unknown Source:4)
  at kotlinx.coroutines.flow.FlowKt__TransformKt$onEach$$inlined$unsafeTransform$1$2.emit (Emitters.kt:219)
  at kotlinx.coroutines.flow.FlowKt__ErrorsKt$catchImpl$2.emit (Errors.kt:154)
  at kotlinx.coroutines.flow.FlowKt__TransformKt$onEach$$inlined$unsafeTransform$1$2.emit (Emitters.kt:220)
  at kotlinx.coroutines.flow.SharedFlowImpl.collect$suspendImpl (SharedFlow.kt:392)
  at kotlinx.coroutines.flow.SharedFlowImpl$collect$1.invokeSuspend (Unknown Source:15)
  at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith (ContinuationImpl.kt:33)
  at kotlinx.coroutines.DispatchedTask.run (DispatchedTask.kt:104)
  at android.os.Handler.handleCallback (Handler.java:942)
  at android.os.Handler.dispatchMessage (Handler.java:99)
  at android.os.Looper.loopOnce (Looper.java:226)
  at android.os.Looper.loop (Looper.java:313)
  at android.app.ActivityThread.main (ActivityThread.java:8762)
  at java.lang.reflect.Method.invoke
  at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run (RuntimeInit.java:604)
  at com.android.internal.os.ZygoteInit.main (ZygoteInit.java:1067)

Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2024-11-13 14:42:31 +01:00
Marcel Hibbe
f144b64365
fix NPE in restoreMessageQueue
currentConversation was not yet initialized in ChatActivity.
In the future this may be better handled via StateFlows. For now it's solved via arguments.

Without the fix, this NPE appeared:

Exception java.lang.RuntimeException:
  at android.app.ActivityThread.performResumeActivity (ActivityThread.java:4768)
  at android.app.ActivityThread.handleResumeActivity (ActivityThread.java:4801)
  at android.app.servertransaction.ResumeActivityItem.execute (ResumeActivityItem.java:54)
  at android.app.servertransaction.ActivityTransactionItem.execute (ActivityTransactionItem.java:45)
  at android.app.servertransaction.TransactionExecutor.executeLifecycleState (TransactionExecutor.java:176)
  at android.app.servertransaction.TransactionExecutor.execute (TransactionExecutor.java:97)
  at android.app.ActivityThread$H.handleMessage (ActivityThread.java:2215)
  at android.os.Handler.dispatchMessage (Handler.java:106)
  at android.os.Looper.loopOnce (Looper.java:346)
  at android.os.Looper.loop (Looper.java:475)
  at android.app.ActivityThread.main (ActivityThread.java:7889)
  at java.lang.reflect.Method.invoke
  at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run (RuntimeInit.java:548)
  at com.android.internal.os.ZygoteInit.main (ZygoteInit.java:1009)
Caused by java.lang.NullPointerException:
  at com.nextcloud.talk.chat.MessageInputFragment.onResume (MessageInputFragment.kt:146)
  at androidx.fragment.app.Fragment.performResume (Fragment.java:3180)
  at androidx.fragment.app.FragmentStateManager.resume (FragmentStateManager.java:606)
  at androidx.fragment.app.FragmentStateManager.moveToExpectedState (FragmentStateManager.java:285)
  at androidx.fragment.app.FragmentStore.moveToExpectedState (FragmentStore.java:113)
  at androidx.fragment.app.FragmentManager.moveToState (FragmentManager.java:1433)
  at androidx.fragment.app.FragmentManager.dispatchStateChange (FragmentManager.java:2977)
  at androidx.fragment.app.FragmentManager.dispatchResume (FragmentManager.java:2909)
  at androidx.fragment.app.FragmentController.dispatchResume (FragmentController.java:285)
  at androidx.fragment.app.FragmentActivity.onResumeFragments (FragmentActivity.java:334)
  at androidx.fragment.app.FragmentActivity.onPostResume (FragmentActivity.java:323)
  at androidx.appcompat.app.AppCompatActivity.onPostResume (AppCompatActivity.java:245)
  at android.app.Activity.performResume (Activity.java:8215)
  at android.app.ActivityThread.performResumeActivity (ActivityThread.java:4758)

Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2024-11-13 14:07:45 +01:00