Commit Graph

449 Commits

Author SHA1 Message Date
Niko Diamadis
54b9242a0d Ignore new Kotlin compiler folder 2024-06-19 14:37:46 +02:00
Niko Diamadis
0cd644ed0d Update library dependencies 2024-06-19 14:36:22 +02:00
Niko Diamadis
89f09ac6f8 Update build dependencies 2024-06-19 14:36:09 +02:00
Jannis Mattheis
28698bf66f Merge pull request #353 from gotify/concurrent-image-access
fix: image loading when using markdown img and bigImageUrl
2024-06-18 19:44:57 +02:00
Jannis Mattheis
ac27d9ec6d fix: image loading when using markdown img and bigImageUrl
When receiving a message with the same image in the markdown body and in
the extras client::notification.bigImageUrl, then there is a clash on
the file system.

One request succeeds and the other fails with the following error. This
commit ensures that there is only one coil image loader instance, so
that there shouldn't be file system race conditions.

    WebSocket(1): received message {"id":845,"appid":21,...}
    Failed - http://192.168.178.2:8000/1.jpg?v=1718369188 - java.lang.IllegalStateException: closed
    java.lang.IllegalStateException: closed
        at okio.RealBufferedSource.rangeEquals(RealBufferedSource.kt:466)
        at okio.RealBufferedSource.rangeEquals(RealBufferedSource.kt:130)
        at coil.decode.SvgDecodeUtils.isSvg(DecodeUtils.kt:19)
        at coil.decode.SvgDecoder$Factory.isApplicable(SvgDecoder.kt:104)
        at coil.decode.SvgDecoder$Factory.create(SvgDecoder.kt:99)
        at coil.ComponentRegistry.newDecoder(ComponentRegistry.kt:100)
        at coil.intercept.EngineInterceptor.decode(EngineInterceptor.kt:197)
        at coil.intercept.EngineInterceptor.access$decode(EngineInterceptor.kt:42)
        at coil.intercept.EngineInterceptor$execute$executeResult$1.invokeSuspend(EngineInterceptor.kt:131)
        at coil.intercept.EngineInterceptor$execute$executeResult$1.invoke(EngineInterceptor.kt)
        at coil.intercept.EngineInterceptor$execute$executeResult$1.invoke(EngineInterceptor.kt)
        at kotlinx.coroutines.intrinsics.UndispatchedKt.startUndispatchedOrReturn(Undispatched.kt:78)
        at kotlinx.coroutines.BuildersKt__Builders_commonKt.withContext(Builders.common.kt:167)
        at kotlinx.coroutines.BuildersKt.withContext(Unknown Source)
        at coil.intercept.EngineInterceptor.execute(EngineInterceptor.kt:130)
        at coil.intercept.EngineInterceptor.access$execute(EngineInterceptor.kt:42)
        at coil.intercept.EngineInterceptor$execute$1.invokeSuspend(EngineInterceptor.kt)
        at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
        at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:108)
        at kotlinx.coroutines.internal.LimitedDispatcher$Worker.run(LimitedDispatcher.kt:115)
        at kotlinx.coroutines.scheduling.TaskImpl.run(Tasks.kt:103)
        at kotlinx.coroutines.scheduling.CoroutineScheduler.runSafely(CoroutineScheduler.kt:584)
        at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.executeTask(CoroutineScheduler.kt:793)
        at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.kt:697)
        at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:684)
    Successful (NETWORK) - http://192.168.178.2:8000/1.jpg?v=1718369188
