{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":121547985,"defaultBranch":"master","name":"android","ownerLogin":"gotify","currentUserCanPush":false,"isFork":false,"isEmpty":false,"createdAt":"2018-02-14T18:49:38.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/36410427?v=4","public":true,"private":false,"isOrgOwned":true},"refInfo":{"name":"","listCacheKey":"v0:1721237953.0","currentOid":""},"activityList":{"items":[{"before":null,"after":"c8da506262a2de9275b9558fac9889fe82962f50","ref":"refs/heads/data-fetcher","pushedAt":"2024-07-17T17:39:13.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"jmattheis","name":"Jannis Mattheis","path":"/jmattheis","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/14895212?s=80&v=4"},"commit":{"message":"fix: add data: image loader","shortMessageHtmlLink":"fix: add data: image loader"}},{"before":"e8b88ab409f57e679874e97ac7a132b9db8e7cf3","after":"d1e1703d83259d0a5161e9b3592e3171f2f1cd3a","ref":"refs/heads/master","pushedAt":"2024-07-07T07:19:11.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"jmattheis","name":"Jannis Mattheis","path":"/jmattheis","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/14895212?s=80&v=4"},"commit":{"message":"chore: version 2.8.0","shortMessageHtmlLink":"chore: version 2.8.0"}},{"before":"42ca881902bb54564f7d943ca382ae665a9d5f5b","after":"e8b88ab409f57e679874e97ac7a132b9db8e7cf3","ref":"refs/heads/master","pushedAt":"2024-07-07T07:12:55.000Z","pushType":"pr_merge","commitsCount":5,"pusher":{"login":"jmattheis","name":"Jannis Mattheis","path":"/jmattheis","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/14895212?s=80&v=4"},"commit":{"message":"Merge pull request #356 from cyb3rko/images-basic-auth\n\nBasic auth support for images","shortMessageHtmlLink":"Merge pull request #356 from cyb3rko/images-basic-auth"}},{"before":"28698bf66fb01fe3b8c0714d9aafbdbf5fdfa604","after":"42ca881902bb54564f7d943ca382ae665a9d5f5b","ref":"refs/heads/master","pushedAt":"2024-06-19T20:03:15.000Z","pushType":"pr_merge","commitsCount":4,"pusher":{"login":"jmattheis","name":"Jannis Mattheis","path":"/jmattheis","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/14895212?s=80&v=4"},"commit":{"message":"Merge pull request #357 from cyb3rko/build-update\n\nMigrate to Kotlin 2 & update dependencies","shortMessageHtmlLink":"Merge pull request #357 from cyb3rko/build-update"}},{"before":"ac27d9ec6d5042c002b11e8b297f7bb2d6fc7336","after":null,"ref":"refs/heads/concurrent-image-access","pushedAt":"2024-06-18T17:45:03.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"jmattheis","name":"Jannis Mattheis","path":"/jmattheis","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/14895212?s=80&v=4"}},{"before":"b9b767f5d74324c68f4c8e4f08a57e8fae4895b7","after":"28698bf66fb01fe3b8c0714d9aafbdbf5fdfa604","ref":"refs/heads/master","pushedAt":"2024-06-18T17:44:58.000Z","pushType":"pr_merge","commitsCount":2,"pusher":{"login":"jmattheis","name":"Jannis Mattheis","path":"/jmattheis","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/14895212?s=80&v=4"},"commit":{"message":"Merge pull request #353 from gotify/concurrent-image-access\n\nfix: image loading when using markdown img and bigImageUrl","shortMessageHtmlLink":"Merge pull request #353 from gotify/concurrent-image-access"}},{"before":"0e7f675c727b62d4d170482cbe544df2119a1e92","after":"ac27d9ec6d5042c002b11e8b297f7bb2d6fc7336","ref":"refs/heads/concurrent-image-access","pushedAt":"2024-06-14T13:20:09.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"jmattheis","name":"Jannis Mattheis","path":"/jmattheis","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/14895212?s=80&v=4"},"commit":{"message":"fix: image loading when using markdown img and bigImageUrl\n\nWhen receiving a message with the same image in the markdown body and in\nthe extras client::notification.bigImageUrl, then there is a clash on\nthe file system.\n\nOne request succeeds and the other fails with the following error. This\ncommit ensures that there is only one coil image loader instance, so\nthat there shouldn't be file system race conditions.\n\n WebSocket(1): received message {\"id\":845,\"appid\":21,...}\n Failed - http://192.168.178.2:8000/1.jpg?v=1718369188 - java.lang.IllegalStateException: closed\n java.lang.IllegalStateException: closed\n at okio.RealBufferedSource.rangeEquals(RealBufferedSource.kt:466)\n at okio.RealBufferedSource.rangeEquals(RealBufferedSource.kt:130)\n at coil.decode.SvgDecodeUtils.isSvg(DecodeUtils.kt:19)\n at coil.decode.SvgDecoder$Factory.isApplicable(SvgDecoder.kt:104)\n at coil.decode.SvgDecoder$Factory.create(SvgDecoder.kt:99)\n at coil.ComponentRegistry.newDecoder(ComponentRegistry.kt:100)\n at coil.intercept.EngineInterceptor.decode(EngineInterceptor.kt:197)\n at coil.intercept.EngineInterceptor.access$decode(EngineInterceptor.kt:42)\n at coil.intercept.EngineInterceptor$execute$executeResult$1.invokeSuspend(EngineInterceptor.kt:131)\n at coil.intercept.EngineInterceptor$execute$executeResult$1.invoke(EngineInterceptor.kt)\n at coil.intercept.EngineInterceptor$execute$executeResult$1.invoke(EngineInterceptor.kt)\n at kotlinx.coroutines.intrinsics.UndispatchedKt.startUndispatchedOrReturn(Undispatched.kt:78)\n at kotlinx.coroutines.BuildersKt__Builders_commonKt.withContext(Builders.common.kt:167)\n at kotlinx.coroutines.BuildersKt.withContext(Unknown Source)\n at coil.intercept.EngineInterceptor.execute(EngineInterceptor.kt:130)\n at coil.intercept.EngineInterceptor.access$execute(EngineInterceptor.kt:42)\n at coil.intercept.EngineInterceptor$execute$1.invokeSuspend(EngineInterceptor.kt)\n at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)\n at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:108)\n at kotlinx.coroutines.internal.LimitedDispatcher$Worker.run(LimitedDispatcher.kt:115)\n at kotlinx.coroutines.scheduling.TaskImpl.run(Tasks.kt:103)\n at kotlinx.coroutines.scheduling.CoroutineScheduler.runSafely(CoroutineScheduler.kt:584)\n at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.executeTask(CoroutineScheduler.kt:793)\n at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.kt:697)\n at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:684)\n Successful (NETWORK) - http://192.168.178.2:8000/1.jpg?v=1718369188","shortMessageHtmlLink":"fix: image loading when using markdown img and bigImageUrl"}},{"before":null,"after":"0e7f675c727b62d4d170482cbe544df2119a1e92","ref":"refs/heads/concurrent-image-access","pushedAt":"2024-06-14T13:09:20.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"jmattheis","name":"Jannis Mattheis","path":"/jmattheis","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/14895212?s=80&v=4"},"commit":{"message":"fix: image loading when using markdown img and bigImageUrl\n\nWhen receiving an image with the same image in the markdown body and in\nthe extras client::notification.bigImageUrl, then there is a clash on\nthe file system.\n\nOne request succeeds and the other fails with the following error. This\ncommit ensures that there is only one cail image loader instance, so\nthat there shouldn't be file system race conditions.\n\n WebSocket(1): received message {\"id\":845,\"appid\":21,...}\n Failed - http://192.168.178.2:8000/1.jpg?v=1718369188 - java.lang.IllegalStateException: closed\n java.lang.IllegalStateException: closed\n at okio.RealBufferedSource.rangeEquals(RealBufferedSource.kt:466)\n at okio.RealBufferedSource.rangeEquals(RealBufferedSource.kt:130)\n at coil.decode.SvgDecodeUtils.isSvg(DecodeUtils.kt:19)\n at coil.decode.SvgDecoder$Factory.isApplicable(SvgDecoder.kt:104)\n at coil.decode.SvgDecoder$Factory.create(SvgDecoder.kt:99)\n at coil.ComponentRegistry.newDecoder(ComponentRegistry.kt:100)\n at coil.intercept.EngineInterceptor.decode(EngineInterceptor.kt:197)\n at coil.intercept.EngineInterceptor.access$decode(EngineInterceptor.kt:42)\n at coil.intercept.EngineInterceptor$execute$executeResult$1.invokeSuspend(EngineInterceptor.kt:131)\n at coil.intercept.EngineInterceptor$execute$executeResult$1.invoke(EngineInterceptor.kt)\n at coil.intercept.EngineInterceptor$execute$executeResult$1.invoke(EngineInterceptor.kt)\n at kotlinx.coroutines.intrinsics.UndispatchedKt.startUndispatchedOrReturn(Undispatched.kt:78)\n at kotlinx.coroutines.BuildersKt__Builders_commonKt.withContext(Builders.common.kt:167)\n at kotlinx.coroutines.BuildersKt.withContext(Unknown Source)\n at coil.intercept.EngineInterceptor.execute(EngineInterceptor.kt:130)\n at coil.intercept.EngineInterceptor.access$execute(EngineInterceptor.kt:42)\n at coil.intercept.EngineInterceptor$execute$1.invokeSuspend(EngineInterceptor.kt)\n at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)\n at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:108)\n at kotlinx.coroutines.internal.LimitedDispatcher$Worker.run(LimitedDispatcher.kt:115)\n at kotlinx.coroutines.scheduling.TaskImpl.run(Tasks.kt:103)\n at kotlinx.coroutines.scheduling.CoroutineScheduler.runSafely(CoroutineScheduler.kt:584)\n at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.executeTask(CoroutineScheduler.kt:793)\n at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.kt:697)\n at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:684)\n Successful (NETWORK) - http://192.168.178.2:8000/1.jpg?v=1718369188","shortMessageHtmlLink":"fix: image loading when using markdown img and bigImageUrl"}},{"before":"7b8e0ba1b3aeac6fbe69bed0d9eb71d428f68c7a","after":"b9b767f5d74324c68f4c8e4f08a57e8fae4895b7","ref":"refs/heads/master","pushedAt":"2024-06-13T19:43:18.000Z","pushType":"pr_merge","commitsCount":16,"pusher":{"login":"jmattheis","name":"Jannis Mattheis","path":"/jmattheis","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/14895212?s=80&v=4"},"commit":{"message":"Merge pull request #344 from cyb3rko/client-certificate-auth\n\nClient certificate authentication (mTLS)","shortMessageHtmlLink":"Merge pull request #344 from cyb3rko/client-certificate-auth"}},{"before":"a83cd18a0397a78208d421be3a312b8883de2348","after":"7b8e0ba1b3aeac6fbe69bed0d9eb71d428f68c7a","ref":"refs/heads/master","pushedAt":"2024-04-26T12:21:52.000Z","pushType":"pr_merge","commitsCount":2,"pusher":{"login":"jmattheis","name":"Jannis Mattheis","path":"/jmattheis","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/14895212?s=80&v=4"},"commit":{"message":"Merge pull request #346 from cyb3rko/link-colours-fix\n\nAdopt hyperlink color for non-markdown messages","shortMessageHtmlLink":"Merge pull request #346 from cyb3rko/link-colours-fix"}},{"before":"d5903b25312188c9d5a35eaac0281cb3fcfd1670","after":"a83cd18a0397a78208d421be3a312b8883de2348","ref":"refs/heads/master","pushedAt":"2024-04-26T12:20:00.000Z","pushType":"pr_merge","commitsCount":2,"pusher":{"login":"jmattheis","name":"Jannis Mattheis","path":"/jmattheis","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/14895212?s=80&v=4"},"commit":{"message":"Merge pull request #345 from cyb3rko/svg-support\n\nAdd SVG support","shortMessageHtmlLink":"Merge pull request #345 from cyb3rko/svg-support"}},{"before":"8a1802e5ed6377ac8dcdc3854cbadce3b15b1ee4","after":"d5903b25312188c9d5a35eaac0281cb3fcfd1670","ref":"refs/heads/master","pushedAt":"2024-04-21T11:01:13.000Z","pushType":"pr_merge","commitsCount":8,"pusher":{"login":"jmattheis","name":"Jannis Mattheis","path":"/jmattheis","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/14895212?s=80&v=4"},"commit":{"message":"Merge pull request #337 from cyb3rko/picasso-to-coil\n\nReplace Picasso with Coil","shortMessageHtmlLink":"Merge pull request #337 from cyb3rko/picasso-to-coil"}},{"before":"286074386d81e00da6833815add6cf0faeaa0e46","after":"8a1802e5ed6377ac8dcdc3854cbadce3b15b1ee4","ref":"refs/heads/master","pushedAt":"2024-04-17T17:28:53.000Z","pushType":"pr_merge","commitsCount":2,"pusher":{"login":"jmattheis","name":"Jannis Mattheis","path":"/jmattheis","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/14895212?s=80&v=4"},"commit":{"message":"Merge pull request #342 from cyb3rko/screenshots-refresh\n\nRefresh app screenshots","shortMessageHtmlLink":"Merge pull request #342 from cyb3rko/screenshots-refresh"}},{"before":"433f7ec341bba3d7ded4b769c0b44dea83158c23","after":"286074386d81e00da6833815add6cf0faeaa0e46","ref":"refs/heads/master","pushedAt":"2024-03-08T12:39:39.000Z","pushType":"pr_merge","commitsCount":3,"pusher":{"login":"jmattheis","name":"Jannis Mattheis","path":"/jmattheis","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/14895212?s=80&v=4"},"commit":{"message":"Merge pull request #336 from cyb3rko/build-update\n\nBuild update","shortMessageHtmlLink":"Merge pull request #336 from cyb3rko/build-update"}},{"before":"07f931d3305a4b5ee9afacbfcde464efb2281e56","after":"433f7ec341bba3d7ded4b769c0b44dea83158c23","ref":"refs/heads/master","pushedAt":"2024-03-06T16:05:26.000Z","pushType":"pr_merge","commitsCount":3,"pusher":{"login":"jmattheis","name":"Jannis Mattheis","path":"/jmattheis","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/14895212?s=80&v=4"},"commit":{"message":"Merge pull request #335 from cyb3rko/readme-refresh\n\nReadme refresh","shortMessageHtmlLink":"Merge pull request #335 from cyb3rko/readme-refresh"}},{"before":"028e29af0891f6bc6a75d777d5f07f82849caf9f","after":"07f931d3305a4b5ee9afacbfcde464efb2281e56","ref":"refs/heads/master","pushedAt":"2023-12-01T11:10:40.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"jmattheis","name":"Jannis Mattheis","path":"/jmattheis","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/14895212?s=80&v=4"},"commit":{"message":"Separate broadcasts to prevent duplicate messages (#327)","shortMessageHtmlLink":"Separate broadcasts to prevent duplicate messages (#327)"}},{"before":"6234c3a438dbae5d075b58014034389c7eb65790","after":"028e29af0891f6bc6a75d777d5f07f82849caf9f","ref":"refs/heads/master","pushedAt":"2023-12-01T10:41:27.000Z","pushType":"pr_merge","commitsCount":9,"pusher":{"login":"jmattheis","name":"Jannis Mattheis","path":"/jmattheis","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/14895212?s=80&v=4"},"commit":{"message":"Merge pull request #325 from cyb3rko/update-build","shortMessageHtmlLink":"Merge pull request #325 from cyb3rko/update-build"}},{"before":"0d423c1ce4b0412cb8f6b6c187bf405afd0594ae","after":"6234c3a438dbae5d075b58014034389c7eb65790","ref":"refs/heads/master","pushedAt":"2023-11-25T10:27:01.000Z","pushType":"pr_merge","commitsCount":2,"pusher":{"login":"jmattheis","name":"Jannis Mattheis","path":"/jmattheis","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/14895212?s=80&v=4"},"commit":{"message":"Merge pull request #326 from cyb3rko/autofill-improvement\n\nImprove password manager autofill compatibility","shortMessageHtmlLink":"Merge pull request #326 from cyb3rko/autofill-improvement"}},{"before":"b6519d1de47d07f711ae48c9f9ed855dfa6da219","after":"0d423c1ce4b0412cb8f6b6c187bf405afd0594ae","ref":"refs/heads/master","pushedAt":"2023-11-18T14:13:44.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"jmattheis","name":"Jannis Mattheis","path":"/jmattheis","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/14895212?s=80&v=4"},"commit":{"message":"Switch to ListAdapter (replacing RecyclerView.Adapter) (#321)","shortMessageHtmlLink":"Switch to ListAdapter (replacing RecyclerView.Adapter) (#321)"}},{"before":"2082e6d46e2b78dd533ef655f4c88e8566d73108","after":"b6519d1de47d07f711ae48c9f9ed855dfa6da219","ref":"refs/heads/master","pushedAt":"2023-11-17T12:39:53.000Z","pushType":"pr_merge","commitsCount":2,"pusher":{"login":"jmattheis","name":"Jannis Mattheis","path":"/jmattheis","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/14895212?s=80&v=4"},"commit":{"message":"Merge pull request #322 from cyb3rko/console-cleanup\n\nCleanup console output","shortMessageHtmlLink":"Merge pull request #322 from cyb3rko/console-cleanup"}},{"before":"2082e6d46e2b78dd533ef655f4c88e8566d73108","after":null,"ref":"refs/tags/v2.7.1","pushedAt":"2023-10-08T18:36:47.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"jmattheis","name":"Jannis Mattheis","path":"/jmattheis","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/14895212?s=80&v=4"}},{"before":"d3d28be7110f97306e2530cdc27d76c3934b0216","after":"2082e6d46e2b78dd533ef655f4c88e8566d73108","ref":"refs/heads/master","pushedAt":"2023-10-08T18:27:53.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"jmattheis","name":"Jannis Mattheis","path":"/jmattheis","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/14895212?s=80&v=4"},"commit":{"message":"Version 2.7.1","shortMessageHtmlLink":"Version 2.7.1"}},{"before":"d3d28be7110f97306e2530cdc27d76c3934b0216","after":null,"ref":"refs/tags/v2.7.1","pushedAt":"2023-10-08T18:26:58.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"jmattheis","name":"Jannis Mattheis","path":"/jmattheis","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/14895212?s=80&v=4"}},{"before":"b1be4d7b767d17b5043a7f24544963ec0d012354","after":null,"ref":"refs/heads/crash","pushedAt":"2023-10-08T18:16:42.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"jmattheis","name":"Jannis Mattheis","path":"/jmattheis","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/14895212?s=80&v=4"}},{"before":"5e67cc83c0cc7643d6670073d0cda25b08ea33d0","after":"d3d28be7110f97306e2530cdc27d76c3934b0216","ref":"refs/heads/master","pushedAt":"2023-10-08T18:16:39.000Z","pushType":"pr_merge","commitsCount":2,"pusher":{"login":"jmattheis","name":"Jannis Mattheis","path":"/jmattheis","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/14895212?s=80&v=4"},"commit":{"message":"Merge pull request #318 from gotify/crash\n\nfix: remove probably unnecessary unregister","shortMessageHtmlLink":"Merge pull request #318 from gotify/crash"}},{"before":"dbfd42650a711dfa137ef34f12227c73d593e438","after":"b1be4d7b767d17b5043a7f24544963ec0d012354","ref":"refs/heads/crash","pushedAt":"2023-10-08T18:01:06.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"jmattheis","name":"Jannis Mattheis","path":"/jmattheis","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/14895212?s=80&v=4"},"commit":{"message":"fix: remove probably unnecessary unregister\n\nWhen the refresh button is clicked in the navigation drawer, then\nstartPushService is executed which registers the handler. The\nWebSocketService itself is reused, thus isn't created again or\ndestroyed. From my tests the callback isn't registered twice after the\nrefresh. Thus, I'd expect the unregister isn't needed at all because\nandroid somehow does this automagically.","shortMessageHtmlLink":"fix: remove probably unnecessary unregister"}},{"before":"5062031ed054b2800756c81dcfbe81a1adaddf04","after":null,"ref":"refs/heads/log","pushedAt":"2023-10-08T18:00:15.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"jmattheis","name":"Jannis Mattheis","path":"/jmattheis","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/14895212?s=80&v=4"}},{"before":"361c480a7cf563d43c12397ec9b73dc7fed11f4a","after":"5e67cc83c0cc7643d6670073d0cda25b08ea33d0","ref":"refs/heads/master","pushedAt":"2023-10-08T18:00:12.000Z","pushType":"pr_merge","commitsCount":4,"pusher":{"login":"jmattheis","name":"Jannis Mattheis","path":"/jmattheis","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/14895212?s=80&v=4"},"commit":{"message":"Merge pull request #317 from gotify/log\n\nMigrate to tinylog","shortMessageHtmlLink":"Merge pull request #317 from gotify/log"}},{"before":"3f48a1bb333d8e21ffcf4811acd6da6eff1b6de5","after":"5062031ed054b2800756c81dcfbe81a1adaddf04","ref":"refs/heads/log","pushedAt":"2023-10-08T08:22:03.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"jmattheis","name":"Jannis Mattheis","path":"/jmattheis","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/14895212?s=80&v=4"},"commit":{"message":"Add android application with onCreate hook","shortMessageHtmlLink":"Add android application with onCreate hook"}},{"before":"f74c2fa853732a2a169ed202cd4f1d94e205bbed","after":"3f48a1bb333d8e21ffcf4811acd6da6eff1b6de5","ref":"refs/heads/log","pushedAt":"2023-10-08T07:04:13.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"jmattheis","name":"Jannis Mattheis","path":"/jmattheis","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/14895212?s=80&v=4"},"commit":{"message":"fixup! Configure tinylog","shortMessageHtmlLink":"fixup! Configure tinylog"}}],"hasNextPage":true,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"cursor":"djE6ks8AAAAEghznNAA","startCursor":null,"endCursor":null}},"title":"Activity ยท gotify/android"}