2024-06-14 15:18:55 +02:00
Jannis Mattheis
b9b767f5d7 Merge pull request #344 from cyb3rko/client-certificate-auth
Client certificate authentication (mTLS)
2024-06-13 21:43:18 +02:00
Jannis Mattheis
2dddbe4d8b Remove unused caCertCN setting 2024-06-13 21:32:29 +02:00
Niko Diamadis
cdb807c806 Close certificate InputStream after use 2024-06-11 21:13:04 +02:00
Niko Diamadis
9d2d49794b Keep AdvancedDialog button always enabled 2024-06-11 21:12:06 +02:00
Niko Diamadis
3ddba7aa52 Move AdvancedDialog initialization 2024-06-06 10:08:21 +02:00
Niko Diamadis
090edb75fc Improve client cert password handling 2024-06-06 00:42:36 +02:00
Niko Diamadis
4fac47f3b1 Simplify ssl settings initialization 2024-06-06 00:24:27 +02:00
Niko Diamadis
5b7aff0c23 Apply some smaller changes 2024-06-02 22:16:33 +02:00
Niko Diamadis
d74bca714c Move cert migration to GotifyApplication and synchronize calls 2024-06-02 22:05:12 +02:00
Jannis Mattheis
7b8e0ba1b3 Merge pull request #346 from cyb3rko/link-colours-fix
Adopt hyperlink color for non-markdown messages
2024-04-26 14:21:52 +02:00
Jannis Mattheis
a83cd18a03 Merge pull request #345 from cyb3rko/svg-support
Add SVG support
2024-04-26 14:20:00 +02:00
Niko Diamadis
11448f7d2c Add reminder for mandatory client cert password 2024-04-24 00:21:31 +02:00
Niko Diamadis
2d70b94eb7 Merge branch 'master' into client-certificate-auth 2024-04-23 23:19:04 +02:00
Niko Diamadis
a3dd80cd20 Migrate legacy ca cert in newer version 2024-04-23 20:12:51 +02:00
Niko Diamadis
d3525ea614 Adopt hyperlink color for non-markdown messages 2024-04-22 20:57:06 +02:00
Niko Diamadis
4cc82267f8 Add SVG support 2024-04-22 20:33:04 +02:00
Niko Diamadis
60946e4e1e Fix client certificate-only usage 2024-04-22 00:59:19 +02:00
Jannis Mattheis
d5903b2531 Merge pull request #337 from cyb3rko/picasso-to-coil
Replace Picasso with Coil
2024-04-21 13:01:13 +02:00
Niko Diamadis
79584c85c1 Replace denigrated call to certificate name 2024-04-19 02:15:33 +02:00
Niko Diamadis
380e209326 Remove unused utils methods 2024-04-19 02:15:33 +02:00
Niko Diamadis
23ef899564 Implement optional mTLS via client certificate option 2024-04-19 02:15:33 +02:00
Jannis Mattheis
8a1802e5ed Merge pull request #342 from cyb3rko/screenshots-refresh
Refresh app screenshots
2024-04-17 19:28:52 +02:00
Niko Diamadis
6f275d4ace Refresh app screenshots 2024-04-16 19:19:07 +02:00
Niko Diamadis
fdc9261df1 Clear and refresh image caches on swipe down 2024-04-16 18:39:45 +02:00
Niko Diamadis
9210919344 Simplify getImageFromUrl itself 2024-04-16 17:31:52 +02:00
Niko Diamadis
ad24aea709 Fix imports order 2024-03-15 18:41:29 +01:00
Niko Diamadis
c3971d179e Simplify getImageFromUrl call 2024-03-15 18:39:39 +01:00
Niko Diamadis
ddbbca7e62 Replace deprecated OkHttp methods 2024-03-14 06:44:13 +01:00
Niko Diamadis
12390f5b8a Remove Picasso request handler 2024-03-14 06:43:06 +01:00
Niko Diamadis
31649fa51b Replace Picasso with Coil 2024-03-14 06:42:30 +01:00
Jannis Mattheis
286074386d Merge pull request #336 from cyb3rko/build-update
Build update
2024-03-08 13:39:39 +01:00
Niko Diamadis
5fe624c794 Bump dependency and gradle versions 2024-03-06 22:58:54 +01:00
Niko Diamadis
22feec66b0 Fix gradle deprecations 2024-03-06 22:56:00 +01:00
Jannis Mattheis
433f7ec341 Merge pull request #335 from cyb3rko/readme-refresh
Readme refresh
2024-03-06 17:05:25 +01:00
Niko Diamadis
9ad3385a99 Improve hint on notification minimization 2024-03-05 21:19:50 +01:00
Niko Diamadis
62621b2585 Update README images 2024-03-05 21:07:06 +01:00
Niko Diamadis
07f931d330 Separate broadcasts to prevent duplicate messages (#327) 2023-12-01 11:10:40 +00:00
Jannis Mattheis
028e29af08 Merge pull request #325 from cyb3rko/update-build 2023-12-01 10:41:27 +00:00
Niko Diamadis
0b79ff62a5 Move foreground service type description to manifest 2023-11-29 18:22:06 +01:00
Niko Diamadis
eeb77352c8 Fill foreground service type description 2023-11-29 18:22:06 +01:00
Niko Diamadis
d7895c9383 Define websocket foreground service type 2023-11-29 18:22:06 +01:00
Niko Diamadis
537c34cc87 Apply Kotlinter 4.0.0 2023-11-29 18:22:06 +01:00
Niko Diamadis
203b3a76d5 Update targetSdk to 34 2023-11-29 18:22:06 +01:00
Jannis Mattheis
6234c3a438 Merge pull request #326 from cyb3rko/autofill-improvement
Improve password manager autofill compatibility
2023-11-25 10:27:01 +00:00
Niko Diamadis
2265e94882 Update dependencies 2023-11-20 20:50:40 +01:00